{"version":3,"file":"../country-select-252.min.js","sources":["country-select-252.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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"}