:root{--woocommerce:#7F54B3;--wc-green:#7ad03a;--wc-red:#a00;--wc-orange:#ffba00;--wc-blue:#2ea2cc;--wc-primary:#7F54B3;--wc-primary-text:white;--wc-secondary:#e9e6ed;--wc-secondary-text:#515151;--wc-highlight:#777335;--wc-highligh-text:white;--wc-content-bg:#fff;--wc-subtext:#767676}.woocommerce table.shop_table_responsive thead,.woocommerce-page table.shop_table_responsive thead{display:none}.woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,.woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child{border-top:0}.woocommerce table.shop_table_responsive tbody th,.woocommerce-page table.shop_table_responsive tbody th{display:none}.woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr{display:block}.woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{display:block;text-align:right!important}.woocommerce table.shop_table_responsive tr td.order-actions,.woocommerce-page table.shop_table_responsive tr td.order-actions{text-align:left!important}.woocommerce table.shop_table_responsive tr td::before,.woocommerce-page table.shop_table_responsive tr td::before{content:attr(data-title) ": ";font-weight:700;float:left}.woocommerce table.shop_table_responsive tr td.actions::before,.woocommerce table.shop_table_responsive tr td.product-remove::before,.woocommerce-page table.shop_table_responsive tr td.actions::before,.woocommerce-page table.shop_table_responsive tr td.product-remove::before{display:none}.woocommerce table.shop_table_responsive tr:nth-child(2n) td,.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background-color:rgba(0,0,0,.025)}.woocommerce table.my_account_orders tr td.order-actions,.woocommerce-page table.my_account_orders tr td.order-actions{text-align:left}.woocommerce table.my_account_orders tr td.order-actions::before,.woocommerce-page table.my_account_orders tr td.order-actions::before{display:none}.woocommerce table.my_account_orders tr td.order-actions .button,.woocommerce-page table.my_account_orders tr td.order-actions .button{float:none;margin:.125em .25em .125em 0}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{float:none;width:100%}.woocommerce ul.products[class*=columns-] li.product,.woocommerce-page ul.products[class*=columns-] li.product{width:48%;float:left;clear:both;margin:0 0 2.992em}.woocommerce ul.products[class*=columns-] li.product:nth-child(2n),.woocommerce-page ul.products[class*=columns-] li.product:nth-child(2n){float:right;clear:none!important}.woocommerce #content div.product div.images,.woocommerce #content div.product div.summary,.woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.images,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.images,.woocommerce-page div.product div.summary{float:none;width:100%}.woocommerce #content table.cart .product-thumbnail,.woocommerce table.cart .product-thumbnail,.woocommerce-page #content table.cart .product-thumbnail,.woocommerce-page table.cart .product-thumbnail{display:none}.woocommerce #content table.cart td.actions,.woocommerce table.cart td.actions,.woocommerce-page #content table.cart td.actions,.woocommerce-page table.cart td.actions{text-align:left}.woocommerce #content table.cart td.actions .coupon,.woocommerce table.cart td.actions .coupon,.woocommerce-page #content table.cart td.actions .coupon,.woocommerce-page table.cart td.actions .coupon{float:none;padding-bottom:.5em}.woocommerce #content table.cart td.actions .coupon::after,.woocommerce #content table.cart td.actions .coupon::before,.woocommerce table.cart td.actions .coupon::after,.woocommerce table.cart td.actions .coupon::before,.woocommerce-page #content table.cart td.actions .coupon::after,.woocommerce-page #content table.cart td.actions .coupon::before,.woocommerce-page table.cart td.actions .coupon::after,.woocommerce-page table.cart td.actions .coupon::before{content:" ";display:table}.woocommerce #content table.cart td.actions .coupon::after,.woocommerce table.cart td.actions .coupon::after,.woocommerce-page #content table.cart td.actions .coupon::after,.woocommerce-page table.cart td.actions .coupon::after{clear:both}.woocommerce #content table.cart td.actions .coupon .button,.woocommerce #content table.cart td.actions .coupon .input-text,.woocommerce #content table.cart td.actions .coupon input,.woocommerce table.cart td.actions .coupon .button,.woocommerce table.cart td.actions .coupon .input-text,.woocommerce table.cart td.actions .coupon input,.woocommerce-page #content table.cart td.actions .coupon .button,.woocommerce-page #content table.cart td.actions .coupon .input-text,.woocommerce-page #content table.cart td.actions .coupon input,.woocommerce-page table.cart td.actions .coupon .button,.woocommerce-page table.cart td.actions .coupon .input-text,.woocommerce-page table.cart td.actions .coupon input{width:48%;box-sizing:border-box}.woocommerce #content table.cart td.actions .coupon .button.alt,.woocommerce #content table.cart td.actions .coupon .input-text+.button,.woocommerce table.cart td.actions .coupon .button.alt,.woocommerce table.cart td.actions .coupon .input-text+.button,.woocommerce-page #content table.cart td.actions .coupon .button.alt,.woocommerce-page #content table.cart td.actions .coupon .input-text+.button,.woocommerce-page table.cart td.actions .coupon .button.alt,.woocommerce-page table.cart td.actions .coupon .input-text+.button{float:right}.woocommerce #content table.cart td.actions .coupon .coupon-error-notice,.woocommerce table.cart td.actions .coupon .coupon-error-notice,.woocommerce-page #content table.cart td.actions .coupon .coupon-error-notice,.woocommerce-page table.cart td.actions .coupon .coupon-error-notice{clear:left;color:var(--wc-red);float:left;font-size:.75em;margin-bottom:0;text-align:left;width:48%}.woocommerce #content table.cart td.actions .button,.woocommerce table.cart td.actions .button,.woocommerce-page #content table.cart td.actions .button,.woocommerce-page table.cart td.actions .button{display:block;width:100%}.woocommerce .cart-collaterals .cart_totals,.woocommerce .cart-collaterals .cross-sells,.woocommerce .cart-collaterals .shipping_calculator,.woocommerce-page .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .shipping_calculator{width:100%;float:none;text-align:left}.woocommerce-page.woocommerce-checkout form.login .form-row,.woocommerce.woocommerce-checkout form.login .form-row{width:100%;float:none}.woocommerce #payment .terms,.woocommerce-page #payment .terms{text-align:left;padding:0}.woocommerce #payment #place_order,.woocommerce-page #payment #place_order{float:none;width:100%;box-sizing:border-box;margin-bottom:1em}.woocommerce .lost_reset_password .form-row-first,.woocommerce .lost_reset_password .form-row-last,.woocommerce-page .lost_reset_password .form-row-first,.woocommerce-page .lost_reset_password .form-row-last{width:100%;float:none;margin-right:0}.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:100%}.single-product .twentythirteen .panel{padding-left:20px!important;padding-right:20px!important}
( function ( $, undefined ) {
var Field = acf.Field.extend( {
type: 'date_picker',
events: {
'blur input[type="text"]': 'onBlur',
duplicateField: 'onDuplicate',
},
$control: function () {
return this.$( '.acf-date-picker' );
},
$input: function () {
return this.$( 'input[type="hidden"]' );
},
$inputText: function () {
return this.$( 'input[type="text"]' );
},
initialize: function () {
// save_format: compatibility with ACF < 5.0.0
if ( this.has( 'save_format' ) ) {
return this.initializeCompatibility();
}
// vars
var $input = this.$input();
var $inputText = this.$inputText();
// args
var args = {
dateFormat: this.get( 'date_format' ),
altField: $input,
altFormat: 'yymmdd',
changeYear: true,
yearRange: '-100:+100',
changeMonth: true,
showButtonPanel: true,
firstDay: this.get( 'first_day' ),
};
// filter
args = acf.applyFilters( 'date_picker_args', args, this );
// add date picker
acf.newDatePicker( $inputText, args );
// Check if default to today is enabled and field is empty
if (
$inputText.data( 'default-to-today' ) === 1 &&
! $input.val()
) {
// Get current date
const currentDate = new Date();
// Format display date
const displayDate = $.datepicker.formatDate(
args.dateFormat,
currentDate
);
// Set the display input value (what user sees)
$inputText.val( `${ displayDate }` );
// Format hidden field date (for database storage)
const hiddenDate = $.datepicker.formatDate(
'yymmdd',
currentDate
);
// Set the hidden input value (what gets saved)
$input.val( `${ hiddenDate }` );
}
acf.doAction( 'date_picker_init', $inputText, args, this );
},
initializeCompatibility: function () {
// vars
var $input = this.$input();
var $inputText = this.$inputText();
// get and set value from alt field
$inputText.val( $input.val() );
// args
var args = {
dateFormat: this.get( 'date_format' ),
altField: $input,
altFormat: this.get( 'save_format' ),
changeYear: true,
yearRange: '-100:+100',
changeMonth: true,
showButtonPanel: true,
firstDay: this.get( 'first_day' ),
};
// filter for 3rd party customization
args = acf.applyFilters( 'date_picker_args', args, this );
// backup
var dateFormat = args.dateFormat;
// change args.dateFormat
args.dateFormat = this.get( 'save_format' );
// add date picker
acf.newDatePicker( $inputText, args );
// now change the format back to how it should be.
$inputText.datepicker( 'option', 'dateFormat', dateFormat );
// action for 3rd party customization
acf.doAction( 'date_picker_init', $inputText, args, this );
},
onBlur: function () {
if ( ! this.$inputText().val() ) {
acf.val( this.$input(), '' );
}
},
onDuplicate: function ( e, $el, $duplicate ) {
$duplicate
.find( 'input[type="text"]' )
.removeClass( 'hasDatepicker' )
.removeAttr( 'id' );
},
} );
acf.registerFieldType( Field );
// manager
var datePickerManager = new acf.Model( {
priority: 5,
wait: 'ready',
initialize: function () {
// vars
var locale = acf.get( 'locale' );
var rtl = acf.get( 'rtl' );
var l10n = acf.get( 'datePickerL10n' );
// bail early if no l10n
if ( ! l10n ) {
return false;
}
// bail early if no datepicker library
if ( typeof $.datepicker === 'undefined' ) {
return false;
}
// rtl
l10n.isRTL = rtl;
// append
$.datepicker.regional[ locale ] = l10n;
$.datepicker.setDefaults( l10n );
},
} );
// add
acf.newDatePicker = function ( $input, args ) {
// bail early if no datepicker library
if ( typeof $.datepicker === 'undefined' ) {
return false;
}
// defaults
args = args || {};
// initialize
$input.datepicker( args );
// wrap the datepicker (only if it hasn't already been wrapped)
if ( $( 'body > #ui-datepicker-div' ).exists() ) {
$( 'body > #ui-datepicker-div' ).wrap(
''
);
}
};
} )( jQuery );