{"version":3,"file":"../country-select-222.min.js","sources":["country-select-222.js"],"sourcesContent":["/**\n * Country Select Script\n *\n * Replaces the original WooCommerce `country-select.js`.\n */\n\n/*global wc_country_select_params */\njQuery( function( $ ) {\n\n\t// wc_country_select_params is required to continue, ensure the object exists\n\tif ( typeof wc_country_select_params === 'undefined' ) {\n\t\treturn false;\n\t}\n\n\t// Select2 Enhancement if it exists\n\tif ( $().selectWoo ) {\n\t\tvar getEnhancedSelectFormatString = function() {\n\t\t\treturn {\n\t\t\t\t'language': {\n\t\t\t\t\terrorLoading: function() {\n\t\t\t\t\t\t// Workaround for https://github.com/select2/select2/issues/4355 instead of i18n_ajax_error.\n\t\t\t\t\t\treturn wc_country_select_params.i18n_searching;\n\t\t\t\t\t},\n\t\t\t\t\tinputTooLong: function( args ) {\n\t\t\t\t\t\tvar overChars = args.input.length - args.maximum;\n\n\t\t\t\t\t\tif ( 1 === overChars ) {\n\t\t\t\t\t\t\treturn wc_country_select_params.i18n_input_too_long_1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn wc_country_select_params.i18n_input_too_long_n.replace( '%qty%', overChars );\n\t\t\t\t\t},\n\t\t\t\t\tinputTooShort: function( args ) {\n\t\t\t\t\t\tvar remainingChars = args.minimum - args.input.length;\n\n\t\t\t\t\t\tif ( 1 === remainingChars ) {\n\t\t\t\t\t\t\treturn wc_country_select_params.i18n_input_too_short_1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn wc_country_select_params.i18n_input_too_short_n.replace( '%qty%', remainingChars );\n\t\t\t\t\t},\n\t\t\t\t\tloadingMore: function() {\n\t\t\t\t\t\treturn wc_country_select_params.i18n_load_more;\n\t\t\t\t\t},\n\t\t\t\t\tmaximumSelected: function( args ) {\n\t\t\t\t\t\tif ( args.maximum === 1 ) {\n\t\t\t\t\t\t\treturn wc_country_select_params.i18n_selection_too_long_1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn wc_country_select_params.i18n_selection_too_long_n.replace( '%qty%', args.maximum );\n\t\t\t\t\t},\n\t\t\t\t\tnoResults: function() {\n\t\t\t\t\t\treturn wc_country_select_params.i18n_no_matches;\n\t\t\t\t\t},\n\t\t\t\t\tsearching: function() {\n\t\t\t\t\t\treturn wc_country_select_params.i18n_searching;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\n\t\tvar wc_country_select_select2 = function() {\n\t\t\t// CHANGE: Allow building `select2` fields while not visible\n\t\t\t$( 'select.country_select, select.state_select' ).each( function() {\n\t\t\t\tvar $this = $( this );\n\n\t\t\t\tvar select2_args = $.extend({\n\t\t\t\t\tplaceholder: $this.attr( 'data-placeholder' ) || $this.attr( 'placeholder' ) || '',\n\t\t\t\t\tlabel: $this.attr( 'data-label' ) || null,\n\t\t\t\t\twidth: '100%'\n\t\t\t\t}, getEnhancedSelectFormatString() );\n\n\t\t\t\t$( this )\n\t\t\t\t\t.on( 'select2:select', function() {\n\t\t\t\t\t\t$( this ).trigger( 'focus' ); // Maintain focus after select https://github.com/select2/select2/issues/4384\n\t\t\t\t\t} )\n\t\t\t\t\t.selectWoo( select2_args );\n\t\t\t});\n\t\t};\n\n\t\twc_country_select_select2();\n\n\t\t// CHANGE: Rebuild `select2` fields in some cases\n\t\t$( document.body ).on( 'country_to_state_changed', wc_country_select_select2 );\n\t\t$( document.body ).on( 'updated_checkout', wc_country_select_select2 );\n\t\t$( document.body ).on( 'wc_fragments_refreshed', wc_country_select_select2 );\n\t}\n\n\t/* State/Country select boxes */\n\tvar states_json = wc_country_select_params.countries.replace( /"/g, '\"' ),\n\t\tstates = JSON.parse( states_json ),\n\t\twrapper_selectors = '.woocommerce-billing-fields,' +\n\t\t\t'.woocommerce-shipping-fields,' +\n\t\t\t'.woocommerce-address-fields,' +\n\t\t\t'.woocommerce-shipping-calculator';\n\n\t$( document.body ).on( 'change refresh', 'select.country_to_state, input.country_to_state', function() {\n\t\t// Grab wrapping element to target only stateboxes in same 'group'\n\t\tvar $wrapper = $( this ).closest( wrapper_selectors );\n\n\t\tif ( ! $wrapper.length ) {\n\t\t\t$wrapper = $( this ).closest('.form-row').parent();\n\t\t}\n\n\t\tvar country = $( this ).val(),\n\t\t\t// CHANGE: Add selector for address fields without prefix\n\t\t\t$statebox = $wrapper.find( '#state, #billing_state, #shipping_state, #calc_shipping_state' ),\n\t\t\t$parent = $statebox.closest( '.form-row' ),\n\t\t\tinput_name = $statebox.attr( 'name' ),\n\t\t\tinput_id = $statebox.attr('id'),\n\t\t\tinput_classes = $statebox.attr('data-input-classes'),\n\t\t\tvalue = $statebox.val(),\n\t\t\tplaceholder = $statebox.attr( 'placeholder' ) || $statebox.attr( 'data-placeholder' ) || '',\n\t\t\t$newstate;\n\n\t\tif ( states[ country ] ) {\n\t\t\tif ( $.isEmptyObject( states[ country ] ) ) {\n\t\t\t\t$newstate = $( '' )\n\t\t\t\t\t.prop( 'id', input_id )\n\t\t\t\t\t.prop( 'name', input_name )\n\t\t\t\t\t.prop( 'placeholder', placeholder )\n\t\t\t\t\t.attr( 'data-input-classes', input_classes )\n\t\t\t\t\t.addClass( 'hidden ' + input_classes );\n\t\t\t\t$parent.hide().find( '.select2-container' ).remove();\n\t\t\t\t$statebox.replaceWith( $newstate );\n\t\t\t\t$( document.body ).trigger( 'country_to_state_changed', [ country, $wrapper ] );\n\t\t\t} else {\n\t\t\t\tvar state = states[ country ],\n\t\t\t\t\t$defaultOption = $( '' ).text( wc_country_select_params.i18n_select_state_text );\n\n\t\t\t\tif ( ! placeholder ) {\n\t\t\t\t\tplaceholder = wc_country_select_params.i18n_select_state_text;\n\t\t\t\t}\n\n\t\t\t\t$parent.show();\n\n\t\t\t\tif ( $statebox.is( 'input' ) ) {\n\t\t\t\t\t$newstate = $( '' )\n\t\t\t\t\t\t.prop( 'id', input_id )\n\t\t\t\t\t\t.prop( 'name', input_name )\n\t\t\t\t\t\t.data( 'placeholder', placeholder )\n\t\t\t\t\t\t.attr( 'data-input-classes', input_classes )\n\t\t\t\t\t\t.addClass( 'state_select ' + input_classes );\n\t\t\t\t\t$statebox.replaceWith( $newstate );\n\t\t\t\t\t// CHANGE: Add selector for address fields without prefix\n\t\t\t\t\t$statebox = $wrapper.find( '#state, #billing_state, #shipping_state, #calc_shipping_state' );\n\t\t\t\t}\n\n\t\t\t\t$statebox.empty().append( $defaultOption );\n\n\t\t\t\t$.each( state, function( index ) {\n\t\t\t\t\tvar $option = $( '' )\n\t\t\t\t\t\t.prop( 'value', index )\n\t\t\t\t\t\t.text( state[ index ] );\n\t\t\t\t\t$statebox.append( $option );\n\t\t\t\t} );\n\n\t\t\t\t$statebox.val( value ).trigger( 'change' );\n\n\t\t\t\t$( document.body ).trigger( 'country_to_state_changed', [country, $wrapper ] );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( $statebox.is( 'select, input[type=\"hidden\"]' ) ) {\n\t\t\t\t$newstate = $( '' )\n\t\t\t\t\t.prop( 'id', input_id )\n\t\t\t\t\t.prop( 'name', input_name )\n\t\t\t\t\t.prop('placeholder', placeholder)\n\t\t\t\t\t.attr('data-input-classes', input_classes )\n\t\t\t\t\t.addClass( 'input-text ' + input_classes );\n\t\t\t\t$parent.show().find( '.select2-container' ).remove();\n\t\t\t\t$statebox.replaceWith( $newstate );\n\t\t\t\t$( document.body ).trigger( 'country_to_state_changed', [country, $wrapper ] );\n\t\t\t}\n\t\t}\n\n\t\t$( document.body ).trigger( 'country_to_state_changing', [country, $wrapper ] );\n\t});\n\n\t$( document.body ).on( 'wc_address_i18n_ready', function() {\n\t\t// Init country selects with their default value once the page loads.\n\t\t$( wrapper_selectors ).each( function() {\n // CHANGE: Add selector for address fields without prefix\n\t\t\tvar $country_input = $( this ).find( '#country, #billing_country, #shipping_country, #calc_shipping_country' );\n\n\t\t\tif ( 0 === $country_input.length || 0 === $country_input.val().length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$country_input.trigger( 'refresh' );\n\t\t});\n\t});\n});\n"],"names":["jQuery","$","wc_country_select_params","selectWoo","wc_country_select_select2","each","$this","this","select2_args","extend","placeholder","attr","label","width","language","errorLoading","i18n_searching","inputTooLong","args","overChars","input","length","maximum","i18n_input_too_long_1","i18n_input_too_long_n","replace","inputTooShort","remainingChars","minimum","i18n_input_too_short_1","i18n_input_too_short_n","loadingMore","i18n_load_more","maximumSelected","i18n_selection_too_long_1","i18n_selection_too_long_n","noResults","i18n_no_matches","searching","on","trigger","document","body","states_json","countries","states","JSON","parse","wrapper_selectors","$newstate","state","$defaultOption","$wrapper","closest","country","parent","val","$statebox","find","$parent","input_name","input_id","input_classes","value","isEmptyObject","prop","addClass","hide","remove","replaceWith","text","i18n_select_state_text","show","is","data","empty","append","index","$option","$country_input"],"mappings":"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"}