' );\n\n\t\t\t\t// dom\n\t\t\t\t$newLabel.append( $label.html() );\n\t\t\t\t$newTable.append( $newWrap );\n\t\t\t\t$newInput.append( $newTable );\n\t\t\t\t$input.append( $newLabel );\n\t\t\t\t$input.append( $newInput );\n\n\t\t\t\t// modify\n\t\t\t\t$label.remove();\n\t\t\t\t$wrap.remove();\n\t\t\t\t$input.attr( 'colspan', 2 );\n\n\t\t\t\t// update vars\n\t\t\t\t$label = $newLabel;\n\t\t\t\t$input = $newInput;\n\t\t\t\t$wrap = $newWrap;\n\t\t\t}\n\n\t\t\t// add classes\n\t\t\t$field.addClass( 'acf-accordion' );\n\t\t\t$label.addClass( 'acf-accordion-title' );\n\t\t\t$input.addClass( 'acf-accordion-content' );\n\n\t\t\t// index\n\t\t\ti++;\n\n\t\t\t// multi-expand\n\t\t\tif ( this.get( 'multi_expand' ) ) {\n\t\t\t\t$field.attr( 'multi-expand', 1 );\n\t\t\t}\n\n\t\t\t// open\n\t\t\tvar order = acf.getPreference( 'this.accordions' ) || [];\n\t\t\tif ( order[ i - 1 ] !== undefined ) {\n\t\t\t\tthis.set( 'open', order[ i - 1 ] );\n\t\t\t}\n\n\t\t\tif ( this.get( 'open' ) ) {\n\t\t\t\t$field.addClass( '-open' );\n\t\t\t\t$input.css( 'display', 'block' ); // needed for accordion to close smoothly\n\t\t\t}\n\n\t\t\t// add icon\n\t\t\t$label.prepend(\n\t\t\t\taccordionManager.iconHtml( { open: this.get( 'open' ) } )\n\t\t\t);\n\n\t\t\t// classes\n\t\t\t// - remove 'inside' which is a #poststuff WP class\n\t\t\tvar $parent = $field.parent();\n\t\t\t$wrap.addClass( $parent.hasClass( '-left' ) ? '-left' : '' );\n\t\t\t$wrap.addClass( $parent.hasClass( '-clear' ) ? '-clear' : '' );\n\n\t\t\t// append\n\t\t\t$wrap.append(\n\t\t\t\t$field.nextUntil( '.acf-field-accordion', '.acf-field' )\n\t\t\t);\n\n\t\t\t// clean up\n\t\t\t$wrap.removeAttr( 'data-open data-multi_expand data-endpoint' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * accordionManager\n\t *\n\t * Events manager for the acf accordion\n\t *\n\t * @date\t14/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar accordionManager = new acf.Model( {\n\t\tactions: {\n\t\t\tunload: 'onUnload',\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .acf-accordion-title': 'onClick',\n\t\t\t'invalidField .acf-accordion': 'onInvalidField',\n\t\t},\n\n\t\tisOpen: function ( $el ) {\n\t\t\treturn $el.hasClass( '-open' );\n\t\t},\n\n\t\ttoggle: function ( $el ) {\n\t\t\tif ( this.isOpen( $el ) ) {\n\t\t\t\tthis.close( $el );\n\t\t\t} else {\n\t\t\t\tthis.open( $el );\n\t\t\t}\n\t\t},\n\n\t\ticonHtml: function ( props ) {\n\t\t\t// Use SVG inside Gutenberg editor.\n\t\t\tif ( acf.isGutenberg() ) {\n\t\t\t\tif ( props.open ) {\n\t\t\t\t\treturn '
';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\topen: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// open\n\t\t\t$el.find( '.acf-accordion-content:first' )\n\t\t\t\t.slideDown( duration )\n\t\t\t\t.css( 'display', 'block' );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: true } )\n\t\t\t);\n\t\t\t$el.addClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'show', $el );\n\n\t\t\t// close siblings\n\t\t\tif ( ! $el.attr( 'multi-expand' ) ) {\n\t\t\t\t$el.siblings( '.acf-accordion.-open' ).each( function () {\n\t\t\t\t\taccordionManager.close( $( this ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tclose: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// close\n\t\t\t$el.find( '.acf-accordion-content:first' ).slideUp( duration );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: false } )\n\t\t\t);\n\t\t\t$el.removeClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'hide', $el );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent Defailt\n\t\t\te.preventDefault();\n\n\t\t\t// open close\n\t\t\tthis.toggle( $el.parent() );\n\t\t},\n\n\t\tonInvalidField: function ( e, $el ) {\n\t\t\t// bail early if already focused\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// disable functionality for 1sec (allow next validation to work)\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 1000 );\n\n\t\t\t// open accordion\n\t\t\tthis.open( $el );\n\t\t},\n\n\t\tonUnload: function ( e ) {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\t$( '.acf-accordion' ).each( function () {\n\t\t\t\tvar open = $( this ).hasClass( '-open' ) ? 1 : 0;\n\t\t\t\torder.push( open );\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tif ( order.length ) {\n\t\t\t\tacf.setPreference( 'this.accordions', order );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'button_group',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-button-group' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.$( 'input[value=\"' + val + '\"]' )\n\t\t\t\t.prop( 'checked', true )\n\t\t\t\t.trigger( 'change' );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'checkbox',\n\n\t\tevents: {\n\t\t\t'change input': 'onChange',\n\t\t\t'click .acf-add-checkbox': 'onClickAdd',\n\t\t\t'click .acf-checkbox-toggle': 'onClickToggle',\n\t\t\t'click .acf-checkbox-custom': 'onClickCustom',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-checkbox-list' );\n\t\t},\n\n\t\t$toggle: function () {\n\t\t\treturn this.$( '.acf-checkbox-toggle' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputs: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' ).not(\n\t\t\t\t'.acf-checkbox-toggle'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$( ':checked' ).each( function () {\n\t\t\t\tval.push( $( this ).val() );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar $toggle = this.$toggle();\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$label.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t}\n\n\t\t\t// Update toggle state if all inputs are checked.\n\t\t\tif ( $toggle.length ) {\n\t\t\t\tvar $inputs = this.$inputs();\n\n\t\t\t\t// all checked\n\t\t\t\tif ( $inputs.not( ':checked' ).length == 0 ) {\n\t\t\t\t\t$toggle.prop( 'checked', true );\n\t\t\t\t} else {\n\t\t\t\t\t$toggle.prop( 'checked', false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tvar html =\n\t\t\t\t'
';\n\t\t\t$el.parent( 'li' ).before( html );\n\t\t\t$el.parent( 'li' )\n\t\t\t\t.parent()\n\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t.last()\n\t\t\t\t.focus();\n\t\t},\n\n\t\tonClickToggle: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $inputs = this.$( 'input[type=\"checkbox\"]' );\n\t\t\tvar $labels = this.$( 'label' );\n\n\t\t\t// Update \"checked\" state.\n\t\t\t$inputs.prop( 'checked', checked );\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$labels.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$labels.removeClass( 'selected' );\n\t\t\t}\n\t\t},\n\n\t\tonClickCustom: function ( e, $el ) {\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $text = $el.next( 'input[type=\"text\"]' );\n\n\t\t\t// checked\n\t\t\tif ( checked ) {\n\t\t\t\t$text.prop( 'disabled', false );\n\n\t\t\t\t// not checked\n\t\t\t} else {\n\t\t\t\t$text.prop( 'disabled', true );\n\n\t\t\t\t// remove\n\t\t\t\tif ( $text.val() == '' ) {\n\t\t\t\t\t$el.parent( 'li' ).remove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'color_picker',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-color-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// update input (with change)\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update iris\n\t\t\tthis.$inputText().iris( 'color', val );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// event\n\t\t\tvar onChange = function ( e ) {\n\t\t\t\t// timeout is required to ensure the $input val is correct\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tacf.val( $input, $inputText.val() );\n\t\t\t\t}, 1 );\n\t\t\t};\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdefaultColor: false,\n\t\t\t\tpalettes: true,\n\t\t\t\thide: true,\n\t\t\t\tchange: onChange,\n\t\t\t\tclear: onChange,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar args = acf.applyFilters( 'color_picker_args', args, this );\n\n\t\t\t// initialize\n\t\t\t$inputText.wpColorPicker( args );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t// The wpColorPicker library does not provide a destroy method.\n\t\t\t// Manually reset DOM by replacing elements back to their original state.\n\t\t\t$colorPicker = $duplicate.find( '.wp-picker-container' );\n\t\t\t$inputText = $duplicate.find( 'input[type=\"text\"]' );\n\t\t\t$colorPicker.replaceWith( $inputText );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'date_picker',\n\n\t\tevents: {\n\t\t\t'blur input[type=\"text\"]': 'onBlur',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// save_format: compatibility with ACF < 5.0.0\n\t\t\tif ( this.has( 'save_format' ) ) {\n\t\t\t\treturn this.initializeCompatibility();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: 'yymmdd',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tinitializeCompatibility: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// get and set value from alt field\n\t\t\t$inputText.val( $input.val() );\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: this.get( 'save_format' ),\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter for 3rd party customization\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// backup\n\t\t\tvar dateFormat = args.dateFormat;\n\n\t\t\t// change args.dateFormat\n\t\t\targs.dateFormat = this.get( 'save_format' );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// now change the format back to how it should be.\n\t\t\t$inputText.datepicker( 'option', 'dateFormat', dateFormat );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tonBlur: function () {\n\t\t\tif ( ! this.$inputText().val() ) {\n\t\t\t\tacf.val( this.$input(), '' );\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t$duplicate\n\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t.removeClass( 'hasDatepicker' )\n\t\t\t\t.removeAttr( 'id' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar datePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'datePickerL10n' );\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if no datepicker library\n\t\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.datepicker.regional[ locale ] = l10n;\n\t\t\t$.datepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDatePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
'\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'date_time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltFormat: 'yy-mm-dd',\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newDateTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar dateTimePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'dateTimePickerL10n' );\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if no datepicker library\n\t\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.timepicker.regional[ locale ] = l10n;\n\t\t\t$.timepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDateTimePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datetimepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
'\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.ImageField.extend( {\n\t\ttype: 'file',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-file-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]:first' );\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// defaults\n\t\t\tattachment = attachment || {};\n\n\t\t\t// WP attachment\n\t\t\tif ( attachment.id !== undefined ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// args\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tfilename: '',\n\t\t\t\tfilesizeHumanReadable: '',\n\t\t\t\ticon: '/wp-includes/images/media/default.png',\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\t// vars\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// update image\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.icon,\n\t\t\t\talt: attachment.alt,\n\t\t\t\ttitle: attachment.title,\n\t\t\t} );\n\n\t\t\t// update elements\n\t\t\tthis.$( '[data-name=\"title\"]' ).text( attachment.title );\n\t\t\tthis.$( '[data-name=\"filename\"]' )\n\t\t\t\t.text( attachment.filename )\n\t\t\t\t.attr( 'href', attachment.url );\n\t\t\tthis.$( '[data-name=\"filesize\"]' ).text(\n\t\t\t\tattachment.filesizeHumanReadable\n\t\t\t);\n\n\t\t\t// vars\n\t\t\tvar val = attachment.id || '';\n\n\t\t\t// update val\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttitle: acf.__( 'Select File' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit File' ),\n\t\t\t\tbutton: acf.__( 'Update File' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'google_map',\n\n\t\tmap: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"clear\"]': 'onClickClear',\n\t\t\t'click a[data-name=\"locate\"]': 'onClickLocate',\n\t\t\t'click a[data-name=\"search\"]': 'onClickSearch',\n\t\t\t'keydown .search': 'onKeydownSearch',\n\t\t\t'keyup .search': 'onKeyupSearch',\n\t\t\t'focus .search': 'onFocusSearch',\n\t\t\t'blur .search': 'onBlurSearch',\n\t\t\tshowField: 'onShow',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-google-map' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.search' );\n\t\t},\n\n\t\t$canvas: function () {\n\t\t\treturn this.$( '.canvas' );\n\t\t},\n\n\t\tsetState: function ( state ) {\n\t\t\t// Remove previous state classes.\n\t\t\tthis.$control().removeClass( '-value -loading -searching' );\n\n\t\t\t// Determine auto state based of current value.\n\t\t\tif ( state === 'default' ) {\n\t\t\t\tstate = this.val() ? 'value' : '';\n\t\t\t}\n\n\t\t\t// Update state class.\n\t\t\tif ( state ) {\n\t\t\t\tthis.$control().addClass( '-' + state );\n\t\t\t}\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val ) {\n\t\t\t\treturn JSON.parse( val );\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\tsetValue: function ( val, silent ) {\n\t\t\t// Convert input value.\n\t\t\tvar valAttr = '';\n\t\t\tif ( val ) {\n\t\t\t\tvalAttr = JSON.stringify( val );\n\t\t\t}\n\n\t\t\t// Update input (with change).\n\t\t\tacf.val( this.$input(), valAttr );\n\n\t\t\t// Bail early if silent update.\n\t\t\tif ( silent ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Render.\n\t\t\tthis.renderVal( val );\n\n\t\t\t/**\n\t\t\t * Fires immediately after the value has changed.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject|string val The new value.\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_change', val, this.map, this );\n\t\t},\n\n\t\trenderVal: function ( val ) {\n\t\t\t// Value.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setState( 'value' );\n\t\t\t\tthis.$search().val( val.address );\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\n\t\t\t\t// No value.\n\t\t\t} else {\n\t\t\t\tthis.setState( '' );\n\t\t\t\tthis.$search().val( '' );\n\t\t\t\tthis.map.marker.setVisible( false );\n\t\t\t}\n\t\t},\n\n\t\tnewLatLng: function ( lat, lng ) {\n\t\t\treturn new google.maps.LatLng(\n\t\t\t\tparseFloat( lat ),\n\t\t\t\tparseFloat( lng )\n\t\t\t);\n\t\t},\n\n\t\tsetPosition: function ( lat, lng ) {\n\t\t\t// Update marker position.\n\t\t\tthis.map.marker.setPosition( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\n\t\t\t// Show marker.\n\t\t\tthis.map.marker.setVisible( true );\n\n\t\t\t// Center map.\n\t\t\tthis.center();\n\t\t},\n\n\t\tcenter: function () {\n\t\t\t// Find marker position.\n\t\t\tvar position = this.map.marker.getPosition();\n\t\t\tif ( position ) {\n\t\t\t\tvar lat = position.lat();\n\t\t\t\tvar lng = position.lng();\n\n\t\t\t\t// Or find default settings.\n\t\t\t} else {\n\t\t\t\tvar lat = this.get( 'lat' );\n\t\t\t\tvar lng = this.get( 'lng' );\n\t\t\t}\n\n\t\t\t// Center map.\n\t\t\tthis.map.setCenter( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Ensure Google API is loaded and then initialize map.\n\t\t\twithAPI( this.initializeMap.bind( this ) );\n\t\t},\n\n\t\tinitializeMap: function () {\n\t\t\t// Get value ignoring conditional logic status.\n\t\t\tvar val = this.getValue();\n\n\t\t\t// Construct default args.\n\t\t\tvar args = acf.parseArgs( val, {\n\t\t\t\tzoom: this.get( 'zoom' ),\n\t\t\t\tlat: this.get( 'lat' ),\n\t\t\t\tlng: this.get( 'lng' ),\n\t\t\t} );\n\n\t\t\t// Create Map.\n\t\t\tvar mapArgs = {\n\t\t\t\tscrollwheel: false,\n\t\t\t\tzoom: parseInt( args.zoom ),\n\t\t\t\tcenter: {\n\t\t\t\t\tlat: parseFloat( args.lat ),\n\t\t\t\t\tlng: parseFloat( args.lng ),\n\t\t\t\t},\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\n\t\t\t\tmarker: {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\traiseOnDrag: true,\n\t\t\t\t},\n\t\t\t\tautocomplete: {},\n\t\t\t};\n\t\t\tmapArgs = acf.applyFilters( 'google_map_args', mapArgs, this );\n\t\t\tvar map = new google.maps.Map( this.$canvas()[ 0 ], mapArgs );\n\n\t\t\t// Create Marker.\n\t\t\tvar markerArgs = acf.parseArgs( mapArgs.marker, {\n\t\t\t\tdraggable: true,\n\t\t\t\traiseOnDrag: true,\n\t\t\t\tmap: map,\n\t\t\t} );\n\t\t\tmarkerArgs = acf.applyFilters(\n\t\t\t\t'google_map_marker_args',\n\t\t\t\tmarkerArgs,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tvar marker = new google.maps.Marker( markerArgs );\n\n\t\t\t// Maybe Create Autocomplete.\n\t\t\tvar autocomplete = false;\n\t\t\tif ( acf.isset( google, 'maps', 'places', 'Autocomplete' ) ) {\n\t\t\t\tvar autocompleteArgs = mapArgs.autocomplete || {};\n\t\t\t\tautocompleteArgs = acf.applyFilters(\n\t\t\t\t\t'google_map_autocomplete_args',\n\t\t\t\t\tautocompleteArgs,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t\tautocomplete = new google.maps.places.Autocomplete(\n\t\t\t\t\tthis.$search()[ 0 ],\n\t\t\t\t\tautocompleteArgs\n\t\t\t\t);\n\t\t\t\tautocomplete.bindTo( 'bounds', map );\n\t\t\t}\n\n\t\t\t// Add map events.\n\t\t\tthis.addMapEvents( this, map, marker, autocomplete );\n\n\t\t\t// Append references.\n\t\t\tmap.acf = this;\n\t\t\tmap.marker = marker;\n\t\t\tmap.autocomplete = autocomplete;\n\t\t\tthis.map = map;\n\n\t\t\t// Set position.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires immediately after the Google Map has been initialized.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject marker The Google Map marker isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_init', map, marker, this );\n\t\t},\n\n\t\taddMapEvents: function ( field, map, marker, autocomplete ) {\n\t\t\t// Click map.\n\t\t\tgoogle.maps.event.addListener( map, 'click', function ( e ) {\n\t\t\t\tvar lat = e.latLng.lat();\n\t\t\t\tvar lng = e.latLng.lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Drag marker.\n\t\t\tgoogle.maps.event.addListener( marker, 'dragend', function () {\n\t\t\t\tvar lat = this.getPosition().lat();\n\t\t\t\tvar lng = this.getPosition().lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Autocomplete search.\n\t\t\tif ( autocomplete ) {\n\t\t\t\tgoogle.maps.event.addListener(\n\t\t\t\t\tautocomplete,\n\t\t\t\t\t'place_changed',\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tvar place = this.getPlace();\n\t\t\t\t\t\tfield.searchPlace( place );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Detect zoom change.\n\t\t\tgoogle.maps.event.addListener( map, 'zoom_changed', function () {\n\t\t\t\tvar val = field.val();\n\t\t\t\tif ( val ) {\n\t\t\t\t\tval.zoom = map.getZoom();\n\t\t\t\t\tfield.setValue( val, true );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tsearchPosition: function ( lat, lng ) {\n\t\t\t//console.log('searchPosition', lat, lng );\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tvar latLng = { lat: lat, lng: lng };\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ location: latLng },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override lat/lng to match user defined marker location.\n\t\t\t\t\t\t// Avoids issue where marker \"snaps\" to nearest result.\n\t\t\t\t\t\tval.lat = lat;\n\t\t\t\t\t\tval.lng = lng;\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchPlace: function ( place ) {\n\t\t\t//console.log('searchPlace', place );\n\n\t\t\t// Bail early if no place.\n\t\t\tif ( ! place ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Selecting from the autocomplete dropdown will return a rich PlaceResult object.\n\t\t\t// Be sure to over-write the \"formatted_address\" value with the one displayed to the user for best UX.\n\t\t\tif ( place.geometry ) {\n\t\t\t\tplace.formatted_address = this.$search().val();\n\t\t\t\tvar val = this.parseResult( place );\n\t\t\t\tthis.val( val );\n\n\t\t\t\t// Searching a custom address will return an empty PlaceResult object.\n\t\t\t} else if ( place.name ) {\n\t\t\t\tthis.searchAddress( place.name );\n\t\t\t}\n\t\t},\n\n\t\tsearchAddress: function ( address ) {\n\t\t\t//console.log('searchAddress', address );\n\n\t\t\t// Bail early if no address.\n\t\t\tif ( ! address ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow \"lat,lng\" search.\n\t\t\tvar latLng = address.split( ',' );\n\t\t\tif ( latLng.length == 2 ) {\n\t\t\t\tvar lat = parseFloat( latLng[ 0 ] );\n\t\t\t\tvar lng = parseFloat( latLng[ 1 ] );\n\t\t\t\tif ( lat && lng ) {\n\t\t\t\t\treturn this.searchPosition( lat, lng );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ address: address },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override address data with parameter allowing custom address to be defined in search.\n\t\t\t\t\t\tval.address = address;\n\n\t\t\t\t\t\t// Update value.\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchLocation: function () {\n\t\t\t//console.log('searchLocation' );\n\n\t\t\t// Check HTML5 geolocation.\n\t\t\tif ( ! navigator.geolocation ) {\n\t\t\t\treturn alert(\n\t\t\t\t\tacf.__( 'Sorry, this browser does not support geolocation' )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geolocation.\n\t\t\tnavigator.geolocation.getCurrentPosition(\n\t\t\t\t// Success.\n\t\t\t\tfunction ( results ) {\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Search position.\n\t\t\t\t\tvar lat = results.coords.latitude;\n\t\t\t\t\tvar lng = results.coords.longitude;\n\t\t\t\t\tthis.searchPosition( lat, lng );\n\t\t\t\t}.bind( this ),\n\n\t\t\t\t// Failure.\n\t\t\t\tfunction ( error ) {\n\t\t\t\t\tthis.setState( '' );\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * parseResult\n\t\t *\n\t\t * Returns location data for the given GeocoderResult object.\n\t\t *\n\t\t * @date\t15/10/19\n\t\t * @since\t5.8.6\n\t\t *\n\t\t * @param\tobject obj A GeocoderResult object.\n\t\t * @return\tobject\n\t\t */\n\t\tparseResult: function ( obj ) {\n\t\t\t// Construct basic data.\n\t\t\tvar result = {\n\t\t\t\taddress: obj.formatted_address,\n\t\t\t\tlat: obj.geometry.location.lat(),\n\t\t\t\tlng: obj.geometry.location.lng(),\n\t\t\t};\n\n\t\t\t// Add zoom level.\n\t\t\tresult.zoom = this.map.getZoom();\n\n\t\t\t// Add place ID.\n\t\t\tif ( obj.place_id ) {\n\t\t\t\tresult.place_id = obj.place_id;\n\t\t\t}\n\n\t\t\t// Add place name.\n\t\t\tif ( obj.name ) {\n\t\t\t\tresult.name = obj.name;\n\t\t\t}\n\n\t\t\t// Create search map for address component data.\n\t\t\tvar map = {\n\t\t\t\tstreet_number: [ 'street_number' ],\n\t\t\t\tstreet_name: [ 'street_address', 'route' ],\n\t\t\t\tcity: [ 'locality', 'postal_town' ],\n\t\t\t\tstate: [\n\t\t\t\t\t'administrative_area_level_1',\n\t\t\t\t\t'administrative_area_level_2',\n\t\t\t\t\t'administrative_area_level_3',\n\t\t\t\t\t'administrative_area_level_4',\n\t\t\t\t\t'administrative_area_level_5',\n\t\t\t\t],\n\t\t\t\tpost_code: [ 'postal_code' ],\n\t\t\t\tcountry: [ 'country' ],\n\t\t\t};\n\n\t\t\t// Loop over map.\n\t\t\tfor ( var k in map ) {\n\t\t\t\tvar keywords = map[ k ];\n\n\t\t\t\t// Loop over address components.\n\t\t\t\tfor ( var i = 0; i < obj.address_components.length; i++ ) {\n\t\t\t\t\tvar component = obj.address_components[ i ];\n\t\t\t\t\tvar component_type = component.types[ 0 ];\n\n\t\t\t\t\t// Look for matching component type.\n\t\t\t\t\tif ( keywords.indexOf( component_type ) !== -1 ) {\n\t\t\t\t\t\t// Append to result.\n\t\t\t\t\t\tresult[ k ] = component.long_name;\n\n\t\t\t\t\t\t// Append short version.\n\t\t\t\t\t\tif ( component.long_name !== component.short_name ) {\n\t\t\t\t\t\t\tresult[ k + '_short' ] = component.short_name;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Filters the parsed result.\n\t\t\t *\n\t\t\t * @date\t18/10/19\n\t\t\t * @since\t5.8.6\n\t\t\t *\n\t\t\t * @param\tobject result The parsed result value.\n\t\t\t * @param\tobject obj The GeocoderResult object.\n\t\t\t */\n\t\t\treturn acf.applyFilters(\n\t\t\t\t'google_map_result',\n\t\t\t\tresult,\n\t\t\t\tobj,\n\t\t\t\tthis.map,\n\t\t\t\tthis\n\t\t\t);\n\t\t},\n\n\t\tonClickClear: function () {\n\t\t\tthis.val( false );\n\t\t},\n\n\t\tonClickLocate: function () {\n\t\t\tthis.searchLocation();\n\t\t},\n\n\t\tonClickSearch: function () {\n\t\t\tthis.searchAddress( this.$search().val() );\n\t\t},\n\n\t\tonFocusSearch: function ( e, $el ) {\n\t\t\tthis.setState( 'searching' );\n\t\t},\n\n\t\tonBlurSearch: function ( e, $el ) {\n\t\t\t// Get saved address value.\n\t\t\tvar val = this.val();\n\t\t\tvar address = val ? val.address : '';\n\n\t\t\t// Remove 'is-searching' if value has not changed.\n\t\t\tif ( $el.val() === address ) {\n\t\t\t\tthis.setState( 'default' );\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\t// Clear empty value.\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\tthis.val( false );\n\t\t\t}\n\t\t},\n\n\t\t// Prevent form from submitting.\n\t\tonKeydownSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$el.blur();\n\t\t\t}\n\t\t},\n\n\t\t// Center map once made visible.\n\t\tonShow: function () {\n\t\t\tif ( this.map ) {\n\t\t\t\tthis.setTimeout( this.center );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// Vars.\n\tvar loading = false;\n\tvar geocoder = false;\n\n\t/**\n\t * withAPI\n\t *\n\t * Loads the Google Maps API library and troggers callback.\n\t *\n\t * @date\t28/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tfunction callback The callback to excecute.\n\t * @return\tvoid\n\t */\n\n\tfunction withAPI( callback ) {\n\t\t// Check if geocoder exists.\n\t\tif ( geocoder ) {\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Check if geocoder API exists.\n\t\tif ( acf.isset( window, 'google', 'maps', 'Geocoder' ) ) {\n\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Geocoder will need to be loaded. Hook callback to action.\n\t\tacf.addAction( 'google_map_api_loaded', callback );\n\n\t\t// Bail early if already loading API.\n\t\tif ( loading ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// load api\n\t\tvar url = acf.get( 'google_map_api' );\n\t\tif ( url ) {\n\t\t\t// Set loading status.\n\t\t\tloading = true;\n\n\t\t\t// Load API\n\t\t\t$.ajax( {\n\t\t\t\turl: url,\n\t\t\t\tdataType: 'script',\n\t\t\t\tcache: true,\n\t\t\t\tsuccess: function () {\n\t\t\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\t\t\tacf.doAction( 'google_map_api_loaded' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'image',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-image-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]:first' );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change input[type=\"file\"]': 'onChange',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// add attribute to form\n\t\t\tif ( this.get( 'uploader' ) === 'basic' ) {\n\t\t\t\tthis.$el\n\t\t\t\t\t.closest( 'form' )\n\t\t\t\t\t.attr( 'enctype', 'multipart/form-data' );\n\t\t\t}\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// Use WP attachment attributes when available.\n\t\t\tif ( attachment && attachment.attributes ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// Apply defaults.\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\tid: 0,\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tcaption: '',\n\t\t\t\tdescription: '',\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t} );\n\n\t\t\t// Override with \"preview size\".\n\t\t\tvar size = acf.isget(\n\t\t\t\tattachment,\n\t\t\t\t'sizes',\n\t\t\t\tthis.get( 'preview_size' )\n\t\t\t);\n\t\t\tif ( size ) {\n\t\t\t\tattachment.url = size.url;\n\t\t\t\tattachment.width = size.width;\n\t\t\t\tattachment.height = size.height;\n\t\t\t}\n\n\t\t\t// Return.\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// Update DOM.\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.url,\n\t\t\t\talt: attachment.alt,\n\t\t\t} );\n\t\t\tif ( attachment.id ) {\n\t\t\t\tthis.val( attachment.id );\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.val( '' );\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\t// create a new repeater row and render value\n\t\tappend: function ( attachment, parent ) {\n\t\t\t// create function to find next available field within parent\n\t\t\tvar getNext = function ( field, parent ) {\n\t\t\t\t// find existing file fields within parent\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\tkey: field.get( 'key' ),\n\t\t\t\t\tparent: parent.$el,\n\t\t\t\t} );\n\n\t\t\t\t// find the first field with no value\n\t\t\t\tfor ( var i = 0; i < fields.length; i++ ) {\n\t\t\t\t\tif ( ! fields[ i ].val() ) {\n\t\t\t\t\t\treturn fields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// find existing file fields within parent\n\t\t\tvar field = getNext( this, parent );\n\n\t\t\t// add new row if no available field\n\t\t\tif ( ! field ) {\n\t\t\t\tparent.$( '.acf-button:last' ).trigger( 'click' );\n\t\t\t\tfield = getNext( this, parent );\n\t\t\t}\n\n\t\t\t// render\n\t\t\tif ( field ) {\n\t\t\t\tfield.render( attachment );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttype: 'image',\n\t\t\t\ttitle: acf.__( 'Select Image' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) return;\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit Image' ),\n\t\t\t\tbutton: acf.__( 'Update Image' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\tremoveAttachment: function () {\n\t\t\tthis.render( false );\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tthis.selectAttachment();\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tthis.editAttachment();\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.removeAttachment();\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tvar $hiddenInput = this.$input();\n\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\t$hiddenInput.val( '' );\n\t\t\t}\n\n\t\t\tacf.getFileInputData( $el, function ( data ) {\n\t\t\t\t$hiddenInput.val( $.param( data ) );\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'link',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change .link-node': 'onChange',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-link' );\n\t\t},\n\n\t\t$node: function () {\n\t\t\treturn this.$( '.link-node' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar $node = this.$node();\n\n\t\t\t// return false if empty\n\t\t\tif ( ! $node.attr( 'href' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn {\n\t\t\t\ttitle: $node.html(),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// default\n\t\t\tval = acf.parseArgs( val, {\n\t\t\t\ttitle: '',\n\t\t\t\turl: '',\n\t\t\t\ttarget: '',\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $div = this.$control();\n\t\t\tvar $node = this.$node();\n\n\t\t\t// remove class\n\t\t\t$div.removeClass( '-value -external' );\n\n\t\t\t// add class\n\t\t\tif ( val.url ) $div.addClass( '-value' );\n\t\t\tif ( val.target === '_blank' ) $div.addClass( '-external' );\n\n\t\t\t// update text\n\t\t\tthis.$( '.link-title' ).html( val.title );\n\t\t\tthis.$( '.link-url' ).attr( 'href', val.url ).html( val.url );\n\n\t\t\t// update node\n\t\t\t$node.html( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\n\t\t\t// update inputs\n\t\t\tthis.$( '.input-title' ).val( val.title );\n\t\t\tthis.$( '.input-target' ).val( val.target );\n\t\t\tthis.$( '.input-url' ).val( val.url ).trigger( 'change' );\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tacf.wpLink.open( this.$node() );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.setValue( false );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// get the changed value\n\t\t\tvar val = this.getValue();\n\n\t\t\t// update inputs\n\t\t\tthis.setValue( val );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tacf.wpLink = new acf.Model( {\n\t\tgetNodeValue: function () {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\treturn {\n\t\t\t\ttitle: acf.decode( $node.html() ),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetNodeValue: function ( val ) {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\t$node.text( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\t\t\t$node.trigger( 'change' );\n\t\t},\n\n\t\tgetInputValue: function () {\n\t\t\treturn {\n\t\t\t\ttitle: $( '#wp-link-text' ).val(),\n\t\t\t\turl: $( '#wp-link-url' ).val(),\n\t\t\t\ttarget: $( '#wp-link-target' ).prop( 'checked' )\n\t\t\t\t\t? '_blank'\n\t\t\t\t\t: '',\n\t\t\t};\n\t\t},\n\n\t\tsetInputValue: function ( val ) {\n\t\t\t$( '#wp-link-text' ).val( val.title );\n\t\t\t$( '#wp-link-url' ).val( val.url );\n\t\t\t$( '#wp-link-target' ).prop( 'checked', val.target === '_blank' );\n\t\t},\n\n\t\topen: function ( $node ) {\n\t\t\t// add events\n\t\t\tthis.on( 'wplink-open', 'onOpen' );\n\t\t\tthis.on( 'wplink-close', 'onClose' );\n\n\t\t\t// set node\n\t\t\tthis.set( 'node', $node );\n\n\t\t\t// create textarea\n\t\t\tvar $textarea = $(\n\t\t\t\t'
'\n\t\t\t);\n\t\t\t$( 'body' ).append( $textarea );\n\n\t\t\t// vars\n\t\t\tvar val = this.getNodeValue();\n\n\t\t\t// open popup\n\t\t\twpLink.open( 'acf-link-textarea', val.url, val.title, null );\n\t\t},\n\n\t\tonOpen: function () {\n\t\t\t// always show title (WP will hide title if empty)\n\t\t\t$( '#wp-link-wrap' ).addClass( 'has-text-field' );\n\n\t\t\t// set inputs\n\t\t\tvar val = this.getNodeValue();\n\t\t\tthis.setInputValue( val );\n\n\t\t\t// Update button text.\n\t\t\tif ( val.url && wpLinkL10n ) {\n\t\t\t\t$( '#wp-link-submit' ).val( wpLinkL10n.update );\n\t\t\t}\n\t\t},\n\n\t\tclose: function () {\n\t\t\twpLink.close();\n\t\t},\n\n\t\tonClose: function () {\n\t\t\t// Bail early if no node.\n\t\t\t// Needed due to WP triggering this event twice.\n\t\t\tif ( ! this.has( 'node' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Determine context.\n\t\t\tvar $submit = $( '#wp-link-submit' );\n\t\t\tvar isSubmit = $submit.is( ':hover' ) || $submit.is( ':focus' );\n\n\t\t\t// Set value\n\t\t\tif ( isSubmit ) {\n\t\t\t\tvar val = this.getInputValue();\n\t\t\t\tthis.setNodeValue( val );\n\t\t\t}\n\n\t\t\t// Cleanup.\n\t\t\tthis.off( 'wplink-open' );\n\t\t\tthis.off( 'wplink-close' );\n\t\t\t$( '#acf-link-textarea' ).remove();\n\t\t\tthis.set( 'node', null );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'oembed',\n\n\t\tevents: {\n\t\t\t'click [data-name=\"clear-button\"]': 'onClickClear',\n\t\t\t'keypress .input-search': 'onKeypressSearch',\n\t\t\t'keyup .input-search': 'onKeyupSearch',\n\t\t\t'change .input-search': 'onChangeSearch',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-oembed' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( '.input-value' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.input-search' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\tgetSearchVal: function () {\n\t\t\treturn this.$search().val();\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\n\t\t\tacf.val( this.$input(), val );\n\t\t},\n\n\t\tshowLoading: function ( show ) {\n\t\t\tacf.showLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\thideLoading: function () {\n\t\t\tacf.hideLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\tmaybeSearch: function () {\n\t\t\t// vars\n\t\t\tvar prevUrl = this.val();\n\t\t\tvar url = this.getSearchVal();\n\n\t\t\t// no value\n\t\t\tif ( ! url ) {\n\t\t\t\treturn this.clear();\n\t\t\t}\n\n\t\t\t// fix missing 'http://' - causes the oembed code to error and fail\n\t\t\tif ( url.substr( 0, 4 ) != 'http' ) {\n\t\t\t\turl = 'http://' + url;\n\t\t\t}\n\n\t\t\t// bail early if no change\n\t\t\tif ( url === prevUrl ) return;\n\n\t\t\t// clear existing timeout\n\t\t\tvar timeout = this.get( 'timeout' );\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// set new timeout\n\t\t\tvar callback = $.proxy( this.search, this, url );\n\t\t\tthis.set( 'timeout', setTimeout( callback, 300 ) );\n\t\t},\n\n\t\tsearch: function ( url ) {\n\t\t\t// ajax\n\t\t\tvar ajaxData = {\n\t\t\t\taction: 'acf/fields/oembed/search',\n\t\t\t\ts: url,\n\t\t\t\tfield_key: this.get( 'key' ),\n\t\t\t};\n\n\t\t\t// clear existing timeout\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tthis.showLoading();\n\n\t\t\t// query\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: function ( json ) {\n\t\t\t\t\t// error\n\t\t\t\t\tif ( ! json || ! json.html ) {\n\t\t\t\t\t\tjson = {\n\t\t\t\t\t\t\turl: false,\n\t\t\t\t\t\t\thtml: '',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\tthis.val( json.url );\n\t\t\t\t\tthis.$( '.canvas-media' ).html( json.html );\n\t\t\t\t},\n\t\t\t\tcomplete: function () {\n\t\t\t\t\tthis.hideLoading();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\tclear: function () {\n\t\t\tthis.val( '' );\n\t\t\tthis.$search().val( '' );\n\t\t\tthis.$( '.canvas-media' ).html( '' );\n\t\t},\n\n\t\tonClickClear: function ( e, $el ) {\n\t\t\tthis.clear();\n\t\t},\n\n\t\tonKeypressSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\tif ( $el.val() ) {\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonChangeSearch: function ( e, $el ) {\n\t\t\tthis.maybeSearch();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'page_link',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'post_object',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'radio',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-radio-list' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val === 'other' && this.get( 'other_choice' ) ) {\n\t\t\t\tval = this.$inputText().val();\n\t\t\t}\n\t\t\treturn val;\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\t\t\tvar val = $el.val();\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t\tval = false;\n\t\t\t}\n\n\t\t\t// other\n\t\t\tif ( this.get( 'other_choice' ) ) {\n\t\t\t\t// enable\n\t\t\t\tif ( val === 'other' ) {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', false );\n\n\t\t\t\t\t// disable\n\t\t\t\t} else {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'range',\n\n\t\tevents: {\n\t\t\t'input input[type=\"range\"]': 'onChange',\n\t\t\t'change input': 'onChange',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"range\"]' );\n\t\t},\n\n\t\t$inputAlt: function () {\n\t\t\treturn this.$( 'input[type=\"number\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.busy = true;\n\n\t\t\t// Update range input (with change).\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// Update alt input (without change).\n\t\t\t// Read in input value to inherit min/max validation.\n\t\t\tacf.val( this.$inputAlt(), this.$input().val(), true );\n\n\t\t\tthis.busy = false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( ! this.busy ) {\n\t\t\t\tthis.setValue( $el.val() );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'relationship',\n\n\t\tevents: {\n\t\t\t'keypress [data-filter]': 'onKeypressFilter',\n\t\t\t'change [data-filter]': 'onChangeFilter',\n\t\t\t'keyup [data-filter]': 'onChangeFilter',\n\t\t\t'click .choices-list .acf-rel-item': 'onClickAdd',\n\t\t\t'keypress .choices-list .acf-rel-item': 'onKeypressFilter',\n\t\t\t'keypress .values-list .acf-rel-item': 'onKeypressFilter',\n\t\t\t'click [data-name=\"remove_item\"]': 'onClickRemove',\n\t\t\t'touchstart .values-list .acf-rel-item': 'onTouchStartValues',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-relationship' );\n\t\t},\n\n\t\t$list: function ( list ) {\n\t\t\treturn this.$( '.' + list + '-list' );\n\t\t},\n\n\t\t$listItems: function ( list ) {\n\t\t\treturn this.$list( list ).find( '.acf-rel-item' );\n\t\t},\n\n\t\t$listItem: function ( list, id ) {\n\t\t\treturn this.$list( list ).find(\n\t\t\t\t'.acf-rel-item[data-id=\"' + id + '\"]'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$listItems( 'values' ).each( function () {\n\t\t\t\tval.push( $( this ).data( 'id' ) );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tnewChoice: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tnewValue: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Delay initialization until \"interacted with\" or \"in view\".\n\t\t\tvar delayed = this.proxy(\n\t\t\t\tacf.once( function () {\n\t\t\t\t\t// Add sortable.\n\t\t\t\t\tthis.$list( 'values' ).sortable( {\n\t\t\t\t\t\titems: 'li',\n\t\t\t\t\t\tforceHelperSize: true,\n\t\t\t\t\t\tforcePlaceholderSize: true,\n\t\t\t\t\t\tscroll: true,\n\t\t\t\t\t\tupdate: this.proxy( function () {\n\t\t\t\t\t\t\tthis.$input().trigger( 'change' );\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Avoid browser remembering old scroll position and add event.\n\t\t\t\t\tthis.$list( 'choices' )\n\t\t\t\t\t\t.scrollTop( 0 )\n\t\t\t\t\t\t.on( 'scroll', this.proxy( this.onScrollChoices ) );\n\n\t\t\t\t\t// Fetch choices.\n\t\t\t\t\tthis.fetch();\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// Bind \"interacted with\".\n\t\t\tthis.$el.one( 'mouseover', delayed );\n\t\t\tthis.$el.one( 'focus', 'input', delayed );\n\n\t\t\t// Bind \"in view\".\n\t\t\tacf.onceInView( this.$el, delayed );\n\t\t},\n\n\t\tonScrollChoices: function ( e ) {\n\t\t\t// bail early if no more results\n\t\t\tif ( this.get( 'loading' ) || ! this.get( 'more' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Scrolled to bottom\n\t\t\tvar $list = this.$list( 'choices' );\n\t\t\tvar scrollTop = Math.ceil( $list.scrollTop() );\n\t\t\tvar scrollHeight = Math.ceil( $list[ 0 ].scrollHeight );\n\t\t\tvar innerHeight = Math.ceil( $list.innerHeight() );\n\t\t\tvar paged = this.get( 'paged' ) || 1;\n\t\t\tif ( scrollTop + innerHeight >= scrollHeight ) {\n\t\t\t\t// update paged\n\t\t\t\tthis.set( 'paged', paged + 1 );\n\n\t\t\t\t// fetch\n\t\t\t\tthis.fetch();\n\t\t\t}\n\t\t},\n\n\t\tonKeypressFilter: function ( e, $el ) {\n\t\t\t// Receive enter key when selecting relationship items.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-add' ) && e.which == 13 ) {\n\t\t\t\tthis.onClickAdd(e, $el);\n\t\t\t}\n\t\t\t// Receive enter key when removing relationship items.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-remove' ) && e.which == 13 ) {\n\t\t\t\tthis.onClickRemove(e, $el);\n\t\t\t}\n\t\t\t// don't submit form\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\tonChangeFilter: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = $el.val();\n\t\t\tvar filter = $el.data( 'filter' );\n\n\t\t\t// Bail early if filter has not changed\n\t\t\tif ( this.get( filter ) === val ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update attr\n\t\t\tthis.set( filter, val );\n\n\t\t\t// reset paged\n\t\t\tthis.set( 'paged', 1 );\n\n\t\t\t// fetch\n\t\t\tif ( $el.is( 'select' ) ) {\n\t\t\t\tthis.fetch();\n\n\t\t\t\t// search must go through timeout\n\t\t\t} else {\n\t\t\t\tthis.maybeFetch();\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\t\t\tvar max = parseInt( this.get( 'max' ) );\n\n\t\t\t// can be added?\n\t\t\tif ( $el.hasClass( 'disabled' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// validate\n\t\t\tif ( max > 0 && val && val.length >= max ) {\n\t\t\t\t// add notice\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: acf\n\t\t\t\t\t\t.__( 'Maximum values reached ( {max} values )' )\n\t\t\t\t\t\t.replace( '{max}', max ),\n\t\t\t\t\ttype: 'warning',\n\t\t\t\t} );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// disable\n\t\t\t$el.addClass( 'disabled' );\n\n\t\t\t// add\n\t\t\tvar html = this.newValue( {\n\t\t\t\tid: $el.data( 'id' ),\n\t\t\t\ttext: $el.html(),\n\t\t\t} );\n\t\t\tthis.$list( 'values' ).append( html );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\t// Prevent default here because generic handler wont be triggered.\n\t\t\te.preventDefault();\n\n\t\t\tlet $span;\n\t\t\t// Behavior if triggered from tabbed event.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-remove' )) {\n\t\t\t\t$span = $el;\n\t\t\t} else {\n\t\t\t\t// Behavior if triggered through click event.\n\t\t\t\t$span = $el.parent();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tconst $li = $span.parent();\n\t\t\tconst id = $span.data( 'id' );\n\n\t\t\t// remove value\n\t\t\t$li.remove();\n\n\t\t\t// show choice\n\t\t\tthis.$listItem( 'choices', id ).removeClass( 'disabled' );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tonTouchStartValues: function( e, $el ) {\n\t\t\t$( this.$listItems( 'values' ) ).removeClass( 'relationship-hover' );\n\t\t\t$el.addClass( 'relationship-hover' );\n\t\t},\n\n\t\tmaybeFetch: function () {\n\t\t\t// vars\n\t\t\tvar timeout = this.get( 'timeout' );\n\n\t\t\t// abort timeout\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// fetch\n\t\t\ttimeout = this.setTimeout( this.fetch, 300 );\n\t\t\tthis.set( 'timeout', timeout );\n\t\t},\n\n\t\tgetAjaxData: function () {\n\t\t\t// load data based on element attributes\n\t\t\tvar ajaxData = this.$control().data();\n\t\t\tfor ( var name in ajaxData ) {\n\t\t\t\tajaxData[ name ] = this.get( name );\n\t\t\t}\n\n\t\t\t// extra\n\t\t\tajaxData.action = 'acf/fields/relationship/query';\n\t\t\tajaxData.field_key = this.get( 'key' );\n\n\t\t\t// Filter.\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'relationship_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn ajaxData;\n\t\t},\n\n\t\tfetch: function () {\n\t\t\t// abort XHR if this field is already loading AJAX data\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// add to this.o\n\t\t\tvar ajaxData = this.getAjaxData();\n\n\t\t\t// clear html if is new query\n\t\t\tvar $choiceslist = this.$list( 'choices' );\n\t\t\tif ( ajaxData.paged == 1 ) {\n\t\t\t\t$choiceslist.html( '' );\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tvar $loading = $(\n\t\t\t\t'
'\n\t\t\t);\n\t\t\t$choiceslist.append( $loading );\n\t\t\tthis.set( 'loading', true );\n\n\t\t\t// callback\n\t\t\tvar onComplete = function () {\n\t\t\t\tthis.set( 'loading', false );\n\t\t\t\t$loading.remove();\n\t\t\t};\n\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// no results\n\t\t\t\tif ( ! json || ! json.results || ! json.results.length ) {\n\t\t\t\t\t// prevent pagination\n\t\t\t\t\tthis.set( 'more', false );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( this.get( 'paged' ) == 1 ) {\n\t\t\t\t\t\tthis.$list( 'choices' ).append(\n\t\t\t\t\t\t\t'
'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// set more (allows pagination scroll)\n\t\t\t\tthis.set( 'more', json.more );\n\n\t\t\t\t// get new results\n\t\t\t\tvar html = this.walkChoices( json.results );\n\t\t\t\tvar $html = $( html );\n\n\t\t\t\t// apply .disabled to left li's\n\t\t\t\tvar val = this.val();\n\t\t\t\tif ( val && val.length ) {\n\t\t\t\t\tval.map( function ( id ) {\n\t\t\t\t\t\t$html\n\t\t\t\t\t\t\t.find( '.acf-rel-item[data-id=\"' + id + '\"]' )\n\t\t\t\t\t\t\t.addClass( 'disabled' );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// append\n\t\t\t\t$choiceslist.append( $html );\n\n\t\t\t\t// merge together groups\n\t\t\t\tvar $prevLabel = false;\n\t\t\t\tvar $prevList = false;\n\n\t\t\t\t$choiceslist.find( '.acf-rel-label' ).each( function () {\n\t\t\t\t\tvar $label = $( this );\n\t\t\t\t\tvar $list = $label.siblings( 'ul' );\n\n\t\t\t\t\tif ( $prevLabel && $prevLabel.text() == $label.text() ) {\n\t\t\t\t\t\t$prevList.append( $list.children() );\n\t\t\t\t\t\t$( this ).parent().remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevLabel = $label;\n\t\t\t\t\t$prevList = $list;\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// get results\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: 'post',\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\twalkChoices: function ( data ) {\n\t\t\t// walker\n\t\t\tvar walk = function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar html = '';\n\n\t\t\t\t// is array\n\t\t\t\tif ( $.isArray( data ) ) {\n\t\t\t\t\tdata.map( function ( item ) {\n\t\t\t\t\t\thtml += walk( item );\n\t\t\t\t\t} );\n\n\t\t\t\t\t// is item\n\t\t\t\t} else if ( $.isPlainObject( data ) ) {\n\t\t\t\t\t// group\n\t\t\t\t\tif ( data.children !== undefined ) {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
';\n\n\t\t\t\t\t\t// single\n\t\t\t\t\t} else {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn html;\n\t\t\t};\n\n\t\t\treturn walk( data );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'select',\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tremoveField: 'onRemove',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'select' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$input();\n\n\t\t\t// inherit data\n\t\t\tthis.inherit( $select );\n\n\t\t\t// select2\n\t\t\tif ( this.get( 'ui' ) ) {\n\t\t\t\t// populate ajax_data (allowing custom attribute to already exist)\n\t\t\t\tvar ajaxAction = this.get( 'ajax_action' );\n\t\t\t\tif ( ! ajaxAction ) {\n\t\t\t\t\tajaxAction = 'acf/fields/' + this.get( 'type' ) + '/query';\n\t\t\t\t}\n\n\t\t\t\t// select2\n\t\t\t\tthis.select2 = acf.newSelect2( $select, {\n\t\t\t\t\tfield: this,\n\t\t\t\t\tajax: this.get( 'ajax' ),\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\t\tallowNull: this.get( 'allow_null' ),\n\t\t\t\t\tajaxAction: ajaxAction,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tif ( this.select2 ) {\n\t\t\t\tthis.select2.destroy();\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.select2 ) {\n\t\t\t\t$duplicate.find( '.select2-container' ).remove();\n\t\t\t\t$duplicate\n\t\t\t\t\t.find( 'select' )\n\t\t\t\t\t.removeClass( 'select2-hidden-accessible' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar CONTEXT = 'tab';\n\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'tab',\n\n\t\twait: '',\n\n\t\ttabs: false,\n\n\t\ttab: false,\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\tfindFields: function () {\n\t\t\tlet filter;\n\n\t\t\t/**\n\t\t\t * Tabs in the admin UI that can be extended by third\n\t\t\t * parties have the child settings wrapped inside an extra div,\n\t\t\t * so we need to look for that instead of an adjacent .acf-field.\n\t\t\t */\n\t\t\tswitch ( this.get( 'key' ) ) {\n\t\t\t\tcase 'acf_field_settings_tabs':\n\t\t\t\t\tfilter = '.acf-field-settings-main';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_field_group_settings_tabs':\n\t\t\t\t\tfilter = '.field-group-settings-tab';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_browse_fields_tabs':\n\t\t\t\t\tfilter = '.acf-field-types-tab';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_post_type_tabs':\n\t\t\t\t\tfilter = '.acf-post-type-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_taxonomy_tabs':\n\t\t\t\t\tfilter = '.acf-taxonomy-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_ui_options_page_tabs':\n\t\t\t\t\tfilter = '.acf-ui-options-page-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tfilter = '.acf-field';\n\t\t\t}\n\n\t\t\treturn this.$el.nextUntil( '.acf-field-tab', filter );\n\t\t},\n\n\t\tgetFields: function () {\n\t\t\treturn acf.getFields( this.findFields() );\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn this.$el.prevAll( '.acf-tab-wrap:first' );\n\t\t},\n\n\t\tfindTab: function () {\n\t\t\treturn this.$( '.acf-tab-button' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// bail early if is td\n\t\t\tif ( this.$el.is( 'td' ) ) {\n\t\t\t\tthis.events = {};\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $tabs = this.findTabs();\n\t\t\tvar $tab = this.findTab();\n\t\t\tvar settings = acf.parseArgs( $tab.data(), {\n\t\t\t\tendpoint: false,\n\t\t\t\tplacement: '',\n\t\t\t\tbefore: this.$el,\n\t\t\t} );\n\n\t\t\t// create wrap\n\t\t\tif ( ! $tabs.length || settings.endpoint ) {\n\t\t\t\tthis.tabs = new Tabs( settings );\n\t\t\t} else {\n\t\t\t\tthis.tabs = $tabs.data( 'acf' );\n\t\t\t}\n\n\t\t\t// add tab\n\t\t\tthis.tab = this.tabs.addTab( $tab, this );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.tab.isActive();\n\t\t},\n\n\t\tshowFields: function () {\n\t\t\t// show fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.show( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = false;\n\t\t\t}, this );\n\t\t},\n\n\t\thideFields: function () {\n\t\t\t// hide fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.hide( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = this.tab;\n\t\t\t}, this );\n\t\t},\n\n\t\tshow: function ( lockKey ) {\n\t\t\t// show field and store result\n\t\t\tvar visible = acf.Field.prototype.show.apply( this, arguments );\n\n\t\t\t// check if now visible\n\t\t\tif ( visible ) {\n\t\t\t\t// show tab\n\t\t\t\tthis.tab.show();\n\n\t\t\t\t// check active tabs\n\t\t\t\tthis.tabs.refresh();\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn visible;\n\t\t},\n\n\t\thide: function ( lockKey ) {\n\t\t\t// hide field and store result\n\t\t\tvar hidden = acf.Field.prototype.hide.apply( this, arguments );\n\n\t\t\t// check if now hidden\n\t\t\tif ( hidden ) {\n\t\t\t\t// hide tab\n\t\t\t\tthis.tab.hide();\n\n\t\t\t\t// reset tabs if this was active\n\t\t\t\tif ( this.isActive() ) {\n\t\t\t\t\tthis.tabs.reset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn hidden;\n\t\t},\n\n\t\tenable: function ( lockKey ) {\n\t\t\t// enable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.enable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tdisable: function ( lockKey ) {\n\t\t\t// disable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.disable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.isActive() ) {\n\t\t\t\t$duplicate.prevAll( '.acf-tab-wrap:first' ).remove();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * tabs\n\t *\n\t * description\n\t *\n\t * @date\t8/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar i = 0;\n\tvar Tabs = acf.Model.extend( {\n\t\ttabs: [],\n\n\t\tactive: false,\n\n\t\tactions: {\n\t\t\trefresh: 'onRefresh',\n\t\t\tclose_field_object: 'onCloseFieldObject',\n\t\t},\n\n\t\tdata: {\n\t\t\tbefore: false,\n\t\t\tplacement: 'top',\n\t\t\tindex: 0,\n\t\t\tinitialized: false,\n\t\t},\n\n\t\tsetup: function ( settings ) {\n\t\t\t// data\n\t\t\t$.extend( this.data, settings );\n\n\t\t\t// define this prop to avoid scope issues\n\t\t\tthis.tabs = [];\n\t\t\tthis.active = false;\n\n\t\t\t// vars\n\t\t\tvar placement = this.get( 'placement' );\n\t\t\tvar $before = this.get( 'before' );\n\t\t\tvar $parent = $before.parent();\n\n\t\t\t// add sidebar for left placement\n\t\t\tif ( placement == 'left' && $parent.hasClass( 'acf-fields' ) ) {\n\t\t\t\t$parent.addClass( '-sidebar' );\n\t\t\t}\n\n\t\t\t// create wrap\n\t\t\tif ( $before.is( 'tr' ) ) {\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlet ulClass = 'acf-hl acf-tab-group';\n\n\t\t\t\tif ( this.get( 'key' ) === 'acf_field_settings_tabs' ) {\n\t\t\t\t\tulClass = 'acf-field-settings-tab-bar';\n\t\t\t\t}\n\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$before.before( this.$el );\n\n\t\t\t// set index\n\t\t\tthis.set( 'index', i, true );\n\t\t\ti++;\n\t\t},\n\n\t\tinitializeTabs: function () {\n\t\t\t// Bail if tabs are disabled.\n\t\t\tif (\n\t\t\t\t'acf_field_settings_tabs' === this.get( 'key' ) &&\n\t\t\t\t$( '#acf-field-group-fields' ).hasClass( 'hide-tabs' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// find first visible tab\n\t\t\tvar tab = this.getVisible().shift();\n\n\t\t\t// remember previous tab state\n\t\t\tvar order = acf.getPreference( 'this.tabs' ) || [];\n\t\t\tvar groupIndex = this.get( 'index' );\n\t\t\tvar tabIndex = order[ groupIndex ];\n\n\t\t\tif ( this.tabs[ tabIndex ] && this.tabs[ tabIndex ].isVisible() ) {\n\t\t\t\ttab = this.tabs[ tabIndex ];\n\t\t\t}\n\n\t\t\t// select\n\t\t\tif ( tab ) {\n\t\t\t\tthis.selectTab( tab );\n\t\t\t} else {\n\t\t\t\tthis.closeTabs();\n\t\t\t}\n\n\t\t\t// set local variable used by tabsManager\n\t\t\tthis.set( 'initialized', true );\n\t\t},\n\n\t\tgetVisible: function () {\n\t\t\treturn this.tabs.filter( function ( tab ) {\n\t\t\t\treturn tab.isVisible();\n\t\t\t} );\n\t\t},\n\n\t\tgetActive: function () {\n\t\t\treturn this.active;\n\t\t},\n\n\t\tsetActive: function ( tab ) {\n\t\t\treturn ( this.active = tab );\n\t\t},\n\n\t\thasActive: function () {\n\t\t\treturn this.active !== false;\n\t\t},\n\n\t\tisActive: function ( tab ) {\n\t\t\tvar active = this.getActive();\n\t\t\treturn active && active.cid === tab.cid;\n\t\t},\n\n\t\tcloseActive: function () {\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\tthis.closeTab( this.getActive() );\n\t\t\t}\n\t\t},\n\n\t\topenTab: function ( tab ) {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// open\n\t\t\ttab.open();\n\n\t\t\t// set active\n\t\t\tthis.setActive( tab );\n\t\t},\n\n\t\tcloseTab: function ( tab ) {\n\t\t\t// close\n\t\t\ttab.close();\n\n\t\t\t// set active\n\t\t\tthis.setActive( false );\n\t\t},\n\n\t\tcloseTabs: function () {\n\t\t\tthis.tabs.map( this.closeTab, this );\n\t\t},\n\n\t\tselectTab: function ( tab ) {\n\t\t\t// close other tabs\n\t\t\tthis.tabs.map( function ( t ) {\n\t\t\t\tif ( tab.cid !== t.cid ) {\n\t\t\t\t\tthis.closeTab( t );\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// open\n\t\t\tthis.openTab( tab );\n\t\t},\n\n\t\taddTab: function ( $a, field ) {\n\t\t\t// create
' );\n\n\t\t\t// add settings type class.\n\t\t\tvar classes = $a.attr( 'class' ).replace( 'acf-tab-button', '' );\n\t\t\t$li.addClass( classes );\n\n\t\t\t// append\n\t\t\tthis.$( 'ul' ).append( $li );\n\n\t\t\t// initialize\n\t\t\tvar tab = new Tab( {\n\t\t\t\t$el: $li,\n\t\t\t\tfield: field,\n\t\t\t\tgroup: this,\n\t\t\t} );\n\n\t\t\t// store\n\t\t\tthis.tabs.push( tab );\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\treset: function () {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// find and active a tab\n\t\t\treturn this.refresh();\n\t\t},\n\n\t\trefresh: function () {\n\t\t\t// bail early if active already exists\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// find next active tab\n\t\t\tvar tab = this.getVisible().shift();\n\t\t\t// open tab\n\t\t\tif ( tab ) {\n\t\t\t\tthis.openTab( tab );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\tonRefresh: function () {\n\t\t\t// only for left placements\n\t\t\tif ( this.get( 'placement' ) !== 'left' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $parent = this.$el.parent();\n\t\t\tvar $list = this.$el.children( 'ul' );\n\t\t\tvar attribute = $parent.is( 'td' ) ? 'height' : 'min-height';\n\n\t\t\t// find height (minus 1 for border-bottom)\n\t\t\tvar height = $list.position().top + $list.outerHeight( true ) - 1;\n\n\t\t\t// add css\n\t\t\t$parent.css( attribute, height );\n\t\t},\n\n\t\tonCloseFieldObject: function ( fieldObject ) {\n\t\t\tconst tab = this.getVisible().find( ( item ) => {\n\t\t\t\tconst id = item.$el.closest( 'div[data-id]' ).data( 'id' );\n\t\t\t\tif ( fieldObject.data.id === id ) {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( tab ) {\n\t\t\t\t// Wait for field group drawer to close\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\tthis.openTab( tab );\n\t\t\t\t}, 300 );\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar Tab = acf.Model.extend( {\n\t\tgroup: false,\n\n\t\tfield: false,\n\n\t\tevents: {\n\t\t\t'click a': 'onClick',\n\t\t},\n\n\t\tindex: function () {\n\t\t\treturn this.$el.index();\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn acf.isVisible( this.$el );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.$el.hasClass( 'active' );\n\t\t},\n\n\t\topen: function () {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'active' );\n\n\t\t\t// show field\n\t\t\tthis.field.showFields();\n\t\t},\n\n\t\tclose: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'active' );\n\n\t\t\t// hide field\n\t\t\tthis.field.hideFields();\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// toggle\n\t\t\tthis.toggle();\n\t\t},\n\n\t\ttoggle: function () {\n\t\t\t// bail early if already active\n\t\t\tif ( this.isActive() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle this tab\n\t\t\tthis.group.openTab( this );\n\t\t},\n\t} );\n\n\tvar tabsManager = new acf.Model( {\n\t\tpriority: 50,\n\n\t\tactions: {\n\t\t\tprepare: 'render',\n\t\t\tappend: 'render',\n\t\t\tunload: 'onUnload',\n\t\t\tshow: 'render',\n\t\t\tinvalid_field: 'onInvalidField',\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn $( '.acf-tab-wrap' );\n\t\t},\n\n\t\tgetTabs: function () {\n\t\t\treturn acf.getInstances( this.findTabs() );\n\t\t},\n\n\t\trender: function ( $el ) {\n\t\t\tthis.getTabs().map( function ( tabs ) {\n\t\t\t\tif ( ! tabs.get( 'initialized' ) ) {\n\t\t\t\t\ttabs.initializeTabs();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tonInvalidField: function ( field ) {\n\t\t\t// bail early if busy\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// ignore if not hidden by tab\n\t\t\tif ( ! field.hiddenByTab ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle tab\n\t\t\tfield.hiddenByTab.toggle();\n\n\t\t\t// ignore other invalid fields\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 100 );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\tthis.getTabs().map( function ( group ) {\n\t\t\t\t// Do not save selected tab on field settings, or an acf-advanced-settings when unloading\n\t\t\t\tif (\n\t\t\t\t\tgroup.$el.children( '.acf-field-settings-tab-bar' )\n\t\t\t\t\t\t.length ||\n\t\t\t\t\tgroup.$el.parents( '#acf-advanced-settings.postbox' ).length\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tvar active = group.hasActive() ? group.getActive().index() : 0;\n\t\t\t\torder.push( active );\n\t\t\t} );\n\n\t\t\t// bail if no tabs\n\t\t\tif ( ! order.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tacf.setPreference( 'this.tabs', order );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'taxonomy',\n\n\t\tdata: {\n\t\t\tftype: 'select',\n\t\t},\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click input[type=\"radio\"]': 'onClickRadio',\n\t\t\tremoveField: 'onRemove',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-taxonomy-field' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.getRelatedPrototype().$input.apply( this, arguments );\n\t\t},\n\n\t\tgetRelatedType: function () {\n\t\t\t// vars\n\t\t\tvar fieldType = this.get( 'ftype' );\n\n\t\t\t// normalize\n\t\t\tif ( fieldType == 'multi_select' ) {\n\t\t\t\tfieldType = 'select';\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn fieldType;\n\t\t},\n\n\t\tgetRelatedPrototype: function () {\n\t\t\treturn acf.getFieldType( this.getRelatedType() ).prototype;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.getRelatedPrototype().getValue.apply( this, arguments );\n\t\t},\n\n\t\tsetValue: function () {\n\t\t\treturn this.getRelatedPrototype().setValue.apply( this, arguments );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.getRelatedPrototype().initialize.apply( this, arguments );\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tvar proto = this.getRelatedPrototype();\n\t\t\tif ( proto.onRemove ) {\n\t\t\t\tproto.onRemove.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar field = this;\n\t\t\tvar popup = false;\n\t\t\tvar $form = false;\n\t\t\tvar $name = false;\n\t\t\tvar $parent = false;\n\t\t\tvar $button = false;\n\t\t\tvar $message = false;\n\t\t\tvar notice = false;\n\n\t\t\t// step 1.\n\t\t\tvar step1 = function () {\n\t\t\t\t// popup\n\t\t\t\tpopup = acf.newPopup( {\n\t\t\t\t\ttitle: $el.attr( 'title' ),\n\t\t\t\t\tloading: true,\n\t\t\t\t\twidth: '300px',\n\t\t\t\t} );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step2,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 2.\n\t\t\tvar step2 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.loading( false );\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// vars\n\t\t\t\t$form = popup.$( 'form' );\n\t\t\t\t$name = popup.$( 'input[name=\"term_name\"]' );\n\t\t\t\t$parent = popup.$( 'select[name=\"term_parent\"]' );\n\t\t\t\t$button = popup.$( '.acf-submit-button' );\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\n\t\t\t\t// submit form\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\n\t\t\t// step 3.\n\t\t\tvar step3 = function ( e, $el ) {\n\t\t\t\t// prevent\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopImmediatePropagation();\n\n\t\t\t\t// basic validation\n\t\t\t\tif ( $name.val() === '' ) {\n\t\t\t\t\t$name.trigger( 'focus' );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// disable\n\t\t\t\tacf.startButtonLoading( $button );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t\tterm_name: $name.val(),\n\t\t\t\t\tterm_parent: $parent.length ? $parent.val() : 0,\n\t\t\t\t};\n\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tsuccess: step4,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 4.\n\t\t\tvar step4 = function ( json ) {\n\t\t\t\t// enable\n\t\t\t\tacf.stopButtonLoading( $button );\n\n\t\t\t\t// remove prev notice\n\t\t\t\tif ( notice ) {\n\t\t\t\t\tnotice.remove();\n\t\t\t\t}\n\n\t\t\t\t// success\n\t\t\t\tif ( acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\t// clear name\n\t\t\t\t\t$name.val( '' );\n\n\t\t\t\t\t// update term lists\n\t\t\t\t\tstep5( json.data );\n\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\ttext: acf.getAjaxMessage( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\ttext: acf.getAjaxError( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\t\t\t};\n\n\t\t\t// step 5.\n\t\t\tvar step5 = function ( term ) {\n\t\t\t\t// update parent dropdown\n\t\t\t\tvar $option = $(\n\t\t\t\t\t'
'\n\t\t\t\t);\n\t\t\t\tif ( term.term_parent ) {\n\t\t\t\t\t$parent\n\t\t\t\t\t\t.children( 'option[value=\"' + term.term_parent + '\"]' )\n\t\t\t\t\t\t.after( $option );\n\t\t\t\t} else {\n\t\t\t\t\t$parent.append( $option );\n\t\t\t\t}\n\n\t\t\t\t// add this new term to all taxonomy field\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t} );\n\n\t\t\t\tfields.map( function ( otherField ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\totherField.get( 'taxonomy' ) == field.get( 'taxonomy' )\n\t\t\t\t\t) {\n\t\t\t\t\t\totherField.appendTerm( term );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// select\n\t\t\t\tfield.selectTerm( term.term_id );\n\t\t\t};\n\n\t\t\t// run\n\t\t\tstep1();\n\t\t},\n\n\t\tappendTerm: function ( term ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.appendTermSelect( term );\n\t\t\t} else {\n\t\t\t\tthis.appendTermCheckbox( term );\n\t\t\t}\n\t\t},\n\n\t\tappendTermSelect: function ( term ) {\n\t\t\tthis.select2.addOption( {\n\t\t\t\tid: term.term_id,\n\t\t\t\ttext: term.term_label,\n\t\t\t} );\n\t\t},\n\n\t\tappendTermCheckbox: function ( term ) {\n\t\t\t// vars\n\t\t\tvar name = this.$( '[name]:first' ).attr( 'name' );\n\t\t\tvar $ul = this.$( 'ul:first' );\n\n\t\t\t// allow multiple selection\n\t\t\tif ( this.getRelatedType() == 'checkbox' ) {\n\t\t\t\tname += '[]';\n\t\t\t}\n\n\t\t\t// create new li\n\t\t\tvar $li = $(\n\t\t\t\t[\n\t\t\t\t\t'
',\n\t\t\t\t].join( '' )\n\t\t\t);\n\n\t\t\t// find parent\n\t\t\tif ( term.term_parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar $parent = $ul.find(\n\t\t\t\t\t'li[data-id=\"' + term.term_parent + '\"]'\n\t\t\t\t);\n\n\t\t\t\t// update vars\n\t\t\t\t$ul = $parent.children( 'ul' );\n\n\t\t\t\t// create ul\n\t\t\t\tif ( ! $ul.exists() ) {\n\t\t\t\t\t$ul = $( '
' );\n\t\t\t\t\t$parent.append( $ul );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$ul.append( $li );\n\t\t},\n\n\t\tselectTerm: function ( id ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.select2.selectOption( id );\n\t\t\t} else {\n\t\t\t\tvar $input = this.$( 'input[value=\"' + id + '\"]' );\n\t\t\t\t$input.prop( 'checked', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tonClickRadio: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t\tcloseText: acf.get( 'dateTimePickerL10n' ).selectText,\n\t\t\t\ttimeOnly: true,\n\t\t\t};\n\n\t\t\t// add custom 'Close = Select' functionality\n\t\t\targs.onClose = function ( value, dp_instance, t_instance ) {\n\t\t\t\t// vars\n\t\t\t\tvar $close = dp_instance.dpDiv.find( '.ui-datepicker-close' );\n\n\t\t\t\t// if clicking close button\n\t\t\t\tif ( ! value && $close.is( ':hover' ) ) {\n\t\t\t\t\tt_instance._updateDateTime();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// add\n\tacf.newTimePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.timepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
'\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'true_false',\n\n\t\tevents: {\n\t\t\t'change .acf-switch-input': 'onChange',\n\t\t\t'focus .acf-switch-input': 'onFocus',\n\t\t\t'blur .acf-switch-input': 'onBlur',\n\t\t\t'keypress .acf-switch-input': 'onKeypress',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' );\n\t\t},\n\n\t\t$switch: function () {\n\t\t\treturn this.$( '.acf-switch' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().prop( 'checked' ) ? 1 : 0;\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\t// vars\n\t\t\tvar $switch = this.$switch();\n\n\t\t\t// bail early if no $switch\n\t\t\tif ( ! $switch.length ) return;\n\n\t\t\t// vars\n\t\t\tvar $on = $switch.children( '.acf-switch-on' );\n\t\t\tvar $off = $switch.children( '.acf-switch-off' );\n\t\t\tvar width = Math.max( $on.width(), $off.width() );\n\n\t\t\t// bail early if no width\n\t\t\tif ( ! width ) return;\n\n\t\t\t// set widths\n\t\t\t$on.css( 'min-width', width );\n\t\t\t$off.css( 'min-width', width );\n\t\t},\n\n\t\tswitchOn: function () {\n\t\t\tthis.$input().prop( 'checked', true );\n\t\t\tthis.$switch().addClass( '-on' );\n\t\t},\n\n\t\tswitchOff: function () {\n\t\t\tthis.$input().prop( 'checked', false );\n\t\t\tthis.$switch().removeClass( '-on' );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( $el.prop( 'checked' ) ) {\n\t\t\t\tthis.switchOn();\n\t\t\t} else {\n\t\t\t\tthis.switchOff();\n\t\t\t}\n\t\t},\n\n\t\tonFocus: function ( e, $el ) {\n\t\t\tthis.$switch().addClass( '-focus' );\n\t\t},\n\n\t\tonBlur: function ( e, $el ) {\n\t\t\tthis.$switch().removeClass( '-focus' );\n\t\t},\n\n\t\tonKeypress: function ( e, $el ) {\n\t\t\t// left\n\t\t\tif ( e.keyCode === 37 ) {\n\t\t\t\treturn this.switchOff();\n\t\t\t}\n\n\t\t\t// right\n\t\t\tif ( e.keyCode === 39 ) {\n\t\t\t\treturn this.switchOn();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'url',\n\n\t\tevents: {\n\t\t\t'keyup input[type=\"url\"]': 'onkeyup',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-input-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"url\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\tisValid: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// url\n\t\t\tif ( val.indexOf( '://' ) !== -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// protocol relative url\n\t\t\tif ( val.indexOf( '//' ) === 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn false;\n\t\t},\n\n\t\trender: function () {\n\t\t\t// add class\n\t\t\tif ( this.isValid() ) {\n\t\t\t\tthis.$control().addClass( '-valid' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( '-valid' );\n\t\t\t}\n\t\t},\n\n\t\tonkeyup: function ( e, $el ) {\n\t\t\tthis.render();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'user',\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\tacf.addFilter(\n\t\t'select2_ajax_data',\n\t\tfunction ( data, args, $input, field, select2 ) {\n\t\t\tif ( ! field ) {\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tconst query_nonce = field.get( 'queryNonce' );\n\t\t\tif ( query_nonce && query_nonce.length ) {\n\t\t\t\tdata.user_query_nonce = query_nonce;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t);\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'wysiwyg',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'mousedown .acf-editor-wrap.delay': 'onMousedown',\n\t\t\tunmountField: 'disableEditor',\n\t\t\tremountField: 'enableEditor',\n\t\t\tremoveField: 'disableEditor',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-editor-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'textarea' );\n\t\t},\n\n\t\tgetMode: function () {\n\t\t\treturn this.$control().hasClass( 'tmce-active' )\n\t\t\t\t? 'visual'\n\t\t\t\t: 'text';\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// initializeEditor if no delay\n\t\t\tif ( ! this.$control().hasClass( 'delay' ) ) {\n\t\t\t\tthis.initializeEditor();\n\t\t\t}\n\t\t},\n\n\t\tinitializeEditor: function () {\n\t\t\t// vars\n\t\t\tvar $wrap = this.$control();\n\t\t\tvar $textarea = this.$input();\n\t\t\tvar args = {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: this.get( 'toolbar' ),\n\t\t\t\tmode: this.getMode(),\n\t\t\t\tfield: this,\n\t\t\t};\n\n\t\t\t// generate new id\n\t\t\tvar oldId = $textarea.attr( 'id' );\n\t\t\tvar newId = acf.uniqueId( 'acf-editor-' );\n\n\t\t\t// Backup textarea data.\n\t\t\tvar inputData = $textarea.data();\n\t\t\tvar inputVal = $textarea.val();\n\n\t\t\t// rename\n\t\t\tacf.rename( {\n\t\t\t\ttarget: $wrap,\n\t\t\t\tsearch: oldId,\n\t\t\t\treplace: newId,\n\t\t\t\tdestructive: true,\n\t\t\t} );\n\n\t\t\t// update id\n\t\t\tthis.set( 'id', newId, true );\n\n\t\t\t// apply data to new textarea (acf.rename creates a new textarea element due to destructive mode)\n\t\t\t// fixes bug where conditional logic \"disabled\" is lost during \"screen_check\"\n\t\t\tthis.$input().data( inputData ).val( inputVal );\n\n\t\t\t// initialize\n\t\t\tacf.tinymce.initialize( newId, args );\n\t\t},\n\n\t\tonMousedown: function ( e ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// remove delay class\n\t\t\tvar $wrap = this.$control();\n\t\t\t$wrap.removeClass( 'delay' );\n\t\t\t$wrap.find( '.acf-editor-toolbar' ).remove();\n\n\t\t\t// initialize\n\t\t\tthis.initializeEditor();\n\t\t},\n\n\t\tenableEditor: function () {\n\t\t\tif ( this.getMode() == 'visual' ) {\n\t\t\t\tacf.tinymce.enable( this.get( 'id' ) );\n\t\t\t}\n\t\t},\n\n\t\tdisableEditor: function () {\n\t\t\tacf.tinymce.destroy( this.get( 'id' ) );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar storage = [];\n\n\t/**\n\t * acf.Field\n\t *\n\t * description\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Field = acf.Model.extend( {\n\t\t// field type\n\t\ttype: '',\n\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '.acf-field',\n\n\t\t// initialize events on 'ready'\n\t\twait: 'ready',\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this field ready for initialization\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tjQuery $field The field element.\n\t\t * @return\tvoid\n\t\t */\n\n\t\tsetup: function ( $field ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $field;\n\n\t\t\t// inherit $field data\n\t\t\tthis.inherit( $field );\n\n\t\t\t// inherit controll data\n\t\t\tthis.inherit( this.$control() );\n\t\t},\n\n\t\t/**\n\t\t * val\n\t\t *\n\t\t * Sets or returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val Optional. The value to set\n\t\t * @return\tmixed\n\t\t */\n\n\t\tval: function ( val ) {\n\t\t\t// Set.\n\t\t\tif ( val !== undefined ) {\n\t\t\t\treturn this.setValue( val );\n\n\t\t\t\t// Get.\n\t\t\t} else {\n\t\t\t\treturn this.prop( 'disabled' ) ? null : this.getValue();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * getValue\n\t\t *\n\t\t * returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tmixed\n\t\t */\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\t/**\n\t\t * setValue\n\t\t *\n\t\t * sets the field's value and returns true if changed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val\n\t\t * @return\tboolean. True if changed.\n\t\t */\n\n\t\tsetValue: function ( val ) {\n\t\t\treturn acf.val( this.$input(), val );\n\t\t},\n\n\t\t/**\n\t\t * __\n\t\t *\n\t\t * i18n helper to be removed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t__: function ( string ) {\n\t\t\treturn acf._e( this.type, string );\n\t\t},\n\n\t\t/**\n\t\t * $control\n\t\t *\n\t\t * returns the control jQuery element used for inheriting data. Uses this.control setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$control: function () {\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * $input\n\t\t *\n\t\t * returns the input jQuery element used for saving values. Uses this.input setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$input: function () {\n\t\t\treturn this.$( '[name]:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$inputWrap: function () {\n\t\t\treturn this.$( '.acf-input:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$labelWrap: function () {\n\t\t\treturn this.$( '.acf-label:first' );\n\t\t},\n\n\t\t/**\n\t\t * getInputName\n\t\t *\n\t\t * Returns the field's input name\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tstring\n\t\t */\n\n\t\tgetInputName: function () {\n\t\t\treturn this.$input().attr( 'name' ) || '';\n\t\t},\n\n\t\t/**\n\t\t * parent\n\t\t *\n\t\t * returns the field's parent field or false on failure.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tobject|false\n\t\t */\n\n\t\tparent: function () {\n\t\t\t// vars\n\t\t\tvar parents = this.parents();\n\n\t\t\t// return\n\t\t\treturn parents.length ? parents[ 0 ] : false;\n\t\t},\n\n\t\t/**\n\t\t * parents\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t9/7/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tparents: function () {\n\t\t\t// vars\n\t\t\tvar $parents = this.$el.parents( '.acf-field' );\n\n\t\t\t// convert\n\t\t\tvar parents = acf.getFields( $parents );\n\n\t\t\t// return\n\t\t\treturn parents;\n\t\t},\n\n\t\tshow: function ( lockKey, context ) {\n\t\t\t// show field and store result\n\t\t\tvar changed = acf.show( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', false );\n\t\t\t\tacf.doAction( 'show_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\thide: function ( lockKey, context ) {\n\t\t\t// hide field and store result\n\t\t\tvar changed = acf.hide( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', true );\n\t\t\t\tacf.doAction( 'hide_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tenable: function ( lockKey, context ) {\n\t\t\t// enable field and store result\n\t\t\tvar changed = acf.enable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', false );\n\t\t\t\tacf.doAction( 'enable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tdisable: function ( lockKey, context ) {\n\t\t\t// disabled field and store result\n\t\t\tvar changed = acf.disable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', true );\n\t\t\t\tacf.doAction( 'disable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tshowEnable: function ( lockKey, context ) {\n\t\t\t// enable\n\t\t\tthis.enable.apply( this, arguments );\n\n\t\t\t// show and return true if changed\n\t\t\treturn this.show.apply( this, arguments );\n\t\t},\n\n\t\thideDisable: function ( lockKey, context ) {\n\t\t\t// disable\n\t\t\tthis.disable.apply( this, arguments );\n\n\t\t\t// hide and return true if changed\n\t\t\treturn this.hide.apply( this, arguments );\n\t\t},\n\n\t\tshowNotice: function ( props ) {\n\t\t\t// ensure object\n\t\t\tif ( typeof props !== 'object' ) {\n\t\t\t\tprops = { text: props };\n\t\t\t}\n\n\t\t\t// remove old notice\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.remove();\n\t\t\t}\n\n\t\t\t// create new notice\n\t\t\tprops.target = this.$inputWrap();\n\t\t\tthis.notice = acf.newNotice( props );\n\t\t},\n\n\t\tremoveNotice: function ( timeout ) {\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.away( timeout || 0 );\n\t\t\t\tthis.notice = false;\n\t\t\t}\n\t\t},\n\n\t\tshowError: function ( message ) {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'acf-error' );\n\n\t\t\t// add message\n\t\t\tif ( message !== undefined ) {\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: message,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tdismiss: false,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'invalid_field', this );\n\n\t\t\t// add event\n\t\t\tthis.$el.one(\n\t\t\t\t'focus change',\n\t\t\t\t'input, select, textarea',\n\t\t\t\t$.proxy( this.removeError, this )\n\t\t\t);\n\t\t},\n\n\t\tremoveError: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'acf-error' );\n\n\t\t\t// remove notice\n\t\t\tthis.removeNotice( 250 );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'valid_field', this );\n\t\t},\n\n\t\ttrigger: function ( name, args, bubbles ) {\n\t\t\t// allow some events to bubble\n\t\t\tif ( name == 'invalidField' ) {\n\t\t\t\tbubbles = true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.Model.prototype.trigger.apply( this, [\n\t\t\t\tname,\n\t\t\t\targs,\n\t\t\t\tbubbles,\n\t\t\t] );\n\t\t},\n\t} );\n\n\t/**\n\t * newField\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newField = function ( $field ) {\n\t\t// vars\n\t\tvar type = $field.data( 'type' );\n\t\tvar mid = modelId( type );\n\t\tvar model = acf.models[ mid ] || acf.Field;\n\n\t\t// instantiate\n\t\tvar field = new model( $field );\n\n\t\t// actions\n\t\tacf.doAction( 'new_field', field );\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'Field';\n\t};\n\n\t/**\n\t * registerFieldType\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerFieldType = function ( model ) {\n\t\t// vars\n\t\tvar proto = model.prototype;\n\t\tvar type = proto.type;\n\t\tvar mid = modelId( type );\n\n\t\t// store model\n\t\tacf.models[ mid ] = model;\n\n\t\t// store reference\n\t\tstorage.push( type );\n\t};\n\n\t/**\n\t * acf.getFieldType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldType = function ( type ) {\n\t\tvar mid = modelId( type );\n\t\treturn acf.models[ mid ] || false;\n\t};\n\n\t/**\n\t * acf.getFieldTypes\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldTypes = function ( args ) {\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\tcategory: '',\n\t\t\t// hasValue: true\n\t\t} );\n\n\t\t// clonse available types\n\t\tvar types = [];\n\n\t\t// loop\n\t\tstorage.map( function ( type ) {\n\t\t\t// vars\n\t\t\tvar model = acf.getFieldType( type );\n\t\t\tvar proto = model.prototype;\n\n\t\t\t// check operator\n\t\t\tif ( args.category && proto.category !== args.category ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// append\n\t\t\ttypes.push( model );\n\t\t} );\n\n\t\t// return\n\t\treturn types;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * findFields\n\t *\n\t * Returns a jQuery selection object of acf fields.\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject $args {\n\t *\t\tOptional. Arguments to find fields.\n\t *\n\t *\t\t@type string\t\t\tkey\t\t\tThe field's key (data-attribute).\n\t *\t\t@type string\t\t\tname\t\tThe field's name (data-attribute).\n\t *\t\t@type string\t\t\ttype\t\tThe field's type (data-attribute).\n\t *\t\t@type string\t\t\tis\t\t\tjQuery selector to compare against.\n\t *\t\t@type jQuery\t\t\tparent\t\tjQuery element to search within.\n\t *\t\t@type jQuery\t\t\tsibling\t\tjQuery element to search alongside.\n\t *\t\t@type limit\t\t\t\tint\t\t\tThe number of fields to find.\n\t *\t\t@type suppressFilters\tbool\t\tWhether to allow filters to add/remove results. Default behaviour will ignore clone fields.\n\t * }\n\t * @return\tjQuery\n\t */\n\n\tacf.findFields = function ( args ) {\n\t\t// vars\n\t\tvar selector = '.acf-field';\n\t\tvar $fields = false;\n\n\t\t// args\n\t\targs = acf.parseArgs( args, {\n\t\t\tkey: '',\n\t\t\tname: '',\n\t\t\ttype: '',\n\t\t\tis: '',\n\t\t\tparent: false,\n\t\t\tsibling: false,\n\t\t\tlimit: false,\n\t\t\tvisible: false,\n\t\t\tsuppressFilters: false,\n\t\t\texcludeSubFields: false,\n\t\t} );\n\n\t\t// filter args\n\t\tif ( ! args.suppressFilters ) {\n\t\t\targs = acf.applyFilters( 'find_fields_args', args );\n\t\t}\n\n\t\t// key\n\t\tif ( args.key ) {\n\t\t\tselector += '[data-key=\"' + args.key + '\"]';\n\t\t}\n\n\t\t// type\n\t\tif ( args.type ) {\n\t\t\tselector += '[data-type=\"' + args.type + '\"]';\n\t\t}\n\n\t\t// name\n\t\tif ( args.name ) {\n\t\t\tselector += '[data-name=\"' + args.name + '\"]';\n\t\t}\n\n\t\t// is\n\t\tif ( args.is ) {\n\t\t\tselector += args.is;\n\t\t}\n\n\t\t// visibility\n\t\tif ( args.visible ) {\n\t\t\tselector += ':visible';\n\t\t}\n\n\t\tif ( ! args.suppressFilters ) {\n\t\t\tselector = acf.applyFilters(\n\t\t\t\t'find_fields_selector',\n\t\t\t\tselector,\n\t\t\t\targs\n\t\t\t);\n\t\t}\n\n\t\t// query\n\t\tif ( args.parent ) {\n\t\t\t$fields = args.parent.find( selector );\n\t\t\t// exclude sub fields if required (only if a parent is provided)\n\t\t\tif ( args.excludeSubFields ) {\n\t\t\t\t$fields = $fields.not( args.parent.find( '.acf-is-subfields .acf-field' ) );\n\t\t\t}\n\t\t} else if ( args.sibling ) {\n\t\t\t$fields = args.sibling.siblings( selector );\n\t\t} else {\n\t\t\t$fields = $( selector );\n\t\t}\n\n\t\t// filter\n\t\tif ( ! args.suppressFilters ) {\n\t\t\t$fields = $fields.not( '.acf-clone .acf-field' );\n\t\t\t$fields = acf.applyFilters( 'find_fields', $fields );\n\t\t}\n\n\t\t// limit\n\t\tif ( args.limit ) {\n\t\t\t$fields = $fields.slice( 0, args.limit );\n\t\t}\n\n\t\t// return\n\t\treturn $fields;\n\t};\n\n\t/**\n\t * findField\n\t *\n\t * Finds a specific field with jQuery\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring key \t\tThe field's key.\n\t * @param\tjQuery $parent\tjQuery element to search within.\n\t * @return\tjQuery\n\t */\n\n\tacf.findField = function ( key, $parent ) {\n\t\treturn acf.findFields( {\n\t\t\tkey: key,\n\t\t\tlimit: 1,\n\t\t\tparent: $parent,\n\t\t\tsuppressFilters: true,\n\t\t} );\n\t};\n\n\t/**\n\t * getField\n\t *\n\t * Returns a field instance\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|string $field\tjQuery element or field key.\n\t * @return\tobject\n\t */\n\n\tacf.getField = function ( $field ) {\n\t\t// allow jQuery\n\t\tif ( $field instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$field = acf.findField( $field );\n\t\t}\n\n\t\t// instantiate\n\t\tvar field = $field.data( 'acf' );\n\t\tif ( ! field ) {\n\t\t\tfield = acf.newField( $field );\n\t\t}\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * getFields\n\t *\n\t * Returns multiple field instances\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|object $fields\tjQuery elements or query args.\n\t * @return\tarray\n\t */\n\n\tacf.getFields = function ( $fields ) {\n\t\t// allow jQuery\n\t\tif ( $fields instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$fields = acf.findFields( $fields );\n\t\t}\n\n\t\t// loop\n\t\tvar fields = [];\n\t\t$fields.each( function () {\n\t\t\tvar field = acf.getField( $( this ) );\n\t\t\tfields.push( field );\n\t\t} );\n\n\t\t// return\n\t\treturn fields;\n\t};\n\n\t/**\n\t * findClosestField\n\t *\n\t * Returns the closest jQuery field element\n\t *\n\t * @date\t9/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $el\n\t * @return\tjQuery\n\t */\n\n\tacf.findClosestField = function ( $el ) {\n\t\treturn $el.closest( '.acf-field' );\n\t};\n\n\t/**\n\t * getClosestField\n\t *\n\t * Returns the closest field instance\n\t *\n\t * @date\t22/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery $el\n\t * @return\tobject\n\t */\n\n\tacf.getClosestField = function ( $el ) {\n\t\tvar $field = acf.findClosestField( $el );\n\t\treturn this.getField( $field );\n\t};\n\n\t/**\n\t * addGlobalFieldAction\n\t *\n\t * Sets up callback logic for global field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addGlobalFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar globalAction = action;\n\t\tvar pluralAction = action + '_fields'; // ready_fields\n\t\tvar singleAction = action + '_field'; // ready_field\n\n\t\t// global action\n\t\tvar globalCallback = function ( $el /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( action, arguments );\n\n\t\t\t// get args [$el, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// find fields\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\n\t\t\t// check\n\t\t\tif ( fields.length ) {\n\t\t\t\t// pluralAction\n\t\t\t\tvar pluralArgs = [ pluralAction, fields ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, pluralArgs );\n\t\t\t}\n\t\t};\n\n\t\t// plural action\n\t\tvar pluralCallback = function ( fields /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( pluralAction, arguments );\n\n\t\t\t// get args [fields, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// loop\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\t//setTimeout(function(){\n\t\t\t\t// singleAction\n\t\t\t\tvar singleArgs = [ singleAction, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, singleArgs );\n\t\t\t\t//}, i * 100);\n\t\t\t} );\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( globalAction, globalCallback );\n\t\tacf.addAction( pluralAction, pluralCallback );\n\n\t\t// also add single action\n\t\taddSingleFieldAction( action );\n\t};\n\n\t/**\n\t * addSingleFieldAction\n\t *\n\t * Sets up callback logic for single field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addSingleFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar singleAction = action + '_field'; // ready_field\n\t\tvar singleEvent = action + 'Field'; // readyField\n\n\t\t// single action\n\t\tvar singleCallback = function ( field /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( singleAction, arguments );\n\n\t\t\t// get args [field, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// action variations (ready_field/type=image)\n\t\t\tvar variations = [ 'type', 'name', 'key' ];\n\t\t\tvariations.map( function ( variation ) {\n\t\t\t\t// vars\n\t\t\t\tvar prefix = '/' + variation + '=' + field.get( variation );\n\n\t\t\t\t// singleAction\n\t\t\t\targs = [ singleAction + prefix, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t} );\n\n\t\t\t// event\n\t\t\tif ( singleFieldEvents.indexOf( action ) > -1 ) {\n\t\t\t\tfield.trigger( singleEvent, extraArgs );\n\t\t\t}\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( singleAction, singleCallback );\n\t};\n\n\t// vars\n\tvar globalFieldActions = [\n\t\t'prepare',\n\t\t'ready',\n\t\t'load',\n\t\t'append',\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t];\n\tvar singleFieldActions = [\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'new',\n\t\t'duplicate',\n\t];\n\tvar singleFieldEvents = [\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'duplicate',\n\t];\n\n\t// add\n\tglobalFieldActions.map( addGlobalFieldAction );\n\tsingleFieldActions.map( addSingleFieldAction );\n\n\t/**\n\t * fieldsEventManager\n\t *\n\t * Manages field actions and events\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @param\tvoid\n\t */\n\n\tvar fieldsEventManager = new acf.Model( {\n\t\tid: 'fieldsEventManager',\n\t\tevents: {\n\t\t\t'click .acf-field a[href=\"#\"]': 'onClick',\n\t\t\t'change .acf-field': 'onChange',\n\t\t},\n\t\tonClick: function ( e ) {\n\t\t\t// prevent default of any link with an href of #\n\t\t\te.preventDefault();\n\t\t},\n\t\tonChange: function () {\n\t\t\t// preview hack allows post to save with no title or content\n\t\t\t$( '#_acf_changed' ).val( 1 );\n\t\t},\n\t} );\n\n\tvar duplicateFieldsManager = new acf.Model( {\n\t\tid: 'duplicateFieldsManager',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t\tduplicate_fields: 'onDuplicateFields',\n\t\t},\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\t\t\tif ( fields.length ) {\n\t\t\t\tvar $fields = acf.findFields( { parent: $el2 } );\n\t\t\t\tacf.doAction( 'duplicate_fields', fields, $fields );\n\t\t\t}\n\t\t},\n\t\tonDuplicateFields: function ( fields, duplicates ) {\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\tacf.doAction( 'duplicate_field', field, $( duplicates[ i ] ) );\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * refreshHelper\n\t *\n\t * description\n\t *\n\t * @date\t1/7/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar refreshHelper = new acf.Model( {\n\t\tpriority: 90,\n\t\tactions: {\n\t\t\tnew_field: 'refresh',\n\t\t\tshow_field: 'refresh',\n\t\t\thide_field: 'refresh',\n\t\t\tremove_field: 'refresh',\n\t\t\tunmount_field: 'refresh',\n\t\t\tremount_field: 'refresh',\n\t\t},\n\t\trefresh: function () {\n\t\t\tacf.refresh();\n\t\t},\n\t} );\n\n\t/**\n\t * mountHelper\n\t *\n\t * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0\n\t *\n\t * @date\t7/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar mountHelper = new acf.Model( {\n\t\tpriority: 1,\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t\tsortstop: 'onSortstop',\n\t\t},\n\t\tonSortstart: function ( $item ) {\n\t\t\tacf.doAction( 'unmount', $item );\n\t\t},\n\t\tonSortstop: function ( $item ) {\n\t\t\tacf.doAction( 'remount', $item );\n\t\t},\n\t} );\n\n\t/**\n\t * sortableHelper\n\t *\n\t * Adds compatibility for sorting a
element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar sortableHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t},\n\t\tonSortstart: function ( $item, $placeholder ) {\n\t\t\t// if $item is a tr, apply some css to the elements\n\t\t\tif ( $item.is( 'tr' ) ) {\n\t\t\t\t// replace $placeholder children with a single td\n\t\t\t\t// fixes \"width calculation issues\" due to conditional logic hiding some children\n\t\t\t\t$placeholder.html(\n\t\t\t\t\t' '\n\t\t\t\t);\n\n\t\t\t\t// add helper class to remove absolute positioning\n\t\t\t\t$item.addClass( 'acf-sortable-tr-helper' );\n\n\t\t\t\t// set fixed widths for children\n\t\t\t\t$item.children().each( function () {\n\t\t\t\t\t$( this ).width( $( this ).width() );\n\t\t\t\t} );\n\n\t\t\t\t// mimic height\n\t\t\t\t$placeholder.height( $item.height() + 'px' );\n\n\t\t\t\t// remove class\n\t\t\t\t$item.removeClass( 'acf-sortable-tr-helper' );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * duplicateHelper\n\t *\n\t * Fixes browser bugs when duplicating an element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar duplicateHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tafter_duplicate: 'onAfterDuplicate',\n\t\t},\n\t\tonAfterDuplicate: function ( $el, $el2 ) {\n\t\t\t// get original values\n\t\t\tvar vals = [];\n\t\t\t$el.find( 'select' ).each( function ( i ) {\n\t\t\t\tvals.push( $( this ).val() );\n\t\t\t} );\n\n\t\t\t// set duplicate values\n\t\t\t$el2.find( 'select' ).each( function ( i ) {\n\t\t\t\t$( this ).val( vals[ i ] );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * tableHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar tableHelper = new acf.Model( {\n\t\tid: 'tableHelper',\n\n\t\tpriority: 20,\n\n\t\tactions: {\n\t\t\trefresh: 'renderTables',\n\t\t},\n\n\t\trenderTables: function ( $el ) {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-table:visible' ).each( function () {\n\t\t\t\tself.renderTable( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderTable: function ( $table ) {\n\t\t\t// vars\n\t\t\tvar $ths = $table.find( '> thead > tr:visible > th[data-key]' );\n\t\t\tvar $tds = $table.find( '> tbody > tr:visible > td[data-key]' );\n\n\t\t\t// bail early if no thead\n\t\t\tif ( ! $ths.length || ! $tds.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// visiblity\n\t\t\t$ths.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $th = $( this );\n\t\t\t\tvar key = $th.data( 'key' );\n\t\t\t\tvar $cells = $tds.filter( '[data-key=\"' + key + '\"]' );\n\t\t\t\tvar $hidden = $cells.filter( '.acf-hidden' );\n\n\t\t\t\t// always remove empty and allow cells to be hidden\n\t\t\t\t$cells.removeClass( 'acf-empty' );\n\n\t\t\t\t// hide $th if all cells are hidden\n\t\t\t\tif ( $cells.length === $hidden.length ) {\n\t\t\t\t\tacf.hide( $th );\n\n\t\t\t\t\t// force all hidden cells to appear empty\n\t\t\t\t} else {\n\t\t\t\t\tacf.show( $th );\n\t\t\t\t\t$hidden.addClass( 'acf-empty' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// clear width\n\t\t\t$ths.css( 'width', 'auto' );\n\n\t\t\t// get visible\n\t\t\t$ths = $ths.not( '.acf-hidden' );\n\n\t\t\t// vars\n\t\t\tvar availableWidth = 100;\n\t\t\tvar colspan = $ths.length;\n\n\t\t\t// set custom widths first\n\t\t\tvar $fixedWidths = $ths.filter( '[data-width]' );\n\t\t\t$fixedWidths.each( function () {\n\t\t\t\tvar width = $( this ).data( 'width' );\n\t\t\t\t$( this ).css( 'width', width + '%' );\n\t\t\t\tavailableWidth -= width;\n\t\t\t} );\n\n\t\t\t// set auto widths\n\t\t\tvar $auoWidths = $ths.not( '[data-width]' );\n\t\t\tif ( $auoWidths.length ) {\n\t\t\t\tvar width = availableWidth / $auoWidths.length;\n\t\t\t\t$auoWidths.css( 'width', width + '%' );\n\t\t\t\tavailableWidth = 0;\n\t\t\t}\n\n\t\t\t// avoid stretching issue\n\t\t\tif ( availableWidth > 0 ) {\n\t\t\t\t$ths.last().css( 'width', 'auto' );\n\t\t\t}\n\n\t\t\t// update colspan on collapsed\n\t\t\t$tds.filter( '.-collapsed-target' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $td = $( this );\n\n\t\t\t\t// check if collapsed\n\t\t\t\tif ( $td.parent().hasClass( '-collapsed' ) ) {\n\t\t\t\t\t$td.attr( 'colspan', $ths.length );\n\t\t\t\t} else {\n\t\t\t\t\t$td.removeAttr( 'colspan' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * fieldsHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar fieldsHelper = new acf.Model( {\n\t\tid: 'fieldsHelper',\n\n\t\tpriority: 30,\n\n\t\tactions: {\n\t\t\trefresh: 'renderGroups',\n\t\t},\n\n\t\trenderGroups: function () {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-fields:visible' ).each( function () {\n\t\t\t\tself.renderGroup( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderGroup: function ( $el ) {\n\t\t\t// vars\n\t\t\tvar top = 0;\n\t\t\tvar height = 0;\n\t\t\tvar $row = $();\n\n\t\t\t// get fields\n\t\t\tvar $fields = $el.children( '.acf-field[data-width]:visible' );\n\n\t\t\t// bail early if no fields\n\t\t\tif ( ! $fields.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if is .-left\n\t\t\tif ( $el.hasClass( '-left' ) ) {\n\t\t\t\t$fields.removeAttr( 'data-width' );\n\t\t\t\t$fields.css( 'width', 'auto' );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// reset fields\n\t\t\t$fields.removeClass( '-r0 -c0' ).css( { 'min-height': 0 } );\n\n\t\t\t// loop\n\t\t\t$fields.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $field = $( this );\n\t\t\t\tvar position = $field.position();\n\t\t\t\tvar thisTop = Math.ceil( position.top );\n\t\t\t\tvar thisLeft = Math.ceil( position.left );\n\n\t\t\t\t// detect change in row\n\t\t\t\tif ( $row.length && thisTop > top ) {\n\t\t\t\t\t// set previous heights\n\t\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\n\t\t\t\t\t// update position due to change in row above\n\t\t\t\t\tposition = $field.position();\n\t\t\t\t\tthisTop = Math.ceil( position.top );\n\t\t\t\t\tthisLeft = Math.ceil( position.left );\n\n\t\t\t\t\t// reset vars\n\t\t\t\t\ttop = 0;\n\t\t\t\t\theight = 0;\n\t\t\t\t\t$row = $();\n\t\t\t\t}\n\n\t\t\t\t// rtl\n\t\t\t\tif ( acf.get( 'rtl' ) ) {\n\t\t\t\t\tthisLeft = Math.ceil(\n\t\t\t\t\t\t$field.parent().width() -\n\t\t\t\t\t\t\t( position.left + $field.outerWidth() )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// add classes\n\t\t\t\tif ( thisTop == 0 ) {\n\t\t\t\t\t$field.addClass( '-r0' );\n\t\t\t\t} else if ( thisLeft == 0 ) {\n\t\t\t\t\t$field.addClass( '-c0' );\n\t\t\t\t}\n\n\t\t\t\t// get height after class change\n\t\t\t\t// - add 1 for subpixel rendering\n\t\t\t\tvar thisHeight = Math.ceil( $field.outerHeight() ) + 1;\n\n\t\t\t\t// set height\n\t\t\t\theight = Math.max( height, thisHeight );\n\n\t\t\t\t// set y\n\t\t\t\ttop = Math.max( top, thisTop );\n\n\t\t\t\t// append\n\t\t\t\t$row = $row.add( $field );\n\t\t\t} );\n\n\t\t\t// clean up\n\t\t\tif ( $row.length ) {\n\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * Adds a body class when holding down the \"shift\" key.\n\t *\n\t * @date\t06/05/2020\n\t * @since\t5.9.0\n\t */\n\tvar bodyClassShiftHelper = new acf.Model( {\n\t\tid: 'bodyClassShiftHelper',\n\t\tevents: {\n\t\t\tkeydown: 'onKeyDown',\n\t\t\tkeyup: 'onKeyUp',\n\t\t},\n\t\tisShiftKey: function ( e ) {\n\t\t\treturn e.keyCode === 16;\n\t\t},\n\t\tonKeyDown: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).addClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t\tonKeyUp: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).removeClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newMediaPopup = function ( args ) {\n\t\t// args\n\t\tvar popup = null;\n\t\tvar args = acf.parseArgs( args, {\n\t\t\tmode: 'select', // 'select', 'edit'\n\t\t\ttitle: '', // 'Upload Image'\n\t\t\tbutton: '', // 'Select Image'\n\t\t\ttype: '', // 'image', ''\n\t\t\tfield: false, // field instance\n\t\t\tallowedTypes: '', // '.jpg, .png, etc'\n\t\t\tlibrary: 'all', // 'all', 'uploadedTo'\n\t\t\tmultiple: false, // false, true, 'add'\n\t\t\tattachment: 0, // the attachment to edit\n\t\t\tautoOpen: true, // open the popup automatically\n\t\t\topen: function () {}, // callback after close\n\t\t\tselect: function () {}, // callback after select\n\t\t\tclose: function () {}, // callback after close\n\t\t} );\n\n\t\t// initialize\n\t\tif ( args.mode == 'edit' ) {\n\t\t\tpopup = new acf.models.EditMediaPopup( args );\n\t\t} else {\n\t\t\tpopup = new acf.models.SelectMediaPopup( args );\n\t\t}\n\n\t\t// open popup (allow frame customization before opening)\n\t\tif ( args.autoOpen ) {\n\t\t\tsetTimeout( function () {\n\t\t\t\tpopup.open();\n\t\t\t}, 1 );\n\t\t}\n\n\t\t// action\n\t\tacf.doAction( 'new_media_popup', popup );\n\n\t\t// return\n\t\treturn popup;\n\t};\n\n\t/**\n\t * getPostID\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar getPostID = function () {\n\t\tvar postID = acf.get( 'post_id' );\n\t\treturn acf.isNumeric( postID ) ? postID : 0;\n\t};\n\n\t/**\n\t * acf.getMimeTypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getMimeTypes = function () {\n\t\treturn this.get( 'mimeTypes' );\n\t};\n\n\tacf.getMimeType = function ( name ) {\n\t\t// vars\n\t\tvar allTypes = acf.getMimeTypes();\n\n\t\t// search\n\t\tif ( allTypes[ name ] !== undefined ) {\n\t\t\treturn allTypes[ name ];\n\t\t}\n\n\t\t// some types contain a mixed key such as \"jpg|jpeg|jpe\"\n\t\tfor ( var key in allTypes ) {\n\t\t\tif ( key.indexOf( name ) !== -1 ) {\n\t\t\t\treturn allTypes[ key ];\n\t\t\t}\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t};\n\n\t/**\n\t * MediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar MediaPopup = acf.Model.extend( {\n\t\tid: 'MediaPopup',\n\t\tdata: {},\n\t\tdefaults: {},\n\t\tframe: false,\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar options = this.getFrameOptions();\n\n\t\t\t// add states\n\t\t\tthis.addFrameStates( options );\n\n\t\t\t// create frame\n\t\t\tvar frame = wp.media( options );\n\n\t\t\t// add args reference\n\t\t\tframe.acf = this;\n\n\t\t\t// add events\n\t\t\tthis.addFrameEvents( frame, options );\n\n\t\t\t// strore frame\n\t\t\tthis.frame = frame;\n\t\t},\n\n\t\topen: function () {\n\t\t\tthis.frame.open();\n\t\t},\n\n\t\tclose: function () {\n\t\t\tthis.frame.close();\n\t\t},\n\n\t\tremove: function () {\n\t\t\tthis.frame.detach();\n\t\t\tthis.frame.remove();\n\t\t},\n\n\t\tgetFrameOptions: function () {\n\t\t\t// vars\n\t\t\tvar options = {\n\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tlibrary: {},\n\t\t\t\tstates: [],\n\t\t\t};\n\n\t\t\t// type\n\t\t\tif ( this.get( 'type' ) ) {\n\t\t\t\toptions.library.type = this.get( 'type' );\n\t\t\t}\n\n\t\t\t// type\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\toptions.library.uploadedTo = getPostID();\n\t\t\t}\n\n\t\t\t// attachment\n\t\t\tif ( this.get( 'attachment' ) ) {\n\t\t\t\toptions.library.post__in = [ this.get( 'attachment' ) ];\n\t\t\t}\n\n\t\t\t// button\n\t\t\tif ( this.get( 'button' ) ) {\n\t\t\t\toptions.button = {\n\t\t\t\t\ttext: this.get( 'button' ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn options;\n\t\t},\n\n\t\taddFrameStates: function ( options ) {\n\t\t\t// create query\n\t\t\tvar Query = wp.media.query( options.library );\n\n\t\t\t// add _acfuploader\n\t\t\t// this is super wack!\n\t\t\t// if you add _acfuploader to the options.library args, new uploads will not be added to the library view.\n\t\t\t// this has been traced back to the wp.media.model.Query initialize function (which can't be overriden)\n\t\t\t// Adding any custom args will cause the Attahcments to not observe the uploader queue\n\t\t\t// To bypass this security issue, we add in the args AFTER the Query has been initialized\n\t\t\t// options.library._acfuploader = settings.field;\n\t\t\tif (\n\t\t\t\tthis.get( 'field' ) &&\n\t\t\t\tacf.isset( Query, 'mirroring', 'args' )\n\t\t\t) {\n\t\t\t\tQuery.mirroring.args._acfuploader = this.get( 'field' );\n\t\t\t}\n\n\t\t\t// add states\n\t\t\toptions.states.push(\n\t\t\t\t// main state\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tlibrary: Query,\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\t\tpriority: 20,\n\t\t\t\t\tfilterable: 'all',\n\t\t\t\t\teditable: true,\n\t\t\t\t\tallowLocalEdits: true,\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// edit image functionality (added in WP 3.9)\n\t\t\tif ( acf.isset( wp, 'media', 'controller', 'EditImage' ) ) {\n\t\t\t\toptions.states.push( new wp.media.controller.EditImage() );\n\t\t\t}\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// log all events\n\t\t\t//frame.on('all', function( e ) {\n\t\t\t//\tconsole.log( 'frame all: %o', e );\n\t\t\t//});\n\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass(\n\t\t\t\t\t\t\t'acf-media-modal -' + this.acf.get( 'mode' )\n\t\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// edit image view\n\t\t\t// source: media-views.js:2410 editImageContent()\n\t\t\tframe.on(\n\t\t\t\t'content:render:edit-image',\n\t\t\t\tfunction () {\n\t\t\t\t\tvar image = this.state().get( 'image' );\n\t\t\t\t\tvar view = new wp.media.view.EditImage( {\n\t\t\t\t\t\tmodel: image,\n\t\t\t\t\t\tcontroller: this,\n\t\t\t\t\t} ).render();\n\t\t\t\t\tthis.content.set( view );\n\n\t\t\t\t\t// after creating the wrapper view, load the actual editor via an ajax call\n\t\t\t\t\tview.loadEditor();\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// update toolbar button\n\t\t\t//frame.on( 'toolbar:create:select', function( toolbar ) {\n\t\t\t//\ttoolbar.view = new wp.media.view.Toolbar.Select({\n\t\t\t//\t\ttext: frame.options._button,\n\t\t\t//\t\tcontroller: this\n\t\t\t//\t});\n\t\t\t//}, frame );\n\n\t\t\t// on select\n\t\t\tframe.on( 'select', function () {\n\t\t\t\t// vars\n\t\t\t\tvar selection = frame.state().get( 'selection' );\n\n\t\t\t\t// if selecting images\n\t\t\t\tif ( selection ) {\n\t\t\t\t\t// loop\n\t\t\t\t\tselection.each( function ( attachment, i ) {\n\t\t\t\t\t\tframe.acf\n\t\t\t\t\t\t\t.get( 'select' )\n\t\t\t\t\t\t\t.apply( frame.acf, [ attachment, i ] );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// on close\n\t\t\tframe.on( 'close', function () {\n\t\t\t\t// callback and remove\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tframe.acf.get( 'close' ).apply( frame.acf );\n\t\t\t\t\tframe.acf.remove();\n\t\t\t\t}, 1 );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.SelectMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.SelectMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Select', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// plupload\n\t\t\t// adds _acfuploader param to validate uploads\n\t\t\tif (\n\t\t\t\tacf.isset( _wpPluploadSettings, 'defaults', 'multipart_params' )\n\t\t\t) {\n\t\t\t\t// add _acfuploader so that Uploader will inherit\n\t\t\t\t_wpPluploadSettings.defaults.multipart_params._acfuploader = this.get(\n\t\t\t\t\t'field'\n\t\t\t\t);\n\n\t\t\t\t// remove acf_field so future Uploaders won't inherit\n\t\t\t\tframe.on( 'open', function () {\n\t\t\t\t\tdelete _wpPluploadSettings\n\t\t\t\t\t\t.defaults.multipart_params._acfuploader;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// browse\n\t\t\tframe.on( 'content:activate:browse', function () {\n\t\t\t\t// vars\n\t\t\t\tvar toolbar = false;\n\n\t\t\t\t// populate above vars making sure to allow for failure\n\t\t\t\t// perhaps toolbar does not exist because the frame open is Upload Files\n\t\t\t\ttry {\n\t\t\t\t\ttoolbar = frame.content.get().toolbar;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\tconsole.log( e );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// callback\n\t\t\t\tframe.acf.customizeFilters.apply( frame.acf, [ toolbar ] );\n\t\t\t} );\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\n\t\tcustomizeFilters: function ( toolbar ) {\n\t\t\t// vars\n\t\t\tvar filters = toolbar.get( 'filters' );\n\n\t\t\t// image\n\t\t\tif ( this.get( 'type' ) == 'image' ) {\n\t\t\t\t// update all\n\t\t\t\tfilters.filters.all.text = acf.__( 'All images' );\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.audio;\n\t\t\t\tdelete filters.filters.video;\n\t\t\t\tdelete filters.filters.image;\n\n\t\t\t\t// update all filters to show images\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.props.type = filter.props.type || 'image';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// specific types\n\t\t\tif ( this.get( 'allowedTypes' ) ) {\n\t\t\t\t// convert \".jpg, .png\" into [\"jpg\", \"png\"]\n\t\t\t\tvar allowedTypes = this.get( 'allowedTypes' )\n\t\t\t\t\t.split( ' ' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( '.' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( ',' );\n\n\t\t\t\t// loop\n\t\t\t\tallowedTypes.map( function ( name ) {\n\t\t\t\t\t// get type\n\t\t\t\t\tvar mimeType = acf.getMimeType( name );\n\n\t\t\t\t\t// bail early if no type\n\t\t\t\t\tif ( ! mimeType ) return;\n\n\t\t\t\t\t// create new filter\n\t\t\t\t\tvar newFilter = {\n\t\t\t\t\t\ttext: mimeType,\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tstatus: null,\n\t\t\t\t\t\t\ttype: mimeType,\n\t\t\t\t\t\t\tuploadedTo: null,\n\t\t\t\t\t\t\torderby: 'date',\n\t\t\t\t\t\t\torder: 'DESC',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpriority: 20,\n\t\t\t\t\t};\n\n\t\t\t\t\t// append\n\t\t\t\t\tfilters.filters[ mimeType ] = newFilter;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// uploaded to post\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\t// vars\n\t\t\t\tvar uploadedTo = this.frame.options.library.uploadedTo;\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.unattached;\n\t\t\t\tdelete filters.filters.uploaded;\n\n\t\t\t\t// add uploadedTo to filters\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.text +=\n\t\t\t\t\t\t' (' + acf.__( 'Uploaded to this post' ) + ')';\n\t\t\t\t\tfilter.props.uploadedTo = uploadedTo;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// add _acfuploader to filters\n\t\t\tvar field = this.get( 'field' );\n\t\t\t$.each( filters.filters, function ( k, filter ) {\n\t\t\t\tfilter.props._acfuploader = field;\n\t\t\t} );\n\n\t\t\t// add _acfuplaoder to search\n\t\t\tvar search = toolbar.get( 'search' );\n\t\t\tsearch.model.attributes._acfuploader = field;\n\n\t\t\t// render (custom function added to prototype)\n\t\t\tif ( filters.renderFilters ) {\n\t\t\t\tfilters.renderFilters();\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.EditMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.EditMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Update', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\t// add class\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass( 'acf-expanded' );\n\n\t\t\t\t\t// set to browse\n\t\t\t\t\tif ( this.content.mode() != 'browse' ) {\n\t\t\t\t\t\tthis.content.mode( 'browse' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// set selection\n\t\t\t\t\tvar state = this.state();\n\t\t\t\t\tvar selection = state.get( 'selection' );\n\t\t\t\t\tvar attachment = wp.media.attachment(\n\t\t\t\t\t\tframe.acf.get( 'attachment' )\n\t\t\t\t\t);\n\t\t\t\t\tselection.add( attachment );\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\t} );\n\n\t/**\n\t * customizePrototypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar customizePrototypes = new acf.Model( {\n\t\tid: 'customizePrototypes',\n\t\twait: 'ready',\n\n\t\tinitialize: function () {\n\t\t\t// bail early if no media views\n\t\t\tif ( ! acf.isset( window, 'wp', 'media', 'view' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// fix bug where CPT without \"editor\" does not set post.id setting which then prevents uploadedTo from working\n\t\t\tvar postID = getPostID();\n\t\t\tif (\n\t\t\t\tpostID &&\n\t\t\t\tacf.isset( wp, 'media', 'view', 'settings', 'post' )\n\t\t\t) {\n\t\t\t\twp.media.view.settings.post.id = postID;\n\t\t\t}\n\n\t\t\t// customize\n\t\t\tthis.customizeAttachmentsButton();\n\t\t\tthis.customizeAttachmentsRouter();\n\t\t\tthis.customizeAttachmentFilters();\n\t\t\tthis.customizeAttachmentCompat();\n\t\t\tthis.customizeAttachmentLibrary();\n\t\t},\n\n\t\tcustomizeAttachmentsButton: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Button' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Extend\n\t\t\tvar Button = wp.media.view.Button;\n\t\t\twp.media.view.Button = Button.extend( {\n\t\t\t\t// Fix bug where \"Select\" button appears blank after editing an image.\n\t\t\t\t// Do this by simplifying Button initialize function and avoid deleting this.options.\n\t\t\t\tinitialize: function () {\n\t\t\t\t\tvar options = _.defaults( this.options, this.defaults );\n\t\t\t\t\tthis.model = new Backbone.Model( options );\n\t\t\t\t\tthis.listenTo( this.model, 'change', this.render );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentsRouter: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Router' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.Router;\n\n\t\t\t// extend\n\t\t\twp.media.view.Router = Parent.extend( {\n\t\t\t\taddExpand: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $a = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t\tacf.__( 'Expand Details' ) +\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t\tacf.__( 'Collapse Details' ) +\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// add events\n\t\t\t\t\t$a.on( 'click', function ( e ) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvar $div = $( this ).closest( '.media-modal' );\n\t\t\t\t\t\tif ( $div.hasClass( 'acf-expanded' ) ) {\n\t\t\t\t\t\t\t$div.removeClass( 'acf-expanded' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$div.addClass( 'acf-expanded' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\t// append\n\t\t\t\t\tthis.$el.append( $a );\n\t\t\t\t},\n\n\t\t\t\tinitialize: function () {\n\t\t\t\t\t// initialize\n\t\t\t\t\tParent.prototype.initialize.apply( this, arguments );\n\n\t\t\t\t\t// add buttons\n\t\t\t\t\tthis.addExpand();\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentFilters: function () {\n\t\t\t// validate\n\t\t\tif (\n\t\t\t\t! acf.isset( wp, 'media', 'view', 'AttachmentFilters', 'All' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.AttachmentFilters.All;\n\n\t\t\t// renderFilters\n\t\t\t// copied from media-views.js:6939\n\t\t\tParent.prototype.renderFilters = function () {\n\t\t\t\t// Build `` elements.\n\t\t\t\tthis.$el.html(\n\t\t\t\t\t_.chain( this.filters )\n\t\t\t\t\t\t.map( function ( filter, value ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tel: $( ' ' )\n\t\t\t\t\t\t\t\t\t.val( value )\n\t\t\t\t\t\t\t\t\t.html( filter.text )[ 0 ],\n\t\t\t\t\t\t\t\tpriority: filter.priority || 50,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, this )\n\t\t\t\t\t\t.sortBy( 'priority' )\n\t\t\t\t\t\t.pluck( 'el' )\n\t\t\t\t\t\t.value()\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\n\t\tcustomizeAttachmentCompat: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'AttachmentCompat' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentCompat = wp.media.view.AttachmentCompat;\n\t\t\tvar timeout = false;\n\n\t\t\t// extend\n\t\t\twp.media.view.AttachmentCompat = AttachmentCompat.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// WP bug\n\t\t\t\t\t// When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ),\n\t\t\t\t\t// WP creates multiple instances of this AttachmentCompat view.\n\t\t\t\t\t// Each instance will attempt to render when a new modal is created.\n\t\t\t\t\t// Use a property to avoid this and only render once per instance.\n\t\t\t\t\tif ( this.rendered ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// render HTML\n\t\t\t\t\tAttachmentCompat.prototype.render.apply( this, arguments );\n\n\t\t\t\t\t// when uploading, render is called twice.\n\t\t\t\t\t// ignore first render by checking for #acf-form-data element\n\t\t\t\t\tif ( ! this.$( '#acf-form-data' ).length ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// clear timeout\n\t\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t\t// setTimeout\n\t\t\t\t\ttimeout = setTimeout(\n\t\t\t\t\t\t$.proxy( function () {\n\t\t\t\t\t\t\tthis.rendered = true;\n\t\t\t\t\t\t\tacf.doAction( 'append', this.$el );\n\t\t\t\t\t\t}, this ),\n\t\t\t\t\t\t50\n\t\t\t\t\t);\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\tsave: function ( event ) {\n\t\t\t\t\tvar data = {};\n\n\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\n\t\t\t\t\t//_.each( this.$el.serializeArray(), function( pair ) {\n\t\t\t\t\t//\tdata[ pair.name ] = pair.value;\n\t\t\t\t\t//});\n\n\t\t\t\t\t// Serialize data more thoroughly to allow chckbox inputs to save.\n\t\t\t\t\tdata = acf.serializeForAjax( this.$el );\n\n\t\t\t\t\tthis.controller.trigger( 'attachment:compat:waiting', [\n\t\t\t\t\t\t'waiting',\n\t\t\t\t\t] );\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.saveCompat( data )\n\t\t\t\t\t\t.always( _.bind( this.postSave, this ) );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentLibrary: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Attachment', 'Library' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentLibrary = wp.media.view.Attachment.Library;\n\n\t\t\t// extend\n\t\t\twp.media.view.Attachment.Library = AttachmentLibrary.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar popup = acf.isget( this, 'controller', 'acf' );\n\t\t\t\t\tvar attributes = acf.isget( this, 'model', 'attributes' );\n\n\t\t\t\t\t// check vars exist to avoid errors\n\t\t\t\t\tif ( popup && attributes ) {\n\t\t\t\t\t\t// show errors\n\t\t\t\t\t\tif ( attributes.acf_errors ) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-disabled' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// disable selected\n\t\t\t\t\t\tvar selected = popup.get( 'selected' );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tselected &&\n\t\t\t\t\t\t\tselected.indexOf( attributes.id ) > -1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-selected' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// render\n\t\t\t\t\treturn AttachmentLibrary.prototype.render.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\n\t\t\t\t/*\n\t\t\t\t * toggleSelection\n\t\t\t\t *\n\t\t\t\t * This function is called before an attachment is selected\n\t\t\t\t * A good place to check for errors and prevent the 'select' function from being fired\n\t\t\t\t *\n\t\t\t\t * @type\tfunction\n\t\t\t\t * @date\t29/09/2016\n\t\t\t\t * @since\t5.4.0\n\t\t\t\t *\n\t\t\t\t * @param\toptions (object)\n\t\t\t\t * @return\tn/a\n\t\t\t\t */\n\n\t\t\t\ttoggleSelection: function ( options ) {\n\t\t\t\t\t// vars\n\t\t\t\t\t// source: wp-includes/js/media-views.js:2880\n\t\t\t\t\tvar collection = this.collection,\n\t\t\t\t\t\tselection = this.options.selection,\n\t\t\t\t\t\tmodel = this.model,\n\t\t\t\t\t\tsingle = selection.single();\n\n\t\t\t\t\t// vars\n\t\t\t\t\tvar frame = this.controller;\n\t\t\t\t\tvar errors = acf.isget(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\t'model',\n\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t'acf_errors'\n\t\t\t\t\t);\n\t\t\t\t\tvar $sidebar = frame.$el.find(\n\t\t\t\t\t\t'.media-frame-content .media-sidebar'\n\t\t\t\t\t);\n\n\t\t\t\t\t// remove previous error\n\t\t\t\t\t$sidebar.children( '.acf-selection-error' ).remove();\n\n\t\t\t\t\t// show attachment details\n\t\t\t\t\t$sidebar.children().removeClass( 'acf-hidden' );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( frame && errors ) {\n\t\t\t\t\t\t// vars\n\t\t\t\t\t\tvar filename = acf.isget(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'model',\n\t\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t\t'filename'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// hide attachment details\n\t\t\t\t\t\t// Gallery field continues to show previously selected attachment...\n\t\t\t\t\t\t$sidebar.children().addClass( 'acf-hidden' );\n\n\t\t\t\t\t\t// append message\n\t\t\t\t\t\t$sidebar.prepend(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tacf.__( 'Restricted' ) +\n\t\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tfilename +\n\t\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\terrors +\n\t\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// reset selection (unselects all attachments)\n\t\t\t\t\t\tselection.reset();\n\n\t\t\t\t\t\t// set single (attachment displayed in sidebar)\n\t\t\t\t\t\tselection.single( model );\n\n\t\t\t\t\t\t// return and prevent 'select' form being fired\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn AttachmentLibrary.prototype.toggleSelection.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * postboxManager\n\t *\n\t * Manages postboxes on the screen.\n\t *\n\t * @date\t25/5/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar postboxManager = new acf.Model( {\n\t\twait: 'prepare',\n\t\tpriority: 1,\n\t\tinitialize: function () {\n\t\t\t( acf.get( 'postboxes' ) || [] ).map( acf.newPostbox );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.getPostbox\n\t *\n\t * Returns a postbox instance.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tmixed $el Either a jQuery element or the postbox id.\n\t * @return\tobject\n\t */\n\tacf.getPostbox = function ( $el ) {\n\t\t// allow string parameter\n\t\tif ( typeof arguments[ 0 ] == 'string' ) {\n\t\t\t$el = $( '#' + arguments[ 0 ] );\n\t\t}\n\n\t\t// return instance\n\t\treturn acf.getInstance( $el );\n\t};\n\n\t/**\n\t * acf.getPostboxes\n\t *\n\t * Returns an array of postbox instances.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tvoid\n\t * @return\tarray\n\t */\n\tacf.getPostboxes = function () {\n\t\treturn acf.getInstances( $( '.acf-postbox' ) );\n\t};\n\n\t/**\n\t * acf.newPostbox\n\t *\n\t * Returns a new postbox instance for the given props.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tobject props The postbox properties.\n\t * @return\tobject\n\t */\n\tacf.newPostbox = function ( props ) {\n\t\treturn new acf.models.Postbox( props );\n\t};\n\n\t/**\n\t * acf.models.Postbox\n\t *\n\t * The postbox model.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tacf.models.Postbox = acf.Model.extend( {\n\t\tdata: {\n\t\t\tid: '',\n\t\t\tkey: '',\n\t\t\tstyle: 'default',\n\t\t\tlabel: 'top',\n\t\t\tedit: '',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t// compatibilty\n\t\t\tif ( props.editLink ) {\n\t\t\t\tprops.edit = props.editLink;\n\t\t\t}\n\n\t\t\t// extend data\n\t\t\t$.extend( this.data, props );\n\n\t\t\t// set $el\n\t\t\tthis.$el = this.$postbox();\n\t\t},\n\n\t\t$postbox: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) );\n\t\t},\n\n\t\t$hide: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) + '-hide' );\n\t\t},\n\n\t\t$hideLabel: function () {\n\t\t\treturn this.$hide().parent();\n\t\t},\n\n\t\t$hndle: function () {\n\t\t\treturn this.$( '> .hndle' );\n\t\t},\n\n\t\t$handleActions: function () {\n\t\t\treturn this.$( '> .postbox-header .handle-actions' );\n\t\t},\n\n\t\t$inside: function () {\n\t\t\treturn this.$( '> .inside' );\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn this.$el.hasClass( 'acf-hidden' );\n\t\t},\n\n\t\tisHiddenByScreenOptions: function () {\n\t\t\treturn (\n\t\t\t\tthis.$el.hasClass( 'hide-if-js' ) ||\n\t\t\t\tthis.$el.css( 'display' ) == 'none'\n\t\t\t);\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Add default class.\n\t\t\tthis.$el.addClass( 'acf-postbox' );\n\n\t\t\t// Add field group style class (ignore in block editor).\n\t\t\tif ( acf.get( 'editor' ) !== 'block' ) {\n\t\t\t\tvar style = this.get( 'style' );\n\t\t\t\tif ( style !== 'default' ) {\n\t\t\t\t\tthis.$el.addClass( style );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add .inside class.\n\t\t\tthis.$inside()\n\t\t\t\t.addClass( 'acf-fields' )\n\t\t\t\t.addClass( '-' + this.get( 'label' ) );\n\n\t\t\t// Append edit link.\n\t\t\tvar edit = this.get( 'edit' );\n\t\t\tif ( edit ) {\n\t\t\t\tvar html =\n\t\t\t\t\t' ';\n\t\t\t\tvar $handleActions = this.$handleActions();\n\t\t\t\tif ( $handleActions.length ) {\n\t\t\t\t\t$handleActions.prepend( html );\n\t\t\t\t} else {\n\t\t\t\t\tthis.$hndle().append( html );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Show postbox.\n\t\t\tthis.show();\n\t\t},\n\n\t\tshow: function () {\n\t\t\t// If disabled by screen options, set checked to false and return.\n\t\t\tif ( this.$el.hasClass( 'hide-if-js' ) ) {\n\t\t\t\tthis.$hide().prop( 'checked', false );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Show label.\n\t\t\tthis.$hideLabel().show();\n\n\t\t\t// toggle on checkbox\n\t\t\tthis.$hide().prop( 'checked', true );\n\n\t\t\t// Show postbox\n\t\t\tthis.$el.show().removeClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'show_postbox', this );\n\t\t},\n\n\t\tenable: function () {\n\t\t\tacf.enable( this.$el, 'postbox' );\n\t\t},\n\n\t\tshowEnable: function () {\n\t\t\tthis.enable();\n\t\t\tthis.show();\n\t\t},\n\n\t\thide: function () {\n\t\t\t// Hide label.\n\t\t\tthis.$hideLabel().hide();\n\n\t\t\t// Hide postbox\n\t\t\tthis.$el.hide().addClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'hide_postbox', this );\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tacf.disable( this.$el, 'postbox' );\n\t\t},\n\n\t\thideDisable: function () {\n\t\t\tthis.disable();\n\t\t\tthis.hide();\n\t\t},\n\n\t\thtml: function ( html ) {\n\t\t\t// Update HTML.\n\t\t\tthis.$inside().html( html );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'append', this.$el );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.screen = new acf.Model( {\n\t\tactive: true,\n\n\t\txhr: false,\n\n\t\ttimeout: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'change #page_template': 'onChange',\n\t\t\t'change #parent_id': 'onChange',\n\t\t\t'change #post-formats-select': 'onChange',\n\t\t\t'change .categorychecklist': 'onChange',\n\t\t\t'change .tagsdiv': 'onChange',\n\t\t\t'change .acf-taxonomy-field[data-save=\"1\"]': 'onChange',\n\t\t\t'change #product-type': 'onChange',\n\t\t},\n\n\t\tisPost: function () {\n\t\t\treturn acf.get( 'screen' ) === 'post';\n\t\t},\n\n\t\tisUser: function () {\n\t\t\treturn acf.get( 'screen' ) === 'user';\n\t\t},\n\n\t\tisTaxonomy: function () {\n\t\t\treturn acf.get( 'screen' ) === 'taxonomy';\n\t\t},\n\n\t\tisAttachment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'attachment';\n\t\t},\n\n\t\tisNavMenu: function () {\n\t\t\treturn acf.get( 'screen' ) === 'nav_menu';\n\t\t},\n\n\t\tisWidget: function () {\n\t\t\treturn acf.get( 'screen' ) === 'widget';\n\t\t},\n\n\t\tisComment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'comment';\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\tvar $el = $( '#page_template' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\tvar $el = $( '#parent_id' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageType: function ( e, $el ) {\n\t\t\treturn this.getPageParent() ? 'child' : 'parent';\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn $( '#post_type' ).val();\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\tvar $el = $( '#post-formats-select input:checked' );\n\t\t\tif ( $el.length ) {\n\t\t\t\tvar val = $el.val();\n\t\t\t\treturn val == '0' ? 'standard' : val;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// serialize WP taxonomy postboxes\n\t\t\tvar data = acf.serialize( $( '.categorydiv, .tagsdiv' ) );\n\n\t\t\t// use tax_input (tag, custom-taxonomy) when possible.\n\t\t\t// this data is already formatted in taxonomy => [terms].\n\t\t\tif ( data.tax_input ) {\n\t\t\t\tterms = data.tax_input;\n\t\t\t}\n\n\t\t\t// append \"category\" which uses a different name\n\t\t\tif ( data.post_category ) {\n\t\t\t\tterms.category = data.post_category;\n\t\t\t}\n\n\t\t\t// convert any string values (tags) into array format\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tif ( ! acf.isArray( terms[ tax ] ) ) {\n\t\t\t\t\tterms[ tax ] = terms[ tax ].split( /,[\\s]?/ );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetPostTerms: function () {\n\t\t\t// Get core terms.\n\t\t\tvar terms = this.getPostCoreTerms();\n\n\t\t\t// loop over taxonomy fields and add their values\n\t\t\tacf.getFields( { type: 'taxonomy' } ).map( function ( field ) {\n\t\t\t\t// ignore fields that don't save\n\t\t\t\tif ( ! field.get( 'save' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// vars\n\t\t\t\tvar val = field.val();\n\t\t\t\tvar tax = field.get( 'taxonomy' );\n\n\t\t\t\t// check val\n\t\t\t\tif ( val ) {\n\t\t\t\t\t// ensure terms exists\n\t\t\t\t\tterms[ tax ] = terms[ tax ] || [];\n\n\t\t\t\t\t// ensure val is an array\n\t\t\t\t\tval = acf.isArray( val ) ? val : [ val ];\n\n\t\t\t\t\t// append\n\t\t\t\t\tterms[ tax ] = terms[ tax ].concat( val );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// add WC product type\n\t\t\tif ( ( productType = this.getProductType() ) !== null ) {\n\t\t\t\tterms.product_type = [ productType ];\n\t\t\t}\n\n\t\t\t// remove duplicate values\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tterms[ tax ] = acf.uniqueArray( terms[ tax ] );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetProductType: function () {\n\t\t\tvar $el = $( '#product-type' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tcheck: function () {\n\t\t\t// bail early if not for post\n\t\t\tif ( acf.get( 'screen' ) !== 'post' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// abort XHR if is already loading AJAX data\n\t\t\tif ( this.xhr ) {\n\t\t\t\tthis.xhr.abort();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar ajaxData = acf.parseArgs( this.data, {\n\t\t\t\taction: 'acf/ajax/check_screen',\n\t\t\t\tscreen: acf.get( 'screen' ),\n\t\t\t\texists: [],\n\t\t\t} );\n\n\t\t\t// post id\n\t\t\tif ( this.isPost() ) {\n\t\t\t\tajaxData.post_id = acf.get( 'post_id' );\n\t\t\t}\n\n\t\t\t// post type\n\t\t\tif ( ( postType = this.getPostType() ) !== null ) {\n\t\t\t\tajaxData.post_type = postType;\n\t\t\t}\n\n\t\t\t// page template\n\t\t\tif ( ( pageTemplate = this.getPageTemplate() ) !== null ) {\n\t\t\t\tajaxData.page_template = pageTemplate;\n\t\t\t}\n\n\t\t\t// page parent\n\t\t\tif ( ( pageParent = this.getPageParent() ) !== null ) {\n\t\t\t\tajaxData.page_parent = pageParent;\n\t\t\t}\n\n\t\t\t// page type\n\t\t\tif ( ( pageType = this.getPageType() ) !== null ) {\n\t\t\t\tajaxData.page_type = pageType;\n\t\t\t}\n\n\t\t\t// post format\n\t\t\tif ( ( postFormat = this.getPostFormat() ) !== null ) {\n\t\t\t\tajaxData.post_format = postFormat;\n\t\t\t}\n\n\t\t\t// post terms\n\t\t\tif ( ( postTerms = this.getPostTerms() ) !== null ) {\n\t\t\t\tajaxData.post_terms = postTerms;\n\t\t\t}\n\n\t\t\t// add array of existing postboxes to increase performance and reduce JSON HTML\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tajaxData.exists.push( postbox.get( 'key' ) );\n\t\t\t} );\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters( 'check_screen_args', ajaxData );\n\n\t\t\t// success\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// Render post screen.\n\t\t\t\tif ( acf.get( 'screen' ) == 'post' ) {\n\t\t\t\t\tthis.renderPostScreen( json );\n\n\t\t\t\t\t// Render user screen.\n\t\t\t\t} else if ( acf.get( 'screen' ) == 'user' ) {\n\t\t\t\t\tthis.renderUserScreen( json );\n\t\t\t\t}\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'check_screen_complete', json, ajaxData );\n\t\t\t};\n\n\t\t\t// ajax\n\t\t\tthis.xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t} );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tthis.setTimeout( this.check, 1 );\n\t\t},\n\n\t\trenderPostScreen: function ( data ) {\n\t\t\t// Helper function to copy events\n\t\t\tvar copyEvents = function ( $from, $to ) {\n\t\t\t\tvar events = $._data( $from[ 0 ] ).events;\n\t\t\t\tfor ( var type in events ) {\n\t\t\t\t\tfor ( var i = 0; i < events[ type ].length; i++ ) {\n\t\t\t\t\t\t$to.on( type, events[ type ][ i ].handler );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// Helper function to sort metabox.\n\t\t\tvar sortMetabox = function ( id, ids ) {\n\t\t\t\t// Find position of id within ids.\n\t\t\t\tvar index = ids.indexOf( id );\n\n\t\t\t\t// Bail early if index not found.\n\t\t\t\tif ( index == -1 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes behind (in reverse order).\n\t\t\t\tfor ( var i = index - 1; i >= 0; i-- ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).after( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes infront.\n\t\t\t\tfor ( var i = index + 1; i < ids.length; i++ ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).before( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Return false if not sorted.\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// Keep track of visible and hidden postboxes.\n\t\t\tdata.visible = [];\n\t\t\tdata.hidden = [];\n\n\t\t\t// Show these postboxes.\n\t\t\tdata.results = data.results.map( function ( result, i ) {\n\t\t\t\t// vars\n\t\t\t\tvar postbox = acf.getPostbox( result.id );\n\n\t\t\t\t// Prevent \"acf_after_title\" position in Block Editor.\n\t\t\t\tif (\n\t\t\t\t\tacf.isGutenberg() &&\n\t\t\t\t\tresult.position == 'acf_after_title'\n\t\t\t\t) {\n\t\t\t\t\tresult.position = 'normal';\n\t\t\t\t}\n\n\t\t\t\t// Create postbox if doesn't exist.\n\t\t\t\tif ( ! postbox ) {\n\t\t\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\t\t\tif ( wpMinorVersion >= 5.5 ) {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'Toggle panel: ' +\n\t\t\t\t\t\t\t\tacf.escHtml( result.title ) +\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'' + acf.escHtml( result.title ) + ' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Ensure result.classes is set.\n\t\t\t\t\tif ( ! result.classes ) result.classes = '';\n\n\t\t\t\t\t// Create it.\n\t\t\t\t\tvar $postbox = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\tpostboxHeader,\n\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t\tresult.html,\n\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// Create new hide toggle.\n\t\t\t\t\tif ( $( '#adv-settings' ).length ) {\n\t\t\t\t\t\tvar $prefs = $( '#adv-settings .metabox-prefs' );\n\t\t\t\t\t\tvar $label = $(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t' ' + result.title,\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Copy default WP events onto checkbox.\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$prefs.find( 'input' ).first(),\n\t\t\t\t\t\t\t$label.find( 'input' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Append hide label\n\t\t\t\t\t\t$prefs.append( $label );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy default WP events onto metabox.\n\t\t\t\t\tif ( $( '.postbox' ).length ) {\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .handlediv' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.handlediv' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .hndle' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.hndle' )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Append metabox to the bottom of \"side-sortables\".\n\t\t\t\t\tif ( result.position === 'side' ) {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).append(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Prepend metabox to the top of \"normal-sortbables\".\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).prepend(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Position metabox amongst existing ACF metaboxes within the same location.\n\t\t\t\t\tvar order = [];\n\t\t\t\t\tdata.results.map( function ( _result ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tresult.position === _result.position &&\n\t\t\t\t\t\t\t$(\n\t\t\t\t\t\t\t\t'#' +\n\t\t\t\t\t\t\t\t\tresult.position +\n\t\t\t\t\t\t\t\t\t'-sortables #' +\n\t\t\t\t\t\t\t\t\t_result.id\n\t\t\t\t\t\t\t).length\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\torder.push( _result.id );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tsortMetabox( result.id, order );\n\n\t\t\t\t\t// Check 'sorted' for user preference.\n\t\t\t\t\tif ( data.sorted ) {\n\t\t\t\t\t\t// Loop over each position (acf_after_title, side, normal).\n\t\t\t\t\t\tfor ( var position in data.sorted ) {\n\t\t\t\t\t\t\tlet order = data.sorted[ position ];\n\n\t\t\t\t\t\t\tif ( typeof order !== 'string' ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Explode string into array of ids.\n\t\t\t\t\t\t\torder = order.split( ',' );\n\n\t\t\t\t\t\t\t// Position metabox relative to order.\n\t\t\t\t\t\t\tif ( sortMetabox( result.id, order ) ) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initalize it (modifies HTML).\n\t\t\t\t\tpostbox = acf.newPostbox( result );\n\n\t\t\t\t\t// Trigger action.\n\t\t\t\t\tacf.doAction( 'append', $postbox );\n\t\t\t\t\tacf.doAction( 'append_postbox', postbox );\n\t\t\t\t}\n\n\t\t\t\t// show postbox\n\t\t\t\tpostbox.showEnable();\n\n\t\t\t\t// append\n\t\t\t\tdata.visible.push( result.id );\n\n\t\t\t\t// Return result (may have changed).\n\t\t\t\treturn result;\n\t\t\t} );\n\n\t\t\t// Hide these postboxes.\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tif ( data.visible.indexOf( postbox.get( 'id' ) ) === -1 ) {\n\t\t\t\t\t// Hide postbox.\n\t\t\t\t\tpostbox.hideDisable();\n\n\t\t\t\t\t// Append to data.\n\t\t\t\t\tdata.hidden.push( postbox.get( 'id' ) );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Update style.\n\t\t\t$( '#acf-style' ).html( data.style );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'refresh_post_screen', data );\n\t\t},\n\n\t\trenderUserScreen: function ( json ) {},\n\t} );\n\n\t/**\n\t * gutenScreen\n\t *\n\t * Adds compatibility with the Gutenberg edit screen.\n\t *\n\t * @date\t11/12/18\n\t * @since\t5.8.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar gutenScreen = new acf.Model( {\n\t\t// Keep a reference to the most recent post attributes.\n\t\tpostEdits: {},\n\n\t\t// Wait until assets have been loaded.\n\t\twait: 'prepare',\n\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenbergPostEditor() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Listen for changes (use debounced version as this can fires often).\n\t\t\twp.data.subscribe( acf.debounce( this.onChange ).bind( this ) );\n\n\t\t\t// Customize \"acf.screen.get\" functions.\n\t\t\tacf.screen.getPageTemplate = this.getPageTemplate;\n\t\t\tacf.screen.getPageParent = this.getPageParent;\n\t\t\tacf.screen.getPostType = this.getPostType;\n\t\t\tacf.screen.getPostFormat = this.getPostFormat;\n\t\t\tacf.screen.getPostCoreTerms = this.getPostCoreTerms;\n\n\t\t\t// Disable unload\n\t\t\tacf.unload.disable();\n\n\t\t\t// Refresh metaboxes since WP 5.3.\n\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\tif ( wpMinorVersion >= 5.3 ) {\n\t\t\t\tthis.addAction(\n\t\t\t\t\t'refresh_post_screen',\n\t\t\t\t\tthis.onRefreshPostScreen\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Trigger \"refresh\" after WP has moved metaboxes into place.\n\t\t\twp.domReady( acf.refresh );\n\t\t},\n\n\t\tonChange: function () {\n\t\t\t// Determine attributes that can trigger a refresh.\n\t\t\tvar attributes = [ 'template', 'parent', 'format' ];\n\n\t\t\t// Append taxonomy attribute names to this list.\n\t\t\t( wp.data.select( 'core' ).getTaxonomies() || [] ).map( function (\n\t\t\t\ttaxonomy\n\t\t\t) {\n\t\t\t\tattributes.push( taxonomy.rest_base );\n\t\t\t} );\n\n\t\t\t// Get relevant current post edits.\n\t\t\tvar _postEdits = wp.data.select( 'core/editor' ).getPostEdits();\n\t\t\tvar postEdits = {};\n\t\t\tattributes.map( function ( k ) {\n\t\t\t\tif ( _postEdits[ k ] !== undefined ) {\n\t\t\t\t\tpostEdits[ k ] = _postEdits[ k ];\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Detect change.\n\t\t\tif (\n\t\t\t\tJSON.stringify( postEdits ) !== JSON.stringify( this.postEdits )\n\t\t\t) {\n\t\t\t\tthis.postEdits = postEdits;\n\n\t\t\t\t// Check screen.\n\t\t\t\tacf.screen.check();\n\t\t\t}\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'template' );\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'parent' );\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'type' );\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'format' );\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// Loop over taxonomies.\n\t\t\tvar taxonomies = wp.data.select( 'core' ).getTaxonomies() || [];\n\t\t\ttaxonomies.map( function ( taxonomy ) {\n\t\t\t\t// Append selected taxonomies to terms object.\n\t\t\t\tvar postTerms = wp.data\n\t\t\t\t\t.select( 'core/editor' )\n\t\t\t\t\t.getEditedPostAttribute( taxonomy.rest_base );\n\t\t\t\tif ( postTerms ) {\n\t\t\t\t\tterms[ taxonomy.slug ] = postTerms;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\t/**\n\t\t * onRefreshPostScreen\n\t\t *\n\t\t * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state.\n\t\t *\n\t\t * @date\t11/11/19\n\t\t * @since\t5.8.7\n\t\t *\n\t\t * @param\tobject data The \"check_screen\" JSON response data.\n\t\t * @return\tvoid\n\t\t */\n\t\tonRefreshPostScreen: function ( data ) {\n\n\t\t\t// Extract vars.\n\t\t\tvar select = wp.data.select( 'core/edit-post' );\n\t\t\tvar dispatch = wp.data.dispatch( 'core/edit-post' );\n\n\t\t\t// Load current metabox locations and data.\n\t\t\tvar locations = {};\n\t\t\tselect.getActiveMetaBoxLocations().map( function ( location ) {\n\t\t\t\tlocations[ location ] = select.getMetaBoxesPerLocation(\n\t\t\t\t\tlocation\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// Generate flat array of existing ids.\n\t\t\tvar ids = [];\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ].map( function ( m ) {\n\t\t\t\t\tids.push( m.id );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Append new ACF metaboxes (ignore those which already exist).\n\t\t\tdata.results\n\t\t\t\t.filter( function ( r ) {\n\t\t\t\t\treturn ids.indexOf( r.id ) === -1;\n\t\t\t\t} )\n\t\t\t\t.map( function ( result, i ) {\n\t\t\t\t\t// Ensure location exists.\n\t\t\t\t\tvar location = result.position;\n\t\t\t\t\tlocations[ location ] = locations[ location ] || [];\n\n\t\t\t\t\t// Append.\n\t\t\t\t\tlocations[ location ].push( {\n\t\t\t\t\t\tid: result.id,\n\t\t\t\t\t\ttitle: result.title,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// Remove hidden ACF metaboxes.\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ] = locations[ k ].filter( function ( m ) {\n\t\t\t\t\treturn data.hidden.indexOf( m.id ) === -1;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Update state.\n\t\t\tdispatch.setAvailableMetaBoxesPerLocation( locations );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newSelect2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newSelect2 = function ( $select, props ) {\n\t\t// defaults\n\t\tprops = acf.parseArgs( props, {\n\t\t\tallowNull: false,\n\t\t\tplaceholder: '',\n\t\t\tmultiple: false,\n\t\t\tfield: false,\n\t\t\tajax: false,\n\t\t\tajaxAction: '',\n\t\t\tajaxData: function ( data ) {\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\tajaxResults: function ( json ) {\n\t\t\t\treturn json;\n\t\t\t},\n\t\t\ttemplateSelection: false,\n\t\t\ttemplateResult: false,\n\t\t\tdropdownCssClass: '',\n\t\t\tsuppressFilters: false,\n\t\t} );\n\n\t\t// initialize\n\t\tif ( getVersion() == 4 ) {\n\t\t\tvar select2 = new Select2_4( $select, props );\n\t\t} else {\n\t\t\tvar select2 = new Select2_3( $select, props );\n\t\t}\n\n\t\t// actions\n\t\tacf.doAction( 'new_select2', select2 );\n\n\t\t// return\n\t\treturn select2;\n\t};\n\n\t/**\n\t * getVersion\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tfunction getVersion() {\n\t\t// v4\n\t\tif ( acf.isset( window, 'jQuery', 'fn', 'select2', 'amd' ) ) {\n\t\t\treturn 4;\n\t\t}\n\n\t\t// v3\n\t\tif ( acf.isset( window, 'Select2' ) ) {\n\t\t\treturn 3;\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t}\n\n\t/**\n\t * Select2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2 = acf.Model.extend( {\n\t\tsetup: function ( $select, props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $select;\n\t\t},\n\n\t\tinitialize: function () {},\n\n\t\tselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( ! $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tunselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tgetOption: function ( value ) {\n\t\t\treturn this.$( 'option[value=\"' + value + '\"]' );\n\t\t},\n\n\t\taddOption: function ( option ) {\n\t\t\t// defaults\n\t\t\toption = acf.parseArgs( option, {\n\t\t\t\tid: '',\n\t\t\t\ttext: '',\n\t\t\t\tselected: false,\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $option = this.getOption( option.id );\n\n\t\t\t// append\n\t\t\tif ( ! $option.length ) {\n\t\t\t\t$option = $( ' ' );\n\t\t\t\t$option.html( option.text );\n\t\t\t\t$option.attr( 'value', option.id );\n\t\t\t\t$option.prop( 'selected', option.selected );\n\t\t\t\tthis.$el.append( $option );\n\t\t\t}\n\n\t\t\t// chain\n\t\t\treturn $option;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar val = [];\n\t\t\tvar $options = this.$el.find( 'option:selected' );\n\n\t\t\t// bail early if no selected\n\t\t\tif ( ! $options.exists() ) {\n\t\t\t\treturn val;\n\t\t\t}\n\n\t\t\t// sort by attribute\n\t\t\t$options = $options.sort( function ( a, b ) {\n\t\t\t\treturn (\n\t\t\t\t\t+a.getAttribute( 'data-i' ) - +b.getAttribute( 'data-i' )\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// loop\n\t\t\t$options.each( function () {\n\t\t\t\tvar $el = $( this );\n\t\t\t\tval.push( {\n\t\t\t\t\t$el: $el,\n\t\t\t\t\tid: $el.attr( 'value' ),\n\t\t\t\t\ttext: $el.text(),\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn val;\n\t\t},\n\n\t\tmergeOptions: function () {},\n\n\t\tgetChoices: function () {\n\t\t\t// callback\n\t\t\tvar crawl = function ( $parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar choices = [];\n\n\t\t\t\t// loop\n\t\t\t\t$parent.children().each( function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $child = $( this );\n\n\t\t\t\t\t// optgroup\n\t\t\t\t\tif ( $child.is( 'optgroup' ) ) {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\ttext: $child.attr( 'label' ),\n\t\t\t\t\t\t\tchildren: crawl( $child ),\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// option\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\tid: $child.attr( 'value' ),\n\t\t\t\t\t\t\ttext: $child.text(),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// return\n\t\t\t\treturn choices;\n\t\t\t};\n\n\t\t\t// crawl\n\t\t\treturn crawl( this.$el );\n\t\t},\n\n\t\tgetAjaxData: function ( params ) {\n\t\t\t// vars\n\t\t\tvar ajaxData = {\n\t\t\t\taction: this.get( 'ajaxAction' ),\n\t\t\t\ts: params.term || '',\n\t\t\t\tpaged: params.page || 1,\n\t\t\t};\n\n\t\t\t// field helper\n\t\t\tvar field = this.get( 'field' );\n\t\t\tif ( field ) {\n\t\t\t\tajaxData.field_key = field.get( 'key' );\n\t\t\t}\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxData' );\n\t\t\tif ( callback ) {\n\t\t\t\tajaxData = callback.apply( this, [ ajaxData, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn acf.prepareForAjax( ajaxData );\n\t\t},\n\n\t\tgetAjaxResults: function ( json, params ) {\n\t\t\t// defaults\n\t\t\tjson = acf.parseArgs( json, {\n\t\t\t\tresults: false,\n\t\t\t\tmore: false,\n\t\t\t} );\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxResults' );\n\t\t\tif ( callback ) {\n\t\t\t\tjson = callback.apply( this, [ json, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tjson = acf.applyFilters(\n\t\t\t\t'select2_ajax_results',\n\t\t\t\tjson,\n\t\t\t\tparams,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tprocessAjaxResults: function ( json, params ) {\n\t\t\t// vars\n\t\t\tvar json = this.getAjaxResults( json, params );\n\n\t\t\t// change more to pagination\n\t\t\tif ( json.more ) {\n\t\t\t\tjson.pagination = { more: true };\n\t\t\t}\n\n\t\t\t// merge together groups\n\t\t\tsetTimeout( $.proxy( this.mergeOptions, this ), 1 );\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tdestroy: function () {\n\t\t\t// destroy via api\n\t\t\tif ( this.$el.data( 'select2' ) ) {\n\t\t\t\tthis.$el.select2( 'destroy' );\n\t\t\t}\n\n\t\t\t// destory via HTML (duplicating HTML does not contain data)\n\t\t\tthis.$el.siblings( '.select2-container' ).remove();\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_4\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_4 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\ttemplateSelection: this.get( 'templateSelection' ),\n\t\t\t\ttemplateResult: this.get( 'templateResult' ),\n\t\t\t\tdropdownCssClass: this.get( 'dropdownCssClass' ),\n\t\t\t\tsuppressFilters: this.get( 'suppressFilters' ),\n\t\t\t\tdata: [],\n\t\t\t\tescapeMarkup: function ( markup ) {\n\t\t\t\t\tif ( typeof markup !== 'string' ) {\n\t\t\t\t\t\treturn markup;\n\t\t\t\t\t}\n\t\t\t\t\treturn acf.escHtml( markup );\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// Clear empty templateSelections, templateResults, or dropdownCssClass.\n\t\t\tif ( ! options.templateSelection ) {\n\t\t\t\tdelete options.templateSelection;\n\t\t\t}\n\t\t\tif ( ! options.templateResult ) {\n\t\t\t\tdelete options.templateResult;\n\t\t\t}\n\t\t\tif ( ! options.dropdownCssClass ) {\n\t\t\t\tdelete options.dropdownCssClass;\n\t\t\t}\n\n\t\t\t// Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473\n\t\t\tif ( ! acf.isset( window, 'jQuery', 'fn', 'selectWoo' ) ) {\n\t\t\t\tif ( ! options.templateSelection ) {\n\t\t\t\t\toptions.templateSelection = function ( selection ) {\n\t\t\t\t\t\tvar $selection = $(\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$selection.html( acf.escHtml( selection.text ) );\n\t\t\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\t\t\treturn $selection;\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdelete options.templateSelection;\n\t\t\t\tdelete options.templateResult;\n\t\t\t}\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tthis.getValue().map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Temporarily remove conflicting attribute.\n\t\t\tvar attrAjax = $select.attr( 'data-ajax' );\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.removeData( 'ajax' );\n\t\t\t\t$select.removeAttr( 'data-ajax' );\n\t\t\t}\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdelay: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tprocessResults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\tif ( ! options.suppressFilters ) {\n\t\t\t\tvar field = this.get( 'field' );\n\t\t\t\toptions = acf.applyFilters(\n\t\t\t\t\t'select2_args',\n\t\t\t\t\toptions,\n\t\t\t\t\t$select,\n\t\t\t\t\tthis.data,\n\t\t\t\t\tfield || false,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// add select2\n\t\t\t$select.select2( options );\n\n\t\t\t// get container (Select2 v4 does not return this from constructor)\n\t\t\tvar $container = $select.next( '.select2-container' );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function ( e ) {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-selection__choice' ).each(\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t// Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead.\n\t\t\t\t\t\t\t\tif ( $( this ).data( 'data' ) ) {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this ).data( 'data' ).element\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this )\n\t\t\t\t\t\t\t\t\t\t\t.find( 'span.acf-selection' )\n\t\t\t\t\t\t\t\t\t\t\t.data( 'element' )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\t// on select, move to end\n\t\t\t\t$select.on(\n\t\t\t\t\t'select2:select',\n\t\t\t\t\tthis.proxy( function ( e ) {\n\t\t\t\t\t\tthis.getOption( e.params.data.id )\n\t\t\t\t\t\t\t.detach()\n\t\t\t\t\t\t\t.appendTo( this.$el );\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// add handler to auto-focus searchbox (for jQuery 3.6)\n\t\t\t$select.on( 'select2:open', () => {\n\t\t\t\t$( '.select2-container--open .select2-search__field' )\n\t\t\t\t\t.get( -1 )\n\t\t\t\t\t.focus();\n\t\t\t} );\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// Add back temporarily removed attr.\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.attr( 'data-ajax', attrAjax );\n\t\t\t}\n\n\t\t\t// action for 3rd party customization\n\t\t\tif ( ! options.suppressFilters ) {\n\t\t\t\tacf.doAction(\n\t\t\t\t\t'select2_init',\n\t\t\t\t\t$select,\n\t\t\t\t\toptions,\n\t\t\t\t\tthis.data,\n\t\t\t\t\tfield || false,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '.select2-results__option[role=\"group\"]' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\tvar $group = $( this ).children( 'strong' );\n\n\t\t\t\t// compare to previous\n\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t$prevOptions.append( $options.children() );\n\t\t\t\t\t$( this ).remove();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// update vars\n\t\t\t\t$prevOptions = $options;\n\t\t\t\t$prevGroup = $group;\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_3\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_3 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar value = this.getValue();\n\t\t\tvar multiple = this.get( 'multiple' );\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tseparator: '||',\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tdata: this.getChoices(),\n\t\t\t\tescapeMarkup: function ( string ) {\n\t\t\t\t\treturn acf.escHtml( string );\n\t\t\t\t},\n\t\t\t\tdropdownCss: {\n\t\t\t\t\t'z-index': '999999999',\n\t\t\t\t},\n\t\t\t\tinitSelection: function ( element, callback ) {\n\t\t\t\t\tif ( multiple ) {\n\t\t\t\t\t\tcallback( value );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback( value.shift() );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// get hidden input\n\t\t\tvar $input = $select.siblings( 'input' );\n\t\t\tif ( ! $input.length ) {\n\t\t\t\t$input = $( ' ' );\n\t\t\t\t$select.before( $input );\n\t\t\t}\n\n\t\t\t// set input value\n\t\t\tinputValue = value\n\t\t\t\t.map( function ( item ) {\n\t\t\t\t\treturn item.id;\n\t\t\t\t} )\n\t\t\t\t.join( '||' );\n\t\t\t$input.val( inputValue );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tvalue.map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove blank option as we have a clear all button\n\t\t\tif ( options.allowClear ) {\n\t\t\t\toptions.data = options.data.filter( function ( item ) {\n\t\t\t\t\treturn item.id !== '';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove conflicting atts\n\t\t\t$select.removeData( 'ajax' );\n\t\t\t$select.removeAttr( 'data-ajax' );\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tquietMillis: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tresults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\tvar field = this.get( 'field' );\n\t\t\toptions = acf.applyFilters(\n\t\t\t\t'select2_args',\n\t\t\t\toptions,\n\t\t\t\t$select,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// add select2\n\t\t\t$input.select2( options );\n\n\t\t\t// get container\n\t\t\tvar $container = $input.select2( 'container' );\n\n\t\t\t// helper to find this select's option\n\t\t\tvar getOption = $.proxy( this.getOption, this );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function () {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-search-choice' ).each( function () {\n\t\t\t\t\t\t\t// vars\n\t\t\t\t\t\t\tvar data = $( this ).data( 'select2Data' );\n\t\t\t\t\t\t\tvar $option = getOption( data.id );\n\n\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// on select, create option and move to end\n\t\t\t$input.on( 'select2-selecting', function ( e ) {\n\t\t\t\t// vars\n\t\t\t\tvar item = e.choice;\n\t\t\t\tvar $option = getOption( item.id );\n\n\t\t\t\t// create if doesn't exist\n\t\t\t\tif ( ! $option.length ) {\n\t\t\t\t\t$option = $(\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\titem.text +\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// detach and re-append to end\n\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t} );\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction(\n\t\t\t\t'select2_init',\n\t\t\t\t$select,\n\t\t\t\toptions,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// change\n\t\t\t$input.on( 'change', function () {\n\t\t\t\tvar val = $input.val();\n\t\t\t\tif ( val.indexOf( '||' ) ) {\n\t\t\t\t\tval = val.split( '||' );\n\t\t\t\t}\n\t\t\t\t$select.val( val ).trigger( 'change' );\n\t\t\t} );\n\n\t\t\t// hide select\n\t\t\t$select.hide();\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '#select2-drop .select2-result-with-children' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\t\tvar $group = $( this ).children( '.select2-result-label' );\n\n\t\t\t\t\t// compare to previous\n\t\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t\t$prevGroup.append( $options.children() );\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevOptions = $options;\n\t\t\t\t\t$prevGroup = $group;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tgetAjaxData: function ( term, page ) {\n\t\t\t// create Select2 v4 params\n\t\t\tvar params = {\n\t\t\t\tterm: term,\n\t\t\t\tpage: page,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar field = this.get( 'field' );\n\t\t\tparams = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tparams,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn Select2.prototype.getAjaxData.apply( this, [ params ] );\n\t\t},\n\t} );\n\n\t// manager\n\tvar select2Manager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'prepare',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t},\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar version = getVersion();\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if 'en'\n\t\t\tif ( locale.indexOf( 'en' ) === 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// initialize\n\t\t\tif ( version == 4 ) {\n\t\t\t\tthis.addTranslations4();\n\t\t\t} else if ( version == 3 ) {\n\t\t\t\tthis.addTranslations3();\n\t\t\t}\n\t\t},\n\n\t\taddTranslations4: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\terrorLoading: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tinputTooLong: function ( args ) {\n\t\t\t\t\tvar overChars = args.input.length - args.maximum;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tinputTooShort: function ( args ) {\n\t\t\t\t\tvar remainingChars = args.minimum - args.input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tloadingMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tmaximumSelected: function ( args ) {\n\t\t\t\t\tvar maximum = args.maximum;\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tnoResults: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tsearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// append\n\t\t\tjQuery.fn.select2.amd.define(\n\t\t\t\t'select2/i18n/' + locale,\n\t\t\t\t[],\n\t\t\t\tfunction () {\n\t\t\t\t\treturn select2L10n;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\taddTranslations3: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\tformatMatches: function ( matches ) {\n\t\t\t\t\tif ( matches > 1 ) {\n\t\t\t\t\t\treturn l10n.matches_n.replace( '%d', matches );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.matches_1;\n\t\t\t\t},\n\t\t\t\tformatNoMatches: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tformatAjaxError: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tformatInputTooShort: function ( input, min ) {\n\t\t\t\t\tvar remainingChars = min - input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tformatInputTooLong: function ( input, max ) {\n\t\t\t\t\tvar overChars = input.length - max;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatSelectionTooBig: function ( maximum ) {\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatLoadMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tformatSearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// ensure locales exists\n\t\t\t$.fn.select2.locales = $.fn.select2.locales || {};\n\n\t\t\t// append\n\t\t\t$.fn.select2.locales[ locale ] = select2L10n;\n\t\t\t$.extend( $.fn.select2.defaults, select2L10n );\n\t\t},\n\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\t$el2.find( '.select2-container' ).remove();\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.tinymce = {\n\t\t/*\n\t\t * defaults\n\t\t *\n\t\t * This function will return default mce and qt settings\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tdefaults: function () {\n\t\t\t// bail early if no tinyMCEPreInit\n\t\t\tif ( typeof tinyMCEPreInit === 'undefined' ) return false;\n\n\t\t\t// vars\n\t\t\tvar defaults = {\n\t\t\t\ttinymce: tinyMCEPreInit.mceInit.acf_content,\n\t\t\t\tquicktags: tinyMCEPreInit.qtInit.acf_content,\n\t\t\t};\n\n\t\t\t// return\n\t\t\treturn defaults;\n\t\t},\n\n\t\t/*\n\t\t * initialize\n\t\t *\n\t\t * This function will initialize the tinymce and quicktags instances\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitialize: function ( id, args ) {\n\t\t\t// defaults\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: 'full',\n\t\t\t\tmode: 'visual', // visual,text\n\t\t\t\tfield: false,\n\t\t\t} );\n\n\t\t\t// tinymce\n\t\t\tif ( args.tinymce ) {\n\t\t\t\tthis.initializeTinymce( id, args );\n\t\t\t}\n\n\t\t\t// quicktags\n\t\t\tif ( args.quicktags ) {\n\t\t\t\tthis.initializeQuicktags( id, args );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeTinymce\n\t\t *\n\t\t * This function will initialize the tinymce instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeTinymce: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar $textarea = $( '#' + id );\n\t\t\tvar defaults = this.defaults();\n\t\t\tvar toolbars = acf.get( 'toolbars' );\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// check if exists\n\t\t\tif ( tinymce.get( id ) ) {\n\t\t\t\treturn this.enable( id );\n\t\t\t}\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.tinymce, args.tinymce );\n\t\t\tinit.id = id;\n\t\t\tinit.selector = '#' + id;\n\n\t\t\t// toolbar\n\t\t\tvar toolbar = args.toolbar;\n\t\t\tif ( toolbar && toolbars && toolbars[ toolbar ] ) {\n\t\t\t\tfor ( var i = 1; i <= 4; i++ ) {\n\t\t\t\t\tinit[ 'toolbar' + i ] = toolbars[ toolbar ][ i ] || '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// event\n\t\t\tinit.setup = function ( ed ) {\n\t\t\t\ted.on( 'change', function ( e ) {\n\t\t\t\t\ted.save(); // save to textarea\n\t\t\t\t\t$textarea.trigger( 'change' );\n\t\t\t\t} );\n\n\t\t\t\t// Fix bug where Gutenberg does not hear \"mouseup\" event and tries to select multiple blocks.\n\t\t\t\ted.on( 'mouseup', function ( e ) {\n\t\t\t\t\tvar event = new MouseEvent( 'mouseup' );\n\t\t\t\t\twindow.dispatchEvent( event );\n\t\t\t\t} );\n\n\t\t\t\t// Temporarily comment out. May not be necessary due to wysiwyg field actions.\n\t\t\t\t//ed.on('unload', function(e) {\n\t\t\t\t//\tacf.tinymce.remove( id );\n\t\t\t\t//});\n\t\t\t};\n\n\t\t\t// disable wp_autoresize_on (no solution yet for fixed toolbar)\n\t\t\tinit.wp_autoresize_on = false;\n\n\t\t\t// Enable wpautop allowing value to save without tags.\n\t\t\t// Only if the \"TinyMCE Advanced\" plugin hasn't already set this functionality.\n\t\t\tif ( ! init.tadv_noautop ) {\n\t\t\t\tinit.wpautop = true;\n\t\t\t}\n\n\t\t\t// hook for 3rd party customization\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_tinymce_settings',\n\t\t\t\tinit,\n\t\t\t\tid,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// z-index fix (caused too many conflicts)\n\t\t\t//if( acf.isset(tinymce,'ui','FloatPanel') ) {\n\t\t\t//\ttinymce.ui.FloatPanel.zIndex = 900000;\n\t\t\t//}\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.mceInit[ id ] = init;\n\n\t\t\t// visual tab is active\n\t\t\tif ( args.mode == 'visual' ) {\n\t\t\t\t// init\n\t\t\t\tvar result = tinymce.init( init );\n\n\t\t\t\t// get editor\n\t\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t\t// validate\n\t\t\t\tif ( ! ed ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// add reference\n\t\t\t\ted.acf = args.field;\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'wysiwyg_tinymce_init', ed, ed.id, init, field );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeQuicktags\n\t\t *\n\t\t * This function will initialize the quicktags instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeQuicktags: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar defaults = this.defaults();\n\n\t\t\t// bail early\n\t\t\tif ( typeof quicktags === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.quicktags, args.quicktags );\n\t\t\tinit.id = id;\n\n\t\t\t// filter\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_quicktags_settings',\n\t\t\t\tinit,\n\t\t\t\tinit.id,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.qtInit[ id ] = init;\n\n\t\t\t// init\n\t\t\tvar ed = quicktags( init );\n\n\t\t\t// validate\n\t\t\tif ( ! ed ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// generate HTML\n\t\t\tthis.buildQuicktags( ed );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'wysiwyg_quicktags_init', ed, ed.id, init, field );\n\t\t},\n\n\t\t/*\n\t\t * buildQuicktags\n\t\t *\n\t\t * This function will build the quicktags HTML\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tbuildQuicktags: function ( ed ) {\n\t\t\tvar canvas,\n\t\t\t\tname,\n\t\t\t\tsettings,\n\t\t\t\ttheButtons,\n\t\t\t\thtml,\n\t\t\t\ted,\n\t\t\t\tid,\n\t\t\t\ti,\n\t\t\t\tuse,\n\t\t\t\tinstanceId,\n\t\t\t\tdefaults =\n\t\t\t\t\t',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,';\n\n\t\t\tcanvas = ed.canvas;\n\t\t\tname = ed.name;\n\t\t\tsettings = ed.settings;\n\t\t\thtml = '';\n\t\t\ttheButtons = {};\n\t\t\tuse = '';\n\t\t\tinstanceId = ed.id;\n\n\t\t\t// set buttons\n\t\t\tif ( settings.buttons ) {\n\t\t\t\tuse = ',' + settings.buttons + ',';\n\t\t\t}\n\n\t\t\tfor ( i in edButtons ) {\n\t\t\t\tif ( ! edButtons[ i ] ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tid = edButtons[ i ].id;\n\t\t\t\tif (\n\t\t\t\t\tuse &&\n\t\t\t\t\tdefaults.indexOf( ',' + id + ',' ) !== -1 &&\n\t\t\t\t\tuse.indexOf( ',' + id + ',' ) === -1\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! edButtons[ i ].instance ||\n\t\t\t\t\tedButtons[ i ].instance === instanceId\n\t\t\t\t) {\n\t\t\t\t\ttheButtons[ id ] = edButtons[ i ];\n\n\t\t\t\t\tif ( edButtons[ i ].html ) {\n\t\t\t\t\t\thtml += edButtons[ i ].html( name + '_' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( use && use.indexOf( ',dfw,' ) !== -1 ) {\n\t\t\t\ttheButtons.dfw = new QTags.DFWButton();\n\t\t\t\thtml += theButtons.dfw.html( name + '_' );\n\t\t\t}\n\n\t\t\tif ( 'rtl' === document.getElementsByTagName( 'html' )[ 0 ].dir ) {\n\t\t\t\ttheButtons.textdirection = new QTags.TextDirectionButton();\n\t\t\t\thtml += theButtons.textdirection.html( name + '_' );\n\t\t\t}\n\n\t\t\ted.toolbar.innerHTML = html;\n\t\t\ted.theButtons = theButtons;\n\n\t\t\tif ( typeof jQuery !== 'undefined' ) {\n\t\t\t\tjQuery( document ).triggerHandler( 'quicktags-init', [ ed ] );\n\t\t\t}\n\t\t},\n\n\t\tdisable: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tremove: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroy: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroyTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\n\t\t\t// get editor\n\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t// bail early if no editor\n\t\t\tif ( ! ed ) return false;\n\n\t\t\t// save\n\t\t\ted.save();\n\n\t\t\t// destroy editor\n\t\t\ted.destroy();\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\n\t\tenable: function ( id ) {\n\t\t\tthis.enableTinymce( id );\n\t\t},\n\n\t\tenableTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof switchEditors === 'undefined' ) return false;\n\n\t\t\t// bail early if not initialized\n\t\t\tif ( typeof tinyMCEPreInit.mceInit[ id ] === 'undefined' )\n\t\t\t\treturn false;\n\n\t\t\t// Ensure textarea element is visible\n\t\t\t// - Fixes bug in block editor when switching between \"Block\" and \"Document\" tabs.\n\t\t\t$( '#' + id ).show();\n\n\t\t\t// toggle\n\t\t\tswitchEditors.go( id, 'tmce' );\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tvar editorManager = new acf.Model( {\n\t\t// hook in before fieldsEventManager, conditions, etc\n\t\tpriority: 5,\n\n\t\tactions: {\n\t\t\tprepare: 'onPrepare',\n\t\t\tready: 'onReady',\n\t\t},\n\t\tonPrepare: function () {\n\t\t\t// find hidden editor which may exist within a field\n\t\t\tvar $div = $( '#acf-hidden-wp-editor' );\n\n\t\t\t// move to footer\n\t\t\tif ( $div.exists() ) {\n\t\t\t\t$div.appendTo( 'body' );\n\t\t\t}\n\t\t},\n\t\tonReady: function () {\n\t\t\t// Restore wp.editor functions used by tinymce removed in WP5.\n\t\t\tif ( acf.isset( window, 'wp', 'oldEditor' ) ) {\n\t\t\t\twp.editor.autop = wp.oldEditor.autop;\n\t\t\t\twp.editor.removep = wp.oldEditor.removep;\n\t\t\t}\n\n\t\t\t// bail early if no tinymce\n\t\t\tif ( ! acf.isset( window, 'tinymce', 'on' ) ) return;\n\n\t\t\t// restore default activeEditor\n\t\t\ttinymce.on( 'AddEditor', function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar editor = data.editor;\n\n\t\t\t\t// bail early if not 'acf'\n\t\t\t\tif ( editor.id.substr( 0, 3 ) !== 'acf' ) return;\n\n\t\t\t\t// override if 'content' exists\n\t\t\t\teditor = tinymce.editors.content || editor;\n\n\t\t\t\t// update vars\n\t\t\t\ttinymce.activeEditor = editor;\n\t\t\t\twpActiveEditor = editor.id;\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.unload = new acf.Model( {\n\t\twait: 'load',\n\t\tactive: true,\n\t\tchanged: false,\n\n\t\tactions: {\n\t\t\tvalidation_failure: 'startListening',\n\t\t\tvalidation_success: 'stopListening',\n\t\t},\n\n\t\tevents: {\n\t\t\t'change form .acf-field': 'startListening',\n\t\t\t'submit form': 'stopListening',\n\t\t},\n\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\treset: function () {\n\t\t\tthis.stopListening();\n\t\t},\n\n\t\tstartListening: function () {\n\t\t\t// bail early if already changed, not active\n\t\t\tif ( this.changed || ! this.active ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tthis.changed = true;\n\n\t\t\t// add event\n\t\t\t$( window ).on( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tstopListening: function () {\n\t\t\t// update\n\t\t\tthis.changed = false;\n\n\t\t\t// remove event\n\t\t\t$( window ).off( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\treturn acf.__(\n\t\t\t\t'The changes you made will be lost if you navigate away from this page'\n\t\t\t);\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * Validator\n\t *\n\t * The model for validating forms\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar Validator = acf.Model.extend( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'Validator',\n\n\t\t/** @var object The model data. */\n\t\tdata: {\n\t\t\t/** @var array The form errors. */\n\t\t\terrors: [],\n\n\t\t\t/** @var object The form notice. */\n\t\t\tnotice: null,\n\n\t\t\t/** @var string The form status. loading, invalid, valid */\n\t\t\tstatus: '',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'changed:status': 'onChangeStatus',\n\t\t},\n\n\t\t/**\n\t\t * addErrors\n\t\t *\n\t\t * Adds errors to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tarray errors An array of errors.\n\t\t * @return\tvoid\n\t\t */\n\t\taddErrors: function ( errors ) {\n\t\t\terrors.map( this.addError, this );\n\t\t},\n\n\t\t/**\n\t\t * addError\n\t\t *\n\t\t * Adds and error to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject error An error object containing input and message.\n\t\t * @return\tvoid\n\t\t */\n\t\taddError: function ( error ) {\n\t\t\tthis.data.errors.push( error );\n\t\t},\n\n\t\t/**\n\t\t * hasErrors\n\t\t *\n\t\t * Returns true if the form has errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tbool\n\t\t */\n\t\thasErrors: function () {\n\t\t\treturn this.data.errors.length;\n\t\t},\n\n\t\t/**\n\t\t * clearErrors\n\t\t *\n\t\t * Removes any errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tclearErrors: function () {\n\t\t\treturn ( this.data.errors = [] );\n\t\t},\n\n\t\t/**\n\t\t * getErrors\n\t\t *\n\t\t * Returns the forms errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetErrors: function () {\n\t\t\treturn this.data.errors;\n\t\t},\n\n\t\t/**\n\t\t * getFieldErrors\n\t\t *\n\t\t * Returns the forms field errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetFieldErrors: function () {\n\t\t\t// vars\n\t\t\tvar errors = [];\n\t\t\tvar inputs = [];\n\n\t\t\t// loop\n\t\t\tthis.getErrors().map( function ( error ) {\n\t\t\t\t// bail early if global\n\t\t\t\tif ( ! error.input ) return;\n\n\t\t\t\t// update if exists\n\t\t\t\tvar i = inputs.indexOf( error.input );\n\t\t\t\tif ( i > -1 ) {\n\t\t\t\t\terrors[ i ] = error;\n\n\t\t\t\t\t// update\n\t\t\t\t} else {\n\t\t\t\t\terrors.push( error );\n\t\t\t\t\tinputs.push( error.input );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn errors;\n\t\t},\n\n\t\t/**\n\t\t * getGlobalErrors\n\t\t *\n\t\t * Returns the forms global errors (errors without a specific input).\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetGlobalErrors: function () {\n\t\t\t// return array of errors that contain no input\n\t\t\treturn this.getErrors().filter( function ( error ) {\n\t\t\t\treturn ! error.input;\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * showErrors\n\t\t *\n\t\t * Displays all errors for this form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tshowErrors: function () {\n\t\t\t// bail early if no errors\n\t\t\tif ( ! this.hasErrors() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar fieldErrors = this.getFieldErrors();\n\t\t\tvar globalErrors = this.getGlobalErrors();\n\n\t\t\t// vars\n\t\t\tvar errorCount = 0;\n\t\t\tvar $scrollTo = false;\n\n\t\t\t// loop\n\t\t\tfieldErrors.map( function ( error ) {\n\t\t\t\t// get input\n\t\t\t\tvar $input = this.$( '[name=\"' + error.input + '\"]' ).first();\n\n\t\t\t\t// if $_POST value was an array, this $input may not exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\t$input = this.$( '[name^=\"' + error.input + '\"]' ).first();\n\t\t\t\t}\n\n\t\t\t\t// bail early if input doesn't exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// increase\n\t\t\t\terrorCount++;\n\n\t\t\t\t// get field\n\t\t\t\tvar field = acf.getClosestField( $input );\n\n\t\t\t\t// make sure the postbox containing this field is not hidden by screen options\n\t\t\t\tensureFieldPostBoxIsVisible( field.$el );\n\n\t\t\t\t// show error\n\t\t\t\tfield.showError( error.message );\n\n\t\t\t\t// set $scrollTo\n\t\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t\t$scrollTo = field.$el;\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// errorMessage\n\t\t\tvar errorMessage = acf.__( 'Validation failed' );\n\t\t\tglobalErrors.map( function ( error ) {\n\t\t\t\terrorMessage += '. ' + error.message;\n\t\t\t} );\n\t\t\tif ( errorCount == 1 ) {\n\t\t\t\terrorMessage += '. ' + acf.__( '1 field requires attention' );\n\t\t\t} else if ( errorCount > 1 ) {\n\t\t\t\terrorMessage +=\n\t\t\t\t\t'. ' +\n\t\t\t\t\tacf\n\t\t\t\t\t\t.__( '%d fields require attention' )\n\t\t\t\t\t\t.replace( '%d', errorCount );\n\t\t\t}\n\n\t\t\t// notice\n\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tvar notice = acf.newNotice( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t\ttarget: this.$el,\n\t\t\t\t} );\n\t\t\t\tthis.set( 'notice', notice );\n\t\t\t}\n\n\t\t\t// If in a modal, don't try to scroll.\n\t\t\tif ( this.$el.parents( '.acf-popup-box' ).length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if no $scrollTo, set to message\n\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t$scrollTo = this.get( 'notice' ).$el;\n\t\t\t}\n\n\t\t\t// timeout\n\t\t\tsetTimeout( function () {\n\t\t\t\t$( 'html, body' ).animate(\n\t\t\t\t\t{\n\t\t\t\t\t\tscrollTop:\n\t\t\t\t\t\t\t$scrollTo.offset().top - $( window ).height() / 2,\n\t\t\t\t\t},\n\t\t\t\t\t500\n\t\t\t\t);\n\t\t\t}, 10 );\n\t\t},\n\n\t\t/**\n\t\t * onChangeStatus\n\t\t *\n\t\t * Update the form class when changing the 'status' data\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The form element.\n\t\t * @param\tstring value The new status.\n\t\t * @param\tstring prevValue The old status.\n\t\t * @return\tvoid\n\t\t */\n\t\tonChangeStatus: function ( e, $el, value, prevValue ) {\n\t\t\tthis.$el.removeClass( 'is-' + prevValue ).addClass( 'is-' + value );\n\t\t},\n\n\t\t/**\n\t\t * validate\n\t\t *\n\t\t * Vaildates the form via AJAX.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject args A list of settings to customize the validation process.\n\t\t * @return\tbool True if the form is valid.\n\t\t */\n\t\tvalidate: function ( args ) {\n\t\t\t// default args\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\t// trigger event\n\t\t\t\tevent: false,\n\n\t\t\t\t// reset the form after submit\n\t\t\t\treset: false,\n\n\t\t\t\t// loading callback\n\t\t\t\tloading: function () {},\n\n\t\t\t\t// complete callback\n\t\t\t\tcomplete: function () {},\n\n\t\t\t\t// failure callback\n\t\t\t\tfailure: function () {},\n\n\t\t\t\t// success callback\n\t\t\t\tsuccess: function ( $form ) {\n\t\t\t\t\t$form.submit();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// return true if is valid - allows form submit\n\t\t\tif ( this.get( 'status' ) == 'valid' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return false if is currently validating - prevents form submit\n\t\t\tif ( this.get( 'status' ) == 'validating' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return true if no ACF fields exist (no need to validate)\n\t\t\tif ( ! this.$( '.acf-field' ).length ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// if event is provided, create a new success callback.\n\t\t\tif ( args.event ) {\n\t\t\t\tvar event = $.Event( null, args.event );\n\t\t\t\targs.success = function () {\n\t\t\t\t\tacf.enableSubmit( $( event.target ) ).trigger( event );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// action for 3rd party\n\t\t\tacf.doAction( 'validation_begin', this.$el );\n\n\t\t\t// lock form\n\t\t\tacf.lockForm( this.$el );\n\n\t\t\t// loading callback\n\t\t\targs.loading( this.$el, this );\n\n\t\t\t// update status\n\t\t\tthis.set( 'status', 'validating' );\n\n\t\t\t// success callback\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// validate\n\t\t\t\tif ( ! acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// filter\n\t\t\t\tvar data = acf.applyFilters(\n\t\t\t\t\t'validation_complete',\n\t\t\t\t\tjson.data,\n\t\t\t\t\tthis.$el,\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\t// add errors\n\t\t\t\tif ( ! data.valid ) {\n\t\t\t\t\tthis.addErrors( data.errors );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// complete\n\t\t\tvar onComplete = function () {\n\t\t\t\t// unlock form\n\t\t\t\tacf.unlockForm( this.$el );\n\n\t\t\t\t// failure\n\t\t\t\tif ( this.hasErrors() ) {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'invalid' );\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_failure', this.$el, this );\n\n\t\t\t\t\t// display errors\n\t\t\t\t\tthis.showErrors();\n\n\t\t\t\t\t// failure callback\n\t\t\t\t\targs.failure( this.$el, this );\n\n\t\t\t\t\t// success\n\t\t\t\t} else {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'valid' );\n\n\t\t\t\t\t// remove previous error message\n\t\t\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\t\ttext: acf.__( 'Validation successful' ),\n\t\t\t\t\t\t\ttimeout: 1000,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_success', this.$el, this );\n\t\t\t\t\tacf.doAction( 'submit', this.$el );\n\n\t\t\t\t\t// success callback (submit form)\n\t\t\t\t\targs.success( this.$el, this );\n\n\t\t\t\t\t// lock form\n\t\t\t\t\tacf.lockForm( this.$el );\n\n\t\t\t\t\t// reset\n\t\t\t\t\tif ( args.reset ) {\n\t\t\t\t\t\tthis.reset();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// complete callback\n\t\t\t\targs.complete( this.$el, this );\n\n\t\t\t\t// clear errors\n\t\t\t\tthis.clearErrors();\n\t\t\t};\n\n\t\t\t// serialize form data\n\t\t\tvar data = acf.serialize( this.$el );\n\t\t\tdata.action = 'acf/validate_save_post';\n\n\t\t\t// ajax\n\t\t\t$.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( data ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// return false to fail validation and allow AJAX\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this instance\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\tsetup: function ( $form ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $form;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the validation to be used again.\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function () {\n\t\t\t// reset data\n\t\t\tthis.set( 'errors', [] );\n\t\t\tthis.set( 'notice', null );\n\t\t\tthis.set( 'status', '' );\n\n\t\t\t// unlock form\n\t\t\tacf.unlockForm( this.$el );\n\t\t},\n\t} );\n\n\t/**\n\t * getValidator\n\t *\n\t * Returns the instance for a given form element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $el The form element.\n\t * @return\tobject\n\t */\n\tvar getValidator = function ( $el ) {\n\t\t// instantiate\n\t\tvar validator = $el.data( 'acf' );\n\t\tif ( ! validator ) {\n\t\t\tvalidator = new Validator( $el );\n\t\t}\n\n\t\t// return\n\t\treturn validator;\n\t};\n\n\t/**\n\t * acf.validateForm\n\t *\n\t * A helper function for the Validator.validate() function.\n\t * Returns true if form is valid, or fetches a validation request and returns false.\n\t *\n\t * @date\t4/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject args A list of settings to customize the validation process.\n\t * @return\tbool\n\t */\n\n\tacf.validateForm = function ( args ) {\n\t\treturn getValidator( args.form ).validate( args );\n\t};\n\n\t/**\n\t * acf.enableSubmit\n\t *\n\t * Enables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.enableSubmit = function ( $submit ) {\n\t\treturn $submit.removeClass( 'disabled' ).removeAttr( 'disabled' );\n\t};\n\n\t/**\n\t * acf.disableSubmit\n\t *\n\t * Disables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.disableSubmit = function ( $submit ) {\n\t\treturn $submit.addClass( 'disabled' ).attr( 'disabled', true );\n\t};\n\n\t/**\n\t * acf.showSpinner\n\t *\n\t * Shows the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.showSpinner = function ( $spinner ) {\n\t\t$spinner.addClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'inline-block' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.hideSpinner\n\t *\n\t * Hides the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.hideSpinner = function ( $spinner ) {\n\t\t$spinner.removeClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'none' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.lockForm\n\t *\n\t * Locks a form by disabeling its primary inputs and showing a spinner.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.lockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap\n\t\t\t.find( '.button, [type=\"submit\"]' )\n\t\t\t.not( '.acf-nav, .acf-repeater-add-row' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// hide all spinners (hides the preview spinner)\n\t\tacf.hideSpinner( $spinner );\n\n\t\t// lock\n\t\tacf.disableSubmit( $submit );\n\t\tacf.showSpinner( $spinner.last() );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * acf.unlockForm\n\t *\n\t * Unlocks a form by enabeling its primary inputs and hiding all spinners.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.unlockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap\n\t\t\t.find( '.button, [type=\"submit\"]' )\n\t\t\t.not( '.acf-nav, .acf-repeater-add-row' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// unlock\n\t\tacf.enableSubmit( $submit );\n\t\tacf.hideSpinner( $spinner );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * findSubmitWrap\n\t *\n\t * An internal function to find the 'primary' form submit wrapping element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tvar findSubmitWrap = function ( $form ) {\n\t\t// default post submit div\n\t\tvar $wrap = $form.find( '#submitdiv' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// 3rd party publish box\n\t\tvar $wrap = $form.find( '#submitpost' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// term, user\n\t\tvar $wrap = $form.find( 'p.submit' ).last();\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// front end form\n\t\tvar $wrap = $form.find( '.acf-form-submit' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// ACF 6.2 options page modal\n\t\tvar $wrap = $( '#acf-create-options-page-form .acf-actions' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// ACF 6.0+ headerbar submit\n\t\tvar $wrap = $( '.acf-headerbar-actions' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// default\n\t\treturn $form;\n\t};\n\n\t/**\n\t * A debounced function to trigger a form submission.\n\t *\n\t * @date\t15/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\ttype Var Description.\n\t * @return\ttype Description.\n\t */\n\tvar submitFormDebounced = acf.debounce( function ( $form ) {\n\t\t$form.submit();\n\t} );\n\n\t/**\n\t * Ensure field is visible for validation errors\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureFieldPostBoxIsVisible = function ( $el ) {\n\t\t// Find the postbox element containing this field.\n\t\tvar $postbox = $el.parents( '.acf-postbox' );\n\t\tif ( $postbox.length ) {\n\t\t\tvar acf_postbox = acf.getPostbox( $postbox );\n\t\t\tif ( acf_postbox && acf_postbox.isHiddenByScreenOptions() ) {\n\t\t\t\t// Rather than using .show() here, we don't want the field to appear next reload.\n\t\t\t\t// So just temporarily show the field group so validation can complete.\n\t\t\t\tacf_postbox.$el.removeClass( 'hide-if-js' );\n\t\t\t\tacf_postbox.$el.css( 'display', '' );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Ensure metaboxes which contain browser validation failures are visible.\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureInvalidFieldVisibility = function () {\n\t\t// Load each ACF input field and check it's browser validation state.\n\t\tvar $inputs = $( '.acf-field input' );\n\t\t$inputs.each( function () {\n\t\t\tif ( ! this.checkValidity() ) {\n\t\t\t\t// Field is invalid, so we need to make sure it's metabox is visible.\n\t\t\t\tensureFieldPostBoxIsVisible( $( this ) );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * acf.validation\n\t *\n\t * Global validation logic\n\t *\n\t * @date\t4/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tacf.validation = new acf.Model( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'validation',\n\n\t\t/** @var bool The active state. Set to false before 'prepare' to prevent validation. */\n\t\tactive: true,\n\n\t\t/** @var string The model initialize time. */\n\t\twait: 'prepare',\n\n\t\t/** @var object The model actions. */\n\t\tactions: {\n\t\t\tready: 'addInputEvents',\n\t\t\tappend: 'addInputEvents',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'click input[type=\"submit\"]': 'onClickSubmit',\n\t\t\t'click button[type=\"submit\"]': 'onClickSubmit',\n\t\t\t//'click #editor .editor-post-publish-button': 'onClickSubmitGutenberg',\n\t\t\t'click #save-post': 'onClickSave',\n\t\t\t'submit form#post': 'onSubmitPost',\n\t\t\t'submit form': 'onSubmit',\n\t\t},\n\n\t\t/**\n\t\t * initialize\n\t\t *\n\t\t * Called when initializing the model.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tinitialize: function () {\n\t\t\t// check 'validation' setting\n\t\t\tif ( ! acf.get( 'validation' ) ) {\n\t\t\t\tthis.active = false;\n\t\t\t\tthis.actions = {};\n\t\t\t\tthis.events = {};\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * enable\n\t\t *\n\t\t * Enables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\t/**\n\t\t * disable\n\t\t *\n\t\t * Disables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the form validation to be used again\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function ( $form ) {\n\t\t\tgetValidator( $form ).reset();\n\t\t},\n\n\t\t/**\n\t\t * addInputEvents\n\t\t *\n\t\t * Adds 'invalid' event listeners to HTML inputs.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $el The element being added / readied.\n\t\t * @return\tvoid\n\t\t */\n\t\taddInputEvents: function ( $el ) {\n\t\t\t// Bug exists in Safari where custom \"invalid\" handling prevents draft from saving.\n\t\t\tif ( acf.get( 'browser' ) === 'safari' ) return;\n\n\t\t\t// vars\n\t\t\tvar $inputs = $( '.acf-field [name]', $el );\n\n\t\t\t// check\n\t\t\tif ( $inputs.length ) {\n\t\t\t\tthis.on( $inputs, 'invalid', 'onInvalid' );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onInvalid\n\t\t *\n\t\t * Callback for the 'invalid' event.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonInvalid: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\t// - prevents browser error message\n\t\t\t// - also fixes chrome bug where 'hidden-by-tab' field throws focus error\n\t\t\te.preventDefault();\n\n\t\t\t// vars\n\t\t\tvar $form = $el.closest( 'form' );\n\n\t\t\t// check form exists\n\t\t\tif ( $form.length ) {\n\t\t\t\t// add error to validator\n\t\t\t\tgetValidator( $form ).addError( {\n\t\t\t\t\tinput: $el.attr( 'name' ),\n\t\t\t\t\tmessage: acf.strEscape( e.target.validationMessage ),\n\t\t\t\t} );\n\n\t\t\t\t// trigger submit on $form\n\t\t\t\t// - allows for \"save\", \"preview\" and \"publish\" to work\n\t\t\t\tsubmitFormDebounced( $form );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onClickSubmit\n\t\t *\n\t\t * Callback when clicking submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSubmit: function ( e, $el ) {\n\t\t\t// Some browsers (safari) force their browser validation before our AJAX validation,\n\t\t\t// so we need to make sure fields are visible earlier than showErrors()\n\t\t\tensureInvalidFieldVisibility();\n\n\t\t\t// store the \"click event\" for later use in this.onSubmit()\n\t\t\tthis.set( 'originalEvent', e );\n\t\t},\n\n\t\t/**\n\t\t * onClickSave\n\t\t *\n\t\t * Set ignore to true when saving a draft.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSave: function ( e, $el ) {\n\t\t\tthis.set( 'ignore', true );\n\t\t},\n\n\t\t/**\n\t\t * onClickSubmitGutenberg\n\t\t *\n\t\t * Custom validation event for the gutenberg editor.\n\t\t *\n\t\t * @date\t29/10/18\n\t\t * @since\t5.8.0\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSubmitGutenberg: function ( e, $el ) {\n\t\t\t// validate\n\t\t\tvar valid = acf.validateForm( {\n\t\t\t\tform: $( '#editor' ),\n\t\t\t\tevent: e,\n\t\t\t\treset: true,\n\t\t\t\tfailure: function ( $form, validator ) {\n\t\t\t\t\tvar $notice = validator.get( 'notice' ).$el;\n\t\t\t\t\t$notice.appendTo( '.components-notice-list' );\n\t\t\t\t\t$notice\n\t\t\t\t\t\t.find( '.acf-notice-dismiss' )\n\t\t\t\t\t\t.removeClass( 'small' );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// if not valid, stop event and allow validation to continue\n\t\t\tif ( ! valid ) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onSubmitPost\n\t\t *\n\t\t * Callback when the 'post' form is submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmitPost: function ( e, $el ) {\n\t\t\t// Check if is preview.\n\t\t\tif ( $( 'input#wp-preview' ).val() === 'dopreview' ) {\n\t\t\t\t// Ignore validation.\n\t\t\t\tthis.set( 'ignore', true );\n\n\t\t\t\t// Unlock form to fix conflict with core \"submit.edit-post\" event causing all submit buttons to be disabled.\n\t\t\t\tacf.unlockForm( $el );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onSubmit\n\t\t *\n\t\t * Callback when the form is submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// Allow form to submit if...\n\t\t\tif (\n\t\t\t\t// Validation has been disabled.\n\t\t\t\t! this.active ||\n\t\t\t\t// Or this event is to be ignored.\n\t\t\t\tthis.get( 'ignore' ) ||\n\t\t\t\t// Or this event has already been prevented.\n\t\t\t\te.isDefaultPrevented()\n\t\t\t) {\n\t\t\t\t// Return early and call reset function.\n\t\t\t\treturn this.allowSubmit();\n\t\t\t}\n\n\t\t\t// Validate form.\n\t\t\tvar valid = acf.validateForm( {\n\t\t\t\tform: $el,\n\t\t\t\tevent: this.get( 'originalEvent' ),\n\t\t\t} );\n\n\t\t\t// If not valid, stop event to prevent form submit.\n\t\t\tif ( ! valid ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * allowSubmit\n\t\t *\n\t\t * Resets data during onSubmit when the form is allowed to submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tallowSubmit: function () {\n\t\t\t// Reset \"ignore\" state.\n\t\t\tthis.set( 'ignore', false );\n\n\t\t\t// Reset \"originalEvent\" object.\n\t\t\tthis.set( 'originalEvent', false );\n\n\t\t\t// Return true\n\t\t\treturn true;\n\t\t},\n\t} );\n\n\tvar gutenbergValidation = new acf.Model( {\n\t\twait: 'prepare',\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenberg() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Custommize the editor.\n\t\t\tthis.customizeEditor();\n\t\t},\n\t\tcustomizeEditor: function () {\n\t\t\t// Extract vars.\n\t\t\tvar editor = wp.data.dispatch( 'core/editor' );\n\t\t\tvar editorSelect = wp.data.select( 'core/editor' );\n\t\t\tvar notices = wp.data.dispatch( 'core/notices' );\n\n\t\t\t// Backup original method.\n\t\t\tvar savePost = editor.savePost;\n\n\t\t\t// Listen for changes to post status and perform actions:\n\t\t\t// a) Enable validation for \"publish\" action.\n\t\t\t// b) Remember last non \"publish\" status used for restoring after validation fail.\n\t\t\tvar useValidation = false;\n\t\t\tvar lastPostStatus = '';\n\t\t\twp.data.subscribe( function () {\n\t\t\t\tvar postStatus =\n\t\t\t\t\teditorSelect.getEditedPostAttribute( 'status' );\n\t\t\t\tuseValidation =\n\t\t\t\t\tpostStatus === 'publish' || postStatus === 'future';\n\t\t\t\tlastPostStatus =\n\t\t\t\t\tpostStatus !== 'publish' ? postStatus : lastPostStatus;\n\t\t\t} );\n\n\t\t\t// Create validation version.\n\t\t\teditor.savePost = function ( options ) {\n\t\t\t\toptions = options || {};\n\n\t\t\t\t// Backup vars.\n\t\t\t\tvar _this = this;\n\t\t\t\tvar _args = arguments;\n\n\t\t\t\t// Perform validation within a Promise.\n\t\t\t\treturn new Promise( function ( resolve, reject ) {\n\t\t\t\t\t// Bail early if is autosave or preview.\n\t\t\t\t\tif ( options.isAutosave || options.isPreview ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (autosave).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Bail early if validation is not needed.\n\t\t\t\t\tif ( ! useValidation ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (draft).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Validate the editor form.\n\t\t\t\t\tvar valid = acf.validateForm( {\n\t\t\t\t\t\tform: $( '#editor' ),\n\t\t\t\t\t\treset: true,\n\t\t\t\t\t\tcomplete: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Always unlock the form after AJAX.\n\t\t\t\t\t\t\teditor.unlockPostSaving( 'acf' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfailure: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Get validation error and append to Gutenberg notices.\n\t\t\t\t\t\t\tvar notice = validator.get( 'notice' );\n\t\t\t\t\t\t\tnotices.createErrorNotice( notice.get( 'text' ), {\n\t\t\t\t\t\t\t\tid: 'acf-validation',\n\t\t\t\t\t\t\t\tisDismissible: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tnotice.remove();\n\n\t\t\t\t\t\t\t// Restore last non \"publish\" status.\n\t\t\t\t\t\t\tif ( lastPostStatus ) {\n\t\t\t\t\t\t\t\teditor.editPost( {\n\t\t\t\t\t\t\t\t\tstatus: lastPostStatus,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Rejext promise and prevent savePost().\n\t\t\t\t\t\t\treject( 'Validation failed.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess: function () {\n\t\t\t\t\t\t\tnotices.removeNotice( 'acf-validation' );\n\n\t\t\t\t\t\t\t// Resolve promise and allow savePost().\n\t\t\t\t\t\t\tresolve( 'Validation success.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Resolve promise and allow savePost() if no validation is needed.\n\t\t\t\t\tif ( valid ) {\n\t\t\t\t\t\tresolve( 'Validation bypassed.' );\n\n\t\t\t\t\t\t// Otherwise, lock the form and wait for AJAX response.\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor.lockPostSaving( 'acf' );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\t.then( function () {\n\t\t\t\t\t\treturn savePost.apply( _this, _args );\n\t\t\t\t\t},\n\t\t\t\t\t( err ) => {\n\t\t\t\t\t\t// Nothing to do here, user is alerted of validation issues.\n\t\t\t\t\t} );\n\t\t\t};\n\t\t},\n\t} );\n} )( jQuery );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_acf-field.js';\nimport './_acf-fields.js';\nimport './_acf-field-accordion.js';\nimport './_acf-field-button-group.js';\nimport './_acf-field-checkbox.js';\nimport './_acf-field-color-picker.js';\nimport './_acf-field-date-picker.js';\nimport './_acf-field-date-time-picker.js';\nimport './_acf-field-google-map.js';\nimport './_acf-field-image.js';\nimport './_acf-field-file.js';\nimport './_acf-field-link.js';\nimport './_acf-field-oembed.js';\nimport './_acf-field-radio.js';\nimport './_acf-field-range.js';\nimport './_acf-field-relationship.js';\nimport './_acf-field-select.js';\nimport './_acf-field-tab.js';\nimport './_acf-field-post-object.js';\nimport './_acf-field-page-link.js';\nimport './_acf-field-user.js';\nimport './_acf-field-taxonomy.js';\nimport './_acf-field-time-picker.js';\nimport './_acf-field-true-false.js';\nimport './_acf-field-url.js';\nimport './_acf-field-wysiwyg.js';\nimport './_acf-condition.js';\nimport './_acf-conditions.js';\nimport './_acf-condition-types.js';\nimport './_acf-unload.js';\nimport './_acf-postbox.js';\nimport './_acf-media.js';\nimport './_acf-screen.js';\nimport './_acf-select2.js';\nimport './_acf-tinymce.js';\nimport './_acf-validation.js';\nimport './_acf-helpers.js';\nimport './_acf-compatibility.js';\n"],"names":["$","undefined","acf","newCompatibility","instance","compatibilty","__proto__","compatibility","getCompatibility","_acf","l10n","o","fields","update","set","add_action","addAction","remove_action","removeAction","do_action","doAction","add_filter","addFilter","remove_filter","removeFilter","apply_filters","applyFilters","parse_args","parseArgs","disable_el","disable","disable_form","enable_el","enable","enable_form","update_user_setting","updateUserSetting","prepare_for_ajax","prepareForAjax","is_ajax_success","isAjaxSuccess","remove_el","remove","remove_tr","str_replace","strReplace","render_select","renderSelect","get_uniqid","uniqid","serialize_form","serialize","esc_html","strEscape","str_sanitize","strSanitize","_e","k1","k2","compatKey","compats","__","string","get_selector","s","selector","isPlainObject","isEmptyObject","k","get_fields","$el","all","args","is","parent","suppressFilters","findFields","get_field","$fields","apply","arguments","length","first","get_closest_field","closest","get_field_wrap","get_field_key","$field","data","get_field_type","get_data","defaults","maybe_get","obj","key","value","keys","String","split","i","hasOwnProperty","compatibleArgument","arg","Field","compatibleArguments","arrayArgs","map","compatibleCallback","origCallback","document","action","callback","priority","context","actions","model","filters","events","extend","each","name","_add_action","_add_filter","_add_event","indexOf","event","substr","fn","e","field_group","on","get","field","type","_set_$field","focus","doFocus","_validation","validation","remove_error","getField","removeError","add_warning","message","showNotice","text","timeout","fetch","validateForm","enableSubmit","disableSubmit","showSpinner","hideSpinner","unlockForm","lockForm","tooltip","newTooltip","target","temp","confirm","button_y","button_n","cancel","confirm_remove","confirmRemove","media","Model","activeFrame","new_media_popup","frame","onNewMediaPopup","popup","props","mime_types","allowedTypes","id","attachment","newMediaPopup","select2","init","$select","allow_null","allowNull","ajax_action","ajaxAction","newSelect2","destroy","getInstance","postbox","render","edit_url","editLink","edit_title","editTitle","newPostbox","screen","check","ajax","jQuery","parseString","val","isEqualTo","v1","v2","toLowerCase","isEqualToNumber","parseFloat","isGreaterThan","isLessThan","inArray","array","containsString","haystack","needle","matchesPattern","pattern","regexp","RegExp","match","HasValue","Condition","operator","label","fieldTypes","rule","Array","choices","fieldObject","registerConditionType","HasNoValue","prototype","EqualTo","isNumeric","NotEqualTo","PatternMatch","Contains","TrueFalseEqualTo","choiceType","TrueFalseNotEqualTo","SelectEqualTo","lines","$setting","$input","prop","push","line","trim","SelectNotEqualTo","GreaterThan","LessThan","SelectionGreaterThan","SelectionLessThan","storage","conditions","change","keyup","enableField","disableField","setup","getEventTarget","calculate","newCondition","fieldType","conditionTypes","getConditionTypes","condition","modelId","strPascalCase","proto","mid","models","getConditionType","registerConditionForFieldType","conditionType","types","ProtoFieldTypes","ProtoOperator","CONTEXT","conditionsManager","new_field","onNewField","has","getConditions","getSiblingField","getFields","sibling","parents","Conditions","timeStamp","groups","rules","addRules","addRule","changed","show","hide","showEnable","cid","hideDisable","pass","getGroups","group","passed","filter","hasGroups","addGroup","hasGroup","getGroup","removeGroup","delete","groupArray","hasRule","getRule","removeRule","wait","$control","initialize","hasClass","$label","$labelWrap","$inputWrap","$wrap","$instructions","children","append","$table","$newLabel","$newInput","$newTable","attr","$newWrap","html","addClass","order","getPreference","css","prepend","accordionManager","iconHtml","open","$parent","nextUntil","removeAttr","registerFieldType","unload","isOpen","toggle","close","isGutenberg","duration","find","slideDown","replaceWith","siblings","slideUp","removeClass","onClick","preventDefault","onInvalidField","busy","setTimeout","onUnload","setPreference","setValue","trigger","selected","$toggle","$inputs","not","getValue","onChange","checked","onClickAdd","getInputName","before","last","onClickToggle","$labels","onClickCustom","$text","next","duplicateField","$inputText","iris","defaultColor","palettes","clear","wpColorPicker","onDuplicate","$duplicate","$colorPicker","initializeCompatibility","dateFormat","altField","altFormat","changeYear","yearRange","changeMonth","showButtonPanel","firstDay","newDatePicker","datepicker","onBlur","datePickerManager","locale","rtl","isRTL","regional","setDefaults","exists","wrap","DatePickerField","timeFormat","altFieldTimeOnly","altTimeFormat","controlType","oneLine","newDateTimePicker","dateTimePickerManager","timepicker","datetimepicker","ImageField","validateAttachment","attributes","url","alt","title","filename","filesizeHumanReadable","icon","src","selectAttachment","multiple","mode","library","select","proxy","editAttachment","button","showField","$search","$canvas","setState","state","JSON","parse","silent","valAttr","stringify","renderVal","address","setPosition","lat","lng","marker","setVisible","newLatLng","google","maps","LatLng","center","position","getPosition","setCenter","withAPI","initializeMap","bind","zoom","mapArgs","scrollwheel","parseInt","mapTypeId","MapTypeId","ROADMAP","draggable","raiseOnDrag","autocomplete","Map","markerArgs","Marker","isset","autocompleteArgs","places","Autocomplete","bindTo","addMapEvents","addListener","latLng","searchPosition","place","getPlace","searchPlace","getZoom","geocoder","geocode","location","results","status","replace","parseResult","geometry","formatted_address","searchAddress","searchLocation","navigator","geolocation","alert","getCurrentPosition","coords","latitude","longitude","error","result","place_id","street_number","street_name","city","post_code","country","keywords","address_components","component","component_type","long_name","short_name","onClickClear","onClickLocate","onClickSearch","onFocusSearch","onBlurSearch","onKeyupSearch","onKeydownSearch","which","blur","onShow","loading","window","Geocoder","dataType","cache","success","caption","description","width","height","size","isget","getNext","removeAttachment","onClickEdit","onClickRemove","$hiddenInput","getFileInputData","param","$node","$div","wpLink","getNodeValue","decode","setNodeValue","getInputValue","setInputValue","$textarea","onOpen","wpLinkL10n","onClose","$submit","isSubmit","off","getSearchVal","showLoading","hideLoading","maybeSearch","prevUrl","clearTimeout","search","ajaxData","field_key","xhr","abort","json","complete","onKeypressSearch","onChangeSearch","SelectField","$inputAlt","$list","list","$listItems","$listItem","newChoice","join","newValue","delayed","once","sortable","items","forceHelperSize","forcePlaceholderSize","scroll","scrollTop","onScrollChoices","one","onceInView","Math","ceil","scrollHeight","innerHeight","paged","onKeypressFilter","onChangeFilter","maybeFetch","max","$span","$li","onTouchStartValues","getAjaxData","$choiceslist","$loading","onComplete","onSuccess","more","walkChoices","$html","$prevLabel","$prevList","walk","isArray","item","escHtml","escAttr","removeField","inherit","placeholder","onRemove","tabs","tab","findTabs","prevAll","findTab","$tabs","$tab","settings","endpoint","placement","Tabs","addTab","isActive","showFields","hiddenByTab","hideFields","lockKey","visible","refresh","hidden","reset","active","close_field_object","index","initialized","$before","ulClass","initializeTabs","getVisible","shift","groupIndex","tabIndex","isVisible","selectTab","closeTabs","getActive","setActive","hasActive","closeActive","closeTab","openTab","t","$a","outerHTML","classes","Tab","onRefresh","attribute","top","outerHeight","onCloseFieldObject","tabsManager","prepare","invalid_field","getTabs","getInstances","ftype","getRelatedPrototype","getRelatedType","getFieldType","$form","$name","$button","$message","notice","step1","newPopup","step2","content","step3","stopImmediatePropagation","startButtonLoading","term_name","term_parent","step4","stopButtonLoading","step5","newNotice","getAjaxMessage","dismiss","getAjaxError","term","$option","term_id","term_label","after","otherField","appendTerm","selectTerm","appendTermSelect","appendTermCheckbox","addOption","$ul","selectOption","onClickRadio","closeText","selectText","timeOnly","dp_instance","t_instance","$close","dpDiv","_updateDateTime","newTimePicker","$switch","$on","$off","switchOn","switchOff","onFocus","onKeypress","keyCode","isValid","onkeyup","query_nonce","user_query_nonce","unmountField","remountField","getMode","initializeEditor","tinymce","quicktags","toolbar","oldId","newId","uniqueId","inputData","inputVal","rename","destructive","onMousedown","enableEditor","disableEditor","eventScope","$parents","removeNotice","away","showError","bubbles","newField","getFieldTypes","category","limit","excludeSubFields","slice","findField","findClosestField","getClosestField","addGlobalFieldAction","globalAction","pluralAction","singleAction","globalCallback","extraArgs","pluralArgs","concat","pluralCallback","singleArgs","addSingleFieldAction","singleEvent","singleCallback","variations","variation","prefix","singleFieldEvents","globalFieldActions","singleFieldActions","fieldsEventManager","duplicateFieldsManager","duplicate","duplicate_fields","$el2","onDuplicateFields","duplicates","refreshHelper","show_field","hide_field","remove_field","unmount_field","remount_field","mountHelper","sortstart","sortstop","onSortstart","$item","onSortstop","sortableHelper","$placeholder","duplicateHelper","after_duplicate","onAfterDuplicate","vals","tableHelper","renderTables","self","renderTable","$ths","$tds","$th","$cells","$hidden","availableWidth","colspan","$fixedWidths","$auoWidths","$td","fieldsHelper","renderGroups","renderGroup","$row","thisTop","thisLeft","left","outerWidth","thisHeight","add","bodyClassShiftHelper","keydown","isShiftKey","onKeyDown","onKeyUp","autoOpen","EditMediaPopup","SelectMediaPopup","getPostID","postID","getMimeTypes","getMimeType","allTypes","MediaPopup","options","getFrameOptions","addFrameStates","wp","addFrameEvents","detach","states","uploadedTo","post__in","Query","query","mirroring","_acfuploader","controller","Library","filterable","editable","allowLocalEdits","EditImage","image","view","loadEditor","selection","_x","_wpPluploadSettings","multipart_params","console","log","customizeFilters","audio","video","mimeType","newFilter","orderby","unattached","uploaded","renderFilters","customizePrototypes","post","customizeAttachmentsButton","customizeAttachmentsRouter","customizeAttachmentFilters","customizeAttachmentCompat","customizeAttachmentLibrary","Button","_","Backbone","listenTo","Parent","Router","addExpand","AttachmentFilters","All","chain","el","sortBy","pluck","AttachmentCompat","rendered","save","serializeForAjax","saveCompat","always","postSave","AttachmentLibrary","Attachment","acf_errors","toggleSelection","collection","single","errors","$sidebar","postboxManager","getPostbox","getPostboxes","Postbox","style","edit","$postbox","$hide","$hideLabel","$hndle","$handleActions","$inside","isHiddenByScreenOptions","isPost","isUser","isTaxonomy","isAttachment","isNavMenu","isWidget","isComment","getPageTemplate","getPageParent","getPageType","getPostType","getPostFormat","getPostCoreTerms","terms","tax_input","post_category","tax","getPostTerms","productType","getProductType","product_type","uniqueArray","post_id","postType","post_type","pageTemplate","page_template","pageParent","page_parent","pageType","page_type","postFormat","post_format","postTerms","post_terms","renderPostScreen","renderUserScreen","copyEvents","$from","$to","_data","handler","sortMetabox","ids","wpMinorVersion","postboxHeader","$prefs","_result","sorted","gutenScreen","postEdits","isGutenbergPostEditor","subscribe","debounce","onRefreshPostScreen","domReady","getTaxonomies","taxonomy","rest_base","_postEdits","getPostEdits","getEditedPostAttribute","taxonomies","slug","dispatch","locations","getActiveMetaBoxLocations","getMetaBoxesPerLocation","m","r","setAvailableMetaBoxesPerLocation","ajaxResults","templateSelection","templateResult","dropdownCssClass","getVersion","Select2_4","Select2_3","Select2","getOption","unselectOption","option","$options","sort","a","b","getAttribute","mergeOptions","getChoices","crawl","$child","params","page","getAjaxResults","processAjaxResults","pagination","allowClear","escapeMarkup","markup","$selection","element","appendTo","attrAjax","removeData","delay","processResults","$container","stop","$prevOptions","$prevGroup","$group","separator","dropdownCss","initSelection","inputValue","quietMillis","choice","select2Manager","version","addTranslations4","addTranslations3","select2L10n","errorLoading","load_fail","inputTooLong","overChars","input","maximum","input_too_long_n","input_too_long_1","inputTooShort","remainingChars","minimum","input_too_short_n","input_too_short_1","loadingMore","load_more","maximumSelected","selection_too_long_n","selection_too_long_1","noResults","matches_0","searching","amd","define","formatMatches","matches","matches_n","matches_1","formatNoMatches","formatAjaxError","formatInputTooShort","min","formatInputTooLong","formatSelectionTooBig","formatLoadMore","formatSearching","locales","tinyMCEPreInit","mceInit","acf_content","qtInit","initializeTinymce","initializeQuicktags","toolbars","ed","MouseEvent","dispatchEvent","wp_autoresize_on","tadv_noautop","wpautop","buildQuicktags","canvas","theButtons","use","instanceId","buttons","edButtons","dfw","QTags","DFWButton","getElementsByTagName","dir","textdirection","TextDirectionButton","innerHTML","triggerHandler","destroyTinymce","enableTinymce","switchEditors","go","editorManager","ready","onPrepare","onReady","editor","autop","oldEditor","removep","editors","activeEditor","wpActiveEditor","validation_failure","validation_success","stopListening","startListening","Validator","addErrors","addError","hasErrors","clearErrors","getErrors","getFieldErrors","inputs","getGlobalErrors","showErrors","fieldErrors","globalErrors","errorCount","$scrollTo","ensureFieldPostBoxIsVisible","errorMessage","animate","offset","onChangeStatus","prevValue","validate","failure","submit","Event","valid","getValidator","validator","form","$spinner","findSubmitWrap","submitFormDebounced","acf_postbox","ensureInvalidFieldVisibility","checkValidity","addInputEvents","onInvalid","validationMessage","onClickSubmit","onClickSave","onClickSubmitGutenberg","$notice","onSubmitPost","onSubmit","isDefaultPrevented","allowSubmit","gutenbergValidation","customizeEditor","editorSelect","notices","savePost","useValidation","lastPostStatus","postStatus","_this","_args","Promise","resolve","reject","isAutosave","isPreview","unlockPostSaving","createErrorNotice","isDismissible","editPost","lockPostSaving","then","err"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"acf-input.js","mappings":"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hB,QAAQ,CAACtmC,KAAK,CAAE0mC,KAAK,EAAEC,KAAM,CAAC;QACtC,CAAC,EACCY,GAAG,IAAM;UACV;QAAA,CACC,CAAC;MACL,CAAC;IACF;EACD,CAAE,CAAC;AACJ,CAAC,EAAIhgC,MAAO,CAAC;;;;;;UCzpCb;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNyB;AACC;AACS;AACG;AACJ;AACI;AACD;AACK;AACN;AACL;AACD;AACA;AACE;AACD;AACA;AACO;AACN;AACH;AACQ;AACF;AACL;AACI;AACG;AACD;AACP;AACI;AACJ;AACC;AACK;AACT;AACC;AACF;AACC;AACC;AACA;AACG;AACH","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-button-group.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-checkbox.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-color-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-date-time-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-file.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-google-map.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-image.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-link.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-oembed.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-page-link.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-post-object.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-radio.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-range.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-relationship.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-select.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-tab.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-taxonomy.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-time-picker.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-true-false.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-url.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-user.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field-wysiwyg.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-field.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-fields.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-helpers.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-media.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-postbox.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-screen.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-select2.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-tinymce.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-unload.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_acf-validation.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-input.js"],"sourcesContent":["( function ( $, undefined ) {\n\t/**\n\t * acf.newCompatibility\n\t *\n\t * Inserts a new __proto__ object compatibility layer\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject instance The object to modify.\n\t * @param\tobject compatibilty Optional. The compatibilty layer.\n\t * @return\tobject compatibilty\n\t */\n\n\tacf.newCompatibility = function ( instance, compatibilty ) {\n\t\t// defaults\n\t\tcompatibilty = compatibilty || {};\n\n\t\t// inherit __proto_-\n\t\tcompatibilty.__proto__ = instance.__proto__;\n\n\t\t// inject\n\t\tinstance.__proto__ = compatibilty;\n\n\t\t// reference\n\t\tinstance.compatibility = compatibilty;\n\n\t\t// return\n\t\treturn compatibilty;\n\t};\n\n\t/**\n\t * acf.getCompatibility\n\t *\n\t * Returns the compatibility layer for a given instance\n\t *\n\t * @date\t13/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject\t\tinstance\t\tThe object to look in.\n\t * @return\tobject|null\tcompatibility\tThe compatibility object or null on failure.\n\t */\n\n\tacf.getCompatibility = function ( instance ) {\n\t\treturn instance.compatibility || null;\n\t};\n\n\t/**\n\t * acf (compatibility)\n\t *\n\t * Compatibility layer for the acf object\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar _acf = acf.newCompatibility( acf, {\n\t\t// storage\n\t\tl10n: {},\n\t\to: {},\n\t\tfields: {},\n\n\t\t// changed function names\n\t\tupdate: acf.set,\n\t\tadd_action: acf.addAction,\n\t\tremove_action: acf.removeAction,\n\t\tdo_action: acf.doAction,\n\t\tadd_filter: acf.addFilter,\n\t\tremove_filter: acf.removeFilter,\n\t\tapply_filters: acf.applyFilters,\n\t\tparse_args: acf.parseArgs,\n\t\tdisable_el: acf.disable,\n\t\tdisable_form: acf.disable,\n\t\tenable_el: acf.enable,\n\t\tenable_form: acf.enable,\n\t\tupdate_user_setting: acf.updateUserSetting,\n\t\tprepare_for_ajax: acf.prepareForAjax,\n\t\tis_ajax_success: acf.isAjaxSuccess,\n\t\tremove_el: acf.remove,\n\t\tremove_tr: acf.remove,\n\t\tstr_replace: acf.strReplace,\n\t\trender_select: acf.renderSelect,\n\t\tget_uniqid: acf.uniqid,\n\t\tserialize_form: acf.serialize,\n\t\tesc_html: acf.strEscape,\n\t\tstr_sanitize: acf.strSanitize,\n\t} );\n\n\t_acf._e = function ( k1, k2 ) {\n\t\t// defaults\n\t\tk1 = k1 || '';\n\t\tk2 = k2 || '';\n\n\t\t// compability\n\t\tvar compatKey = k2 ? k1 + '.' + k2 : k1;\n\t\tvar compats = {\n\t\t\t'image.select': 'Select Image',\n\t\t\t'image.edit': 'Edit Image',\n\t\t\t'image.update': 'Update Image',\n\t\t};\n\t\tif ( compats[ compatKey ] ) {\n\t\t\treturn acf.__( compats[ compatKey ] );\n\t\t}\n\n\t\t// try k1\n\t\tvar string = this.l10n[ k1 ] || '';\n\n\t\t// try k2\n\t\tif ( k2 ) {\n\t\t\tstring = string[ k2 ] || '';\n\t\t}\n\n\t\t// return\n\t\treturn string;\n\t};\n\n\t_acf.get_selector = function ( s ) {\n\t\t// vars\n\t\tvar selector = '.acf-field';\n\n\t\t// bail early if no search\n\t\tif ( ! s ) {\n\t\t\treturn selector;\n\t\t}\n\n\t\t// compatibility with object\n\t\tif ( $.isPlainObject( s ) ) {\n\t\t\tif ( $.isEmptyObject( s ) ) {\n\t\t\t\treturn selector;\n\t\t\t} else {\n\t\t\t\tfor ( var k in s ) {\n\t\t\t\t\ts = s[ k ];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// append\n\t\tselector += '-' + s;\n\n\t\t// replace underscores (split/join replaces all and is faster than regex!)\n\t\tselector = acf.strReplace( '_', '-', selector );\n\n\t\t// remove potential double up\n\t\tselector = acf.strReplace( 'field-field-', 'field-', selector );\n\n\t\t// return\n\t\treturn selector;\n\t};\n\n\t_acf.get_fields = function ( s, $el, all ) {\n\t\t// args\n\t\tvar args = {\n\t\t\tis: s || '',\n\t\t\tparent: $el || false,\n\t\t\tsuppressFilters: all || false,\n\t\t};\n\n\t\t// change 'field_123' to '.acf-field-123'\n\t\tif ( args.is ) {\n\t\t\targs.is = this.get_selector( args.is );\n\t\t}\n\n\t\t// return\n\t\treturn acf.findFields( args );\n\t};\n\n\t_acf.get_field = function ( s, $el ) {\n\t\t// get fields\n\t\tvar $fields = this.get_fields.apply( this, arguments );\n\n\t\t// return\n\t\tif ( $fields.length ) {\n\t\t\treturn $fields.first();\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t_acf.get_closest_field = function ( $el, s ) {\n\t\treturn $el.closest( this.get_selector( s ) );\n\t};\n\n\t_acf.get_field_wrap = function ( $el ) {\n\t\treturn $el.closest( this.get_selector() );\n\t};\n\n\t_acf.get_field_key = function ( $field ) {\n\t\treturn $field.data( 'key' );\n\t};\n\n\t_acf.get_field_type = function ( $field ) {\n\t\treturn $field.data( 'type' );\n\t};\n\n\t_acf.get_data = function ( $el, defaults ) {\n\t\treturn acf.parseArgs( $el.data(), defaults );\n\t};\n\n\t_acf.maybe_get = function ( obj, key, value ) {\n\t\t// default\n\t\tif ( value === undefined ) {\n\t\t\tvalue = null;\n\t\t}\n\n\t\t// get keys\n\t\tkeys = String( key ).split( '.' );\n\n\t\t// acf.isget\n\t\tfor ( var i = 0; i < keys.length; i++ ) {\n\t\t\tif ( ! obj.hasOwnProperty( keys[ i ] ) ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tobj = obj[ keys[ i ] ];\n\t\t}\n\t\treturn obj;\n\t};\n\n\t/**\n\t * hooks\n\t *\n\t * Modify add_action and add_filter functions to add compatibility with changed $field parameter\n\t * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field\n\t *\n\t * @date\t12/5/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar compatibleArgument = function ( arg ) {\n\t\treturn arg instanceof acf.Field ? arg.$el : arg;\n\t};\n\n\tvar compatibleArguments = function ( args ) {\n\t\treturn acf.arrayArgs( args ).map( compatibleArgument );\n\t};\n\n\tvar compatibleCallback = function ( origCallback ) {\n\t\treturn function () {\n\t\t\t// convert to compatible arguments\n\t\t\tif ( arguments.length ) {\n\t\t\t\tvar args = compatibleArguments( arguments );\n\n\t\t\t\t// add default argument for 'ready', 'append' and 'load' events\n\t\t\t} else {\n\t\t\t\tvar args = [ $( document ) ];\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn origCallback.apply( this, args );\n\t\t};\n\t};\n\n\t_acf.add_action = function ( action, callback, priority, context ) {\n\t\t// handle multiple actions\n\t\tvar actions = action.split( ' ' );\n\t\tvar length = actions.length;\n\t\tif ( length > 1 ) {\n\t\t\tfor ( var i = 0; i < length; i++ ) {\n\t\t\t\taction = actions[ i ];\n\t\t\t\t_acf.add_action.apply( this, arguments );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\t// single\n\t\tvar callback = compatibleCallback( callback );\n\t\treturn acf.addAction.apply( this, arguments );\n\t};\n\n\t_acf.add_filter = function ( action, callback, priority, context ) {\n\t\tvar callback = compatibleCallback( callback );\n\t\treturn acf.addFilter.apply( this, arguments );\n\t};\n\n\t/*\n\t * acf.model\n\t *\n\t * This model acts as a scafold for action.event driven modules\n\t *\n\t * @type\tobject\n\t * @date\t8/09/2014\n\t * @since\t5.0.0\n\t *\n\t * @param\t(object)\n\t * @return\t(object)\n\t */\n\n\t_acf.model = {\n\t\tactions: {},\n\t\tfilters: {},\n\t\tevents: {},\n\t\textend: function ( args ) {\n\t\t\t// extend\n\t\t\tvar model = $.extend( {}, this, args );\n\n\t\t\t// setup actions\n\t\t\t$.each( model.actions, function ( name, callback ) {\n\t\t\t\tmodel._add_action( name, callback );\n\t\t\t} );\n\n\t\t\t// setup filters\n\t\t\t$.each( model.filters, function ( name, callback ) {\n\t\t\t\tmodel._add_filter( name, callback );\n\t\t\t} );\n\n\t\t\t// setup events\n\t\t\t$.each( model.events, function ( name, callback ) {\n\t\t\t\tmodel._add_event( name, callback );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn model;\n\t\t},\n\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// split\n\t\t\tvar model = this,\n\t\t\t\tdata = name.split( ' ' );\n\n\t\t\t// add missing priority\n\t\t\tvar name = data[ 0 ] || '',\n\t\t\t\tpriority = data[ 1 ] || 10;\n\n\t\t\t// add action\n\t\t\tacf.add_action( name, model[ callback ], priority, model );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// split\n\t\t\tvar model = this,\n\t\t\t\tdata = name.split( ' ' );\n\n\t\t\t// add missing priority\n\t\t\tvar name = data[ 0 ] || '',\n\t\t\t\tpriority = data[ 1 ] || 10;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( name, model[ callback ], priority, model );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this,\n\t\t\t\ti = name.indexOf( ' ' ),\n\t\t\t\tevent = i > 0 ? name.substr( 0, i ) : name,\n\t\t\t\tselector = i > 0 ? name.substr( i + 1 ) : '';\n\n\t\t\t// event\n\t\t\tvar fn = function ( e ) {\n\t\t\t\t// append $el to event object\n\t\t\t\te.$el = $( this );\n\n\t\t\t\t// append $field to event object (used in field group)\n\t\t\t\tif ( acf.field_group ) {\n\t\t\t\t\te.$field = e.$el.closest( '.acf-field-object' );\n\t\t\t\t}\n\n\t\t\t\t// event\n\t\t\t\tif ( typeof model.event === 'function' ) {\n\t\t\t\t\te = model.event( e );\n\t\t\t\t}\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t};\n\n\t\t\t// add event\n\t\t\tif ( selector ) {\n\t\t\t\t$( document ).on( event, selector, fn );\n\t\t\t} else {\n\t\t\t\t$( document ).on( event, fn );\n\t\t\t}\n\t\t},\n\n\t\tget: function ( name, value ) {\n\t\t\t// defaults\n\t\t\tvalue = value || null;\n\n\t\t\t// get\n\t\t\tif ( typeof this[ name ] !== 'undefined' ) {\n\t\t\t\tvalue = this[ name ];\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn value;\n\t\t},\n\n\t\tset: function ( name, value ) {\n\t\t\t// set\n\t\t\tthis[ name ] = value;\n\n\t\t\t// function for 3rd party\n\t\t\tif ( typeof this[ '_set_' + name ] === 'function' ) {\n\t\t\t\tthis[ '_set_' + name ].apply( this );\n\t\t\t}\n\n\t\t\t// return for chaining\n\t\t\treturn this;\n\t\t},\n\t};\n\n\t/*\n\t * field\n\t *\n\t * This model sets up many of the field's interactions\n\t *\n\t * @type\tfunction\n\t * @date\t21/02/2014\n\t * @since\t3.5.1\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\t_acf.field = acf.model.extend( {\n\t\ttype: '',\n\t\to: {},\n\t\t$field: null,\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// update name\n\t\t\tname = name + '_field/type=' + model.type;\n\n\t\t\t// add action\n\t\t\tacf.add_action( name, function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_filter: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// update name\n\t\t\tname = name + '_field/type=' + model.type;\n\n\t\t\t// add action\n\t\t\tacf.add_filter( name, function ( $field ) {\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', $field );\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, arguments );\n\t\t\t} );\n\t\t},\n\n\t\t_add_event: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this,\n\t\t\t\tevent = name.substr( 0, name.indexOf( ' ' ) ),\n\t\t\t\tselector = name.substr( name.indexOf( ' ' ) + 1 ),\n\t\t\t\tcontext = acf.get_selector( model.type );\n\n\t\t\t// add event\n\t\t\t$( document ).on( event, context + ' ' + selector, function ( e ) {\n\t\t\t\t// vars\n\t\t\t\tvar $el = $( this );\n\t\t\t\tvar $field = acf.get_closest_field( $el, model.type );\n\n\t\t\t\t// bail early if no field\n\t\t\t\tif ( ! $field.length ) return;\n\n\t\t\t\t// focus\n\t\t\t\tif ( ! $field.is( model.$field ) ) {\n\t\t\t\t\tmodel.set( '$field', $field );\n\t\t\t\t}\n\n\t\t\t\t// append to event\n\t\t\t\te.$el = $el;\n\t\t\t\te.$field = $field;\n\n\t\t\t\t// callback\n\t\t\t\tmodel[ callback ].apply( model, [ e ] );\n\t\t\t} );\n\t\t},\n\n\t\t_set_$field: function () {\n\t\t\t// callback\n\t\t\tif ( typeof this.focus === 'function' ) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t},\n\n\t\t// depreciated\n\t\tdoFocus: function ( $field ) {\n\t\t\treturn this.set( '$field', $field );\n\t\t},\n\t} );\n\n\t/**\n\t * validation\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar _validation = acf.newCompatibility( acf.validation, {\n\t\tremove_error: function ( $field ) {\n\t\t\tacf.getField( $field ).removeError();\n\t\t},\n\t\tadd_warning: function ( $field, message ) {\n\t\t\tacf.getField( $field ).showNotice( {\n\t\t\t\ttext: message,\n\t\t\t\ttype: 'warning',\n\t\t\t\ttimeout: 1000,\n\t\t\t} );\n\t\t},\n\t\tfetch: acf.validateForm,\n\t\tenableSubmit: acf.enableSubmit,\n\t\tdisableSubmit: acf.disableSubmit,\n\t\tshowSpinner: acf.showSpinner,\n\t\thideSpinner: acf.hideSpinner,\n\t\tunlockForm: acf.unlockForm,\n\t\tlockForm: acf.lockForm,\n\t} );\n\n\t/**\n\t * tooltip\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.tooltip = {\n\t\ttooltip: function ( text, $el ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn tooltip.$el;\n\t\t},\n\n\t\ttemp: function ( text, $el ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t\ttimeout: 250,\n\t\t\t} );\n\t\t},\n\n\t\tconfirm: function ( $el, callback, text, button_y, button_n ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirm: true,\n\t\t\t\ttext: text,\n\t\t\t\ttarget: $el,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tcallback( true );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tcallback( false );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tconfirm_remove: function ( $el, callback ) {\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirmRemove: true,\n\t\t\t\ttarget: $el,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tcallback( true );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tcallback( false );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t};\n\n\t/**\n\t * tooltip\n\t *\n\t * description\n\t *\n\t * @date\t15/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.media = new acf.Model( {\n\t\tactiveFrame: false,\n\t\tactions: {\n\t\t\tnew_media_popup: 'onNewMediaPopup',\n\t\t},\n\n\t\tframe: function () {\n\t\t\treturn this.activeFrame;\n\t\t},\n\n\t\tonNewMediaPopup: function ( popup ) {\n\t\t\tthis.activeFrame = popup.frame;\n\t\t},\n\n\t\tpopup: function ( props ) {\n\t\t\t// update props\n\t\t\tif ( props.mime_types ) {\n\t\t\t\tprops.allowedTypes = props.mime_types;\n\t\t\t}\n\t\t\tif ( props.id ) {\n\t\t\t\tprops.attachment = props.id;\n\t\t\t}\n\n\t\t\t// new\n\t\t\tvar popup = acf.newMediaPopup( props );\n\n\t\t\t// append\n\t\t\t/*\n\t\t\tif( props.selected ) {\n\t\t\t\tpopup.selected = props.selected;\n\t\t\t}\n*/\n\n\t\t\t// return\n\t\t\treturn popup.frame;\n\t\t},\n\t} );\n\n\t/**\n\t * Select2\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.select2 = {\n\t\tinit: function ( $select, args, $field ) {\n\t\t\t// compatible args\n\t\t\tif ( args.allow_null ) {\n\t\t\t\targs.allowNull = args.allow_null;\n\t\t\t}\n\t\t\tif ( args.ajax_action ) {\n\t\t\t\targs.ajaxAction = args.ajax_action;\n\t\t\t}\n\t\t\tif ( $field ) {\n\t\t\t\targs.field = acf.getField( $field );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.newSelect2( $select, args );\n\t\t},\n\n\t\tdestroy: function ( $select ) {\n\t\t\treturn acf.getInstance( $select ).destroy();\n\t\t},\n\t};\n\n\t/**\n\t * postbox\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\t_acf.postbox = {\n\t\trender: function ( args ) {\n\t\t\t// compatible args\n\t\t\tif ( args.edit_url ) {\n\t\t\t\targs.editLink = args.edit_url;\n\t\t\t}\n\t\t\tif ( args.edit_title ) {\n\t\t\t\targs.editTitle = args.edit_title;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.newPostbox( args );\n\t\t},\n\t};\n\n\t/**\n\t * acf.screen\n\t *\n\t * description\n\t *\n\t * @date\t11/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newCompatibility( acf.screen, {\n\t\tupdate: function () {\n\t\t\treturn this.set.apply( this, arguments );\n\t\t},\n\t\tfetch: acf.screen.check,\n\t} );\n\t_acf.ajax = acf.screen;\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar __ = acf.__;\n\n\tvar parseString = function ( val ) {\n\t\treturn val ? '' + val : '';\n\t};\n\n\tvar isEqualTo = function ( v1, v2 ) {\n\t\treturn (\n\t\t\tparseString( v1 ).toLowerCase() === parseString( v2 ).toLowerCase()\n\t\t);\n\t};\n\n\tvar isEqualToNumber = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) === parseFloat( v2 );\n\t};\n\n\tvar isGreaterThan = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) > parseFloat( v2 );\n\t};\n\n\tvar isLessThan = function ( v1, v2 ) {\n\t\treturn parseFloat( v1 ) < parseFloat( v2 );\n\t};\n\n\tvar inArray = function ( v1, array ) {\n\t\t// cast all values as string\n\t\tarray = array.map( function ( v2 ) {\n\t\t\treturn parseString( v2 );\n\t\t} );\n\n\t\treturn array.indexOf( v1 ) > -1;\n\t};\n\n\tvar containsString = function ( haystack, needle ) {\n\t\treturn parseString( haystack ).indexOf( parseString( needle ) ) > -1;\n\t};\n\n\tvar matchesPattern = function ( v1, pattern ) {\n\t\tvar regexp = new RegExp( parseString( pattern ), 'gi' );\n\t\treturn parseString( v1 ).match( regexp );\n\t};\n\n\t/**\n\t * hasValue\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar HasValue = acf.Condition.extend( {\n\t\ttype: 'hasValue',\n\t\toperator: '!=empty',\n\t\tlabel: __( 'Has any value' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'range',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'image',\n\t\t\t'file',\n\t\t\t'wysiwyg',\n\t\t\t'oembed',\n\t\t\t'select',\n\t\t\t'checkbox',\n\t\t\t'radio',\n\t\t\t'button_group',\n\t\t\t'link',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t\t'google_map',\n\t\t\t'date_picker',\n\t\t\t'date_time_picker',\n\t\t\t'time_picker',\n\t\t\t'color_picker',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tlet val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn val ? true : false;\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn ' ';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasValue );\n\n\t/**\n\t * hasValue\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar HasNoValue = HasValue.extend( {\n\t\ttype: 'hasNoValue',\n\t\toperator: '==empty',\n\t\tlabel: __( 'Has no value' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! HasValue.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( HasNoValue );\n\n\t/**\n\t * EqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar EqualTo = acf.Condition.extend( {\n\t\ttype: 'equalTo',\n\t\toperator: '==',\n\t\tlabel: __( 'Value is equal to' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'range',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\tif ( acf.isNumeric( rule.value ) ) {\n\t\t\t\treturn isEqualToNumber( rule.value, field.val() );\n\t\t\t} else {\n\t\t\t\treturn isEqualTo( rule.value, field.val() );\n\t\t\t}\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn ' ';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( EqualTo );\n\n\t/**\n\t * NotEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar NotEqualTo = EqualTo.extend( {\n\t\ttype: 'notEqualTo',\n\t\toperator: '!=',\n\t\tlabel: __( 'Value is not equal to' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! EqualTo.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( NotEqualTo );\n\n\t/**\n\t * PatternMatch\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar PatternMatch = acf.Condition.extend( {\n\t\ttype: 'patternMatch',\n\t\toperator: '==pattern',\n\t\tlabel: __( 'Value matches pattern' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'wysiwyg',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn matchesPattern( field.val(), rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn ' ';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( PatternMatch );\n\n\t/**\n\t * Contains\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar Contains = acf.Condition.extend( {\n\t\ttype: 'contains',\n\t\toperator: '==contains',\n\t\tlabel: __( 'Value contains' ),\n\t\tfieldTypes: [\n\t\t\t'text',\n\t\t\t'textarea',\n\t\t\t'number',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'password',\n\t\t\t'wysiwyg',\n\t\t\t'oembed',\n\t\t\t'select',\n\t\t],\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn containsString( field.val(), rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn ' ';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( Contains );\n\n\t/**\n\t * TrueFalseEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar TrueFalseEqualTo = EqualTo.extend( {\n\t\ttype: 'trueFalseEqualTo',\n\t\tchoiceType: 'select',\n\t\tfieldTypes: [ 'true_false' ],\n\t\tchoices: function ( field ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\ttext: __( 'Checked' ),\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t} );\n\n\tacf.registerConditionType( TrueFalseEqualTo );\n\n\t/**\n\t * TrueFalseNotEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar TrueFalseNotEqualTo = NotEqualTo.extend( {\n\t\ttype: 'trueFalseNotEqualTo',\n\t\tchoiceType: 'select',\n\t\tfieldTypes: [ 'true_false' ],\n\t\tchoices: function ( field ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tid: 1,\n\t\t\t\t\ttext: __( 'Checked' ),\n\t\t\t\t},\n\t\t\t];\n\t\t},\n\t} );\n\n\tacf.registerConditionType( TrueFalseNotEqualTo );\n\n\t/**\n\t * SelectEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectEqualTo = acf.Condition.extend( {\n\t\ttype: 'selectEqualTo',\n\t\toperator: '==',\n\t\tlabel: __( 'Value is equal to' ),\n\t\tfieldTypes: [ 'select', 'checkbox', 'radio', 'button_group' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\treturn inArray( rule.value, val );\n\t\t\t} else {\n\t\t\t\treturn isEqualTo( rule.value, val );\n\t\t\t}\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\t// vars\n\t\t\tvar choices = [];\n\t\t\tvar lines = fieldObject\n\t\t\t\t.$setting( 'choices textarea' )\n\t\t\t\t.val()\n\t\t\t\t.split( '\\n' );\n\n\t\t\t// allow null\n\t\t\tif ( fieldObject.$input( 'allow_null' ).prop( 'checked' ) ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: '',\n\t\t\t\t\ttext: __( 'Null' ),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// loop\n\t\t\tlines.map( function ( line ) {\n\t\t\t\t// split\n\t\t\t\tline = line.split( ':' );\n\n\t\t\t\t// default label to value\n\t\t\t\tline[ 1 ] = line[ 1 ] || line[ 0 ];\n\n\t\t\t\t// append\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: line[ 0 ].trim(),\n\t\t\t\t\ttext: line[ 1 ].trim(),\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn choices;\n\t\t},\n\t} );\n\n\tacf.registerConditionType( SelectEqualTo );\n\n\t/**\n\t * SelectNotEqualTo\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectNotEqualTo = SelectEqualTo.extend( {\n\t\ttype: 'selectNotEqualTo',\n\t\toperator: '!=',\n\t\tlabel: __( 'Value is not equal to' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn ! SelectEqualTo.prototype.match.apply( this, arguments );\n\t\t},\n\t} );\n\n\tacf.registerConditionType( SelectNotEqualTo );\n\n\t/**\n\t * GreaterThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar GreaterThan = acf.Condition.extend( {\n\t\ttype: 'greaterThan',\n\t\toperator: '>',\n\t\tlabel: __( 'Value is greater than' ),\n\t\tfieldTypes: [ 'number', 'range' ],\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\treturn isGreaterThan( val, rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn ' ';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( GreaterThan );\n\n\t/**\n\t * LessThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar LessThan = GreaterThan.extend( {\n\t\ttype: 'lessThan',\n\t\toperator: '<',\n\t\tlabel: __( 'Value is less than' ),\n\t\tmatch: function ( rule, field ) {\n\t\t\tvar val = field.val();\n\t\t\tif ( val instanceof Array ) {\n\t\t\t\tval = val.length;\n\t\t\t}\n\t\t\tif ( val === undefined || val === null || val === false ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn isLessThan( val, rule.value );\n\t\t},\n\t\tchoices: function ( fieldObject ) {\n\t\t\treturn ' ';\n\t\t},\n\t} );\n\n\tacf.registerConditionType( LessThan );\n\n\t/**\n\t * SelectedGreaterThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectionGreaterThan = GreaterThan.extend( {\n\t\ttype: 'selectionGreaterThan',\n\t\tlabel: __( 'Selection is greater than' ),\n\t\tfieldTypes: [\n\t\t\t'checkbox',\n\t\t\t'select',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t],\n\t} );\n\n\tacf.registerConditionType( SelectionGreaterThan );\n\n\t/**\n\t * SelectedGreaterThan\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar SelectionLessThan = LessThan.extend( {\n\t\ttype: 'selectionLessThan',\n\t\tlabel: __( 'Selection is less than' ),\n\t\tfieldTypes: [\n\t\t\t'checkbox',\n\t\t\t'select',\n\t\t\t'post_object',\n\t\t\t'page_link',\n\t\t\t'relationship',\n\t\t\t'taxonomy',\n\t\t\t'user',\n\t\t],\n\t} );\n\n\tacf.registerConditionType( SelectionLessThan );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar storage = [];\n\n\t/**\n\t * acf.Condition\n\t *\n\t * description\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Condition = acf.Model.extend( {\n\t\ttype: '', // used for model name\n\t\toperator: '==', // rule operator\n\t\tlabel: '', // label shown when editing fields\n\t\tchoiceType: 'input', // input, select\n\t\tfieldTypes: [], // auto connect this conditions with these field types\n\n\t\tdata: {\n\t\t\tconditions: false, // the parent instance\n\t\t\tfield: false, // the field which we query against\n\t\t\trule: {}, // the rule [field, operator, value]\n\t\t},\n\n\t\tevents: {\n\t\t\tchange: 'change',\n\t\t\tkeyup: 'change',\n\t\t\tenableField: 'change',\n\t\t\tdisableField: 'change',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t},\n\n\t\tgetEventTarget: function ( $el, event ) {\n\t\t\treturn $el || this.get( 'field' ).$el;\n\t\t},\n\n\t\tchange: function ( e, $el ) {\n\t\t\tthis.get( 'conditions' ).change( e );\n\t\t},\n\n\t\tmatch: function ( rule, field ) {\n\t\t\treturn false;\n\t\t},\n\n\t\tcalculate: function () {\n\t\t\treturn this.match( this.get( 'rule' ), this.get( 'field' ) );\n\t\t},\n\n\t\tchoices: function ( field ) {\n\t\t\treturn ' ';\n\t\t},\n\t} );\n\n\t/**\n\t * acf.newCondition\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newCondition = function ( rule, conditions ) {\n\t\t// currently setting up conditions for fieldX, this field is the 'target'\n\t\tvar target = conditions.get( 'field' );\n\n\t\t// use the 'target' to find the 'trigger' field.\n\t\t// - this field is used to setup the conditional logic events\n\t\tvar field = target.getField( rule.field );\n\n\t\t// bail early if no target or no field (possible if field doesn't exist due to HTML error)\n\t\tif ( ! target || ! field ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// vars\n\t\tvar args = {\n\t\t\trule: rule,\n\t\t\ttarget: target,\n\t\t\tconditions: conditions,\n\t\t\tfield: field,\n\t\t};\n\n\t\t// vars\n\t\tvar fieldType = field.get( 'type' );\n\t\tvar operator = rule.operator;\n\n\t\t// get avaibale conditions\n\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\tfieldType: fieldType,\n\t\t\toperator: operator,\n\t\t} );\n\n\t\t// instantiate\n\t\tvar model = conditionTypes[ 0 ] || acf.Condition;\n\n\t\t// instantiate\n\t\tvar condition = new model( args );\n\n\t\t// return\n\t\treturn condition;\n\t};\n\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'Condition';\n\t};\n\n\t/**\n\t * acf.registerConditionType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerConditionType = function ( model ) {\n\t\t// vars\n\t\tvar proto = model.prototype;\n\t\tvar type = proto.type;\n\t\tvar mid = modelId( type );\n\n\t\t// store model\n\t\tacf.models[ mid ] = model;\n\n\t\t// store reference\n\t\tstorage.push( type );\n\t};\n\n\t/**\n\t * acf.getConditionType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getConditionType = function ( type ) {\n\t\tvar mid = modelId( type );\n\t\treturn acf.models[ mid ] || false;\n\t};\n\n\t/**\n\t * acf.registerConditionForFieldType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerConditionForFieldType = function ( conditionType, fieldType ) {\n\t\t// get model\n\t\tvar model = acf.getConditionType( conditionType );\n\n\t\t// append\n\t\tif ( model ) {\n\t\t\tmodel.prototype.fieldTypes.push( fieldType );\n\t\t}\n\t};\n\n\t/**\n\t * acf.getConditionTypes\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getConditionTypes = function ( args ) {\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\tfieldType: '',\n\t\t\toperator: '',\n\t\t} );\n\n\t\t// clonse available types\n\t\tvar types = [];\n\n\t\t// loop\n\t\tstorage.map( function ( type ) {\n\t\t\t// vars\n\t\t\tvar model = acf.getConditionType( type );\n\t\t\tvar ProtoFieldTypes = model.prototype.fieldTypes;\n\t\t\tvar ProtoOperator = model.prototype.operator;\n\n\t\t\t// check fieldType\n\t\t\tif (\n\t\t\t\targs.fieldType &&\n\t\t\t\tProtoFieldTypes.indexOf( args.fieldType ) === -1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check operator\n\t\t\tif ( args.operator && ProtoOperator !== args.operator ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// append\n\t\t\ttypes.push( model );\n\t\t} );\n\n\t\t// return\n\t\treturn types;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar CONTEXT = 'conditional_logic';\n\n\t/**\n\t * conditionsManager\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar conditionsManager = new acf.Model( {\n\t\tid: 'conditionsManager',\n\n\t\tpriority: 20, // run actions later\n\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\n\t\tonNewField: function ( field ) {\n\t\t\tif ( field.has( 'conditions' ) ) {\n\t\t\t\tfield.getConditions().render();\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * acf.Field.prototype.getField\n\t *\n\t * Finds a field that is related to another field\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar getSiblingField = function ( field, key ) {\n\t\t// find sibling (very fast)\n\t\tvar fields = acf.getFields( {\n\t\t\tkey: key,\n\t\t\tsibling: field.$el,\n\t\t\tsuppressFilters: true,\n\t\t} );\n\n\t\t// find sibling-children (fast)\n\t\t// needed for group fields, accordions, etc\n\t\tif ( ! fields.length ) {\n\t\t\tfields = acf.getFields( {\n\t\t\t\tkey: key,\n\t\t\t\tparent: field.$el.parent(),\n\t\t\t\tsuppressFilters: true,\n\t\t\t} );\n\t\t}\n\n\t\t// Check for fields on other settings tabs (probably less fast).\n\t\tif ( ! fields.length && $( '.acf-field-settings' ).length ) {\n\t\t\tfields = acf.getFields( {\n\t\t\t\tkey: key,\n\t\t\t\tparent: field.$el.parents( '.acf-field-settings:first' ),\n\t\t\t\tsuppressFilters: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( ! fields.length && $( '#acf-basic-settings' ).length ) {\n\t\t\tfields = acf.getFields( {\n\t\t\t\tkey: key,\n\t\t\t\tparent: $( '#acf-basic-settings'),\n\t\t\t\tsuppressFilters: true,\n\t\t\t} );\n\t\t}\n\n\t\t// return\n\t\tif ( fields.length ) {\n\t\t\treturn fields[ 0 ];\n\t\t}\n\t\treturn false;\n\t};\n\n\tacf.Field.prototype.getField = function ( key ) {\n\t\t// get sibling field\n\t\tvar field = getSiblingField( this, key );\n\n\t\t// return early\n\t\tif ( field ) {\n\t\t\treturn field;\n\t\t}\n\n\t\t// move up through each parent and try again\n\t\tvar parents = this.parents();\n\t\tfor ( var i = 0; i < parents.length; i++ ) {\n\t\t\t// get sibling field\n\t\t\tfield = getSiblingField( parents[ i ], key );\n\n\t\t\t// return early\n\t\t\tif ( field ) {\n\t\t\t\treturn field;\n\t\t\t}\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t};\n\n\t/**\n\t * acf.Field.prototype.getConditions\n\t *\n\t * Returns the field's conditions instance\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Field.prototype.getConditions = function () {\n\t\t// instantiate\n\t\tif ( ! this.conditions ) {\n\t\t\tthis.conditions = new Conditions( this );\n\t\t}\n\n\t\t// return\n\t\treturn this.conditions;\n\t};\n\n\t/**\n\t * Conditions\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\tvar timeout = false;\n\tvar Conditions = acf.Model.extend( {\n\t\tid: 'Conditions',\n\n\t\tdata: {\n\t\t\tfield: false, // The field with \"data-conditions\" (target).\n\t\t\ttimeStamp: false, // Reference used during \"change\" event.\n\t\t\tgroups: [], // The groups of condition instances.\n\t\t},\n\n\t\tsetup: function ( field ) {\n\t\t\t// data\n\t\t\tthis.data.field = field;\n\n\t\t\t// vars\n\t\t\tvar conditions = field.get( 'conditions' );\n\n\t\t\t// detect groups\n\t\t\tif ( conditions instanceof Array ) {\n\t\t\t\t// detect groups\n\t\t\t\tif ( conditions[ 0 ] instanceof Array ) {\n\t\t\t\t\t// loop\n\t\t\t\t\tconditions.map( function ( rules, i ) {\n\t\t\t\t\t\tthis.addRules( rules, i );\n\t\t\t\t\t}, this );\n\n\t\t\t\t\t// detect rules\n\t\t\t\t} else {\n\t\t\t\t\tthis.addRules( conditions );\n\t\t\t\t}\n\n\t\t\t\t// detect rule\n\t\t\t} else {\n\t\t\t\tthis.addRule( conditions );\n\t\t\t}\n\t\t},\n\n\t\tchange: function ( e ) {\n\t\t\t// this function may be triggered multiple times per event due to multiple condition classes\n\t\t\t// compare timestamp to allow only 1 trigger per event\n\t\t\tif ( this.get( 'timeStamp' ) === e.timeStamp ) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tthis.set( 'timeStamp', e.timeStamp, true );\n\t\t\t}\n\n\t\t\t// render condition and store result\n\t\t\tvar changed = this.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\treturn this.calculate() ? this.show() : this.hide();\n\t\t},\n\n\t\tshow: function () {\n\t\t\treturn this.get( 'field' ).showEnable( this.cid, CONTEXT );\n\t\t},\n\n\t\thide: function () {\n\t\t\treturn this.get( 'field' ).hideDisable( this.cid, CONTEXT );\n\t\t},\n\n\t\tcalculate: function () {\n\t\t\t// vars\n\t\t\tvar pass = false;\n\n\t\t\t// loop\n\t\t\tthis.getGroups().map( function ( group ) {\n\t\t\t\t// igrnore this group if another group passed\n\t\t\t\tif ( pass ) return;\n\n\t\t\t\t// find passed\n\t\t\t\tvar passed = group.filter( function ( condition ) {\n\t\t\t\t\treturn condition.calculate();\n\t\t\t\t} );\n\n\t\t\t\t// if all conditions passed, update the global var\n\t\t\t\tif ( passed.length == group.length ) {\n\t\t\t\t\tpass = true;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn pass;\n\t\t},\n\n\t\thasGroups: function () {\n\t\t\treturn this.data.groups != null;\n\t\t},\n\n\t\tgetGroups: function () {\n\t\t\treturn this.data.groups;\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\tvar group = [];\n\t\t\tthis.data.groups.push( group );\n\t\t\treturn group;\n\t\t},\n\n\t\thasGroup: function ( i ) {\n\t\t\treturn this.data.groups[ i ] != null;\n\t\t},\n\n\t\tgetGroup: function ( i ) {\n\t\t\treturn this.data.groups[ i ];\n\t\t},\n\n\t\tremoveGroup: function ( i ) {\n\t\t\tthis.data.groups[ i ].delete;\n\t\t\treturn this;\n\t\t},\n\n\t\taddRules: function ( rules, group ) {\n\t\t\trules.map( function ( rule ) {\n\t\t\t\tthis.addRule( rule, group );\n\t\t\t}, this );\n\t\t},\n\n\t\taddRule: function ( rule, group ) {\n\t\t\t// defaults\n\t\t\tgroup = group || 0;\n\n\t\t\t// vars\n\t\t\tvar groupArray;\n\n\t\t\t// get group\n\t\t\tif ( this.hasGroup( group ) ) {\n\t\t\t\tgroupArray = this.getGroup( group );\n\t\t\t} else {\n\t\t\t\tgroupArray = this.addGroup();\n\t\t\t}\n\n\t\t\t// instantiate\n\t\t\tvar condition = acf.newCondition( rule, this );\n\n\t\t\t// bail early if condition failed (field did not exist)\n\t\t\tif ( ! condition ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// add rule\n\t\t\tgroupArray.push( condition );\n\t\t},\n\n\t\thasRule: function () {},\n\n\t\tgetRule: function ( rule, group ) {\n\t\t\t// defaults\n\t\t\trule = rule || 0;\n\t\t\tgroup = group || 0;\n\n\t\t\treturn this.data.groups[ group ][ rule ];\n\t\t},\n\n\t\tremoveRule: function () {},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar i = 0;\n\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'accordion',\n\n\t\twait: '',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-fields:first' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Bail early if this is a duplicate of an existing initialized accordion.\n\t\t\tif ( this.$el.hasClass( 'acf-accordion' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// bail early if is cell\n\t\t\tif ( this.$el.is( 'td' ) ) return;\n\n\t\t\t// enpoint\n\t\t\tif ( this.get( 'endpoint' ) ) {\n\t\t\t\treturn this.remove();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $field = this.$el;\n\t\t\tvar $label = this.$labelWrap();\n\t\t\tvar $input = this.$inputWrap();\n\t\t\tvar $wrap = this.$control();\n\t\t\tvar $instructions = $input.children( '.description' );\n\n\t\t\t// force description into label\n\t\t\tif ( $instructions.length ) {\n\t\t\t\t$label.append( $instructions );\n\t\t\t}\n\n\t\t\t// table\n\t\t\tif ( this.$el.is( 'tr' ) ) {\n\t\t\t\t// vars\n\t\t\t\tvar $table = this.$el.closest( 'table' );\n\t\t\t\tvar $newLabel = $( '
' );\n\t\t\t\tvar $newInput = $( '
' );\n\t\t\t\tvar $newTable = $(\n\t\t\t\t\t'
'\n\t\t\t\t);\n\t\t\t\tvar $newWrap = $( '
' );\n\n\t\t\t\t// dom\n\t\t\t\t$newLabel.append( $label.html() );\n\t\t\t\t$newTable.append( $newWrap );\n\t\t\t\t$newInput.append( $newTable );\n\t\t\t\t$input.append( $newLabel );\n\t\t\t\t$input.append( $newInput );\n\n\t\t\t\t// modify\n\t\t\t\t$label.remove();\n\t\t\t\t$wrap.remove();\n\t\t\t\t$input.attr( 'colspan', 2 );\n\n\t\t\t\t// update vars\n\t\t\t\t$label = $newLabel;\n\t\t\t\t$input = $newInput;\n\t\t\t\t$wrap = $newWrap;\n\t\t\t}\n\n\t\t\t// add classes\n\t\t\t$field.addClass( 'acf-accordion' );\n\t\t\t$label.addClass( 'acf-accordion-title' );\n\t\t\t$input.addClass( 'acf-accordion-content' );\n\n\t\t\t// index\n\t\t\ti++;\n\n\t\t\t// multi-expand\n\t\t\tif ( this.get( 'multi_expand' ) ) {\n\t\t\t\t$field.attr( 'multi-expand', 1 );\n\t\t\t}\n\n\t\t\t// open\n\t\t\tvar order = acf.getPreference( 'this.accordions' ) || [];\n\t\t\tif ( order[ i - 1 ] !== undefined ) {\n\t\t\t\tthis.set( 'open', order[ i - 1 ] );\n\t\t\t}\n\n\t\t\tif ( this.get( 'open' ) ) {\n\t\t\t\t$field.addClass( '-open' );\n\t\t\t\t$input.css( 'display', 'block' ); // needed for accordion to close smoothly\n\t\t\t}\n\n\t\t\t// add icon\n\t\t\t$label.prepend(\n\t\t\t\taccordionManager.iconHtml( { open: this.get( 'open' ) } )\n\t\t\t);\n\n\t\t\t// classes\n\t\t\t// - remove 'inside' which is a #poststuff WP class\n\t\t\tvar $parent = $field.parent();\n\t\t\t$wrap.addClass( $parent.hasClass( '-left' ) ? '-left' : '' );\n\t\t\t$wrap.addClass( $parent.hasClass( '-clear' ) ? '-clear' : '' );\n\n\t\t\t// append\n\t\t\t$wrap.append(\n\t\t\t\t$field.nextUntil( '.acf-field-accordion', '.acf-field' )\n\t\t\t);\n\n\t\t\t// clean up\n\t\t\t$wrap.removeAttr( 'data-open data-multi_expand data-endpoint' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * accordionManager\n\t *\n\t * Events manager for the acf accordion\n\t *\n\t * @date\t14/2/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar accordionManager = new acf.Model( {\n\t\tactions: {\n\t\t\tunload: 'onUnload',\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .acf-accordion-title': 'onClick',\n\t\t\t'invalidField .acf-accordion': 'onInvalidField',\n\t\t},\n\n\t\tisOpen: function ( $el ) {\n\t\t\treturn $el.hasClass( '-open' );\n\t\t},\n\n\t\ttoggle: function ( $el ) {\n\t\t\tif ( this.isOpen( $el ) ) {\n\t\t\t\tthis.close( $el );\n\t\t\t} else {\n\t\t\t\tthis.open( $el );\n\t\t\t}\n\t\t},\n\n\t\ticonHtml: function ( props ) {\n\t\t\t// Use SVG inside Gutenberg editor.\n\t\t\tif ( acf.isGutenberg() ) {\n\t\t\t\tif ( props.open ) {\n\t\t\t\t\treturn '
';\n\t\t\t\t} else {\n\t\t\t\t\treturn '
';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( props.open ) {\n\t\t\t\t\treturn '
';\n\t\t\t\t} else {\n\t\t\t\t\treturn '
';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\topen: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// open\n\t\t\t$el.find( '.acf-accordion-content:first' )\n\t\t\t\t.slideDown( duration )\n\t\t\t\t.css( 'display', 'block' );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: true } )\n\t\t\t);\n\t\t\t$el.addClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'show', $el );\n\n\t\t\t// close siblings\n\t\t\tif ( ! $el.attr( 'multi-expand' ) ) {\n\t\t\t\t$el.siblings( '.acf-accordion.-open' ).each( function () {\n\t\t\t\t\taccordionManager.close( $( this ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tclose: function ( $el ) {\n\t\t\tvar duration = acf.isGutenberg() ? 0 : 300;\n\n\t\t\t// close\n\t\t\t$el.find( '.acf-accordion-content:first' ).slideUp( duration );\n\t\t\t$el.find( '.acf-accordion-icon:first' ).replaceWith(\n\t\t\t\tthis.iconHtml( { open: false } )\n\t\t\t);\n\t\t\t$el.removeClass( '-open' );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'hide', $el );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent Defailt\n\t\t\te.preventDefault();\n\n\t\t\t// open close\n\t\t\tthis.toggle( $el.parent() );\n\t\t},\n\n\t\tonInvalidField: function ( e, $el ) {\n\t\t\t// bail early if already focused\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// disable functionality for 1sec (allow next validation to work)\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 1000 );\n\n\t\t\t// open accordion\n\t\t\tthis.open( $el );\n\t\t},\n\n\t\tonUnload: function ( e ) {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\t$( '.acf-accordion' ).each( function () {\n\t\t\t\tvar open = $( this ).hasClass( '-open' ) ? 1 : 0;\n\t\t\t\torder.push( open );\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tif ( order.length ) {\n\t\t\t\tacf.setPreference( 'this.accordions', order );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'button_group',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-button-group' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.$( 'input[value=\"' + val + '\"]' )\n\t\t\t\t.prop( 'checked', true )\n\t\t\t\t.trigger( 'change' );\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'checkbox',\n\n\t\tevents: {\n\t\t\t'change input': 'onChange',\n\t\t\t'click .acf-add-checkbox': 'onClickAdd',\n\t\t\t'click .acf-checkbox-toggle': 'onClickToggle',\n\t\t\t'click .acf-checkbox-custom': 'onClickCustom',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-checkbox-list' );\n\t\t},\n\n\t\t$toggle: function () {\n\t\t\treturn this.$( '.acf-checkbox-toggle' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputs: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' ).not(\n\t\t\t\t'.acf-checkbox-toggle'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$( ':checked' ).each( function () {\n\t\t\t\tval.push( $( this ).val() );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar $toggle = this.$toggle();\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$label.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t}\n\n\t\t\t// Update toggle state if all inputs are checked.\n\t\t\tif ( $toggle.length ) {\n\t\t\t\tvar $inputs = this.$inputs();\n\n\t\t\t\t// all checked\n\t\t\t\tif ( $inputs.not( ':checked' ).length == 0 ) {\n\t\t\t\t\t$toggle.prop( 'checked', true );\n\t\t\t\t} else {\n\t\t\t\t\t$toggle.prop( 'checked', false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tvar html =\n\t\t\t\t'
';\n\t\t\t$el.parent( 'li' ).before( html );\n\t\t\t$el.parent( 'li' )\n\t\t\t\t.parent()\n\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t.last()\n\t\t\t\t.focus();\n\t\t},\n\n\t\tonClickToggle: function ( e, $el ) {\n\t\t\t// Vars.\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $inputs = this.$( 'input[type=\"checkbox\"]' );\n\t\t\tvar $labels = this.$( 'label' );\n\n\t\t\t// Update \"checked\" state.\n\t\t\t$inputs.prop( 'checked', checked );\n\n\t\t\t// Add or remove \"selected\" class.\n\t\t\tif ( checked ) {\n\t\t\t\t$labels.addClass( 'selected' );\n\t\t\t} else {\n\t\t\t\t$labels.removeClass( 'selected' );\n\t\t\t}\n\t\t},\n\n\t\tonClickCustom: function ( e, $el ) {\n\t\t\tvar checked = $el.prop( 'checked' );\n\t\t\tvar $text = $el.next( 'input[type=\"text\"]' );\n\n\t\t\t// checked\n\t\t\tif ( checked ) {\n\t\t\t\t$text.prop( 'disabled', false );\n\n\t\t\t\t// not checked\n\t\t\t} else {\n\t\t\t\t$text.prop( 'disabled', true );\n\n\t\t\t\t// remove\n\t\t\t\tif ( $text.val() == '' ) {\n\t\t\t\t\t$el.parent( 'li' ).remove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'color_picker',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-color-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// update input (with change)\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update iris\n\t\t\tthis.$inputText().iris( 'color', val );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// event\n\t\t\tvar onChange = function ( e ) {\n\t\t\t\t// timeout is required to ensure the $input val is correct\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tacf.val( $input, $inputText.val() );\n\t\t\t\t}, 1 );\n\t\t\t};\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdefaultColor: false,\n\t\t\t\tpalettes: true,\n\t\t\t\thide: true,\n\t\t\t\tchange: onChange,\n\t\t\t\tclear: onChange,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar args = acf.applyFilters( 'color_picker_args', args, this );\n\n\t\t\t// initialize\n\t\t\t$inputText.wpColorPicker( args );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t// The wpColorPicker library does not provide a destroy method.\n\t\t\t// Manually reset DOM by replacing elements back to their original state.\n\t\t\t$colorPicker = $duplicate.find( '.wp-picker-container' );\n\t\t\t$inputText = $duplicate.find( 'input[type=\"text\"]' );\n\t\t\t$colorPicker.replaceWith( $inputText );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'date_picker',\n\n\t\tevents: {\n\t\t\t'blur input[type=\"text\"]': 'onBlur',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-picker' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// save_format: compatibility with ACF < 5.0.0\n\t\t\tif ( this.has( 'save_format' ) ) {\n\t\t\t\treturn this.initializeCompatibility();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: 'yymmdd',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tinitializeCompatibility: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// get and set value from alt field\n\t\t\t$inputText.val( $input.val() );\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFormat: this.get( 'save_format' ),\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t};\n\n\t\t\t// filter for 3rd party customization\n\t\t\targs = acf.applyFilters( 'date_picker_args', args, this );\n\n\t\t\t// backup\n\t\t\tvar dateFormat = args.dateFormat;\n\n\t\t\t// change args.dateFormat\n\t\t\targs.dateFormat = this.get( 'save_format' );\n\n\t\t\t// add date picker\n\t\t\tacf.newDatePicker( $inputText, args );\n\n\t\t\t// now change the format back to how it should be.\n\t\t\t$inputText.datepicker( 'option', 'dateFormat', dateFormat );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'date_picker_init', $inputText, args, this );\n\t\t},\n\n\t\tonBlur: function () {\n\t\t\tif ( ! this.$inputText().val() ) {\n\t\t\t\tacf.val( this.$input(), '' );\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\t$duplicate\n\t\t\t\t.find( 'input[type=\"text\"]' )\n\t\t\t\t.removeClass( 'hasDatepicker' )\n\t\t\t\t.removeAttr( 'id' );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar datePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'datePickerL10n' );\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if no datepicker library\n\t\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.datepicker.regional[ locale ] = l10n;\n\t\t\t$.datepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDatePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.datepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
'\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'date_time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-date-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\tdateFormat: this.get( 'date_format' ),\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltFormat: 'yy-mm-dd',\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tchangeYear: true,\n\t\t\t\tyearRange: '-100:+100',\n\t\t\t\tchangeMonth: true,\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tfirstDay: this.get( 'first_day' ),\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'date_time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newDateTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'date_time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tvar dateTimePickerManager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'ready',\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'dateTimePickerL10n' );\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if no datepicker library\n\t\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// rtl\n\t\t\tl10n.isRTL = rtl;\n\n\t\t\t// append\n\t\t\t$.timepicker.regional[ locale ] = l10n;\n\t\t\t$.timepicker.setDefaults( l10n );\n\t\t},\n\t} );\n\n\t// add\n\tacf.newDateTimePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.datetimepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
'\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.ImageField.extend( {\n\t\ttype: 'file',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-file-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]:first' );\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// defaults\n\t\t\tattachment = attachment || {};\n\n\t\t\t// WP attachment\n\t\t\tif ( attachment.id !== undefined ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// args\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tfilename: '',\n\t\t\t\tfilesizeHumanReadable: '',\n\t\t\t\ticon: '/wp-includes/images/media/default.png',\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\t// vars\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// update image\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.icon,\n\t\t\t\talt: attachment.alt,\n\t\t\t\ttitle: attachment.title,\n\t\t\t} );\n\n\t\t\t// update elements\n\t\t\tthis.$( '[data-name=\"title\"]' ).text( attachment.title );\n\t\t\tthis.$( '[data-name=\"filename\"]' )\n\t\t\t\t.text( attachment.filename )\n\t\t\t\t.attr( 'href', attachment.url );\n\t\t\tthis.$( '[data-name=\"filesize\"]' ).text(\n\t\t\t\tattachment.filesizeHumanReadable\n\t\t\t);\n\n\t\t\t// vars\n\t\t\tvar val = attachment.id || '';\n\n\t\t\t// update val\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// update class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttitle: acf.__( 'Select File' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit File' ),\n\t\t\t\tbutton: acf.__( 'Update File' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'google_map',\n\n\t\tmap: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"clear\"]': 'onClickClear',\n\t\t\t'click a[data-name=\"locate\"]': 'onClickLocate',\n\t\t\t'click a[data-name=\"search\"]': 'onClickSearch',\n\t\t\t'keydown .search': 'onKeydownSearch',\n\t\t\t'keyup .search': 'onKeyupSearch',\n\t\t\t'focus .search': 'onFocusSearch',\n\t\t\t'blur .search': 'onBlurSearch',\n\t\t\tshowField: 'onShow',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-google-map' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.search' );\n\t\t},\n\n\t\t$canvas: function () {\n\t\t\treturn this.$( '.canvas' );\n\t\t},\n\n\t\tsetState: function ( state ) {\n\t\t\t// Remove previous state classes.\n\t\t\tthis.$control().removeClass( '-value -loading -searching' );\n\n\t\t\t// Determine auto state based of current value.\n\t\t\tif ( state === 'default' ) {\n\t\t\t\tstate = this.val() ? 'value' : '';\n\t\t\t}\n\n\t\t\t// Update state class.\n\t\t\tif ( state ) {\n\t\t\t\tthis.$control().addClass( '-' + state );\n\t\t\t}\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val ) {\n\t\t\t\treturn JSON.parse( val );\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\tsetValue: function ( val, silent ) {\n\t\t\t// Convert input value.\n\t\t\tvar valAttr = '';\n\t\t\tif ( val ) {\n\t\t\t\tvalAttr = JSON.stringify( val );\n\t\t\t}\n\n\t\t\t// Update input (with change).\n\t\t\tacf.val( this.$input(), valAttr );\n\n\t\t\t// Bail early if silent update.\n\t\t\tif ( silent ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Render.\n\t\t\tthis.renderVal( val );\n\n\t\t\t/**\n\t\t\t * Fires immediately after the value has changed.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject|string val The new value.\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_change', val, this.map, this );\n\t\t},\n\n\t\trenderVal: function ( val ) {\n\t\t\t// Value.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setState( 'value' );\n\t\t\t\tthis.$search().val( val.address );\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\n\t\t\t\t// No value.\n\t\t\t} else {\n\t\t\t\tthis.setState( '' );\n\t\t\t\tthis.$search().val( '' );\n\t\t\t\tthis.map.marker.setVisible( false );\n\t\t\t}\n\t\t},\n\n\t\tnewLatLng: function ( lat, lng ) {\n\t\t\treturn new google.maps.LatLng(\n\t\t\t\tparseFloat( lat ),\n\t\t\t\tparseFloat( lng )\n\t\t\t);\n\t\t},\n\n\t\tsetPosition: function ( lat, lng ) {\n\t\t\t// Update marker position.\n\t\t\tthis.map.marker.setPosition( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\n\t\t\t// Show marker.\n\t\t\tthis.map.marker.setVisible( true );\n\n\t\t\t// Center map.\n\t\t\tthis.center();\n\t\t},\n\n\t\tcenter: function () {\n\t\t\t// Find marker position.\n\t\t\tvar position = this.map.marker.getPosition();\n\t\t\tif ( position ) {\n\t\t\t\tvar lat = position.lat();\n\t\t\t\tvar lng = position.lng();\n\n\t\t\t\t// Or find default settings.\n\t\t\t} else {\n\t\t\t\tvar lat = this.get( 'lat' );\n\t\t\t\tvar lng = this.get( 'lng' );\n\t\t\t}\n\n\t\t\t// Center map.\n\t\t\tthis.map.setCenter( {\n\t\t\t\tlat: parseFloat( lat ),\n\t\t\t\tlng: parseFloat( lng ),\n\t\t\t} );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Ensure Google API is loaded and then initialize map.\n\t\t\twithAPI( this.initializeMap.bind( this ) );\n\t\t},\n\n\t\tinitializeMap: function () {\n\t\t\t// Get value ignoring conditional logic status.\n\t\t\tvar val = this.getValue();\n\n\t\t\t// Construct default args.\n\t\t\tvar args = acf.parseArgs( val, {\n\t\t\t\tzoom: this.get( 'zoom' ),\n\t\t\t\tlat: this.get( 'lat' ),\n\t\t\t\tlng: this.get( 'lng' ),\n\t\t\t} );\n\n\t\t\t// Create Map.\n\t\t\tvar mapArgs = {\n\t\t\t\tscrollwheel: false,\n\t\t\t\tzoom: parseInt( args.zoom ),\n\t\t\t\tcenter: {\n\t\t\t\t\tlat: parseFloat( args.lat ),\n\t\t\t\t\tlng: parseFloat( args.lng ),\n\t\t\t\t},\n\t\t\t\tmapTypeId: google.maps.MapTypeId.ROADMAP,\n\t\t\t\tmarker: {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\traiseOnDrag: true,\n\t\t\t\t},\n\t\t\t\tautocomplete: {},\n\t\t\t};\n\t\t\tmapArgs = acf.applyFilters( 'google_map_args', mapArgs, this );\n\t\t\tvar map = new google.maps.Map( this.$canvas()[ 0 ], mapArgs );\n\n\t\t\t// Create Marker.\n\t\t\tvar markerArgs = acf.parseArgs( mapArgs.marker, {\n\t\t\t\tdraggable: true,\n\t\t\t\traiseOnDrag: true,\n\t\t\t\tmap: map,\n\t\t\t} );\n\t\t\tmarkerArgs = acf.applyFilters(\n\t\t\t\t'google_map_marker_args',\n\t\t\t\tmarkerArgs,\n\t\t\t\tthis\n\t\t\t);\n\t\t\tvar marker = new google.maps.Marker( markerArgs );\n\n\t\t\t// Maybe Create Autocomplete.\n\t\t\tvar autocomplete = false;\n\t\t\tif ( acf.isset( google, 'maps', 'places', 'Autocomplete' ) ) {\n\t\t\t\tvar autocompleteArgs = mapArgs.autocomplete || {};\n\t\t\t\tautocompleteArgs = acf.applyFilters(\n\t\t\t\t\t'google_map_autocomplete_args',\n\t\t\t\t\tautocompleteArgs,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t\tautocomplete = new google.maps.places.Autocomplete(\n\t\t\t\t\tthis.$search()[ 0 ],\n\t\t\t\t\tautocompleteArgs\n\t\t\t\t);\n\t\t\t\tautocomplete.bindTo( 'bounds', map );\n\t\t\t}\n\n\t\t\t// Add map events.\n\t\t\tthis.addMapEvents( this, map, marker, autocomplete );\n\n\t\t\t// Append references.\n\t\t\tmap.acf = this;\n\t\t\tmap.marker = marker;\n\t\t\tmap.autocomplete = autocomplete;\n\t\t\tthis.map = map;\n\n\t\t\t// Set position.\n\t\t\tif ( val ) {\n\t\t\t\tthis.setPosition( val.lat, val.lng );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Fires immediately after the Google Map has been initialized.\n\t\t\t *\n\t\t\t * @date\t12/02/2014\n\t\t\t * @since\t5.0.0\n\t\t\t *\n\t\t\t * @param\tobject map The Google Map isntance.\n\t\t\t * @param\tobject marker The Google Map marker isntance.\n\t\t\t * @param\tobject field The field instance.\n\t\t\t */\n\t\t\tacf.doAction( 'google_map_init', map, marker, this );\n\t\t},\n\n\t\taddMapEvents: function ( field, map, marker, autocomplete ) {\n\t\t\t// Click map.\n\t\t\tgoogle.maps.event.addListener( map, 'click', function ( e ) {\n\t\t\t\tvar lat = e.latLng.lat();\n\t\t\t\tvar lng = e.latLng.lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Drag marker.\n\t\t\tgoogle.maps.event.addListener( marker, 'dragend', function () {\n\t\t\t\tvar lat = this.getPosition().lat();\n\t\t\t\tvar lng = this.getPosition().lng();\n\t\t\t\tfield.searchPosition( lat, lng );\n\t\t\t} );\n\n\t\t\t// Autocomplete search.\n\t\t\tif ( autocomplete ) {\n\t\t\t\tgoogle.maps.event.addListener(\n\t\t\t\t\tautocomplete,\n\t\t\t\t\t'place_changed',\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tvar place = this.getPlace();\n\t\t\t\t\t\tfield.searchPlace( place );\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Detect zoom change.\n\t\t\tgoogle.maps.event.addListener( map, 'zoom_changed', function () {\n\t\t\t\tvar val = field.val();\n\t\t\t\tif ( val ) {\n\t\t\t\t\tval.zoom = map.getZoom();\n\t\t\t\t\tfield.setValue( val, true );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tsearchPosition: function ( lat, lng ) {\n\t\t\t//console.log('searchPosition', lat, lng );\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tvar latLng = { lat: lat, lng: lng };\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ location: latLng },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override lat/lng to match user defined marker location.\n\t\t\t\t\t\t// Avoids issue where marker \"snaps\" to nearest result.\n\t\t\t\t\t\tval.lat = lat;\n\t\t\t\t\t\tval.lng = lng;\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchPlace: function ( place ) {\n\t\t\t//console.log('searchPlace', place );\n\n\t\t\t// Bail early if no place.\n\t\t\tif ( ! place ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Selecting from the autocomplete dropdown will return a rich PlaceResult object.\n\t\t\t// Be sure to over-write the \"formatted_address\" value with the one displayed to the user for best UX.\n\t\t\tif ( place.geometry ) {\n\t\t\t\tplace.formatted_address = this.$search().val();\n\t\t\t\tvar val = this.parseResult( place );\n\t\t\t\tthis.val( val );\n\n\t\t\t\t// Searching a custom address will return an empty PlaceResult object.\n\t\t\t} else if ( place.name ) {\n\t\t\t\tthis.searchAddress( place.name );\n\t\t\t}\n\t\t},\n\n\t\tsearchAddress: function ( address ) {\n\t\t\t//console.log('searchAddress', address );\n\n\t\t\t// Bail early if no address.\n\t\t\tif ( ! address ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow \"lat,lng\" search.\n\t\t\tvar latLng = address.split( ',' );\n\t\t\tif ( latLng.length == 2 ) {\n\t\t\t\tvar lat = parseFloat( latLng[ 0 ] );\n\t\t\t\tvar lng = parseFloat( latLng[ 1 ] );\n\t\t\t\tif ( lat && lng ) {\n\t\t\t\t\treturn this.searchPosition( lat, lng );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geocoder.\n\t\t\tgeocoder.geocode(\n\t\t\t\t{ address: address },\n\t\t\t\tfunction ( results, status ) {\n\t\t\t\t\t//console.log('searchPosition', arguments );\n\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Status failure.\n\t\t\t\t\tif ( status !== 'OK' ) {\n\t\t\t\t\t\tthis.showNotice( {\n\t\t\t\t\t\t\ttext: acf\n\t\t\t\t\t\t\t\t.__( 'Location not found: %s' )\n\t\t\t\t\t\t\t\t.replace( '%s', status ),\n\t\t\t\t\t\t\ttype: 'warning',\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// Success.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar val = this.parseResult( results[ 0 ] );\n\n\t\t\t\t\t\t// Override address data with parameter allowing custom address to be defined in search.\n\t\t\t\t\t\tval.address = address;\n\n\t\t\t\t\t\t// Update value.\n\t\t\t\t\t\tthis.val( val );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\tsearchLocation: function () {\n\t\t\t//console.log('searchLocation' );\n\n\t\t\t// Check HTML5 geolocation.\n\t\t\tif ( ! navigator.geolocation ) {\n\t\t\t\treturn alert(\n\t\t\t\t\tacf.__( 'Sorry, this browser does not support geolocation' )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Start Loading.\n\t\t\tthis.setState( 'loading' );\n\n\t\t\t// Query Geolocation.\n\t\t\tnavigator.geolocation.getCurrentPosition(\n\t\t\t\t// Success.\n\t\t\t\tfunction ( results ) {\n\t\t\t\t\t// End Loading.\n\t\t\t\t\tthis.setState( '' );\n\n\t\t\t\t\t// Search position.\n\t\t\t\t\tvar lat = results.coords.latitude;\n\t\t\t\t\tvar lng = results.coords.longitude;\n\t\t\t\t\tthis.searchPosition( lat, lng );\n\t\t\t\t}.bind( this ),\n\n\t\t\t\t// Failure.\n\t\t\t\tfunction ( error ) {\n\t\t\t\t\tthis.setState( '' );\n\t\t\t\t}.bind( this )\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * parseResult\n\t\t *\n\t\t * Returns location data for the given GeocoderResult object.\n\t\t *\n\t\t * @date\t15/10/19\n\t\t * @since\t5.8.6\n\t\t *\n\t\t * @param\tobject obj A GeocoderResult object.\n\t\t * @return\tobject\n\t\t */\n\t\tparseResult: function ( obj ) {\n\t\t\t// Construct basic data.\n\t\t\tvar result = {\n\t\t\t\taddress: obj.formatted_address,\n\t\t\t\tlat: obj.geometry.location.lat(),\n\t\t\t\tlng: obj.geometry.location.lng(),\n\t\t\t};\n\n\t\t\t// Add zoom level.\n\t\t\tresult.zoom = this.map.getZoom();\n\n\t\t\t// Add place ID.\n\t\t\tif ( obj.place_id ) {\n\t\t\t\tresult.place_id = obj.place_id;\n\t\t\t}\n\n\t\t\t// Add place name.\n\t\t\tif ( obj.name ) {\n\t\t\t\tresult.name = obj.name;\n\t\t\t}\n\n\t\t\t// Create search map for address component data.\n\t\t\tvar map = {\n\t\t\t\tstreet_number: [ 'street_number' ],\n\t\t\t\tstreet_name: [ 'street_address', 'route' ],\n\t\t\t\tcity: [ 'locality', 'postal_town' ],\n\t\t\t\tstate: [\n\t\t\t\t\t'administrative_area_level_1',\n\t\t\t\t\t'administrative_area_level_2',\n\t\t\t\t\t'administrative_area_level_3',\n\t\t\t\t\t'administrative_area_level_4',\n\t\t\t\t\t'administrative_area_level_5',\n\t\t\t\t],\n\t\t\t\tpost_code: [ 'postal_code' ],\n\t\t\t\tcountry: [ 'country' ],\n\t\t\t};\n\n\t\t\t// Loop over map.\n\t\t\tfor ( var k in map ) {\n\t\t\t\tvar keywords = map[ k ];\n\n\t\t\t\t// Loop over address components.\n\t\t\t\tfor ( var i = 0; i < obj.address_components.length; i++ ) {\n\t\t\t\t\tvar component = obj.address_components[ i ];\n\t\t\t\t\tvar component_type = component.types[ 0 ];\n\n\t\t\t\t\t// Look for matching component type.\n\t\t\t\t\tif ( keywords.indexOf( component_type ) !== -1 ) {\n\t\t\t\t\t\t// Append to result.\n\t\t\t\t\t\tresult[ k ] = component.long_name;\n\n\t\t\t\t\t\t// Append short version.\n\t\t\t\t\t\tif ( component.long_name !== component.short_name ) {\n\t\t\t\t\t\t\tresult[ k + '_short' ] = component.short_name;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Filters the parsed result.\n\t\t\t *\n\t\t\t * @date\t18/10/19\n\t\t\t * @since\t5.8.6\n\t\t\t *\n\t\t\t * @param\tobject result The parsed result value.\n\t\t\t * @param\tobject obj The GeocoderResult object.\n\t\t\t */\n\t\t\treturn acf.applyFilters(\n\t\t\t\t'google_map_result',\n\t\t\t\tresult,\n\t\t\t\tobj,\n\t\t\t\tthis.map,\n\t\t\t\tthis\n\t\t\t);\n\t\t},\n\n\t\tonClickClear: function () {\n\t\t\tthis.val( false );\n\t\t},\n\n\t\tonClickLocate: function () {\n\t\t\tthis.searchLocation();\n\t\t},\n\n\t\tonClickSearch: function () {\n\t\t\tthis.searchAddress( this.$search().val() );\n\t\t},\n\n\t\tonFocusSearch: function ( e, $el ) {\n\t\t\tthis.setState( 'searching' );\n\t\t},\n\n\t\tonBlurSearch: function ( e, $el ) {\n\t\t\t// Get saved address value.\n\t\t\tvar val = this.val();\n\t\t\tvar address = val ? val.address : '';\n\n\t\t\t// Remove 'is-searching' if value has not changed.\n\t\t\tif ( $el.val() === address ) {\n\t\t\t\tthis.setState( 'default' );\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\t// Clear empty value.\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\tthis.val( false );\n\t\t\t}\n\t\t},\n\n\t\t// Prevent form from submitting.\n\t\tonKeydownSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$el.blur();\n\t\t\t}\n\t\t},\n\n\t\t// Center map once made visible.\n\t\tonShow: function () {\n\t\t\tif ( this.map ) {\n\t\t\t\tthis.setTimeout( this.center );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// Vars.\n\tvar loading = false;\n\tvar geocoder = false;\n\n\t/**\n\t * withAPI\n\t *\n\t * Loads the Google Maps API library and troggers callback.\n\t *\n\t * @date\t28/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tfunction callback The callback to excecute.\n\t * @return\tvoid\n\t */\n\n\tfunction withAPI( callback ) {\n\t\t// Check if geocoder exists.\n\t\tif ( geocoder ) {\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Check if geocoder API exists.\n\t\tif ( acf.isset( window, 'google', 'maps', 'Geocoder' ) ) {\n\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\treturn callback();\n\t\t}\n\n\t\t// Geocoder will need to be loaded. Hook callback to action.\n\t\tacf.addAction( 'google_map_api_loaded', callback );\n\n\t\t// Bail early if already loading API.\n\t\tif ( loading ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// load api\n\t\tvar url = acf.get( 'google_map_api' );\n\t\tif ( url ) {\n\t\t\t// Set loading status.\n\t\t\tloading = true;\n\n\t\t\t// Load API\n\t\t\t$.ajax( {\n\t\t\t\turl: url,\n\t\t\t\tdataType: 'script',\n\t\t\t\tcache: true,\n\t\t\t\tsuccess: function () {\n\t\t\t\t\tgeocoder = new google.maps.Geocoder();\n\t\t\t\t\tacf.doAction( 'google_map_api_loaded' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'image',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-image-uploader' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"hidden\"]:first' );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change input[type=\"file\"]': 'onChange',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// add attribute to form\n\t\t\tif ( this.get( 'uploader' ) === 'basic' ) {\n\t\t\t\tthis.$el\n\t\t\t\t\t.closest( 'form' )\n\t\t\t\t\t.attr( 'enctype', 'multipart/form-data' );\n\t\t\t}\n\t\t},\n\n\t\tvalidateAttachment: function ( attachment ) {\n\t\t\t// Use WP attachment attributes when available.\n\t\t\tif ( attachment && attachment.attributes ) {\n\t\t\t\tattachment = attachment.attributes;\n\t\t\t}\n\n\t\t\t// Apply defaults.\n\t\t\tattachment = acf.parseArgs( attachment, {\n\t\t\t\tid: 0,\n\t\t\t\turl: '',\n\t\t\t\talt: '',\n\t\t\t\ttitle: '',\n\t\t\t\tcaption: '',\n\t\t\t\tdescription: '',\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t} );\n\n\t\t\t// Override with \"preview size\".\n\t\t\tvar size = acf.isget(\n\t\t\t\tattachment,\n\t\t\t\t'sizes',\n\t\t\t\tthis.get( 'preview_size' )\n\t\t\t);\n\t\t\tif ( size ) {\n\t\t\t\tattachment.url = size.url;\n\t\t\t\tattachment.width = size.width;\n\t\t\t\tattachment.height = size.height;\n\t\t\t}\n\n\t\t\t// Return.\n\t\t\treturn attachment;\n\t\t},\n\n\t\trender: function ( attachment ) {\n\t\t\tattachment = this.validateAttachment( attachment );\n\n\t\t\t// Update DOM.\n\t\t\tthis.$( 'img' ).attr( {\n\t\t\t\tsrc: attachment.url,\n\t\t\t\talt: attachment.alt,\n\t\t\t} );\n\t\t\tif ( attachment.id ) {\n\t\t\t\tthis.val( attachment.id );\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.val( '' );\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\t\t},\n\n\t\t// create a new repeater row and render value\n\t\tappend: function ( attachment, parent ) {\n\t\t\t// create function to find next available field within parent\n\t\t\tvar getNext = function ( field, parent ) {\n\t\t\t\t// find existing file fields within parent\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\tkey: field.get( 'key' ),\n\t\t\t\t\tparent: parent.$el,\n\t\t\t\t} );\n\n\t\t\t\t// find the first field with no value\n\t\t\t\tfor ( var i = 0; i < fields.length; i++ ) {\n\t\t\t\t\tif ( ! fields[ i ].val() ) {\n\t\t\t\t\t\treturn fields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// find existing file fields within parent\n\t\t\tvar field = getNext( this, parent );\n\n\t\t\t// add new row if no available field\n\t\t\tif ( ! field ) {\n\t\t\t\tparent.$( '.acf-button:last' ).trigger( 'click' );\n\t\t\t\tfield = getNext( this, parent );\n\t\t\t}\n\n\t\t\t// render\n\t\t\tif ( field ) {\n\t\t\t\tfield.render( attachment );\n\t\t\t}\n\t\t},\n\n\t\tselectAttachment: function () {\n\t\t\t// vars\n\t\t\tvar parent = this.parent();\n\t\t\tvar multiple = parent && parent.get( 'type' ) === 'repeater';\n\n\t\t\t// new frame\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'select',\n\t\t\t\ttype: 'image',\n\t\t\t\ttitle: acf.__( 'Select Image' ),\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tmultiple: multiple,\n\t\t\t\tlibrary: this.get( 'library' ),\n\t\t\t\tallowedTypes: this.get( 'mime_types' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tif ( i > 0 ) {\n\t\t\t\t\t\tthis.append( attachment, parent );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.render( attachment );\n\t\t\t\t\t}\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\teditAttachment: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) return;\n\n\t\t\t// popup\n\t\t\tvar frame = acf.newMediaPopup( {\n\t\t\t\tmode: 'edit',\n\t\t\t\ttitle: acf.__( 'Edit Image' ),\n\t\t\t\tbutton: acf.__( 'Update Image' ),\n\t\t\t\tattachment: val,\n\t\t\t\tfield: this.get( 'key' ),\n\t\t\t\tselect: $.proxy( function ( attachment, i ) {\n\t\t\t\t\tthis.render( attachment );\n\t\t\t\t}, this ),\n\t\t\t} );\n\t\t},\n\n\t\tremoveAttachment: function () {\n\t\t\tthis.render( false );\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tthis.selectAttachment();\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tthis.editAttachment();\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.removeAttachment();\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tvar $hiddenInput = this.$input();\n\n\t\t\tif ( ! $el.val() ) {\n\t\t\t\t$hiddenInput.val( '' );\n\t\t\t}\n\n\t\t\tacf.getFileInputData( $el, function ( data ) {\n\t\t\t\t$hiddenInput.val( $.param( data ) );\n\t\t\t} );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'link',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"edit\"]': 'onClickEdit',\n\t\t\t'click a[data-name=\"remove\"]': 'onClickRemove',\n\t\t\t'change .link-node': 'onChange',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-link' );\n\t\t},\n\n\t\t$node: function () {\n\t\t\treturn this.$( '.link-node' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar $node = this.$node();\n\n\t\t\t// return false if empty\n\t\t\tif ( ! $node.attr( 'href' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn {\n\t\t\t\ttitle: $node.html(),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// default\n\t\t\tval = acf.parseArgs( val, {\n\t\t\t\ttitle: '',\n\t\t\t\turl: '',\n\t\t\t\ttarget: '',\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $div = this.$control();\n\t\t\tvar $node = this.$node();\n\n\t\t\t// remove class\n\t\t\t$div.removeClass( '-value -external' );\n\n\t\t\t// add class\n\t\t\tif ( val.url ) $div.addClass( '-value' );\n\t\t\tif ( val.target === '_blank' ) $div.addClass( '-external' );\n\n\t\t\t// update text\n\t\t\tthis.$( '.link-title' ).html( val.title );\n\t\t\tthis.$( '.link-url' ).attr( 'href', val.url ).html( val.url );\n\n\t\t\t// update node\n\t\t\t$node.html( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\n\t\t\t// update inputs\n\t\t\tthis.$( '.input-title' ).val( val.title );\n\t\t\tthis.$( '.input-target' ).val( val.target );\n\t\t\tthis.$( '.input-url' ).val( val.url ).trigger( 'change' );\n\t\t},\n\n\t\tonClickEdit: function ( e, $el ) {\n\t\t\tacf.wpLink.open( this.$node() );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\tthis.setValue( false );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// get the changed value\n\t\t\tvar val = this.getValue();\n\n\t\t\t// update inputs\n\t\t\tthis.setValue( val );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// manager\n\tacf.wpLink = new acf.Model( {\n\t\tgetNodeValue: function () {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\treturn {\n\t\t\t\ttitle: acf.decode( $node.html() ),\n\t\t\t\turl: $node.attr( 'href' ),\n\t\t\t\ttarget: $node.attr( 'target' ),\n\t\t\t};\n\t\t},\n\n\t\tsetNodeValue: function ( val ) {\n\t\t\tvar $node = this.get( 'node' );\n\t\t\t$node.text( val.title );\n\t\t\t$node.attr( 'href', val.url );\n\t\t\t$node.attr( 'target', val.target );\n\t\t\t$node.trigger( 'change' );\n\t\t},\n\n\t\tgetInputValue: function () {\n\t\t\treturn {\n\t\t\t\ttitle: $( '#wp-link-text' ).val(),\n\t\t\t\turl: $( '#wp-link-url' ).val(),\n\t\t\t\ttarget: $( '#wp-link-target' ).prop( 'checked' )\n\t\t\t\t\t? '_blank'\n\t\t\t\t\t: '',\n\t\t\t};\n\t\t},\n\n\t\tsetInputValue: function ( val ) {\n\t\t\t$( '#wp-link-text' ).val( val.title );\n\t\t\t$( '#wp-link-url' ).val( val.url );\n\t\t\t$( '#wp-link-target' ).prop( 'checked', val.target === '_blank' );\n\t\t},\n\n\t\topen: function ( $node ) {\n\t\t\t// add events\n\t\t\tthis.on( 'wplink-open', 'onOpen' );\n\t\t\tthis.on( 'wplink-close', 'onClose' );\n\n\t\t\t// set node\n\t\t\tthis.set( 'node', $node );\n\n\t\t\t// create textarea\n\t\t\tvar $textarea = $(\n\t\t\t\t'
'\n\t\t\t);\n\t\t\t$( 'body' ).append( $textarea );\n\n\t\t\t// vars\n\t\t\tvar val = this.getNodeValue();\n\n\t\t\t// open popup\n\t\t\twpLink.open( 'acf-link-textarea', val.url, val.title, null );\n\t\t},\n\n\t\tonOpen: function () {\n\t\t\t// always show title (WP will hide title if empty)\n\t\t\t$( '#wp-link-wrap' ).addClass( 'has-text-field' );\n\n\t\t\t// set inputs\n\t\t\tvar val = this.getNodeValue();\n\t\t\tthis.setInputValue( val );\n\n\t\t\t// Update button text.\n\t\t\tif ( val.url && wpLinkL10n ) {\n\t\t\t\t$( '#wp-link-submit' ).val( wpLinkL10n.update );\n\t\t\t}\n\t\t},\n\n\t\tclose: function () {\n\t\t\twpLink.close();\n\t\t},\n\n\t\tonClose: function () {\n\t\t\t// Bail early if no node.\n\t\t\t// Needed due to WP triggering this event twice.\n\t\t\tif ( ! this.has( 'node' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Determine context.\n\t\t\tvar $submit = $( '#wp-link-submit' );\n\t\t\tvar isSubmit = $submit.is( ':hover' ) || $submit.is( ':focus' );\n\n\t\t\t// Set value\n\t\t\tif ( isSubmit ) {\n\t\t\t\tvar val = this.getInputValue();\n\t\t\t\tthis.setNodeValue( val );\n\t\t\t}\n\n\t\t\t// Cleanup.\n\t\t\tthis.off( 'wplink-open' );\n\t\t\tthis.off( 'wplink-close' );\n\t\t\t$( '#acf-link-textarea' ).remove();\n\t\t\tthis.set( 'node', null );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'oembed',\n\n\t\tevents: {\n\t\t\t'click [data-name=\"clear-button\"]': 'onClickClear',\n\t\t\t'keypress .input-search': 'onKeypressSearch',\n\t\t\t'keyup .input-search': 'onKeyupSearch',\n\t\t\t'change .input-search': 'onChangeSearch',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-oembed' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( '.input-value' );\n\t\t},\n\n\t\t$search: function () {\n\t\t\treturn this.$( '.input-search' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\tgetSearchVal: function () {\n\t\t\treturn this.$search().val();\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\t// class\n\t\t\tif ( val ) {\n\t\t\t\tthis.$control().addClass( 'has-value' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( 'has-value' );\n\t\t\t}\n\n\t\t\tacf.val( this.$input(), val );\n\t\t},\n\n\t\tshowLoading: function ( show ) {\n\t\t\tacf.showLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\thideLoading: function () {\n\t\t\tacf.hideLoading( this.$( '.canvas' ) );\n\t\t},\n\n\t\tmaybeSearch: function () {\n\t\t\t// vars\n\t\t\tvar prevUrl = this.val();\n\t\t\tvar url = this.getSearchVal();\n\n\t\t\t// no value\n\t\t\tif ( ! url ) {\n\t\t\t\treturn this.clear();\n\t\t\t}\n\n\t\t\t// fix missing 'http://' - causes the oembed code to error and fail\n\t\t\tif ( url.substr( 0, 4 ) != 'http' ) {\n\t\t\t\turl = 'http://' + url;\n\t\t\t}\n\n\t\t\t// bail early if no change\n\t\t\tif ( url === prevUrl ) return;\n\n\t\t\t// clear existing timeout\n\t\t\tvar timeout = this.get( 'timeout' );\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// set new timeout\n\t\t\tvar callback = $.proxy( this.search, this, url );\n\t\t\tthis.set( 'timeout', setTimeout( callback, 300 ) );\n\t\t},\n\n\t\tsearch: function ( url ) {\n\t\t\t// ajax\n\t\t\tvar ajaxData = {\n\t\t\t\taction: 'acf/fields/oembed/search',\n\t\t\t\ts: url,\n\t\t\t\tfield_key: this.get( 'key' ),\n\t\t\t};\n\n\t\t\t// clear existing timeout\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tthis.showLoading();\n\n\t\t\t// query\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: function ( json ) {\n\t\t\t\t\t// error\n\t\t\t\t\tif ( ! json || ! json.html ) {\n\t\t\t\t\t\tjson = {\n\t\t\t\t\t\t\turl: false,\n\t\t\t\t\t\t\thtml: '',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\tthis.val( json.url );\n\t\t\t\t\tthis.$( '.canvas-media' ).html( json.html );\n\t\t\t\t},\n\t\t\t\tcomplete: function () {\n\t\t\t\t\tthis.hideLoading();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\tclear: function () {\n\t\t\tthis.val( '' );\n\t\t\tthis.$search().val( '' );\n\t\t\tthis.$( '.canvas-media' ).html( '' );\n\t\t},\n\n\t\tonClickClear: function ( e, $el ) {\n\t\t\tthis.clear();\n\t\t},\n\n\t\tonKeypressSearch: function ( e, $el ) {\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonKeyupSearch: function ( e, $el ) {\n\t\t\tif ( $el.val() ) {\n\t\t\t\tthis.maybeSearch();\n\t\t\t}\n\t\t},\n\n\t\tonChangeSearch: function ( e, $el ) {\n\t\t\tthis.maybeSearch();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'page_link',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'post_object',\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'radio',\n\n\t\tevents: {\n\t\t\t'click input[type=\"radio\"]': 'onClick',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-radio-list' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input:checked' );\n\t\t},\n\n\t\t$inputText: function () {\n\t\t\treturn this.$( 'input[type=\"text\"]' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = this.$input().val();\n\t\t\tif ( val === 'other' && this.get( 'other_choice' ) ) {\n\t\t\t\tval = this.$inputText().val();\n\t\t\t}\n\t\t\treturn val;\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\t\t\tvar val = $el.val();\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t\tval = false;\n\t\t\t}\n\n\t\t\t// other\n\t\t\tif ( this.get( 'other_choice' ) ) {\n\t\t\t\t// enable\n\t\t\t\tif ( val === 'other' ) {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', false );\n\n\t\t\t\t\t// disable\n\t\t\t\t} else {\n\t\t\t\t\tthis.$inputText().prop( 'disabled', true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'range',\n\n\t\tevents: {\n\t\t\t'input input[type=\"range\"]': 'onChange',\n\t\t\t'change input': 'onChange',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"range\"]' );\n\t\t},\n\n\t\t$inputAlt: function () {\n\t\t\treturn this.$( 'input[type=\"number\"]' );\n\t\t},\n\n\t\tsetValue: function ( val ) {\n\t\t\tthis.busy = true;\n\n\t\t\t// Update range input (with change).\n\t\t\tacf.val( this.$input(), val );\n\n\t\t\t// Update alt input (without change).\n\t\t\t// Read in input value to inherit min/max validation.\n\t\t\tacf.val( this.$inputAlt(), this.$input().val(), true );\n\n\t\t\tthis.busy = false;\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( ! this.busy ) {\n\t\t\t\tthis.setValue( $el.val() );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'relationship',\n\n\t\tevents: {\n\t\t\t'keypress [data-filter]': 'onKeypressFilter',\n\t\t\t'change [data-filter]': 'onChangeFilter',\n\t\t\t'keyup [data-filter]': 'onChangeFilter',\n\t\t\t'click .choices-list .acf-rel-item': 'onClickAdd',\n\t\t\t'keypress .choices-list .acf-rel-item': 'onKeypressFilter',\n\t\t\t'keypress .values-list .acf-rel-item': 'onKeypressFilter',\n\t\t\t'click [data-name=\"remove_item\"]': 'onClickRemove',\n\t\t\t'touchstart .values-list .acf-rel-item': 'onTouchStartValues',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-relationship' );\n\t\t},\n\n\t\t$list: function ( list ) {\n\t\t\treturn this.$( '.' + list + '-list' );\n\t\t},\n\n\t\t$listItems: function ( list ) {\n\t\t\treturn this.$list( list ).find( '.acf-rel-item' );\n\t\t},\n\n\t\t$listItem: function ( list, id ) {\n\t\t\treturn this.$list( list ).find(\n\t\t\t\t'.acf-rel-item[data-id=\"' + id + '\"]'\n\t\t\t);\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\tvar val = [];\n\t\t\tthis.$listItems( 'values' ).each( function () {\n\t\t\t\tval.push( $( this ).data( 'id' ) );\n\t\t\t} );\n\t\t\treturn val.length ? val : false;\n\t\t},\n\n\t\tnewChoice: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
',\n\t\t\t\t'' +\n\t\t\t\t\tprops.text +\n\t\t\t\t\t' ',\n\t\t\t\t' ',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tnewValue: function ( props ) {\n\t\t\treturn [\n\t\t\t\t'
',\n\t\t\t\t' ',\n\t\t\t\t'' +\n\t\t\t\t\tprops.text,\n\t\t\t\t' ',\n\t\t\t\t' ',\n\t\t\t\t' ',\n\t\t\t].join( '' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Delay initialization until \"interacted with\" or \"in view\".\n\t\t\tvar delayed = this.proxy(\n\t\t\t\tacf.once( function () {\n\t\t\t\t\t// Add sortable.\n\t\t\t\t\tthis.$list( 'values' ).sortable( {\n\t\t\t\t\t\titems: 'li',\n\t\t\t\t\t\tforceHelperSize: true,\n\t\t\t\t\t\tforcePlaceholderSize: true,\n\t\t\t\t\t\tscroll: true,\n\t\t\t\t\t\tupdate: this.proxy( function () {\n\t\t\t\t\t\t\tthis.$input().trigger( 'change' );\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Avoid browser remembering old scroll position and add event.\n\t\t\t\t\tthis.$list( 'choices' )\n\t\t\t\t\t\t.scrollTop( 0 )\n\t\t\t\t\t\t.on( 'scroll', this.proxy( this.onScrollChoices ) );\n\n\t\t\t\t\t// Fetch choices.\n\t\t\t\t\tthis.fetch();\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// Bind \"interacted with\".\n\t\t\tthis.$el.one( 'mouseover', delayed );\n\t\t\tthis.$el.one( 'focus', 'input', delayed );\n\n\t\t\t// Bind \"in view\".\n\t\t\tacf.onceInView( this.$el, delayed );\n\t\t},\n\n\t\tonScrollChoices: function ( e ) {\n\t\t\t// bail early if no more results\n\t\t\tif ( this.get( 'loading' ) || ! this.get( 'more' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Scrolled to bottom\n\t\t\tvar $list = this.$list( 'choices' );\n\t\t\tvar scrollTop = Math.ceil( $list.scrollTop() );\n\t\t\tvar scrollHeight = Math.ceil( $list[ 0 ].scrollHeight );\n\t\t\tvar innerHeight = Math.ceil( $list.innerHeight() );\n\t\t\tvar paged = this.get( 'paged' ) || 1;\n\t\t\tif ( scrollTop + innerHeight >= scrollHeight ) {\n\t\t\t\t// update paged\n\t\t\t\tthis.set( 'paged', paged + 1 );\n\n\t\t\t\t// fetch\n\t\t\t\tthis.fetch();\n\t\t\t}\n\t\t},\n\n\t\tonKeypressFilter: function ( e, $el ) {\n\t\t\t// Receive enter key when selecting relationship items.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-add' ) && e.which == 13 ) {\n\t\t\t\tthis.onClickAdd(e, $el);\n\t\t\t}\n\t\t\t// Receive enter key when removing relationship items.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-remove' ) && e.which == 13 ) {\n\t\t\t\tthis.onClickRemove(e, $el);\n\t\t\t}\n\t\t\t// don't submit form\n\t\t\tif ( e.which == 13 ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\tonChangeFilter: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = $el.val();\n\t\t\tvar filter = $el.data( 'filter' );\n\n\t\t\t// Bail early if filter has not changed\n\t\t\tif ( this.get( filter ) === val ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update attr\n\t\t\tthis.set( filter, val );\n\n\t\t\t// reset paged\n\t\t\tthis.set( 'paged', 1 );\n\n\t\t\t// fetch\n\t\t\tif ( $el.is( 'select' ) ) {\n\t\t\t\tthis.fetch();\n\n\t\t\t\t// search must go through timeout\n\t\t\t} else {\n\t\t\t\tthis.maybeFetch();\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\t\t\tvar max = parseInt( this.get( 'max' ) );\n\n\t\t\t// can be added?\n\t\t\tif ( $el.hasClass( 'disabled' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// validate\n\t\t\tif ( max > 0 && val && val.length >= max ) {\n\t\t\t\t// add notice\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: acf\n\t\t\t\t\t\t.__( 'Maximum values reached ( {max} values )' )\n\t\t\t\t\t\t.replace( '{max}', max ),\n\t\t\t\t\ttype: 'warning',\n\t\t\t\t} );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// disable\n\t\t\t$el.addClass( 'disabled' );\n\n\t\t\t// add\n\t\t\tvar html = this.newValue( {\n\t\t\t\tid: $el.data( 'id' ),\n\t\t\t\ttext: $el.html(),\n\t\t\t} );\n\t\t\tthis.$list( 'values' ).append( html );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\t// Prevent default here because generic handler wont be triggered.\n\t\t\te.preventDefault();\n\n\t\t\tlet $span;\n\t\t\t// Behavior if triggered from tabbed event.\n\t\t\tif ( $el.hasClass( 'acf-rel-item-remove' )) {\n\t\t\t\t$span = $el;\n\t\t\t} else {\n\t\t\t\t// Behavior if triggered through click event.\n\t\t\t\t$span = $el.parent();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tconst $li = $span.parent();\n\t\t\tconst id = $span.data( 'id' );\n\n\t\t\t// remove value\n\t\t\t$li.remove();\n\n\t\t\t// show choice\n\t\t\tthis.$listItem( 'choices', id ).removeClass( 'disabled' );\n\n\t\t\t// trigger change\n\t\t\tthis.$input().trigger( 'change' );\n\t\t},\n\n\t\tonTouchStartValues: function( e, $el ) {\n\t\t\t$( this.$listItems( 'values' ) ).removeClass( 'relationship-hover' );\n\t\t\t$el.addClass( 'relationship-hover' );\n\t\t},\n\n\t\tmaybeFetch: function () {\n\t\t\t// vars\n\t\t\tvar timeout = this.get( 'timeout' );\n\n\t\t\t// abort timeout\n\t\t\tif ( timeout ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t}\n\n\t\t\t// fetch\n\t\t\ttimeout = this.setTimeout( this.fetch, 300 );\n\t\t\tthis.set( 'timeout', timeout );\n\t\t},\n\n\t\tgetAjaxData: function () {\n\t\t\t// load data based on element attributes\n\t\t\tvar ajaxData = this.$control().data();\n\t\t\tfor ( var name in ajaxData ) {\n\t\t\t\tajaxData[ name ] = this.get( name );\n\t\t\t}\n\n\t\t\t// extra\n\t\t\tajaxData.action = 'acf/fields/relationship/query';\n\t\t\tajaxData.field_key = this.get( 'key' );\n\n\t\t\t// Filter.\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'relationship_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn ajaxData;\n\t\t},\n\n\t\tfetch: function () {\n\t\t\t// abort XHR if this field is already loading AJAX data\n\t\t\tvar xhr = this.get( 'xhr' );\n\t\t\tif ( xhr ) {\n\t\t\t\txhr.abort();\n\t\t\t}\n\n\t\t\t// add to this.o\n\t\t\tvar ajaxData = this.getAjaxData();\n\n\t\t\t// clear html if is new query\n\t\t\tvar $choiceslist = this.$list( 'choices' );\n\t\t\tif ( ajaxData.paged == 1 ) {\n\t\t\t\t$choiceslist.html( '' );\n\t\t\t}\n\n\t\t\t// loading\n\t\t\tvar $loading = $(\n\t\t\t\t'
' +\n\t\t\t\t\tacf.__( 'Loading' ) +\n\t\t\t\t\t''\n\t\t\t);\n\t\t\t$choiceslist.append( $loading );\n\t\t\tthis.set( 'loading', true );\n\n\t\t\t// callback\n\t\t\tvar onComplete = function () {\n\t\t\t\tthis.set( 'loading', false );\n\t\t\t\t$loading.remove();\n\t\t\t};\n\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// no results\n\t\t\t\tif ( ! json || ! json.results || ! json.results.length ) {\n\t\t\t\t\t// prevent pagination\n\t\t\t\t\tthis.set( 'more', false );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( this.get( 'paged' ) == 1 ) {\n\t\t\t\t\t\tthis.$list( 'choices' ).append(\n\t\t\t\t\t\t\t'
' + acf.__( 'No matches found' ) + ' '\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// set more (allows pagination scroll)\n\t\t\t\tthis.set( 'more', json.more );\n\n\t\t\t\t// get new results\n\t\t\t\tvar html = this.walkChoices( json.results );\n\t\t\t\tvar $html = $( html );\n\n\t\t\t\t// apply .disabled to left li's\n\t\t\t\tvar val = this.val();\n\t\t\t\tif ( val && val.length ) {\n\t\t\t\t\tval.map( function ( id ) {\n\t\t\t\t\t\t$html\n\t\t\t\t\t\t\t.find( '.acf-rel-item[data-id=\"' + id + '\"]' )\n\t\t\t\t\t\t\t.addClass( 'disabled' );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// append\n\t\t\t\t$choiceslist.append( $html );\n\n\t\t\t\t// merge together groups\n\t\t\t\tvar $prevLabel = false;\n\t\t\t\tvar $prevList = false;\n\n\t\t\t\t$choiceslist.find( '.acf-rel-label' ).each( function () {\n\t\t\t\t\tvar $label = $( this );\n\t\t\t\t\tvar $list = $label.siblings( 'ul' );\n\n\t\t\t\t\tif ( $prevLabel && $prevLabel.text() == $label.text() ) {\n\t\t\t\t\t\t$prevList.append( $list.children() );\n\t\t\t\t\t\t$( this ).parent().remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevLabel = $label;\n\t\t\t\t\t$prevList = $list;\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// get results\n\t\t\tvar xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: 'post',\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\twalkChoices: function ( data ) {\n\t\t\t// walker\n\t\t\tvar walk = function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar html = '';\n\n\t\t\t\t// is array\n\t\t\t\tif ( $.isArray( data ) ) {\n\t\t\t\t\tdata.map( function ( item ) {\n\t\t\t\t\t\thtml += walk( item );\n\t\t\t\t\t} );\n\n\t\t\t\t\t// is item\n\t\t\t\t} else if ( $.isPlainObject( data ) ) {\n\t\t\t\t\t// group\n\t\t\t\t\tif ( data.children !== undefined ) {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
' +\n\t\t\t\t\t\t\tacf.escHtml( data.text ) +\n\t\t\t\t\t\t\t' ';\n\t\t\t\t\t\thtml += walk( data.children );\n\t\t\t\t\t\thtml += ' ';\n\n\t\t\t\t\t\t// single\n\t\t\t\t\t} else {\n\t\t\t\t\t\thtml +=\n\t\t\t\t\t\t\t'
' +\n\t\t\t\t\t\t\tacf.escHtml( data.text ) +\n\t\t\t\t\t\t\t' ';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// return\n\t\t\t\treturn html;\n\t\t\t};\n\n\t\t\treturn walk( data );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'select',\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\tremoveField: 'onRemove',\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'select' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$input();\n\n\t\t\t// inherit data\n\t\t\tthis.inherit( $select );\n\n\t\t\t// select2\n\t\t\tif ( this.get( 'ui' ) ) {\n\t\t\t\t// populate ajax_data (allowing custom attribute to already exist)\n\t\t\t\tvar ajaxAction = this.get( 'ajax_action' );\n\t\t\t\tif ( ! ajaxAction ) {\n\t\t\t\t\tajaxAction = 'acf/fields/' + this.get( 'type' ) + '/query';\n\t\t\t\t}\n\n\t\t\t\t// select2\n\t\t\t\tthis.select2 = acf.newSelect2( $select, {\n\t\t\t\t\tfield: this,\n\t\t\t\t\tajax: this.get( 'ajax' ),\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\t\tallowNull: this.get( 'allow_null' ),\n\t\t\t\t\tajaxAction: ajaxAction,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tif ( this.select2 ) {\n\t\t\t\tthis.select2.destroy();\n\t\t\t}\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.select2 ) {\n\t\t\t\t$duplicate.find( '.select2-container' ).remove();\n\t\t\t\t$duplicate\n\t\t\t\t\t.find( 'select' )\n\t\t\t\t\t.removeClass( 'select2-hidden-accessible' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar CONTEXT = 'tab';\n\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'tab',\n\n\t\twait: '',\n\n\t\ttabs: false,\n\n\t\ttab: false,\n\n\t\tevents: {\n\t\t\tduplicateField: 'onDuplicate',\n\t\t},\n\n\t\tfindFields: function () {\n\t\t\tlet filter;\n\n\t\t\t/**\n\t\t\t * Tabs in the admin UI that can be extended by third\n\t\t\t * parties have the child settings wrapped inside an extra div,\n\t\t\t * so we need to look for that instead of an adjacent .acf-field.\n\t\t\t */\n\t\t\tswitch ( this.get( 'key' ) ) {\n\t\t\t\tcase 'acf_field_settings_tabs':\n\t\t\t\t\tfilter = '.acf-field-settings-main';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_field_group_settings_tabs':\n\t\t\t\t\tfilter = '.field-group-settings-tab';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_browse_fields_tabs':\n\t\t\t\t\tfilter = '.acf-field-types-tab';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_post_type_tabs':\n\t\t\t\t\tfilter = '.acf-post-type-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_taxonomy_tabs':\n\t\t\t\t\tfilter = '.acf-taxonomy-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'acf_ui_options_page_tabs':\n\t\t\t\t\tfilter = '.acf-ui-options-page-advanced-settings';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tfilter = '.acf-field';\n\t\t\t}\n\n\t\t\treturn this.$el.nextUntil( '.acf-field-tab', filter );\n\t\t},\n\n\t\tgetFields: function () {\n\t\t\treturn acf.getFields( this.findFields() );\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn this.$el.prevAll( '.acf-tab-wrap:first' );\n\t\t},\n\n\t\tfindTab: function () {\n\t\t\treturn this.$( '.acf-tab-button' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// bail early if is td\n\t\t\tif ( this.$el.is( 'td' ) ) {\n\t\t\t\tthis.events = {};\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $tabs = this.findTabs();\n\t\t\tvar $tab = this.findTab();\n\t\t\tvar settings = acf.parseArgs( $tab.data(), {\n\t\t\t\tendpoint: false,\n\t\t\t\tplacement: '',\n\t\t\t\tbefore: this.$el,\n\t\t\t} );\n\n\t\t\t// create wrap\n\t\t\tif ( ! $tabs.length || settings.endpoint ) {\n\t\t\t\tthis.tabs = new Tabs( settings );\n\t\t\t} else {\n\t\t\t\tthis.tabs = $tabs.data( 'acf' );\n\t\t\t}\n\n\t\t\t// add tab\n\t\t\tthis.tab = this.tabs.addTab( $tab, this );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.tab.isActive();\n\t\t},\n\n\t\tshowFields: function () {\n\t\t\t// show fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.show( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = false;\n\t\t\t}, this );\n\t\t},\n\n\t\thideFields: function () {\n\t\t\t// hide fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.hide( this.cid, CONTEXT );\n\t\t\t\tfield.hiddenByTab = this.tab;\n\t\t\t}, this );\n\t\t},\n\n\t\tshow: function ( lockKey ) {\n\t\t\t// show field and store result\n\t\t\tvar visible = acf.Field.prototype.show.apply( this, arguments );\n\n\t\t\t// check if now visible\n\t\t\tif ( visible ) {\n\t\t\t\t// show tab\n\t\t\t\tthis.tab.show();\n\n\t\t\t\t// check active tabs\n\t\t\t\tthis.tabs.refresh();\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn visible;\n\t\t},\n\n\t\thide: function ( lockKey ) {\n\t\t\t// hide field and store result\n\t\t\tvar hidden = acf.Field.prototype.hide.apply( this, arguments );\n\n\t\t\t// check if now hidden\n\t\t\tif ( hidden ) {\n\t\t\t\t// hide tab\n\t\t\t\tthis.tab.hide();\n\n\t\t\t\t// reset tabs if this was active\n\t\t\t\tif ( this.isActive() ) {\n\t\t\t\t\tthis.tabs.reset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn hidden;\n\t\t},\n\n\t\tenable: function ( lockKey ) {\n\t\t\t// enable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.enable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tdisable: function ( lockKey ) {\n\t\t\t// disable fields\n\t\t\tthis.getFields().map( function ( field ) {\n\t\t\t\tfield.disable( CONTEXT );\n\t\t\t} );\n\t\t},\n\n\t\tonDuplicate: function ( e, $el, $duplicate ) {\n\t\t\tif ( this.isActive() ) {\n\t\t\t\t$duplicate.prevAll( '.acf-tab-wrap:first' ).remove();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t/**\n\t * tabs\n\t *\n\t * description\n\t *\n\t * @date\t8/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar i = 0;\n\tvar Tabs = acf.Model.extend( {\n\t\ttabs: [],\n\n\t\tactive: false,\n\n\t\tactions: {\n\t\t\trefresh: 'onRefresh',\n\t\t\tclose_field_object: 'onCloseFieldObject',\n\t\t},\n\n\t\tdata: {\n\t\t\tbefore: false,\n\t\t\tplacement: 'top',\n\t\t\tindex: 0,\n\t\t\tinitialized: false,\n\t\t},\n\n\t\tsetup: function ( settings ) {\n\t\t\t// data\n\t\t\t$.extend( this.data, settings );\n\n\t\t\t// define this prop to avoid scope issues\n\t\t\tthis.tabs = [];\n\t\t\tthis.active = false;\n\n\t\t\t// vars\n\t\t\tvar placement = this.get( 'placement' );\n\t\t\tvar $before = this.get( 'before' );\n\t\t\tvar $parent = $before.parent();\n\n\t\t\t// add sidebar for left placement\n\t\t\tif ( placement == 'left' && $parent.hasClass( 'acf-fields' ) ) {\n\t\t\t\t$parent.addClass( '-sidebar' );\n\t\t\t}\n\n\t\t\t// create wrap\n\t\t\tif ( $before.is( 'tr' ) ) {\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlet ulClass = 'acf-hl acf-tab-group';\n\n\t\t\t\tif ( this.get( 'key' ) === 'acf_field_settings_tabs' ) {\n\t\t\t\t\tulClass = 'acf-field-settings-tab-bar';\n\t\t\t\t}\n\n\t\t\t\tthis.$el = $(\n\t\t\t\t\t'
'\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$before.before( this.$el );\n\n\t\t\t// set index\n\t\t\tthis.set( 'index', i, true );\n\t\t\ti++;\n\t\t},\n\n\t\tinitializeTabs: function () {\n\t\t\t// Bail if tabs are disabled.\n\t\t\tif (\n\t\t\t\t'acf_field_settings_tabs' === this.get( 'key' ) &&\n\t\t\t\t$( '#acf-field-group-fields' ).hasClass( 'hide-tabs' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// find first visible tab\n\t\t\tvar tab = this.getVisible().shift();\n\n\t\t\t// remember previous tab state\n\t\t\tvar order = acf.getPreference( 'this.tabs' ) || [];\n\t\t\tvar groupIndex = this.get( 'index' );\n\t\t\tvar tabIndex = order[ groupIndex ];\n\n\t\t\tif ( this.tabs[ tabIndex ] && this.tabs[ tabIndex ].isVisible() ) {\n\t\t\t\ttab = this.tabs[ tabIndex ];\n\t\t\t}\n\n\t\t\t// select\n\t\t\tif ( tab ) {\n\t\t\t\tthis.selectTab( tab );\n\t\t\t} else {\n\t\t\t\tthis.closeTabs();\n\t\t\t}\n\n\t\t\t// set local variable used by tabsManager\n\t\t\tthis.set( 'initialized', true );\n\t\t},\n\n\t\tgetVisible: function () {\n\t\t\treturn this.tabs.filter( function ( tab ) {\n\t\t\t\treturn tab.isVisible();\n\t\t\t} );\n\t\t},\n\n\t\tgetActive: function () {\n\t\t\treturn this.active;\n\t\t},\n\n\t\tsetActive: function ( tab ) {\n\t\t\treturn ( this.active = tab );\n\t\t},\n\n\t\thasActive: function () {\n\t\t\treturn this.active !== false;\n\t\t},\n\n\t\tisActive: function ( tab ) {\n\t\t\tvar active = this.getActive();\n\t\t\treturn active && active.cid === tab.cid;\n\t\t},\n\n\t\tcloseActive: function () {\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\tthis.closeTab( this.getActive() );\n\t\t\t}\n\t\t},\n\n\t\topenTab: function ( tab ) {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// open\n\t\t\ttab.open();\n\n\t\t\t// set active\n\t\t\tthis.setActive( tab );\n\t\t},\n\n\t\tcloseTab: function ( tab ) {\n\t\t\t// close\n\t\t\ttab.close();\n\n\t\t\t// set active\n\t\t\tthis.setActive( false );\n\t\t},\n\n\t\tcloseTabs: function () {\n\t\t\tthis.tabs.map( this.closeTab, this );\n\t\t},\n\n\t\tselectTab: function ( tab ) {\n\t\t\t// close other tabs\n\t\t\tthis.tabs.map( function ( t ) {\n\t\t\t\tif ( tab.cid !== t.cid ) {\n\t\t\t\t\tthis.closeTab( t );\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// open\n\t\t\tthis.openTab( tab );\n\t\t},\n\n\t\taddTab: function ( $a, field ) {\n\t\t\t// create
\n\t\t\tvar $li = $( ' ' + $a.outerHTML() + ' ' );\n\n\t\t\t// add settings type class.\n\t\t\tvar classes = $a.attr( 'class' ).replace( 'acf-tab-button', '' );\n\t\t\t$li.addClass( classes );\n\n\t\t\t// append\n\t\t\tthis.$( 'ul' ).append( $li );\n\n\t\t\t// initialize\n\t\t\tvar tab = new Tab( {\n\t\t\t\t$el: $li,\n\t\t\t\tfield: field,\n\t\t\t\tgroup: this,\n\t\t\t} );\n\n\t\t\t// store\n\t\t\tthis.tabs.push( tab );\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\treset: function () {\n\t\t\t// close existing tab\n\t\t\tthis.closeActive();\n\n\t\t\t// find and active a tab\n\t\t\treturn this.refresh();\n\t\t},\n\n\t\trefresh: function () {\n\t\t\t// bail early if active already exists\n\t\t\tif ( this.hasActive() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// find next active tab\n\t\t\tvar tab = this.getVisible().shift();\n\t\t\t// open tab\n\t\t\tif ( tab ) {\n\t\t\t\tthis.openTab( tab );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tab;\n\t\t},\n\n\t\tonRefresh: function () {\n\t\t\t// only for left placements\n\t\t\tif ( this.get( 'placement' ) !== 'left' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $parent = this.$el.parent();\n\t\t\tvar $list = this.$el.children( 'ul' );\n\t\t\tvar attribute = $parent.is( 'td' ) ? 'height' : 'min-height';\n\n\t\t\t// find height (minus 1 for border-bottom)\n\t\t\tvar height = $list.position().top + $list.outerHeight( true ) - 1;\n\n\t\t\t// add css\n\t\t\t$parent.css( attribute, height );\n\t\t},\n\n\t\tonCloseFieldObject: function ( fieldObject ) {\n\t\t\tconst tab = this.getVisible().find( ( item ) => {\n\t\t\t\tconst id = item.$el.closest( 'div[data-id]' ).data( 'id' );\n\t\t\t\tif ( fieldObject.data.id === id ) {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( tab ) {\n\t\t\t\t// Wait for field group drawer to close\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\tthis.openTab( tab );\n\t\t\t\t}, 300 );\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar Tab = acf.Model.extend( {\n\t\tgroup: false,\n\n\t\tfield: false,\n\n\t\tevents: {\n\t\t\t'click a': 'onClick',\n\t\t},\n\n\t\tindex: function () {\n\t\t\treturn this.$el.index();\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn acf.isVisible( this.$el );\n\t\t},\n\n\t\tisActive: function () {\n\t\t\treturn this.$el.hasClass( 'active' );\n\t\t},\n\n\t\topen: function () {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'active' );\n\n\t\t\t// show field\n\t\t\tthis.field.showFields();\n\t\t},\n\n\t\tclose: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'active' );\n\n\t\t\t// hide field\n\t\t\tthis.field.hideFields();\n\t\t},\n\n\t\tonClick: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// toggle\n\t\t\tthis.toggle();\n\t\t},\n\n\t\ttoggle: function () {\n\t\t\t// bail early if already active\n\t\t\tif ( this.isActive() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle this tab\n\t\t\tthis.group.openTab( this );\n\t\t},\n\t} );\n\n\tvar tabsManager = new acf.Model( {\n\t\tpriority: 50,\n\n\t\tactions: {\n\t\t\tprepare: 'render',\n\t\t\tappend: 'render',\n\t\t\tunload: 'onUnload',\n\t\t\tshow: 'render',\n\t\t\tinvalid_field: 'onInvalidField',\n\t\t},\n\n\t\tfindTabs: function () {\n\t\t\treturn $( '.acf-tab-wrap' );\n\t\t},\n\n\t\tgetTabs: function () {\n\t\t\treturn acf.getInstances( this.findTabs() );\n\t\t},\n\n\t\trender: function ( $el ) {\n\t\t\tthis.getTabs().map( function ( tabs ) {\n\t\t\t\tif ( ! tabs.get( 'initialized' ) ) {\n\t\t\t\t\ttabs.initializeTabs();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tonInvalidField: function ( field ) {\n\t\t\t// bail early if busy\n\t\t\tif ( this.busy ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// ignore if not hidden by tab\n\t\t\tif ( ! field.hiddenByTab ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// toggle tab\n\t\t\tfield.hiddenByTab.toggle();\n\n\t\t\t// ignore other invalid fields\n\t\t\tthis.busy = true;\n\t\t\tthis.setTimeout( function () {\n\t\t\t\tthis.busy = false;\n\t\t\t}, 100 );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\t// vars\n\t\t\tvar order = [];\n\n\t\t\t// loop\n\t\t\tthis.getTabs().map( function ( group ) {\n\t\t\t\t// Do not save selected tab on field settings, or an acf-advanced-settings when unloading\n\t\t\t\tif (\n\t\t\t\t\tgroup.$el.children( '.acf-field-settings-tab-bar' )\n\t\t\t\t\t\t.length ||\n\t\t\t\t\tgroup.$el.parents( '#acf-advanced-settings.postbox' ).length\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tvar active = group.hasActive() ? group.getActive().index() : 0;\n\t\t\t\torder.push( active );\n\t\t\t} );\n\n\t\t\t// bail if no tabs\n\t\t\tif ( ! order.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tacf.setPreference( 'this.tabs', order );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'taxonomy',\n\n\t\tdata: {\n\t\t\tftype: 'select',\n\t\t},\n\n\t\tselect2: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'click a[data-name=\"add\"]': 'onClickAdd',\n\t\t\t'click input[type=\"radio\"]': 'onClickRadio',\n\t\t\tremoveField: 'onRemove',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-taxonomy-field' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.getRelatedPrototype().$input.apply( this, arguments );\n\t\t},\n\n\t\tgetRelatedType: function () {\n\t\t\t// vars\n\t\t\tvar fieldType = this.get( 'ftype' );\n\n\t\t\t// normalize\n\t\t\tif ( fieldType == 'multi_select' ) {\n\t\t\t\tfieldType = 'select';\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn fieldType;\n\t\t},\n\n\t\tgetRelatedPrototype: function () {\n\t\t\treturn acf.getFieldType( this.getRelatedType() ).prototype;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.getRelatedPrototype().getValue.apply( this, arguments );\n\t\t},\n\n\t\tsetValue: function () {\n\t\t\treturn this.getRelatedPrototype().setValue.apply( this, arguments );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.getRelatedPrototype().initialize.apply( this, arguments );\n\t\t},\n\n\t\tonRemove: function () {\n\t\t\tvar proto = this.getRelatedPrototype();\n\t\t\tif ( proto.onRemove ) {\n\t\t\t\tproto.onRemove.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar field = this;\n\t\t\tvar popup = false;\n\t\t\tvar $form = false;\n\t\t\tvar $name = false;\n\t\t\tvar $parent = false;\n\t\t\tvar $button = false;\n\t\t\tvar $message = false;\n\t\t\tvar notice = false;\n\n\t\t\t// step 1.\n\t\t\tvar step1 = function () {\n\t\t\t\t// popup\n\t\t\t\tpopup = acf.newPopup( {\n\t\t\t\t\ttitle: $el.attr( 'title' ),\n\t\t\t\t\tloading: true,\n\t\t\t\t\twidth: '300px',\n\t\t\t\t} );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t};\n\n\t\t\t\t// get HTML\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'html',\n\t\t\t\t\tsuccess: step2,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 2.\n\t\t\tvar step2 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.loading( false );\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// vars\n\t\t\t\t$form = popup.$( 'form' );\n\t\t\t\t$name = popup.$( 'input[name=\"term_name\"]' );\n\t\t\t\t$parent = popup.$( 'select[name=\"term_parent\"]' );\n\t\t\t\t$button = popup.$( '.acf-submit-button' );\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\n\t\t\t\t// submit form\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\n\t\t\t// step 3.\n\t\t\tvar step3 = function ( e, $el ) {\n\t\t\t\t// prevent\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopImmediatePropagation();\n\n\t\t\t\t// basic validation\n\t\t\t\tif ( $name.val() === '' ) {\n\t\t\t\t\t$name.trigger( 'focus' );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// disable\n\t\t\t\tacf.startButtonLoading( $button );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/fields/taxonomy/add_term',\n\t\t\t\t\tfield_key: field.get( 'key' ),\n\t\t\t\t\tterm_name: $name.val(),\n\t\t\t\t\tterm_parent: $parent.length ? $parent.val() : 0,\n\t\t\t\t};\n\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\tsuccess: step4,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// step 4.\n\t\t\tvar step4 = function ( json ) {\n\t\t\t\t// enable\n\t\t\t\tacf.stopButtonLoading( $button );\n\n\t\t\t\t// remove prev notice\n\t\t\t\tif ( notice ) {\n\t\t\t\t\tnotice.remove();\n\t\t\t\t}\n\n\t\t\t\t// success\n\t\t\t\tif ( acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\t// clear name\n\t\t\t\t\t$name.val( '' );\n\n\t\t\t\t\t// update term lists\n\t\t\t\t\tstep5( json.data );\n\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\ttext: acf.getAjaxMessage( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// notice\n\t\t\t\t\tnotice = acf.newNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\ttext: acf.getAjaxError( json ),\n\t\t\t\t\t\ttarget: $form,\n\t\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\t\tdismiss: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// focus\n\t\t\t\t$name.trigger( 'focus' );\n\t\t\t};\n\n\t\t\t// step 5.\n\t\t\tvar step5 = function ( term ) {\n\t\t\t\t// update parent dropdown\n\t\t\t\tvar $option = $(\n\t\t\t\t\t'
' +\n\t\t\t\t\t\tterm.term_label +\n\t\t\t\t\t\t' '\n\t\t\t\t);\n\t\t\t\tif ( term.term_parent ) {\n\t\t\t\t\t$parent\n\t\t\t\t\t\t.children( 'option[value=\"' + term.term_parent + '\"]' )\n\t\t\t\t\t\t.after( $option );\n\t\t\t\t} else {\n\t\t\t\t\t$parent.append( $option );\n\t\t\t\t}\n\n\t\t\t\t// add this new term to all taxonomy field\n\t\t\t\tvar fields = acf.getFields( {\n\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t} );\n\n\t\t\t\tfields.map( function ( otherField ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\totherField.get( 'taxonomy' ) == field.get( 'taxonomy' )\n\t\t\t\t\t) {\n\t\t\t\t\t\totherField.appendTerm( term );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// select\n\t\t\t\tfield.selectTerm( term.term_id );\n\t\t\t};\n\n\t\t\t// run\n\t\t\tstep1();\n\t\t},\n\n\t\tappendTerm: function ( term ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.appendTermSelect( term );\n\t\t\t} else {\n\t\t\t\tthis.appendTermCheckbox( term );\n\t\t\t}\n\t\t},\n\n\t\tappendTermSelect: function ( term ) {\n\t\t\tthis.select2.addOption( {\n\t\t\t\tid: term.term_id,\n\t\t\t\ttext: term.term_label,\n\t\t\t} );\n\t\t},\n\n\t\tappendTermCheckbox: function ( term ) {\n\t\t\t// vars\n\t\t\tvar name = this.$( '[name]:first' ).attr( 'name' );\n\t\t\tvar $ul = this.$( 'ul:first' );\n\n\t\t\t// allow multiple selection\n\t\t\tif ( this.getRelatedType() == 'checkbox' ) {\n\t\t\t\tname += '[]';\n\t\t\t}\n\n\t\t\t// create new li\n\t\t\tvar $li = $(\n\t\t\t\t[\n\t\t\t\t\t'
',\n\t\t\t\t\t'',\n\t\t\t\t\t' ',\n\t\t\t\t\t'' + term.term_name + ' ',\n\t\t\t\t\t' ',\n\t\t\t\t\t' ',\n\t\t\t\t].join( '' )\n\t\t\t);\n\n\t\t\t// find parent\n\t\t\tif ( term.term_parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar $parent = $ul.find(\n\t\t\t\t\t'li[data-id=\"' + term.term_parent + '\"]'\n\t\t\t\t);\n\n\t\t\t\t// update vars\n\t\t\t\t$ul = $parent.children( 'ul' );\n\n\t\t\t\t// create ul\n\t\t\t\tif ( ! $ul.exists() ) {\n\t\t\t\t\t$ul = $( '
' );\n\t\t\t\t\t$parent.append( $ul );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$ul.append( $li );\n\t\t},\n\n\t\tselectTerm: function ( id ) {\n\t\t\tif ( this.getRelatedType() == 'select' ) {\n\t\t\t\tthis.select2.selectOption( id );\n\t\t\t} else {\n\t\t\t\tvar $input = this.$( 'input[value=\"' + id + '\"]' );\n\t\t\t\t$input.prop( 'checked', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tonClickRadio: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $label = $el.parent( 'label' );\n\t\t\tvar selected = $label.hasClass( 'selected' );\n\n\t\t\t// remove previous selected\n\t\t\tthis.$( '.selected' ).removeClass( 'selected' );\n\n\t\t\t// add active class\n\t\t\t$label.addClass( 'selected' );\n\n\t\t\t// allow null\n\t\t\tif ( this.get( 'allow_null' ) && selected ) {\n\t\t\t\t$label.removeClass( 'selected' );\n\t\t\t\t$el.prop( 'checked', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.DatePickerField.extend( {\n\t\ttype: 'time_picker',\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-time-picker' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $input = this.$input();\n\t\t\tvar $inputText = this.$inputText();\n\n\t\t\t// args\n\t\t\tvar args = {\n\t\t\t\ttimeFormat: this.get( 'time_format' ),\n\t\t\t\taltField: $input,\n\t\t\t\taltFieldTimeOnly: false,\n\t\t\t\taltTimeFormat: 'HH:mm:ss',\n\t\t\t\tshowButtonPanel: true,\n\t\t\t\tcontrolType: 'select',\n\t\t\t\toneLine: true,\n\t\t\t\tcloseText: acf.get( 'dateTimePickerL10n' ).selectText,\n\t\t\t\ttimeOnly: true,\n\t\t\t};\n\n\t\t\t// add custom 'Close = Select' functionality\n\t\t\targs.onClose = function ( value, dp_instance, t_instance ) {\n\t\t\t\t// vars\n\t\t\t\tvar $close = dp_instance.dpDiv.find( '.ui-datepicker-close' );\n\n\t\t\t\t// if clicking close button\n\t\t\t\tif ( ! value && $close.is( ':hover' ) ) {\n\t\t\t\t\tt_instance._updateDateTime();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// filter\n\t\t\targs = acf.applyFilters( 'time_picker_args', args, this );\n\n\t\t\t// add date time picker\n\t\t\tacf.newTimePicker( $inputText, args );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'time_picker_init', $inputText, args, this );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\t// add\n\tacf.newTimePicker = function ( $input, args ) {\n\t\t// bail early if no datepicker library\n\t\tif ( typeof $.timepicker === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// defaults\n\t\targs = args || {};\n\n\t\t// initialize\n\t\t$input.timepicker( args );\n\n\t\t// wrap the datepicker (only if it hasn't already been wrapped)\n\t\tif ( $( 'body > #ui-datepicker-div' ).exists() ) {\n\t\t\t$( 'body > #ui-datepicker-div' ).wrap(\n\t\t\t\t'
'\n\t\t\t);\n\t\t}\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'true_false',\n\n\t\tevents: {\n\t\t\t'change .acf-switch-input': 'onChange',\n\t\t\t'focus .acf-switch-input': 'onFocus',\n\t\t\t'blur .acf-switch-input': 'onBlur',\n\t\t\t'keypress .acf-switch-input': 'onKeypress',\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"checkbox\"]' );\n\t\t},\n\n\t\t$switch: function () {\n\t\t\treturn this.$( '.acf-switch' );\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().prop( 'checked' ) ? 1 : 0;\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\t// vars\n\t\t\tvar $switch = this.$switch();\n\n\t\t\t// bail early if no $switch\n\t\t\tif ( ! $switch.length ) return;\n\n\t\t\t// vars\n\t\t\tvar $on = $switch.children( '.acf-switch-on' );\n\t\t\tvar $off = $switch.children( '.acf-switch-off' );\n\t\t\tvar width = Math.max( $on.width(), $off.width() );\n\n\t\t\t// bail early if no width\n\t\t\tif ( ! width ) return;\n\n\t\t\t// set widths\n\t\t\t$on.css( 'min-width', width );\n\t\t\t$off.css( 'min-width', width );\n\t\t},\n\n\t\tswitchOn: function () {\n\t\t\tthis.$input().prop( 'checked', true );\n\t\t\tthis.$switch().addClass( '-on' );\n\t\t},\n\n\t\tswitchOff: function () {\n\t\t\tthis.$input().prop( 'checked', false );\n\t\t\tthis.$switch().removeClass( '-on' );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tif ( $el.prop( 'checked' ) ) {\n\t\t\t\tthis.switchOn();\n\t\t\t} else {\n\t\t\t\tthis.switchOff();\n\t\t\t}\n\t\t},\n\n\t\tonFocus: function ( e, $el ) {\n\t\t\tthis.$switch().addClass( '-focus' );\n\t\t},\n\n\t\tonBlur: function ( e, $el ) {\n\t\t\tthis.$switch().removeClass( '-focus' );\n\t\t},\n\n\t\tonKeypress: function ( e, $el ) {\n\t\t\t// left\n\t\t\tif ( e.keyCode === 37 ) {\n\t\t\t\treturn this.switchOff();\n\t\t\t}\n\n\t\t\t// right\n\t\t\tif ( e.keyCode === 39 ) {\n\t\t\t\treturn this.switchOn();\n\t\t\t}\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'url',\n\n\t\tevents: {\n\t\t\t'keyup input[type=\"url\"]': 'onkeyup',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-input-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'input[type=\"url\"]' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\tisValid: function () {\n\t\t\t// vars\n\t\t\tvar val = this.val();\n\n\t\t\t// bail early if no val\n\t\t\tif ( ! val ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// url\n\t\t\tif ( val.indexOf( '://' ) !== -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// protocol relative url\n\t\t\tif ( val.indexOf( '//' ) === 0 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn false;\n\t\t},\n\n\t\trender: function () {\n\t\t\t// add class\n\t\t\tif ( this.isValid() ) {\n\t\t\t\tthis.$control().addClass( '-valid' );\n\t\t\t} else {\n\t\t\t\tthis.$control().removeClass( '-valid' );\n\t\t\t}\n\t\t},\n\n\t\tonkeyup: function ( e, $el ) {\n\t\t\tthis.render();\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.models.SelectField.extend( {\n\t\ttype: 'user',\n\t} );\n\n\tacf.registerFieldType( Field );\n\n\tacf.addFilter(\n\t\t'select2_ajax_data',\n\t\tfunction ( data, args, $input, field, select2 ) {\n\t\t\tif ( ! field ) {\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tconst query_nonce = field.get( 'queryNonce' );\n\t\t\tif ( query_nonce && query_nonce.length ) {\n\t\t\t\tdata.user_query_nonce = query_nonce;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t);\n} )( jQuery );\n","( function ( $, undefined ) {\n\tvar Field = acf.Field.extend( {\n\t\ttype: 'wysiwyg',\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'mousedown .acf-editor-wrap.delay': 'onMousedown',\n\t\t\tunmountField: 'disableEditor',\n\t\t\tremountField: 'enableEditor',\n\t\t\tremoveField: 'disableEditor',\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.acf-editor-wrap' );\n\t\t},\n\n\t\t$input: function () {\n\t\t\treturn this.$( 'textarea' );\n\t\t},\n\n\t\tgetMode: function () {\n\t\t\treturn this.$control().hasClass( 'tmce-active' )\n\t\t\t\t? 'visual'\n\t\t\t\t: 'text';\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// initializeEditor if no delay\n\t\t\tif ( ! this.$control().hasClass( 'delay' ) ) {\n\t\t\t\tthis.initializeEditor();\n\t\t\t}\n\t\t},\n\n\t\tinitializeEditor: function () {\n\t\t\t// vars\n\t\t\tvar $wrap = this.$control();\n\t\t\tvar $textarea = this.$input();\n\t\t\tvar args = {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: this.get( 'toolbar' ),\n\t\t\t\tmode: this.getMode(),\n\t\t\t\tfield: this,\n\t\t\t};\n\n\t\t\t// generate new id\n\t\t\tvar oldId = $textarea.attr( 'id' );\n\t\t\tvar newId = acf.uniqueId( 'acf-editor-' );\n\n\t\t\t// Backup textarea data.\n\t\t\tvar inputData = $textarea.data();\n\t\t\tvar inputVal = $textarea.val();\n\n\t\t\t// rename\n\t\t\tacf.rename( {\n\t\t\t\ttarget: $wrap,\n\t\t\t\tsearch: oldId,\n\t\t\t\treplace: newId,\n\t\t\t\tdestructive: true,\n\t\t\t} );\n\n\t\t\t// update id\n\t\t\tthis.set( 'id', newId, true );\n\n\t\t\t// apply data to new textarea (acf.rename creates a new textarea element due to destructive mode)\n\t\t\t// fixes bug where conditional logic \"disabled\" is lost during \"screen_check\"\n\t\t\tthis.$input().data( inputData ).val( inputVal );\n\n\t\t\t// initialize\n\t\t\tacf.tinymce.initialize( newId, args );\n\t\t},\n\n\t\tonMousedown: function ( e ) {\n\t\t\t// prevent default\n\t\t\te.preventDefault();\n\n\t\t\t// remove delay class\n\t\t\tvar $wrap = this.$control();\n\t\t\t$wrap.removeClass( 'delay' );\n\t\t\t$wrap.find( '.acf-editor-toolbar' ).remove();\n\n\t\t\t// initialize\n\t\t\tthis.initializeEditor();\n\t\t},\n\n\t\tenableEditor: function () {\n\t\t\tif ( this.getMode() == 'visual' ) {\n\t\t\t\tacf.tinymce.enable( this.get( 'id' ) );\n\t\t\t}\n\t\t},\n\n\t\tdisableEditor: function () {\n\t\t\tacf.tinymce.destroy( this.get( 'id' ) );\n\t\t},\n\t} );\n\n\tacf.registerFieldType( Field );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t// vars\n\tvar storage = [];\n\n\t/**\n\t * acf.Field\n\t *\n\t * description\n\t *\n\t * @date\t23/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.Field = acf.Model.extend( {\n\t\t// field type\n\t\ttype: '',\n\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '.acf-field',\n\n\t\t// initialize events on 'ready'\n\t\twait: 'ready',\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this field ready for initialization\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tjQuery $field The field element.\n\t\t * @return\tvoid\n\t\t */\n\n\t\tsetup: function ( $field ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $field;\n\n\t\t\t// inherit $field data\n\t\t\tthis.inherit( $field );\n\n\t\t\t// inherit controll data\n\t\t\tthis.inherit( this.$control() );\n\t\t},\n\n\t\t/**\n\t\t * val\n\t\t *\n\t\t * Sets or returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val Optional. The value to set\n\t\t * @return\tmixed\n\t\t */\n\n\t\tval: function ( val ) {\n\t\t\t// Set.\n\t\t\tif ( val !== undefined ) {\n\t\t\t\treturn this.setValue( val );\n\n\t\t\t\t// Get.\n\t\t\t} else {\n\t\t\t\treturn this.prop( 'disabled' ) ? null : this.getValue();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * getValue\n\t\t *\n\t\t * returns the field's value\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tmixed\n\t\t */\n\n\t\tgetValue: function () {\n\t\t\treturn this.$input().val();\n\t\t},\n\n\t\t/**\n\t\t * setValue\n\t\t *\n\t\t * sets the field's value and returns true if changed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tmixed val\n\t\t * @return\tboolean. True if changed.\n\t\t */\n\n\t\tsetValue: function ( val ) {\n\t\t\treturn acf.val( this.$input(), val );\n\t\t},\n\n\t\t/**\n\t\t * __\n\t\t *\n\t\t * i18n helper to be removed\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t__: function ( string ) {\n\t\t\treturn acf._e( this.type, string );\n\t\t},\n\n\t\t/**\n\t\t * $control\n\t\t *\n\t\t * returns the control jQuery element used for inheriting data. Uses this.control setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$control: function () {\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * $input\n\t\t *\n\t\t * returns the input jQuery element used for saving values. Uses this.input setting.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tjQuery\n\t\t */\n\n\t\t$input: function () {\n\t\t\treturn this.$( '[name]:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$inputWrap: function () {\n\t\t\treturn this.$( '.acf-input:first' );\n\t\t},\n\n\t\t/**\n\t\t * $inputWrap\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t12/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\t$labelWrap: function () {\n\t\t\treturn this.$( '.acf-label:first' );\n\t\t},\n\n\t\t/**\n\t\t * getInputName\n\t\t *\n\t\t * Returns the field's input name\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tstring\n\t\t */\n\n\t\tgetInputName: function () {\n\t\t\treturn this.$input().attr( 'name' ) || '';\n\t\t},\n\n\t\t/**\n\t\t * parent\n\t\t *\n\t\t * returns the field's parent field or false on failure.\n\t\t *\n\t\t * @date\t8/5/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tobject|false\n\t\t */\n\n\t\tparent: function () {\n\t\t\t// vars\n\t\t\tvar parents = this.parents();\n\n\t\t\t// return\n\t\t\treturn parents.length ? parents[ 0 ] : false;\n\t\t},\n\n\t\t/**\n\t\t * parents\n\t\t *\n\t\t * description\n\t\t *\n\t\t * @date\t9/7/18\n\t\t * @since\t5.6.9\n\t\t *\n\t\t * @param\ttype $var Description. Default.\n\t\t * @return\ttype Description.\n\t\t */\n\n\t\tparents: function () {\n\t\t\t// vars\n\t\t\tvar $parents = this.$el.parents( '.acf-field' );\n\n\t\t\t// convert\n\t\t\tvar parents = acf.getFields( $parents );\n\n\t\t\t// return\n\t\t\treturn parents;\n\t\t},\n\n\t\tshow: function ( lockKey, context ) {\n\t\t\t// show field and store result\n\t\t\tvar changed = acf.show( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', false );\n\t\t\t\tacf.doAction( 'show_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\thide: function ( lockKey, context ) {\n\t\t\t// hide field and store result\n\t\t\tvar changed = acf.hide( this.$el, lockKey );\n\n\t\t\t// do action if visibility has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'hidden', true );\n\t\t\t\tacf.doAction( 'hide_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tenable: function ( lockKey, context ) {\n\t\t\t// enable field and store result\n\t\t\tvar changed = acf.enable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', false );\n\t\t\t\tacf.doAction( 'enable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tdisable: function ( lockKey, context ) {\n\t\t\t// disabled field and store result\n\t\t\tvar changed = acf.disable( this.$el, lockKey );\n\n\t\t\t// do action if disabled has changed\n\t\t\tif ( changed ) {\n\t\t\t\tthis.prop( 'disabled', true );\n\t\t\t\tacf.doAction( 'disable_field', this, context );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn changed;\n\t\t},\n\n\t\tshowEnable: function ( lockKey, context ) {\n\t\t\t// enable\n\t\t\tthis.enable.apply( this, arguments );\n\n\t\t\t// show and return true if changed\n\t\t\treturn this.show.apply( this, arguments );\n\t\t},\n\n\t\thideDisable: function ( lockKey, context ) {\n\t\t\t// disable\n\t\t\tthis.disable.apply( this, arguments );\n\n\t\t\t// hide and return true if changed\n\t\t\treturn this.hide.apply( this, arguments );\n\t\t},\n\n\t\tshowNotice: function ( props ) {\n\t\t\t// ensure object\n\t\t\tif ( typeof props !== 'object' ) {\n\t\t\t\tprops = { text: props };\n\t\t\t}\n\n\t\t\t// remove old notice\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.remove();\n\t\t\t}\n\n\t\t\t// create new notice\n\t\t\tprops.target = this.$inputWrap();\n\t\t\tthis.notice = acf.newNotice( props );\n\t\t},\n\n\t\tremoveNotice: function ( timeout ) {\n\t\t\tif ( this.notice ) {\n\t\t\t\tthis.notice.away( timeout || 0 );\n\t\t\t\tthis.notice = false;\n\t\t\t}\n\t\t},\n\n\t\tshowError: function ( message ) {\n\t\t\t// add class\n\t\t\tthis.$el.addClass( 'acf-error' );\n\n\t\t\t// add message\n\t\t\tif ( message !== undefined ) {\n\t\t\t\tthis.showNotice( {\n\t\t\t\t\ttext: message,\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tdismiss: false,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'invalid_field', this );\n\n\t\t\t// add event\n\t\t\tthis.$el.one(\n\t\t\t\t'focus change',\n\t\t\t\t'input, select, textarea',\n\t\t\t\t$.proxy( this.removeError, this )\n\t\t\t);\n\t\t},\n\n\t\tremoveError: function () {\n\t\t\t// remove class\n\t\t\tthis.$el.removeClass( 'acf-error' );\n\n\t\t\t// remove notice\n\t\t\tthis.removeNotice( 250 );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'valid_field', this );\n\t\t},\n\n\t\ttrigger: function ( name, args, bubbles ) {\n\t\t\t// allow some events to bubble\n\t\t\tif ( name == 'invalidField' ) {\n\t\t\t\tbubbles = true;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn acf.Model.prototype.trigger.apply( this, [\n\t\t\t\tname,\n\t\t\t\targs,\n\t\t\t\tbubbles,\n\t\t\t] );\n\t\t},\n\t} );\n\n\t/**\n\t * newField\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newField = function ( $field ) {\n\t\t// vars\n\t\tvar type = $field.data( 'type' );\n\t\tvar mid = modelId( type );\n\t\tvar model = acf.models[ mid ] || acf.Field;\n\n\t\t// instantiate\n\t\tvar field = new model( $field );\n\n\t\t// actions\n\t\tacf.doAction( 'new_field', field );\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * mid\n\t *\n\t * Calculates the model ID for a field type\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring type\n\t * @return\tstring\n\t */\n\n\tvar modelId = function ( type ) {\n\t\treturn acf.strPascalCase( type || '' ) + 'Field';\n\t};\n\n\t/**\n\t * registerFieldType\n\t *\n\t * description\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.registerFieldType = function ( model ) {\n\t\t// vars\n\t\tvar proto = model.prototype;\n\t\tvar type = proto.type;\n\t\tvar mid = modelId( type );\n\n\t\t// store model\n\t\tacf.models[ mid ] = model;\n\n\t\t// store reference\n\t\tstorage.push( type );\n\t};\n\n\t/**\n\t * acf.getFieldType\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldType = function ( type ) {\n\t\tvar mid = modelId( type );\n\t\treturn acf.models[ mid ] || false;\n\t};\n\n\t/**\n\t * acf.getFieldTypes\n\t *\n\t * description\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getFieldTypes = function ( args ) {\n\t\t// defaults\n\t\targs = acf.parseArgs( args, {\n\t\t\tcategory: '',\n\t\t\t// hasValue: true\n\t\t} );\n\n\t\t// clonse available types\n\t\tvar types = [];\n\n\t\t// loop\n\t\tstorage.map( function ( type ) {\n\t\t\t// vars\n\t\t\tvar model = acf.getFieldType( type );\n\t\t\tvar proto = model.prototype;\n\n\t\t\t// check operator\n\t\t\tif ( args.category && proto.category !== args.category ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// append\n\t\t\ttypes.push( model );\n\t\t} );\n\n\t\t// return\n\t\treturn types;\n\t};\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * findFields\n\t *\n\t * Returns a jQuery selection object of acf fields.\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tobject $args {\n\t *\t\tOptional. Arguments to find fields.\n\t *\n\t *\t\t@type string\t\t\tkey\t\t\tThe field's key (data-attribute).\n\t *\t\t@type string\t\t\tname\t\tThe field's name (data-attribute).\n\t *\t\t@type string\t\t\ttype\t\tThe field's type (data-attribute).\n\t *\t\t@type string\t\t\tis\t\t\tjQuery selector to compare against.\n\t *\t\t@type jQuery\t\t\tparent\t\tjQuery element to search within.\n\t *\t\t@type jQuery\t\t\tsibling\t\tjQuery element to search alongside.\n\t *\t\t@type limit\t\t\t\tint\t\t\tThe number of fields to find.\n\t *\t\t@type suppressFilters\tbool\t\tWhether to allow filters to add/remove results. Default behaviour will ignore clone fields.\n\t * }\n\t * @return\tjQuery\n\t */\n\n\tacf.findFields = function ( args ) {\n\t\t// vars\n\t\tvar selector = '.acf-field';\n\t\tvar $fields = false;\n\n\t\t// args\n\t\targs = acf.parseArgs( args, {\n\t\t\tkey: '',\n\t\t\tname: '',\n\t\t\ttype: '',\n\t\t\tis: '',\n\t\t\tparent: false,\n\t\t\tsibling: false,\n\t\t\tlimit: false,\n\t\t\tvisible: false,\n\t\t\tsuppressFilters: false,\n\t\t\texcludeSubFields: false,\n\t\t} );\n\n\t\t// filter args\n\t\tif ( ! args.suppressFilters ) {\n\t\t\targs = acf.applyFilters( 'find_fields_args', args );\n\t\t}\n\n\t\t// key\n\t\tif ( args.key ) {\n\t\t\tselector += '[data-key=\"' + args.key + '\"]';\n\t\t}\n\n\t\t// type\n\t\tif ( args.type ) {\n\t\t\tselector += '[data-type=\"' + args.type + '\"]';\n\t\t}\n\n\t\t// name\n\t\tif ( args.name ) {\n\t\t\tselector += '[data-name=\"' + args.name + '\"]';\n\t\t}\n\n\t\t// is\n\t\tif ( args.is ) {\n\t\t\tselector += args.is;\n\t\t}\n\n\t\t// visibility\n\t\tif ( args.visible ) {\n\t\t\tselector += ':visible';\n\t\t}\n\n\t\tif ( ! args.suppressFilters ) {\n\t\t\tselector = acf.applyFilters(\n\t\t\t\t'find_fields_selector',\n\t\t\t\tselector,\n\t\t\t\targs\n\t\t\t);\n\t\t}\n\n\t\t// query\n\t\tif ( args.parent ) {\n\t\t\t$fields = args.parent.find( selector );\n\t\t\t// exclude sub fields if required (only if a parent is provided)\n\t\t\tif ( args.excludeSubFields ) {\n\t\t\t\t$fields = $fields.not( args.parent.find( '.acf-is-subfields .acf-field' ) );\n\t\t\t}\n\t\t} else if ( args.sibling ) {\n\t\t\t$fields = args.sibling.siblings( selector );\n\t\t} else {\n\t\t\t$fields = $( selector );\n\t\t}\n\n\t\t// filter\n\t\tif ( ! args.suppressFilters ) {\n\t\t\t$fields = $fields.not( '.acf-clone .acf-field' );\n\t\t\t$fields = acf.applyFilters( 'find_fields', $fields );\n\t\t}\n\n\t\t// limit\n\t\tif ( args.limit ) {\n\t\t\t$fields = $fields.slice( 0, args.limit );\n\t\t}\n\n\t\t// return\n\t\treturn $fields;\n\t};\n\n\t/**\n\t * findField\n\t *\n\t * Finds a specific field with jQuery\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tstring key \t\tThe field's key.\n\t * @param\tjQuery $parent\tjQuery element to search within.\n\t * @return\tjQuery\n\t */\n\n\tacf.findField = function ( key, $parent ) {\n\t\treturn acf.findFields( {\n\t\t\tkey: key,\n\t\t\tlimit: 1,\n\t\t\tparent: $parent,\n\t\t\tsuppressFilters: true,\n\t\t} );\n\t};\n\n\t/**\n\t * getField\n\t *\n\t * Returns a field instance\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|string $field\tjQuery element or field key.\n\t * @return\tobject\n\t */\n\n\tacf.getField = function ( $field ) {\n\t\t// allow jQuery\n\t\tif ( $field instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$field = acf.findField( $field );\n\t\t}\n\n\t\t// instantiate\n\t\tvar field = $field.data( 'acf' );\n\t\tif ( ! field ) {\n\t\t\tfield = acf.newField( $field );\n\t\t}\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * getFields\n\t *\n\t * Returns multiple field instances\n\t *\n\t * @date\t14/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery|object $fields\tjQuery elements or query args.\n\t * @return\tarray\n\t */\n\n\tacf.getFields = function ( $fields ) {\n\t\t// allow jQuery\n\t\tif ( $fields instanceof jQuery ) {\n\t\t\t// find fields\n\t\t} else {\n\t\t\t$fields = acf.findFields( $fields );\n\t\t}\n\n\t\t// loop\n\t\tvar fields = [];\n\t\t$fields.each( function () {\n\t\t\tvar field = acf.getField( $( this ) );\n\t\t\tfields.push( field );\n\t\t} );\n\n\t\t// return\n\t\treturn fields;\n\t};\n\n\t/**\n\t * findClosestField\n\t *\n\t * Returns the closest jQuery field element\n\t *\n\t * @date\t9/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tjQuery $el\n\t * @return\tjQuery\n\t */\n\n\tacf.findClosestField = function ( $el ) {\n\t\treturn $el.closest( '.acf-field' );\n\t};\n\n\t/**\n\t * getClosestField\n\t *\n\t * Returns the closest field instance\n\t *\n\t * @date\t22/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\tjQuery $el\n\t * @return\tobject\n\t */\n\n\tacf.getClosestField = function ( $el ) {\n\t\tvar $field = acf.findClosestField( $el );\n\t\treturn this.getField( $field );\n\t};\n\n\t/**\n\t * addGlobalFieldAction\n\t *\n\t * Sets up callback logic for global field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addGlobalFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar globalAction = action;\n\t\tvar pluralAction = action + '_fields'; // ready_fields\n\t\tvar singleAction = action + '_field'; // ready_field\n\n\t\t// global action\n\t\tvar globalCallback = function ( $el /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( action, arguments );\n\n\t\t\t// get args [$el, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// find fields\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\n\t\t\t// check\n\t\t\tif ( fields.length ) {\n\t\t\t\t// pluralAction\n\t\t\t\tvar pluralArgs = [ pluralAction, fields ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, pluralArgs );\n\t\t\t}\n\t\t};\n\n\t\t// plural action\n\t\tvar pluralCallback = function ( fields /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( pluralAction, arguments );\n\n\t\t\t// get args [fields, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// loop\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\t//setTimeout(function(){\n\t\t\t\t// singleAction\n\t\t\t\tvar singleArgs = [ singleAction, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, singleArgs );\n\t\t\t\t//}, i * 100);\n\t\t\t} );\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( globalAction, globalCallback );\n\t\tacf.addAction( pluralAction, pluralCallback );\n\n\t\t// also add single action\n\t\taddSingleFieldAction( action );\n\t};\n\n\t/**\n\t * addSingleFieldAction\n\t *\n\t * Sets up callback logic for single field actions\n\t *\n\t * @date\t15/6/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tstring action\n\t * @return\tvoid\n\t */\n\n\tvar addSingleFieldAction = function ( action ) {\n\t\t// vars\n\t\tvar singleAction = action + '_field'; // ready_field\n\t\tvar singleEvent = action + 'Field'; // readyField\n\n\t\t// single action\n\t\tvar singleCallback = function ( field /*, arg1, arg2, etc*/ ) {\n\t\t\t//console.log( singleAction, arguments );\n\n\t\t\t// get args [field, ...]\n\t\t\tvar args = acf.arrayArgs( arguments );\n\t\t\tvar extraArgs = args.slice( 1 );\n\n\t\t\t// action variations (ready_field/type=image)\n\t\t\tvar variations = [ 'type', 'name', 'key' ];\n\t\t\tvariations.map( function ( variation ) {\n\t\t\t\t// vars\n\t\t\t\tvar prefix = '/' + variation + '=' + field.get( variation );\n\n\t\t\t\t// singleAction\n\t\t\t\targs = [ singleAction + prefix, field ].concat( extraArgs );\n\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t} );\n\n\t\t\t// event\n\t\t\tif ( singleFieldEvents.indexOf( action ) > -1 ) {\n\t\t\t\tfield.trigger( singleEvent, extraArgs );\n\t\t\t}\n\t\t};\n\n\t\t// add actions\n\t\tacf.addAction( singleAction, singleCallback );\n\t};\n\n\t// vars\n\tvar globalFieldActions = [\n\t\t'prepare',\n\t\t'ready',\n\t\t'load',\n\t\t'append',\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t];\n\tvar singleFieldActions = [\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'new',\n\t\t'duplicate',\n\t];\n\tvar singleFieldEvents = [\n\t\t'remove',\n\t\t'unmount',\n\t\t'remount',\n\t\t'sortstart',\n\t\t'sortstop',\n\t\t'show',\n\t\t'hide',\n\t\t'unload',\n\t\t'valid',\n\t\t'invalid',\n\t\t'enable',\n\t\t'disable',\n\t\t'duplicate',\n\t];\n\n\t// add\n\tglobalFieldActions.map( addGlobalFieldAction );\n\tsingleFieldActions.map( addSingleFieldAction );\n\n\t/**\n\t * fieldsEventManager\n\t *\n\t * Manages field actions and events\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.6.5\n\t *\n\t * @param\tvoid\n\t * @param\tvoid\n\t */\n\n\tvar fieldsEventManager = new acf.Model( {\n\t\tid: 'fieldsEventManager',\n\t\tevents: {\n\t\t\t'click .acf-field a[href=\"#\"]': 'onClick',\n\t\t\t'change .acf-field': 'onChange',\n\t\t},\n\t\tonClick: function ( e ) {\n\t\t\t// prevent default of any link with an href of #\n\t\t\te.preventDefault();\n\t\t},\n\t\tonChange: function () {\n\t\t\t// preview hack allows post to save with no title or content\n\t\t\t$( '#_acf_changed' ).val( 1 );\n\t\t},\n\t} );\n\n\tvar duplicateFieldsManager = new acf.Model( {\n\t\tid: 'duplicateFieldsManager',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t\tduplicate_fields: 'onDuplicateFields',\n\t\t},\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\tvar fields = acf.getFields( { parent: $el } );\n\t\t\tif ( fields.length ) {\n\t\t\t\tvar $fields = acf.findFields( { parent: $el2 } );\n\t\t\t\tacf.doAction( 'duplicate_fields', fields, $fields );\n\t\t\t}\n\t\t},\n\t\tonDuplicateFields: function ( fields, duplicates ) {\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\tacf.doAction( 'duplicate_field', field, $( duplicates[ i ] ) );\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * refreshHelper\n\t *\n\t * description\n\t *\n\t * @date\t1/7/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar refreshHelper = new acf.Model( {\n\t\tpriority: 90,\n\t\tactions: {\n\t\t\tnew_field: 'refresh',\n\t\t\tshow_field: 'refresh',\n\t\t\thide_field: 'refresh',\n\t\t\tremove_field: 'refresh',\n\t\t\tunmount_field: 'refresh',\n\t\t\tremount_field: 'refresh',\n\t\t},\n\t\trefresh: function () {\n\t\t\tacf.refresh();\n\t\t},\n\t} );\n\n\t/**\n\t * mountHelper\n\t *\n\t * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0\n\t *\n\t * @date\t7/3/19\n\t * @since\t5.7.14\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar mountHelper = new acf.Model( {\n\t\tpriority: 1,\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t\tsortstop: 'onSortstop',\n\t\t},\n\t\tonSortstart: function ( $item ) {\n\t\t\tacf.doAction( 'unmount', $item );\n\t\t},\n\t\tonSortstop: function ( $item ) {\n\t\t\tacf.doAction( 'remount', $item );\n\t\t},\n\t} );\n\n\t/**\n\t * sortableHelper\n\t *\n\t * Adds compatibility for sorting a
element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar sortableHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tsortstart: 'onSortstart',\n\t\t},\n\t\tonSortstart: function ( $item, $placeholder ) {\n\t\t\t// if $item is a tr, apply some css to the elements\n\t\t\tif ( $item.is( 'tr' ) ) {\n\t\t\t\t// replace $placeholder children with a single td\n\t\t\t\t// fixes \"width calculation issues\" due to conditional logic hiding some children\n\t\t\t\t$placeholder.html(\n\t\t\t\t\t' '\n\t\t\t\t);\n\n\t\t\t\t// add helper class to remove absolute positioning\n\t\t\t\t$item.addClass( 'acf-sortable-tr-helper' );\n\n\t\t\t\t// set fixed widths for children\n\t\t\t\t$item.children().each( function () {\n\t\t\t\t\t$( this ).width( $( this ).width() );\n\t\t\t\t} );\n\n\t\t\t\t// mimic height\n\t\t\t\t$placeholder.height( $item.height() + 'px' );\n\n\t\t\t\t// remove class\n\t\t\t\t$item.removeClass( 'acf-sortable-tr-helper' );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * duplicateHelper\n\t *\n\t * Fixes browser bugs when duplicating an element\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar duplicateHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tafter_duplicate: 'onAfterDuplicate',\n\t\t},\n\t\tonAfterDuplicate: function ( $el, $el2 ) {\n\t\t\t// get original values\n\t\t\tvar vals = [];\n\t\t\t$el.find( 'select' ).each( function ( i ) {\n\t\t\t\tvals.push( $( this ).val() );\n\t\t\t} );\n\n\t\t\t// set duplicate values\n\t\t\t$el2.find( 'select' ).each( function ( i ) {\n\t\t\t\t$( this ).val( vals[ i ] );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * tableHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar tableHelper = new acf.Model( {\n\t\tid: 'tableHelper',\n\n\t\tpriority: 20,\n\n\t\tactions: {\n\t\t\trefresh: 'renderTables',\n\t\t},\n\n\t\trenderTables: function ( $el ) {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-table:visible' ).each( function () {\n\t\t\t\tself.renderTable( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderTable: function ( $table ) {\n\t\t\t// vars\n\t\t\tvar $ths = $table.find( '> thead > tr:visible > th[data-key]' );\n\t\t\tvar $tds = $table.find( '> tbody > tr:visible > td[data-key]' );\n\n\t\t\t// bail early if no thead\n\t\t\tif ( ! $ths.length || ! $tds.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// visiblity\n\t\t\t$ths.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $th = $( this );\n\t\t\t\tvar key = $th.data( 'key' );\n\t\t\t\tvar $cells = $tds.filter( '[data-key=\"' + key + '\"]' );\n\t\t\t\tvar $hidden = $cells.filter( '.acf-hidden' );\n\n\t\t\t\t// always remove empty and allow cells to be hidden\n\t\t\t\t$cells.removeClass( 'acf-empty' );\n\n\t\t\t\t// hide $th if all cells are hidden\n\t\t\t\tif ( $cells.length === $hidden.length ) {\n\t\t\t\t\tacf.hide( $th );\n\n\t\t\t\t\t// force all hidden cells to appear empty\n\t\t\t\t} else {\n\t\t\t\t\tacf.show( $th );\n\t\t\t\t\t$hidden.addClass( 'acf-empty' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// clear width\n\t\t\t$ths.css( 'width', 'auto' );\n\n\t\t\t// get visible\n\t\t\t$ths = $ths.not( '.acf-hidden' );\n\n\t\t\t// vars\n\t\t\tvar availableWidth = 100;\n\t\t\tvar colspan = $ths.length;\n\n\t\t\t// set custom widths first\n\t\t\tvar $fixedWidths = $ths.filter( '[data-width]' );\n\t\t\t$fixedWidths.each( function () {\n\t\t\t\tvar width = $( this ).data( 'width' );\n\t\t\t\t$( this ).css( 'width', width + '%' );\n\t\t\t\tavailableWidth -= width;\n\t\t\t} );\n\n\t\t\t// set auto widths\n\t\t\tvar $auoWidths = $ths.not( '[data-width]' );\n\t\t\tif ( $auoWidths.length ) {\n\t\t\t\tvar width = availableWidth / $auoWidths.length;\n\t\t\t\t$auoWidths.css( 'width', width + '%' );\n\t\t\t\tavailableWidth = 0;\n\t\t\t}\n\n\t\t\t// avoid stretching issue\n\t\t\tif ( availableWidth > 0 ) {\n\t\t\t\t$ths.last().css( 'width', 'auto' );\n\t\t\t}\n\n\t\t\t// update colspan on collapsed\n\t\t\t$tds.filter( '.-collapsed-target' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $td = $( this );\n\n\t\t\t\t// check if collapsed\n\t\t\t\tif ( $td.parent().hasClass( '-collapsed' ) ) {\n\t\t\t\t\t$td.attr( 'colspan', $ths.length );\n\t\t\t\t} else {\n\t\t\t\t\t$td.removeAttr( 'colspan' );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * fieldsHelper\n\t *\n\t * description\n\t *\n\t * @date\t6/3/18\n\t * @since\t5.6.9\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar fieldsHelper = new acf.Model( {\n\t\tid: 'fieldsHelper',\n\n\t\tpriority: 30,\n\n\t\tactions: {\n\t\t\trefresh: 'renderGroups',\n\t\t},\n\n\t\trenderGroups: function () {\n\t\t\t// loop\n\t\t\tvar self = this;\n\t\t\t$( '.acf-fields:visible' ).each( function () {\n\t\t\t\tself.renderGroup( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderGroup: function ( $el ) {\n\t\t\t// vars\n\t\t\tvar top = 0;\n\t\t\tvar height = 0;\n\t\t\tvar $row = $();\n\n\t\t\t// get fields\n\t\t\tvar $fields = $el.children( '.acf-field[data-width]:visible' );\n\n\t\t\t// bail early if no fields\n\t\t\tif ( ! $fields.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if is .-left\n\t\t\tif ( $el.hasClass( '-left' ) ) {\n\t\t\t\t$fields.removeAttr( 'data-width' );\n\t\t\t\t$fields.css( 'width', 'auto' );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// reset fields\n\t\t\t$fields.removeClass( '-r0 -c0' ).css( { 'min-height': 0 } );\n\n\t\t\t// loop\n\t\t\t$fields.each( function ( i ) {\n\t\t\t\t// vars\n\t\t\t\tvar $field = $( this );\n\t\t\t\tvar position = $field.position();\n\t\t\t\tvar thisTop = Math.ceil( position.top );\n\t\t\t\tvar thisLeft = Math.ceil( position.left );\n\n\t\t\t\t// detect change in row\n\t\t\t\tif ( $row.length && thisTop > top ) {\n\t\t\t\t\t// set previous heights\n\t\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\n\t\t\t\t\t// update position due to change in row above\n\t\t\t\t\tposition = $field.position();\n\t\t\t\t\tthisTop = Math.ceil( position.top );\n\t\t\t\t\tthisLeft = Math.ceil( position.left );\n\n\t\t\t\t\t// reset vars\n\t\t\t\t\ttop = 0;\n\t\t\t\t\theight = 0;\n\t\t\t\t\t$row = $();\n\t\t\t\t}\n\n\t\t\t\t// rtl\n\t\t\t\tif ( acf.get( 'rtl' ) ) {\n\t\t\t\t\tthisLeft = Math.ceil(\n\t\t\t\t\t\t$field.parent().width() -\n\t\t\t\t\t\t\t( position.left + $field.outerWidth() )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// add classes\n\t\t\t\tif ( thisTop == 0 ) {\n\t\t\t\t\t$field.addClass( '-r0' );\n\t\t\t\t} else if ( thisLeft == 0 ) {\n\t\t\t\t\t$field.addClass( '-c0' );\n\t\t\t\t}\n\n\t\t\t\t// get height after class change\n\t\t\t\t// - add 1 for subpixel rendering\n\t\t\t\tvar thisHeight = Math.ceil( $field.outerHeight() ) + 1;\n\n\t\t\t\t// set height\n\t\t\t\theight = Math.max( height, thisHeight );\n\n\t\t\t\t// set y\n\t\t\t\ttop = Math.max( top, thisTop );\n\n\t\t\t\t// append\n\t\t\t\t$row = $row.add( $field );\n\t\t\t} );\n\n\t\t\t// clean up\n\t\t\tif ( $row.length ) {\n\t\t\t\t$row.css( { 'min-height': height + 'px' } );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * Adds a body class when holding down the \"shift\" key.\n\t *\n\t * @date\t06/05/2020\n\t * @since\t5.9.0\n\t */\n\tvar bodyClassShiftHelper = new acf.Model( {\n\t\tid: 'bodyClassShiftHelper',\n\t\tevents: {\n\t\t\tkeydown: 'onKeyDown',\n\t\t\tkeyup: 'onKeyUp',\n\t\t},\n\t\tisShiftKey: function ( e ) {\n\t\t\treturn e.keyCode === 16;\n\t\t},\n\t\tonKeyDown: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).addClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t\tonKeyUp: function ( e ) {\n\t\t\tif ( this.isShiftKey( e ) ) {\n\t\t\t\t$( 'body' ).removeClass( 'acf-keydown-shift' );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newMediaPopup = function ( args ) {\n\t\t// args\n\t\tvar popup = null;\n\t\tvar args = acf.parseArgs( args, {\n\t\t\tmode: 'select', // 'select', 'edit'\n\t\t\ttitle: '', // 'Upload Image'\n\t\t\tbutton: '', // 'Select Image'\n\t\t\ttype: '', // 'image', ''\n\t\t\tfield: false, // field instance\n\t\t\tallowedTypes: '', // '.jpg, .png, etc'\n\t\t\tlibrary: 'all', // 'all', 'uploadedTo'\n\t\t\tmultiple: false, // false, true, 'add'\n\t\t\tattachment: 0, // the attachment to edit\n\t\t\tautoOpen: true, // open the popup automatically\n\t\t\topen: function () {}, // callback after close\n\t\t\tselect: function () {}, // callback after select\n\t\t\tclose: function () {}, // callback after close\n\t\t} );\n\n\t\t// initialize\n\t\tif ( args.mode == 'edit' ) {\n\t\t\tpopup = new acf.models.EditMediaPopup( args );\n\t\t} else {\n\t\t\tpopup = new acf.models.SelectMediaPopup( args );\n\t\t}\n\n\t\t// open popup (allow frame customization before opening)\n\t\tif ( args.autoOpen ) {\n\t\t\tsetTimeout( function () {\n\t\t\t\tpopup.open();\n\t\t\t}, 1 );\n\t\t}\n\n\t\t// action\n\t\tacf.doAction( 'new_media_popup', popup );\n\n\t\t// return\n\t\treturn popup;\n\t};\n\n\t/**\n\t * getPostID\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar getPostID = function () {\n\t\tvar postID = acf.get( 'post_id' );\n\t\treturn acf.isNumeric( postID ) ? postID : 0;\n\t};\n\n\t/**\n\t * acf.getMimeTypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.getMimeTypes = function () {\n\t\treturn this.get( 'mimeTypes' );\n\t};\n\n\tacf.getMimeType = function ( name ) {\n\t\t// vars\n\t\tvar allTypes = acf.getMimeTypes();\n\n\t\t// search\n\t\tif ( allTypes[ name ] !== undefined ) {\n\t\t\treturn allTypes[ name ];\n\t\t}\n\n\t\t// some types contain a mixed key such as \"jpg|jpeg|jpe\"\n\t\tfor ( var key in allTypes ) {\n\t\t\tif ( key.indexOf( name ) !== -1 ) {\n\t\t\t\treturn allTypes[ key ];\n\t\t\t}\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t};\n\n\t/**\n\t * MediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar MediaPopup = acf.Model.extend( {\n\t\tid: 'MediaPopup',\n\t\tdata: {},\n\t\tdefaults: {},\n\t\tframe: false,\n\n\t\tsetup: function ( props ) {\n\t\t\t$.extend( this.data, props );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar options = this.getFrameOptions();\n\n\t\t\t// add states\n\t\t\tthis.addFrameStates( options );\n\n\t\t\t// create frame\n\t\t\tvar frame = wp.media( options );\n\n\t\t\t// add args reference\n\t\t\tframe.acf = this;\n\n\t\t\t// add events\n\t\t\tthis.addFrameEvents( frame, options );\n\n\t\t\t// strore frame\n\t\t\tthis.frame = frame;\n\t\t},\n\n\t\topen: function () {\n\t\t\tthis.frame.open();\n\t\t},\n\n\t\tclose: function () {\n\t\t\tthis.frame.close();\n\t\t},\n\n\t\tremove: function () {\n\t\t\tthis.frame.detach();\n\t\t\tthis.frame.remove();\n\t\t},\n\n\t\tgetFrameOptions: function () {\n\t\t\t// vars\n\t\t\tvar options = {\n\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tlibrary: {},\n\t\t\t\tstates: [],\n\t\t\t};\n\n\t\t\t// type\n\t\t\tif ( this.get( 'type' ) ) {\n\t\t\t\toptions.library.type = this.get( 'type' );\n\t\t\t}\n\n\t\t\t// type\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\toptions.library.uploadedTo = getPostID();\n\t\t\t}\n\n\t\t\t// attachment\n\t\t\tif ( this.get( 'attachment' ) ) {\n\t\t\t\toptions.library.post__in = [ this.get( 'attachment' ) ];\n\t\t\t}\n\n\t\t\t// button\n\t\t\tif ( this.get( 'button' ) ) {\n\t\t\t\toptions.button = {\n\t\t\t\t\ttext: this.get( 'button' ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn options;\n\t\t},\n\n\t\taddFrameStates: function ( options ) {\n\t\t\t// create query\n\t\t\tvar Query = wp.media.query( options.library );\n\n\t\t\t// add _acfuploader\n\t\t\t// this is super wack!\n\t\t\t// if you add _acfuploader to the options.library args, new uploads will not be added to the library view.\n\t\t\t// this has been traced back to the wp.media.model.Query initialize function (which can't be overriden)\n\t\t\t// Adding any custom args will cause the Attahcments to not observe the uploader queue\n\t\t\t// To bypass this security issue, we add in the args AFTER the Query has been initialized\n\t\t\t// options.library._acfuploader = settings.field;\n\t\t\tif (\n\t\t\t\tthis.get( 'field' ) &&\n\t\t\t\tacf.isset( Query, 'mirroring', 'args' )\n\t\t\t) {\n\t\t\t\tQuery.mirroring.args._acfuploader = this.get( 'field' );\n\t\t\t}\n\n\t\t\t// add states\n\t\t\toptions.states.push(\n\t\t\t\t// main state\n\t\t\t\tnew wp.media.controller.Library( {\n\t\t\t\t\tlibrary: Query,\n\t\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\t\ttitle: this.get( 'title' ),\n\t\t\t\t\tpriority: 20,\n\t\t\t\t\tfilterable: 'all',\n\t\t\t\t\teditable: true,\n\t\t\t\t\tallowLocalEdits: true,\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\t// edit image functionality (added in WP 3.9)\n\t\t\tif ( acf.isset( wp, 'media', 'controller', 'EditImage' ) ) {\n\t\t\t\toptions.states.push( new wp.media.controller.EditImage() );\n\t\t\t}\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// log all events\n\t\t\t//frame.on('all', function( e ) {\n\t\t\t//\tconsole.log( 'frame all: %o', e );\n\t\t\t//});\n\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass(\n\t\t\t\t\t\t\t'acf-media-modal -' + this.acf.get( 'mode' )\n\t\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// edit image view\n\t\t\t// source: media-views.js:2410 editImageContent()\n\t\t\tframe.on(\n\t\t\t\t'content:render:edit-image',\n\t\t\t\tfunction () {\n\t\t\t\t\tvar image = this.state().get( 'image' );\n\t\t\t\t\tvar view = new wp.media.view.EditImage( {\n\t\t\t\t\t\tmodel: image,\n\t\t\t\t\t\tcontroller: this,\n\t\t\t\t\t} ).render();\n\t\t\t\t\tthis.content.set( view );\n\n\t\t\t\t\t// after creating the wrapper view, load the actual editor via an ajax call\n\t\t\t\t\tview.loadEditor();\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// update toolbar button\n\t\t\t//frame.on( 'toolbar:create:select', function( toolbar ) {\n\t\t\t//\ttoolbar.view = new wp.media.view.Toolbar.Select({\n\t\t\t//\t\ttext: frame.options._button,\n\t\t\t//\t\tcontroller: this\n\t\t\t//\t});\n\t\t\t//}, frame );\n\n\t\t\t// on select\n\t\t\tframe.on( 'select', function () {\n\t\t\t\t// vars\n\t\t\t\tvar selection = frame.state().get( 'selection' );\n\n\t\t\t\t// if selecting images\n\t\t\t\tif ( selection ) {\n\t\t\t\t\t// loop\n\t\t\t\t\tselection.each( function ( attachment, i ) {\n\t\t\t\t\t\tframe.acf\n\t\t\t\t\t\t\t.get( 'select' )\n\t\t\t\t\t\t\t.apply( frame.acf, [ attachment, i ] );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// on close\n\t\t\tframe.on( 'close', function () {\n\t\t\t\t// callback and remove\n\t\t\t\tsetTimeout( function () {\n\t\t\t\t\tframe.acf.get( 'close' ).apply( frame.acf );\n\t\t\t\t\tframe.acf.remove();\n\t\t\t\t}, 1 );\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.SelectMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.SelectMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Select', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// plupload\n\t\t\t// adds _acfuploader param to validate uploads\n\t\t\tif (\n\t\t\t\tacf.isset( _wpPluploadSettings, 'defaults', 'multipart_params' )\n\t\t\t) {\n\t\t\t\t// add _acfuploader so that Uploader will inherit\n\t\t\t\t_wpPluploadSettings.defaults.multipart_params._acfuploader = this.get(\n\t\t\t\t\t'field'\n\t\t\t\t);\n\n\t\t\t\t// remove acf_field so future Uploaders won't inherit\n\t\t\t\tframe.on( 'open', function () {\n\t\t\t\t\tdelete _wpPluploadSettings\n\t\t\t\t\t\t.defaults.multipart_params._acfuploader;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// browse\n\t\t\tframe.on( 'content:activate:browse', function () {\n\t\t\t\t// vars\n\t\t\t\tvar toolbar = false;\n\n\t\t\t\t// populate above vars making sure to allow for failure\n\t\t\t\t// perhaps toolbar does not exist because the frame open is Upload Files\n\t\t\t\ttry {\n\t\t\t\t\ttoolbar = frame.content.get().toolbar;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\tconsole.log( e );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// callback\n\t\t\t\tframe.acf.customizeFilters.apply( frame.acf, [ toolbar ] );\n\t\t\t} );\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\n\t\tcustomizeFilters: function ( toolbar ) {\n\t\t\t// vars\n\t\t\tvar filters = toolbar.get( 'filters' );\n\n\t\t\t// image\n\t\t\tif ( this.get( 'type' ) == 'image' ) {\n\t\t\t\t// update all\n\t\t\t\tfilters.filters.all.text = acf.__( 'All images' );\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.audio;\n\t\t\t\tdelete filters.filters.video;\n\t\t\t\tdelete filters.filters.image;\n\n\t\t\t\t// update all filters to show images\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.props.type = filter.props.type || 'image';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// specific types\n\t\t\tif ( this.get( 'allowedTypes' ) ) {\n\t\t\t\t// convert \".jpg, .png\" into [\"jpg\", \"png\"]\n\t\t\t\tvar allowedTypes = this.get( 'allowedTypes' )\n\t\t\t\t\t.split( ' ' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( '.' )\n\t\t\t\t\t.join( '' )\n\t\t\t\t\t.split( ',' );\n\n\t\t\t\t// loop\n\t\t\t\tallowedTypes.map( function ( name ) {\n\t\t\t\t\t// get type\n\t\t\t\t\tvar mimeType = acf.getMimeType( name );\n\n\t\t\t\t\t// bail early if no type\n\t\t\t\t\tif ( ! mimeType ) return;\n\n\t\t\t\t\t// create new filter\n\t\t\t\t\tvar newFilter = {\n\t\t\t\t\t\ttext: mimeType,\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tstatus: null,\n\t\t\t\t\t\t\ttype: mimeType,\n\t\t\t\t\t\t\tuploadedTo: null,\n\t\t\t\t\t\t\torderby: 'date',\n\t\t\t\t\t\t\torder: 'DESC',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpriority: 20,\n\t\t\t\t\t};\n\n\t\t\t\t\t// append\n\t\t\t\t\tfilters.filters[ mimeType ] = newFilter;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// uploaded to post\n\t\t\tif ( this.get( 'library' ) === 'uploadedTo' ) {\n\t\t\t\t// vars\n\t\t\t\tvar uploadedTo = this.frame.options.library.uploadedTo;\n\n\t\t\t\t// remove some filters\n\t\t\t\tdelete filters.filters.unattached;\n\t\t\t\tdelete filters.filters.uploaded;\n\n\t\t\t\t// add uploadedTo to filters\n\t\t\t\t$.each( filters.filters, function ( i, filter ) {\n\t\t\t\t\tfilter.text +=\n\t\t\t\t\t\t' (' + acf.__( 'Uploaded to this post' ) + ')';\n\t\t\t\t\tfilter.props.uploadedTo = uploadedTo;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// add _acfuploader to filters\n\t\t\tvar field = this.get( 'field' );\n\t\t\t$.each( filters.filters, function ( k, filter ) {\n\t\t\t\tfilter.props._acfuploader = field;\n\t\t\t} );\n\n\t\t\t// add _acfuplaoder to search\n\t\t\tvar search = toolbar.get( 'search' );\n\t\t\tsearch.model.attributes._acfuploader = field;\n\n\t\t\t// render (custom function added to prototype)\n\t\t\tif ( filters.renderFilters ) {\n\t\t\t\tfilters.renderFilters();\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * acf.models.EditMediaPopup\n\t *\n\t * description\n\t *\n\t * @date\t10/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.models.EditMediaPopup = MediaPopup.extend( {\n\t\tid: 'SelectMediaPopup',\n\t\tsetup: function ( props ) {\n\t\t\t// default button\n\t\t\tif ( ! props.button ) {\n\t\t\t\tprops.button = acf._x( 'Update', 'verb' );\n\t\t\t}\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.setup.apply( this, arguments );\n\t\t},\n\n\t\taddFrameEvents: function ( frame, options ) {\n\t\t\t// add class\n\t\t\tframe.on(\n\t\t\t\t'open',\n\t\t\t\tfunction () {\n\t\t\t\t\t// add class\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.closest( '.media-modal' )\n\t\t\t\t\t\t.addClass( 'acf-expanded' );\n\n\t\t\t\t\t// set to browse\n\t\t\t\t\tif ( this.content.mode() != 'browse' ) {\n\t\t\t\t\t\tthis.content.mode( 'browse' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// set selection\n\t\t\t\t\tvar state = this.state();\n\t\t\t\t\tvar selection = state.get( 'selection' );\n\t\t\t\t\tvar attachment = wp.media.attachment(\n\t\t\t\t\t\tframe.acf.get( 'attachment' )\n\t\t\t\t\t);\n\t\t\t\t\tselection.add( attachment );\n\t\t\t\t},\n\t\t\t\tframe\n\t\t\t);\n\n\t\t\t// parent\n\t\t\tMediaPopup.prototype.addFrameEvents.apply( this, arguments );\n\t\t},\n\t} );\n\n\t/**\n\t * customizePrototypes\n\t *\n\t * description\n\t *\n\t * @date\t11/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar customizePrototypes = new acf.Model( {\n\t\tid: 'customizePrototypes',\n\t\twait: 'ready',\n\n\t\tinitialize: function () {\n\t\t\t// bail early if no media views\n\t\t\tif ( ! acf.isset( window, 'wp', 'media', 'view' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// fix bug where CPT without \"editor\" does not set post.id setting which then prevents uploadedTo from working\n\t\t\tvar postID = getPostID();\n\t\t\tif (\n\t\t\t\tpostID &&\n\t\t\t\tacf.isset( wp, 'media', 'view', 'settings', 'post' )\n\t\t\t) {\n\t\t\t\twp.media.view.settings.post.id = postID;\n\t\t\t}\n\n\t\t\t// customize\n\t\t\tthis.customizeAttachmentsButton();\n\t\t\tthis.customizeAttachmentsRouter();\n\t\t\tthis.customizeAttachmentFilters();\n\t\t\tthis.customizeAttachmentCompat();\n\t\t\tthis.customizeAttachmentLibrary();\n\t\t},\n\n\t\tcustomizeAttachmentsButton: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Button' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Extend\n\t\t\tvar Button = wp.media.view.Button;\n\t\t\twp.media.view.Button = Button.extend( {\n\t\t\t\t// Fix bug where \"Select\" button appears blank after editing an image.\n\t\t\t\t// Do this by simplifying Button initialize function and avoid deleting this.options.\n\t\t\t\tinitialize: function () {\n\t\t\t\t\tvar options = _.defaults( this.options, this.defaults );\n\t\t\t\t\tthis.model = new Backbone.Model( options );\n\t\t\t\t\tthis.listenTo( this.model, 'change', this.render );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentsRouter: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Router' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.Router;\n\n\t\t\t// extend\n\t\t\twp.media.view.Router = Parent.extend( {\n\t\t\t\taddExpand: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $a = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t\tacf.__( 'Expand Details' ) +\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t\tacf.__( 'Collapse Details' ) +\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// add events\n\t\t\t\t\t$a.on( 'click', function ( e ) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvar $div = $( this ).closest( '.media-modal' );\n\t\t\t\t\t\tif ( $div.hasClass( 'acf-expanded' ) ) {\n\t\t\t\t\t\t\t$div.removeClass( 'acf-expanded' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$div.addClass( 'acf-expanded' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\t// append\n\t\t\t\t\tthis.$el.append( $a );\n\t\t\t\t},\n\n\t\t\t\tinitialize: function () {\n\t\t\t\t\t// initialize\n\t\t\t\t\tParent.prototype.initialize.apply( this, arguments );\n\n\t\t\t\t\t// add buttons\n\t\t\t\t\tthis.addExpand();\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentFilters: function () {\n\t\t\t// validate\n\t\t\tif (\n\t\t\t\t! acf.isset( wp, 'media', 'view', 'AttachmentFilters', 'All' )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar Parent = wp.media.view.AttachmentFilters.All;\n\n\t\t\t// renderFilters\n\t\t\t// copied from media-views.js:6939\n\t\t\tParent.prototype.renderFilters = function () {\n\t\t\t\t// Build `` elements.\n\t\t\t\tthis.$el.html(\n\t\t\t\t\t_.chain( this.filters )\n\t\t\t\t\t\t.map( function ( filter, value ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tel: $( ' ' )\n\t\t\t\t\t\t\t\t\t.val( value )\n\t\t\t\t\t\t\t\t\t.html( filter.text )[ 0 ],\n\t\t\t\t\t\t\t\tpriority: filter.priority || 50,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, this )\n\t\t\t\t\t\t.sortBy( 'priority' )\n\t\t\t\t\t\t.pluck( 'el' )\n\t\t\t\t\t\t.value()\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\n\t\tcustomizeAttachmentCompat: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'AttachmentCompat' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentCompat = wp.media.view.AttachmentCompat;\n\t\t\tvar timeout = false;\n\n\t\t\t// extend\n\t\t\twp.media.view.AttachmentCompat = AttachmentCompat.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// WP bug\n\t\t\t\t\t// When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ),\n\t\t\t\t\t// WP creates multiple instances of this AttachmentCompat view.\n\t\t\t\t\t// Each instance will attempt to render when a new modal is created.\n\t\t\t\t\t// Use a property to avoid this and only render once per instance.\n\t\t\t\t\tif ( this.rendered ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// render HTML\n\t\t\t\t\tAttachmentCompat.prototype.render.apply( this, arguments );\n\n\t\t\t\t\t// when uploading, render is called twice.\n\t\t\t\t\t// ignore first render by checking for #acf-form-data element\n\t\t\t\t\tif ( ! this.$( '#acf-form-data' ).length ) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t// clear timeout\n\t\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t\t// setTimeout\n\t\t\t\t\ttimeout = setTimeout(\n\t\t\t\t\t\t$.proxy( function () {\n\t\t\t\t\t\t\tthis.rendered = true;\n\t\t\t\t\t\t\tacf.doAction( 'append', this.$el );\n\t\t\t\t\t\t}, this ),\n\t\t\t\t\t\t50\n\t\t\t\t\t);\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\tsave: function ( event ) {\n\t\t\t\t\tvar data = {};\n\n\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\n\t\t\t\t\t//_.each( this.$el.serializeArray(), function( pair ) {\n\t\t\t\t\t//\tdata[ pair.name ] = pair.value;\n\t\t\t\t\t//});\n\n\t\t\t\t\t// Serialize data more thoroughly to allow chckbox inputs to save.\n\t\t\t\t\tdata = acf.serializeForAjax( this.$el );\n\n\t\t\t\t\tthis.controller.trigger( 'attachment:compat:waiting', [\n\t\t\t\t\t\t'waiting',\n\t\t\t\t\t] );\n\t\t\t\t\tthis.model\n\t\t\t\t\t\t.saveCompat( data )\n\t\t\t\t\t\t.always( _.bind( this.postSave, this ) );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tcustomizeAttachmentLibrary: function () {\n\t\t\t// validate\n\t\t\tif ( ! acf.isset( wp, 'media', 'view', 'Attachment', 'Library' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar AttachmentLibrary = wp.media.view.Attachment.Library;\n\n\t\t\t// extend\n\t\t\twp.media.view.Attachment.Library = AttachmentLibrary.extend( {\n\t\t\t\trender: function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar popup = acf.isget( this, 'controller', 'acf' );\n\t\t\t\t\tvar attributes = acf.isget( this, 'model', 'attributes' );\n\n\t\t\t\t\t// check vars exist to avoid errors\n\t\t\t\t\tif ( popup && attributes ) {\n\t\t\t\t\t\t// show errors\n\t\t\t\t\t\tif ( attributes.acf_errors ) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-disabled' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// disable selected\n\t\t\t\t\t\tvar selected = popup.get( 'selected' );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tselected &&\n\t\t\t\t\t\t\tselected.indexOf( attributes.id ) > -1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.$el.addClass( 'acf-selected' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// render\n\t\t\t\t\treturn AttachmentLibrary.prototype.render.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\n\t\t\t\t/*\n\t\t\t\t * toggleSelection\n\t\t\t\t *\n\t\t\t\t * This function is called before an attachment is selected\n\t\t\t\t * A good place to check for errors and prevent the 'select' function from being fired\n\t\t\t\t *\n\t\t\t\t * @type\tfunction\n\t\t\t\t * @date\t29/09/2016\n\t\t\t\t * @since\t5.4.0\n\t\t\t\t *\n\t\t\t\t * @param\toptions (object)\n\t\t\t\t * @return\tn/a\n\t\t\t\t */\n\n\t\t\t\ttoggleSelection: function ( options ) {\n\t\t\t\t\t// vars\n\t\t\t\t\t// source: wp-includes/js/media-views.js:2880\n\t\t\t\t\tvar collection = this.collection,\n\t\t\t\t\t\tselection = this.options.selection,\n\t\t\t\t\t\tmodel = this.model,\n\t\t\t\t\t\tsingle = selection.single();\n\n\t\t\t\t\t// vars\n\t\t\t\t\tvar frame = this.controller;\n\t\t\t\t\tvar errors = acf.isget(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\t'model',\n\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t'acf_errors'\n\t\t\t\t\t);\n\t\t\t\t\tvar $sidebar = frame.$el.find(\n\t\t\t\t\t\t'.media-frame-content .media-sidebar'\n\t\t\t\t\t);\n\n\t\t\t\t\t// remove previous error\n\t\t\t\t\t$sidebar.children( '.acf-selection-error' ).remove();\n\n\t\t\t\t\t// show attachment details\n\t\t\t\t\t$sidebar.children().removeClass( 'acf-hidden' );\n\n\t\t\t\t\t// add message\n\t\t\t\t\tif ( frame && errors ) {\n\t\t\t\t\t\t// vars\n\t\t\t\t\t\tvar filename = acf.isget(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'model',\n\t\t\t\t\t\t\t'attributes',\n\t\t\t\t\t\t\t'filename'\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// hide attachment details\n\t\t\t\t\t\t// Gallery field continues to show previously selected attachment...\n\t\t\t\t\t\t$sidebar.children().addClass( 'acf-hidden' );\n\n\t\t\t\t\t\t// append message\n\t\t\t\t\t\t$sidebar.prepend(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tacf.__( 'Restricted' ) +\n\t\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\tfilename +\n\t\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t\terrors +\n\t\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// reset selection (unselects all attachments)\n\t\t\t\t\t\tselection.reset();\n\n\t\t\t\t\t\t// set single (attachment displayed in sidebar)\n\t\t\t\t\t\tselection.single( model );\n\n\t\t\t\t\t\t// return and prevent 'select' form being fired\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// return\n\t\t\t\t\treturn AttachmentLibrary.prototype.toggleSelection.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * postboxManager\n\t *\n\t * Manages postboxes on the screen.\n\t *\n\t * @date\t25/5/19\n\t * @since\t5.8.1\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar postboxManager = new acf.Model( {\n\t\twait: 'prepare',\n\t\tpriority: 1,\n\t\tinitialize: function () {\n\t\t\t( acf.get( 'postboxes' ) || [] ).map( acf.newPostbox );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.getPostbox\n\t *\n\t * Returns a postbox instance.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tmixed $el Either a jQuery element or the postbox id.\n\t * @return\tobject\n\t */\n\tacf.getPostbox = function ( $el ) {\n\t\t// allow string parameter\n\t\tif ( typeof arguments[ 0 ] == 'string' ) {\n\t\t\t$el = $( '#' + arguments[ 0 ] );\n\t\t}\n\n\t\t// return instance\n\t\treturn acf.getInstance( $el );\n\t};\n\n\t/**\n\t * acf.getPostboxes\n\t *\n\t * Returns an array of postbox instances.\n\t *\n\t * @date\t23/9/18\n\t * @since\t5.7.7\n\t *\n\t * @param\tvoid\n\t * @return\tarray\n\t */\n\tacf.getPostboxes = function () {\n\t\treturn acf.getInstances( $( '.acf-postbox' ) );\n\t};\n\n\t/**\n\t * acf.newPostbox\n\t *\n\t * Returns a new postbox instance for the given props.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tobject props The postbox properties.\n\t * @return\tobject\n\t */\n\tacf.newPostbox = function ( props ) {\n\t\treturn new acf.models.Postbox( props );\n\t};\n\n\t/**\n\t * acf.models.Postbox\n\t *\n\t * The postbox model.\n\t *\n\t * @date\t20/9/18\n\t * @since\t5.7.6\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tacf.models.Postbox = acf.Model.extend( {\n\t\tdata: {\n\t\t\tid: '',\n\t\t\tkey: '',\n\t\t\tstyle: 'default',\n\t\t\tlabel: 'top',\n\t\t\tedit: '',\n\t\t},\n\n\t\tsetup: function ( props ) {\n\t\t\t// compatibilty\n\t\t\tif ( props.editLink ) {\n\t\t\t\tprops.edit = props.editLink;\n\t\t\t}\n\n\t\t\t// extend data\n\t\t\t$.extend( this.data, props );\n\n\t\t\t// set $el\n\t\t\tthis.$el = this.$postbox();\n\t\t},\n\n\t\t$postbox: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) );\n\t\t},\n\n\t\t$hide: function () {\n\t\t\treturn $( '#' + this.get( 'id' ) + '-hide' );\n\t\t},\n\n\t\t$hideLabel: function () {\n\t\t\treturn this.$hide().parent();\n\t\t},\n\n\t\t$hndle: function () {\n\t\t\treturn this.$( '> .hndle' );\n\t\t},\n\n\t\t$handleActions: function () {\n\t\t\treturn this.$( '> .postbox-header .handle-actions' );\n\t\t},\n\n\t\t$inside: function () {\n\t\t\treturn this.$( '> .inside' );\n\t\t},\n\n\t\tisVisible: function () {\n\t\t\treturn this.$el.hasClass( 'acf-hidden' );\n\t\t},\n\n\t\tisHiddenByScreenOptions: function () {\n\t\t\treturn (\n\t\t\t\tthis.$el.hasClass( 'hide-if-js' ) ||\n\t\t\t\tthis.$el.css( 'display' ) == 'none'\n\t\t\t);\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// Add default class.\n\t\t\tthis.$el.addClass( 'acf-postbox' );\n\n\t\t\t// Add field group style class (ignore in block editor).\n\t\t\tif ( acf.get( 'editor' ) !== 'block' ) {\n\t\t\t\tvar style = this.get( 'style' );\n\t\t\t\tif ( style !== 'default' ) {\n\t\t\t\t\tthis.$el.addClass( style );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add .inside class.\n\t\t\tthis.$inside()\n\t\t\t\t.addClass( 'acf-fields' )\n\t\t\t\t.addClass( '-' + this.get( 'label' ) );\n\n\t\t\t// Append edit link.\n\t\t\tvar edit = this.get( 'edit' );\n\t\t\tif ( edit ) {\n\t\t\t\tvar html =\n\t\t\t\t\t' ';\n\t\t\t\tvar $handleActions = this.$handleActions();\n\t\t\t\tif ( $handleActions.length ) {\n\t\t\t\t\t$handleActions.prepend( html );\n\t\t\t\t} else {\n\t\t\t\t\tthis.$hndle().append( html );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Show postbox.\n\t\t\tthis.show();\n\t\t},\n\n\t\tshow: function () {\n\t\t\t// If disabled by screen options, set checked to false and return.\n\t\t\tif ( this.$el.hasClass( 'hide-if-js' ) ) {\n\t\t\t\tthis.$hide().prop( 'checked', false );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Show label.\n\t\t\tthis.$hideLabel().show();\n\n\t\t\t// toggle on checkbox\n\t\t\tthis.$hide().prop( 'checked', true );\n\n\t\t\t// Show postbox\n\t\t\tthis.$el.show().removeClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'show_postbox', this );\n\t\t},\n\n\t\tenable: function () {\n\t\t\tacf.enable( this.$el, 'postbox' );\n\t\t},\n\n\t\tshowEnable: function () {\n\t\t\tthis.enable();\n\t\t\tthis.show();\n\t\t},\n\n\t\thide: function () {\n\t\t\t// Hide label.\n\t\t\tthis.$hideLabel().hide();\n\n\t\t\t// Hide postbox\n\t\t\tthis.$el.hide().addClass( 'acf-hidden' );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'hide_postbox', this );\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tacf.disable( this.$el, 'postbox' );\n\t\t},\n\n\t\thideDisable: function () {\n\t\t\tthis.disable();\n\t\t\tthis.hide();\n\t\t},\n\n\t\thtml: function ( html ) {\n\t\t\t// Update HTML.\n\t\t\tthis.$inside().html( html );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'append', this.$el );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.screen = new acf.Model( {\n\t\tactive: true,\n\n\t\txhr: false,\n\n\t\ttimeout: false,\n\n\t\twait: 'load',\n\n\t\tevents: {\n\t\t\t'change #page_template': 'onChange',\n\t\t\t'change #parent_id': 'onChange',\n\t\t\t'change #post-formats-select': 'onChange',\n\t\t\t'change .categorychecklist': 'onChange',\n\t\t\t'change .tagsdiv': 'onChange',\n\t\t\t'change .acf-taxonomy-field[data-save=\"1\"]': 'onChange',\n\t\t\t'change #product-type': 'onChange',\n\t\t},\n\n\t\tisPost: function () {\n\t\t\treturn acf.get( 'screen' ) === 'post';\n\t\t},\n\n\t\tisUser: function () {\n\t\t\treturn acf.get( 'screen' ) === 'user';\n\t\t},\n\n\t\tisTaxonomy: function () {\n\t\t\treturn acf.get( 'screen' ) === 'taxonomy';\n\t\t},\n\n\t\tisAttachment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'attachment';\n\t\t},\n\n\t\tisNavMenu: function () {\n\t\t\treturn acf.get( 'screen' ) === 'nav_menu';\n\t\t},\n\n\t\tisWidget: function () {\n\t\t\treturn acf.get( 'screen' ) === 'widget';\n\t\t},\n\n\t\tisComment: function () {\n\t\t\treturn acf.get( 'screen' ) === 'comment';\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\tvar $el = $( '#page_template' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\tvar $el = $( '#parent_id' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tgetPageType: function ( e, $el ) {\n\t\t\treturn this.getPageParent() ? 'child' : 'parent';\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn $( '#post_type' ).val();\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\tvar $el = $( '#post-formats-select input:checked' );\n\t\t\tif ( $el.length ) {\n\t\t\t\tvar val = $el.val();\n\t\t\t\treturn val == '0' ? 'standard' : val;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// serialize WP taxonomy postboxes\n\t\t\tvar data = acf.serialize( $( '.categorydiv, .tagsdiv' ) );\n\n\t\t\t// use tax_input (tag, custom-taxonomy) when possible.\n\t\t\t// this data is already formatted in taxonomy => [terms].\n\t\t\tif ( data.tax_input ) {\n\t\t\t\tterms = data.tax_input;\n\t\t\t}\n\n\t\t\t// append \"category\" which uses a different name\n\t\t\tif ( data.post_category ) {\n\t\t\t\tterms.category = data.post_category;\n\t\t\t}\n\n\t\t\t// convert any string values (tags) into array format\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tif ( ! acf.isArray( terms[ tax ] ) ) {\n\t\t\t\t\tterms[ tax ] = terms[ tax ].split( /,[\\s]?/ );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetPostTerms: function () {\n\t\t\t// Get core terms.\n\t\t\tvar terms = this.getPostCoreTerms();\n\n\t\t\t// loop over taxonomy fields and add their values\n\t\t\tacf.getFields( { type: 'taxonomy' } ).map( function ( field ) {\n\t\t\t\t// ignore fields that don't save\n\t\t\t\tif ( ! field.get( 'save' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// vars\n\t\t\t\tvar val = field.val();\n\t\t\t\tvar tax = field.get( 'taxonomy' );\n\n\t\t\t\t// check val\n\t\t\t\tif ( val ) {\n\t\t\t\t\t// ensure terms exists\n\t\t\t\t\tterms[ tax ] = terms[ tax ] || [];\n\n\t\t\t\t\t// ensure val is an array\n\t\t\t\t\tval = acf.isArray( val ) ? val : [ val ];\n\n\t\t\t\t\t// append\n\t\t\t\t\tterms[ tax ] = terms[ tax ].concat( val );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// add WC product type\n\t\t\tif ( ( productType = this.getProductType() ) !== null ) {\n\t\t\t\tterms.product_type = [ productType ];\n\t\t\t}\n\n\t\t\t// remove duplicate values\n\t\t\tfor ( var tax in terms ) {\n\t\t\t\tterms[ tax ] = acf.uniqueArray( terms[ tax ] );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\tgetProductType: function () {\n\t\t\tvar $el = $( '#product-type' );\n\t\t\treturn $el.length ? $el.val() : null;\n\t\t},\n\n\t\tcheck: function () {\n\t\t\t// bail early if not for post\n\t\t\tif ( acf.get( 'screen' ) !== 'post' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// abort XHR if is already loading AJAX data\n\t\t\tif ( this.xhr ) {\n\t\t\t\tthis.xhr.abort();\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar ajaxData = acf.parseArgs( this.data, {\n\t\t\t\taction: 'acf/ajax/check_screen',\n\t\t\t\tscreen: acf.get( 'screen' ),\n\t\t\t\texists: [],\n\t\t\t} );\n\n\t\t\t// post id\n\t\t\tif ( this.isPost() ) {\n\t\t\t\tajaxData.post_id = acf.get( 'post_id' );\n\t\t\t}\n\n\t\t\t// post type\n\t\t\tif ( ( postType = this.getPostType() ) !== null ) {\n\t\t\t\tajaxData.post_type = postType;\n\t\t\t}\n\n\t\t\t// page template\n\t\t\tif ( ( pageTemplate = this.getPageTemplate() ) !== null ) {\n\t\t\t\tajaxData.page_template = pageTemplate;\n\t\t\t}\n\n\t\t\t// page parent\n\t\t\tif ( ( pageParent = this.getPageParent() ) !== null ) {\n\t\t\t\tajaxData.page_parent = pageParent;\n\t\t\t}\n\n\t\t\t// page type\n\t\t\tif ( ( pageType = this.getPageType() ) !== null ) {\n\t\t\t\tajaxData.page_type = pageType;\n\t\t\t}\n\n\t\t\t// post format\n\t\t\tif ( ( postFormat = this.getPostFormat() ) !== null ) {\n\t\t\t\tajaxData.post_format = postFormat;\n\t\t\t}\n\n\t\t\t// post terms\n\t\t\tif ( ( postTerms = this.getPostTerms() ) !== null ) {\n\t\t\t\tajaxData.post_terms = postTerms;\n\t\t\t}\n\n\t\t\t// add array of existing postboxes to increase performance and reduce JSON HTML\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tajaxData.exists.push( postbox.get( 'key' ) );\n\t\t\t} );\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters( 'check_screen_args', ajaxData );\n\n\t\t\t// success\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// Render post screen.\n\t\t\t\tif ( acf.get( 'screen' ) == 'post' ) {\n\t\t\t\t\tthis.renderPostScreen( json );\n\n\t\t\t\t\t// Render user screen.\n\t\t\t\t} else if ( acf.get( 'screen' ) == 'user' ) {\n\t\t\t\t\tthis.renderUserScreen( json );\n\t\t\t\t}\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'check_screen_complete', json, ajaxData );\n\t\t\t};\n\n\t\t\t// ajax\n\t\t\tthis.xhr = $.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( ajaxData ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t} );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tthis.setTimeout( this.check, 1 );\n\t\t},\n\n\t\trenderPostScreen: function ( data ) {\n\t\t\t// Helper function to copy events\n\t\t\tvar copyEvents = function ( $from, $to ) {\n\t\t\t\tvar events = $._data( $from[ 0 ] ).events;\n\t\t\t\tfor ( var type in events ) {\n\t\t\t\t\tfor ( var i = 0; i < events[ type ].length; i++ ) {\n\t\t\t\t\t\t$to.on( type, events[ type ][ i ].handler );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// Helper function to sort metabox.\n\t\t\tvar sortMetabox = function ( id, ids ) {\n\t\t\t\t// Find position of id within ids.\n\t\t\t\tvar index = ids.indexOf( id );\n\n\t\t\t\t// Bail early if index not found.\n\t\t\t\tif ( index == -1 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes behind (in reverse order).\n\t\t\t\tfor ( var i = index - 1; i >= 0; i-- ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).after( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Loop over metaboxes infront.\n\t\t\t\tfor ( var i = index + 1; i < ids.length; i++ ) {\n\t\t\t\t\tif ( $( '#' + ids[ i ] ).length ) {\n\t\t\t\t\t\treturn $( '#' + ids[ i ] ).before( $( '#' + id ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Return false if not sorted.\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// Keep track of visible and hidden postboxes.\n\t\t\tdata.visible = [];\n\t\t\tdata.hidden = [];\n\n\t\t\t// Show these postboxes.\n\t\t\tdata.results = data.results.map( function ( result, i ) {\n\t\t\t\t// vars\n\t\t\t\tvar postbox = acf.getPostbox( result.id );\n\n\t\t\t\t// Prevent \"acf_after_title\" position in Block Editor.\n\t\t\t\tif (\n\t\t\t\t\tacf.isGutenberg() &&\n\t\t\t\t\tresult.position == 'acf_after_title'\n\t\t\t\t) {\n\t\t\t\t\tresult.position = 'normal';\n\t\t\t\t}\n\n\t\t\t\t// Create postbox if doesn't exist.\n\t\t\t\tif ( ! postbox ) {\n\t\t\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\t\t\tif ( wpMinorVersion >= 5.5 ) {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar postboxHeader = [\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'Toggle panel: ' +\n\t\t\t\t\t\t\t\tacf.escHtml( result.title ) +\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t'' + acf.escHtml( result.title ) + ' ',\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t].join( '' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Ensure result.classes is set.\n\t\t\t\t\tif ( ! result.classes ) result.classes = '';\n\n\t\t\t\t\t// Create it.\n\t\t\t\t\tvar $postbox = $(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\tpostboxHeader,\n\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t\tresult.html,\n\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t\t'
',\n\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t);\n\n\t\t\t\t\t// Create new hide toggle.\n\t\t\t\t\tif ( $( '#adv-settings' ).length ) {\n\t\t\t\t\t\tvar $prefs = $( '#adv-settings .metabox-prefs' );\n\t\t\t\t\t\tvar $label = $(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t\t' ' + result.title,\n\t\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t\t].join( '' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Copy default WP events onto checkbox.\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$prefs.find( 'input' ).first(),\n\t\t\t\t\t\t\t$label.find( 'input' )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Append hide label\n\t\t\t\t\t\t$prefs.append( $label );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy default WP events onto metabox.\n\t\t\t\t\tif ( $( '.postbox' ).length ) {\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .handlediv' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.handlediv' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tcopyEvents(\n\t\t\t\t\t\t\t$( '.postbox .hndle' ).first(),\n\t\t\t\t\t\t\t$postbox.children( '.hndle' )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Append metabox to the bottom of \"side-sortables\".\n\t\t\t\t\tif ( result.position === 'side' ) {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).append(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Prepend metabox to the top of \"normal-sortbables\".\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( '#' + result.position + '-sortables' ).prepend(\n\t\t\t\t\t\t\t$postbox\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Position metabox amongst existing ACF metaboxes within the same location.\n\t\t\t\t\tvar order = [];\n\t\t\t\t\tdata.results.map( function ( _result ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tresult.position === _result.position &&\n\t\t\t\t\t\t\t$(\n\t\t\t\t\t\t\t\t'#' +\n\t\t\t\t\t\t\t\t\tresult.position +\n\t\t\t\t\t\t\t\t\t'-sortables #' +\n\t\t\t\t\t\t\t\t\t_result.id\n\t\t\t\t\t\t\t).length\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\torder.push( _result.id );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tsortMetabox( result.id, order );\n\n\t\t\t\t\t// Check 'sorted' for user preference.\n\t\t\t\t\tif ( data.sorted ) {\n\t\t\t\t\t\t// Loop over each position (acf_after_title, side, normal).\n\t\t\t\t\t\tfor ( var position in data.sorted ) {\n\t\t\t\t\t\t\tlet order = data.sorted[ position ];\n\n\t\t\t\t\t\t\tif ( typeof order !== 'string' ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Explode string into array of ids.\n\t\t\t\t\t\t\torder = order.split( ',' );\n\n\t\t\t\t\t\t\t// Position metabox relative to order.\n\t\t\t\t\t\t\tif ( sortMetabox( result.id, order ) ) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initalize it (modifies HTML).\n\t\t\t\t\tpostbox = acf.newPostbox( result );\n\n\t\t\t\t\t// Trigger action.\n\t\t\t\t\tacf.doAction( 'append', $postbox );\n\t\t\t\t\tacf.doAction( 'append_postbox', postbox );\n\t\t\t\t}\n\n\t\t\t\t// show postbox\n\t\t\t\tpostbox.showEnable();\n\n\t\t\t\t// append\n\t\t\t\tdata.visible.push( result.id );\n\n\t\t\t\t// Return result (may have changed).\n\t\t\t\treturn result;\n\t\t\t} );\n\n\t\t\t// Hide these postboxes.\n\t\t\tacf.getPostboxes().map( function ( postbox ) {\n\t\t\t\tif ( data.visible.indexOf( postbox.get( 'id' ) ) === -1 ) {\n\t\t\t\t\t// Hide postbox.\n\t\t\t\t\tpostbox.hideDisable();\n\n\t\t\t\t\t// Append to data.\n\t\t\t\t\tdata.hidden.push( postbox.get( 'id' ) );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Update style.\n\t\t\t$( '#acf-style' ).html( data.style );\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'refresh_post_screen', data );\n\t\t},\n\n\t\trenderUserScreen: function ( json ) {},\n\t} );\n\n\t/**\n\t * gutenScreen\n\t *\n\t * Adds compatibility with the Gutenberg edit screen.\n\t *\n\t * @date\t11/12/18\n\t * @since\t5.8.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar gutenScreen = new acf.Model( {\n\t\t// Keep a reference to the most recent post attributes.\n\t\tpostEdits: {},\n\n\t\t// Wait until assets have been loaded.\n\t\twait: 'prepare',\n\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenbergPostEditor() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Listen for changes (use debounced version as this can fires often).\n\t\t\twp.data.subscribe( acf.debounce( this.onChange ).bind( this ) );\n\n\t\t\t// Customize \"acf.screen.get\" functions.\n\t\t\tacf.screen.getPageTemplate = this.getPageTemplate;\n\t\t\tacf.screen.getPageParent = this.getPageParent;\n\t\t\tacf.screen.getPostType = this.getPostType;\n\t\t\tacf.screen.getPostFormat = this.getPostFormat;\n\t\t\tacf.screen.getPostCoreTerms = this.getPostCoreTerms;\n\n\t\t\t// Disable unload\n\t\t\tacf.unload.disable();\n\n\t\t\t// Refresh metaboxes since WP 5.3.\n\t\t\tvar wpMinorVersion = parseFloat( acf.get( 'wp_version' ) );\n\t\t\tif ( wpMinorVersion >= 5.3 ) {\n\t\t\t\tthis.addAction(\n\t\t\t\t\t'refresh_post_screen',\n\t\t\t\t\tthis.onRefreshPostScreen\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Trigger \"refresh\" after WP has moved metaboxes into place.\n\t\t\twp.domReady( acf.refresh );\n\t\t},\n\n\t\tonChange: function () {\n\t\t\t// Determine attributes that can trigger a refresh.\n\t\t\tvar attributes = [ 'template', 'parent', 'format' ];\n\n\t\t\t// Append taxonomy attribute names to this list.\n\t\t\t( wp.data.select( 'core' ).getTaxonomies() || [] ).map( function (\n\t\t\t\ttaxonomy\n\t\t\t) {\n\t\t\t\tattributes.push( taxonomy.rest_base );\n\t\t\t} );\n\n\t\t\t// Get relevant current post edits.\n\t\t\tvar _postEdits = wp.data.select( 'core/editor' ).getPostEdits();\n\t\t\tvar postEdits = {};\n\t\t\tattributes.map( function ( k ) {\n\t\t\t\tif ( _postEdits[ k ] !== undefined ) {\n\t\t\t\t\tpostEdits[ k ] = _postEdits[ k ];\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Detect change.\n\t\t\tif (\n\t\t\t\tJSON.stringify( postEdits ) !== JSON.stringify( this.postEdits )\n\t\t\t) {\n\t\t\t\tthis.postEdits = postEdits;\n\n\t\t\t\t// Check screen.\n\t\t\t\tacf.screen.check();\n\t\t\t}\n\t\t},\n\n\t\tgetPageTemplate: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'template' );\n\t\t},\n\n\t\tgetPageParent: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'parent' );\n\t\t},\n\n\t\tgetPostType: function () {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'type' );\n\t\t},\n\n\t\tgetPostFormat: function ( e, $el ) {\n\t\t\treturn wp.data\n\t\t\t\t.select( 'core/editor' )\n\t\t\t\t.getEditedPostAttribute( 'format' );\n\t\t},\n\n\t\tgetPostCoreTerms: function () {\n\t\t\t// vars\n\t\t\tvar terms = {};\n\n\t\t\t// Loop over taxonomies.\n\t\t\tvar taxonomies = wp.data.select( 'core' ).getTaxonomies() || [];\n\t\t\ttaxonomies.map( function ( taxonomy ) {\n\t\t\t\t// Append selected taxonomies to terms object.\n\t\t\t\tvar postTerms = wp.data\n\t\t\t\t\t.select( 'core/editor' )\n\t\t\t\t\t.getEditedPostAttribute( taxonomy.rest_base );\n\t\t\t\tif ( postTerms ) {\n\t\t\t\t\tterms[ taxonomy.slug ] = postTerms;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn terms;\n\t\t},\n\n\t\t/**\n\t\t * onRefreshPostScreen\n\t\t *\n\t\t * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state.\n\t\t *\n\t\t * @date\t11/11/19\n\t\t * @since\t5.8.7\n\t\t *\n\t\t * @param\tobject data The \"check_screen\" JSON response data.\n\t\t * @return\tvoid\n\t\t */\n\t\tonRefreshPostScreen: function ( data ) {\n\n\t\t\t// Extract vars.\n\t\t\tvar select = wp.data.select( 'core/edit-post' );\n\t\t\tvar dispatch = wp.data.dispatch( 'core/edit-post' );\n\n\t\t\t// Load current metabox locations and data.\n\t\t\tvar locations = {};\n\t\t\tselect.getActiveMetaBoxLocations().map( function ( location ) {\n\t\t\t\tlocations[ location ] = select.getMetaBoxesPerLocation(\n\t\t\t\t\tlocation\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// Generate flat array of existing ids.\n\t\t\tvar ids = [];\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ].map( function ( m ) {\n\t\t\t\t\tids.push( m.id );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Append new ACF metaboxes (ignore those which already exist).\n\t\t\tdata.results\n\t\t\t\t.filter( function ( r ) {\n\t\t\t\t\treturn ids.indexOf( r.id ) === -1;\n\t\t\t\t} )\n\t\t\t\t.map( function ( result, i ) {\n\t\t\t\t\t// Ensure location exists.\n\t\t\t\t\tvar location = result.position;\n\t\t\t\t\tlocations[ location ] = locations[ location ] || [];\n\n\t\t\t\t\t// Append.\n\t\t\t\t\tlocations[ location ].push( {\n\t\t\t\t\t\tid: result.id,\n\t\t\t\t\t\ttitle: result.title,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t// Remove hidden ACF metaboxes.\n\t\t\tfor ( var k in locations ) {\n\t\t\t\tlocations[ k ] = locations[ k ].filter( function ( m ) {\n\t\t\t\t\treturn data.hidden.indexOf( m.id ) === -1;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Update state.\n\t\t\tdispatch.setAvailableMetaBoxesPerLocation( locations );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.newSelect2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tacf.newSelect2 = function ( $select, props ) {\n\t\t// defaults\n\t\tprops = acf.parseArgs( props, {\n\t\t\tallowNull: false,\n\t\t\tplaceholder: '',\n\t\t\tmultiple: false,\n\t\t\tfield: false,\n\t\t\tajax: false,\n\t\t\tajaxAction: '',\n\t\t\tajaxData: function ( data ) {\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\tajaxResults: function ( json ) {\n\t\t\t\treturn json;\n\t\t\t},\n\t\t\ttemplateSelection: false,\n\t\t\ttemplateResult: false,\n\t\t\tdropdownCssClass: '',\n\t\t\tsuppressFilters: false,\n\t\t} );\n\n\t\t// initialize\n\t\tif ( getVersion() == 4 ) {\n\t\t\tvar select2 = new Select2_4( $select, props );\n\t\t} else {\n\t\t\tvar select2 = new Select2_3( $select, props );\n\t\t}\n\n\t\t// actions\n\t\tacf.doAction( 'new_select2', select2 );\n\n\t\t// return\n\t\treturn select2;\n\t};\n\n\t/**\n\t * getVersion\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tfunction getVersion() {\n\t\t// v4\n\t\tif ( acf.isset( window, 'jQuery', 'fn', 'select2', 'amd' ) ) {\n\t\t\treturn 4;\n\t\t}\n\n\t\t// v3\n\t\tif ( acf.isset( window, 'Select2' ) ) {\n\t\t\treturn 3;\n\t\t}\n\n\t\t// return\n\t\treturn false;\n\t}\n\n\t/**\n\t * Select2\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2 = acf.Model.extend( {\n\t\tsetup: function ( $select, props ) {\n\t\t\t$.extend( this.data, props );\n\t\t\tthis.$el = $select;\n\t\t},\n\n\t\tinitialize: function () {},\n\n\t\tselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( ! $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', true ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tunselectOption: function ( value ) {\n\t\t\tvar $option = this.getOption( value );\n\t\t\tif ( $option.prop( 'selected' ) ) {\n\t\t\t\t$option.prop( 'selected', false ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\tgetOption: function ( value ) {\n\t\t\treturn this.$( 'option[value=\"' + value + '\"]' );\n\t\t},\n\n\t\taddOption: function ( option ) {\n\t\t\t// defaults\n\t\t\toption = acf.parseArgs( option, {\n\t\t\t\tid: '',\n\t\t\t\ttext: '',\n\t\t\t\tselected: false,\n\t\t\t} );\n\n\t\t\t// vars\n\t\t\tvar $option = this.getOption( option.id );\n\n\t\t\t// append\n\t\t\tif ( ! $option.length ) {\n\t\t\t\t$option = $( ' ' );\n\t\t\t\t$option.html( option.text );\n\t\t\t\t$option.attr( 'value', option.id );\n\t\t\t\t$option.prop( 'selected', option.selected );\n\t\t\t\tthis.$el.append( $option );\n\t\t\t}\n\n\t\t\t// chain\n\t\t\treturn $option;\n\t\t},\n\n\t\tgetValue: function () {\n\t\t\t// vars\n\t\t\tvar val = [];\n\t\t\tvar $options = this.$el.find( 'option:selected' );\n\n\t\t\t// bail early if no selected\n\t\t\tif ( ! $options.exists() ) {\n\t\t\t\treturn val;\n\t\t\t}\n\n\t\t\t// sort by attribute\n\t\t\t$options = $options.sort( function ( a, b ) {\n\t\t\t\treturn (\n\t\t\t\t\t+a.getAttribute( 'data-i' ) - +b.getAttribute( 'data-i' )\n\t\t\t\t);\n\t\t\t} );\n\n\t\t\t// loop\n\t\t\t$options.each( function () {\n\t\t\t\tvar $el = $( this );\n\t\t\t\tval.push( {\n\t\t\t\t\t$el: $el,\n\t\t\t\t\tid: $el.attr( 'value' ),\n\t\t\t\t\ttext: $el.text(),\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn val;\n\t\t},\n\n\t\tmergeOptions: function () {},\n\n\t\tgetChoices: function () {\n\t\t\t// callback\n\t\t\tvar crawl = function ( $parent ) {\n\t\t\t\t// vars\n\t\t\t\tvar choices = [];\n\n\t\t\t\t// loop\n\t\t\t\t$parent.children().each( function () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $child = $( this );\n\n\t\t\t\t\t// optgroup\n\t\t\t\t\tif ( $child.is( 'optgroup' ) ) {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\ttext: $child.attr( 'label' ),\n\t\t\t\t\t\t\tchildren: crawl( $child ),\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// option\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchoices.push( {\n\t\t\t\t\t\t\tid: $child.attr( 'value' ),\n\t\t\t\t\t\t\ttext: $child.text(),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\t// return\n\t\t\t\treturn choices;\n\t\t\t};\n\n\t\t\t// crawl\n\t\t\treturn crawl( this.$el );\n\t\t},\n\n\t\tgetAjaxData: function ( params ) {\n\t\t\t// vars\n\t\t\tvar ajaxData = {\n\t\t\t\taction: this.get( 'ajaxAction' ),\n\t\t\t\ts: params.term || '',\n\t\t\t\tpaged: params.page || 1,\n\t\t\t};\n\n\t\t\t// field helper\n\t\t\tvar field = this.get( 'field' );\n\t\t\tif ( field ) {\n\t\t\t\tajaxData.field_key = field.get( 'key' );\n\t\t\t}\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxData' );\n\t\t\tif ( callback ) {\n\t\t\t\tajaxData = callback.apply( this, [ ajaxData, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tajaxData = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tajaxData,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn acf.prepareForAjax( ajaxData );\n\t\t},\n\n\t\tgetAjaxResults: function ( json, params ) {\n\t\t\t// defaults\n\t\t\tjson = acf.parseArgs( json, {\n\t\t\t\tresults: false,\n\t\t\t\tmore: false,\n\t\t\t} );\n\n\t\t\t// callback\n\t\t\tvar callback = this.get( 'ajaxResults' );\n\t\t\tif ( callback ) {\n\t\t\t\tjson = callback.apply( this, [ json, params ] );\n\t\t\t}\n\n\t\t\t// filter\n\t\t\tjson = acf.applyFilters(\n\t\t\t\t'select2_ajax_results',\n\t\t\t\tjson,\n\t\t\t\tparams,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tprocessAjaxResults: function ( json, params ) {\n\t\t\t// vars\n\t\t\tvar json = this.getAjaxResults( json, params );\n\n\t\t\t// change more to pagination\n\t\t\tif ( json.more ) {\n\t\t\t\tjson.pagination = { more: true };\n\t\t\t}\n\n\t\t\t// merge together groups\n\t\t\tsetTimeout( $.proxy( this.mergeOptions, this ), 1 );\n\n\t\t\t// return\n\t\t\treturn json;\n\t\t},\n\n\t\tdestroy: function () {\n\t\t\t// destroy via api\n\t\t\tif ( this.$el.data( 'select2' ) ) {\n\t\t\t\tthis.$el.select2( 'destroy' );\n\t\t\t}\n\n\t\t\t// destory via HTML (duplicating HTML does not contain data)\n\t\t\tthis.$el.siblings( '.select2-container' ).remove();\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_4\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_4 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\ttemplateSelection: this.get( 'templateSelection' ),\n\t\t\t\ttemplateResult: this.get( 'templateResult' ),\n\t\t\t\tdropdownCssClass: this.get( 'dropdownCssClass' ),\n\t\t\t\tsuppressFilters: this.get( 'suppressFilters' ),\n\t\t\t\tdata: [],\n\t\t\t\tescapeMarkup: function ( markup ) {\n\t\t\t\t\tif ( typeof markup !== 'string' ) {\n\t\t\t\t\t\treturn markup;\n\t\t\t\t\t}\n\t\t\t\t\treturn acf.escHtml( markup );\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// Clear empty templateSelections, templateResults, or dropdownCssClass.\n\t\t\tif ( ! options.templateSelection ) {\n\t\t\t\tdelete options.templateSelection;\n\t\t\t}\n\t\t\tif ( ! options.templateResult ) {\n\t\t\t\tdelete options.templateResult;\n\t\t\t}\n\t\t\tif ( ! options.dropdownCssClass ) {\n\t\t\t\tdelete options.dropdownCssClass;\n\t\t\t}\n\n\t\t\t// Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473\n\t\t\tif ( ! acf.isset( window, 'jQuery', 'fn', 'selectWoo' ) ) {\n\t\t\t\tif ( ! options.templateSelection ) {\n\t\t\t\t\toptions.templateSelection = function ( selection ) {\n\t\t\t\t\t\tvar $selection = $(\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$selection.html( acf.escHtml( selection.text ) );\n\t\t\t\t\t\t$selection.data( 'element', selection.element );\n\t\t\t\t\t\treturn $selection;\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdelete options.templateSelection;\n\t\t\t\tdelete options.templateResult;\n\t\t\t}\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tthis.getValue().map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Temporarily remove conflicting attribute.\n\t\t\tvar attrAjax = $select.attr( 'data-ajax' );\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.removeData( 'ajax' );\n\t\t\t\t$select.removeAttr( 'data-ajax' );\n\t\t\t}\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdelay: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tprocessResults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\tif ( ! options.suppressFilters ) {\n\t\t\t\tvar field = this.get( 'field' );\n\t\t\t\toptions = acf.applyFilters(\n\t\t\t\t\t'select2_args',\n\t\t\t\t\toptions,\n\t\t\t\t\t$select,\n\t\t\t\t\tthis.data,\n\t\t\t\t\tfield || false,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// add select2\n\t\t\t$select.select2( options );\n\n\t\t\t// get container (Select2 v4 does not return this from constructor)\n\t\t\tvar $container = $select.next( '.select2-container' );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function ( e ) {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-selection__choice' ).each(\n\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t// Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead.\n\t\t\t\t\t\t\t\tif ( $( this ).data( 'data' ) ) {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this ).data( 'data' ).element\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tvar $option = $(\n\t\t\t\t\t\t\t\t\t\t$( this )\n\t\t\t\t\t\t\t\t\t\t\t.find( 'span.acf-selection' )\n\t\t\t\t\t\t\t\t\t\t\t.data( 'element' )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\n\t\t\t\t// on select, move to end\n\t\t\t\t$select.on(\n\t\t\t\t\t'select2:select',\n\t\t\t\t\tthis.proxy( function ( e ) {\n\t\t\t\t\t\tthis.getOption( e.params.data.id )\n\t\t\t\t\t\t\t.detach()\n\t\t\t\t\t\t\t.appendTo( this.$el );\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// add handler to auto-focus searchbox (for jQuery 3.6)\n\t\t\t$select.on( 'select2:open', () => {\n\t\t\t\t$( '.select2-container--open .select2-search__field' )\n\t\t\t\t\t.get( -1 )\n\t\t\t\t\t.focus();\n\t\t\t} );\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// Add back temporarily removed attr.\n\t\t\tif ( attrAjax !== undefined ) {\n\t\t\t\t$select.attr( 'data-ajax', attrAjax );\n\t\t\t}\n\n\t\t\t// action for 3rd party customization\n\t\t\tif ( ! options.suppressFilters ) {\n\t\t\t\tacf.doAction(\n\t\t\t\t\t'select2_init',\n\t\t\t\t\t$select,\n\t\t\t\t\toptions,\n\t\t\t\t\tthis.data,\n\t\t\t\t\tfield || false,\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '.select2-results__option[role=\"group\"]' ).each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\tvar $group = $( this ).children( 'strong' );\n\n\t\t\t\t// compare to previous\n\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t$prevOptions.append( $options.children() );\n\t\t\t\t\t$( this ).remove();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// update vars\n\t\t\t\t$prevOptions = $options;\n\t\t\t\t$prevGroup = $group;\n\t\t\t} );\n\t\t},\n\t} );\n\n\t/**\n\t * Select2_3\n\t *\n\t * description\n\t *\n\t * @date\t13/1/18\n\t * @since\t5.6.5\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\n\tvar Select2_3 = Select2.extend( {\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $select = this.$el;\n\t\t\tvar value = this.getValue();\n\t\t\tvar multiple = this.get( 'multiple' );\n\t\t\tvar options = {\n\t\t\t\twidth: '100%',\n\t\t\t\tallowClear: this.get( 'allowNull' ),\n\t\t\t\tplaceholder: this.get( 'placeholder' ),\n\t\t\t\tseparator: '||',\n\t\t\t\tmultiple: this.get( 'multiple' ),\n\t\t\t\tdata: this.getChoices(),\n\t\t\t\tescapeMarkup: function ( string ) {\n\t\t\t\t\treturn acf.escHtml( string );\n\t\t\t\t},\n\t\t\t\tdropdownCss: {\n\t\t\t\t\t'z-index': '999999999',\n\t\t\t\t},\n\t\t\t\tinitSelection: function ( element, callback ) {\n\t\t\t\t\tif ( multiple ) {\n\t\t\t\t\t\tcallback( value );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback( value.shift() );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// get hidden input\n\t\t\tvar $input = $select.siblings( 'input' );\n\t\t\tif ( ! $input.length ) {\n\t\t\t\t$input = $( ' ' );\n\t\t\t\t$select.before( $input );\n\t\t\t}\n\n\t\t\t// set input value\n\t\t\tinputValue = value\n\t\t\t\t.map( function ( item ) {\n\t\t\t\t\treturn item.id;\n\t\t\t\t} )\n\t\t\t\t.join( '||' );\n\t\t\t$input.val( inputValue );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// reorder options\n\t\t\t\tvalue.map( function ( item ) {\n\t\t\t\t\titem.$el.detach().appendTo( $select );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove blank option as we have a clear all button\n\t\t\tif ( options.allowClear ) {\n\t\t\t\toptions.data = options.data.filter( function ( item ) {\n\t\t\t\t\treturn item.id !== '';\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// remove conflicting atts\n\t\t\t$select.removeData( 'ajax' );\n\t\t\t$select.removeAttr( 'data-ajax' );\n\n\t\t\t// ajax\n\t\t\tif ( this.get( 'ajax' ) ) {\n\t\t\t\toptions.ajax = {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tquietMillis: 250,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: $.proxy( this.getAjaxData, this ),\n\t\t\t\t\tresults: $.proxy( this.processAjaxResults, this ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// filter for 3rd party customization\n\t\t\tvar field = this.get( 'field' );\n\t\t\toptions = acf.applyFilters(\n\t\t\t\t'select2_args',\n\t\t\t\toptions,\n\t\t\t\t$select,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// add select2\n\t\t\t$input.select2( options );\n\n\t\t\t// get container\n\t\t\tvar $container = $input.select2( 'container' );\n\n\t\t\t// helper to find this select's option\n\t\t\tvar getOption = $.proxy( this.getOption, this );\n\n\t\t\t// multiple\n\t\t\tif ( options.multiple ) {\n\t\t\t\t// vars\n\t\t\t\tvar $ul = $container.find( 'ul' );\n\n\t\t\t\t// sortable\n\t\t\t\t$ul.sortable( {\n\t\t\t\t\tstop: function () {\n\t\t\t\t\t\t// loop\n\t\t\t\t\t\t$ul.find( '.select2-search-choice' ).each( function () {\n\t\t\t\t\t\t\t// vars\n\t\t\t\t\t\t\tvar data = $( this ).data( 'select2Data' );\n\t\t\t\t\t\t\tvar $option = getOption( data.id );\n\n\t\t\t\t\t\t\t// detach and re-append to end\n\t\t\t\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// trigger change on input (JS error if trigger on select)\n\t\t\t\t\t\t$select.trigger( 'change' );\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// on select, create option and move to end\n\t\t\t$input.on( 'select2-selecting', function ( e ) {\n\t\t\t\t// vars\n\t\t\t\tvar item = e.choice;\n\t\t\t\tvar $option = getOption( item.id );\n\n\t\t\t\t// create if doesn't exist\n\t\t\t\tif ( ! $option.length ) {\n\t\t\t\t\t$option = $(\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\titem.text +\n\t\t\t\t\t\t\t' '\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// detach and re-append to end\n\t\t\t\t$option.detach().appendTo( $select );\n\t\t\t} );\n\n\t\t\t// add class\n\t\t\t$container.addClass( '-acf' );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction(\n\t\t\t\t'select2_init',\n\t\t\t\t$select,\n\t\t\t\toptions,\n\t\t\t\tthis.data,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// change\n\t\t\t$input.on( 'change', function () {\n\t\t\t\tvar val = $input.val();\n\t\t\t\tif ( val.indexOf( '||' ) ) {\n\t\t\t\t\tval = val.split( '||' );\n\t\t\t\t}\n\t\t\t\t$select.val( val ).trigger( 'change' );\n\t\t\t} );\n\n\t\t\t// hide select\n\t\t\t$select.hide();\n\t\t},\n\n\t\tmergeOptions: function () {\n\t\t\t// vars\n\t\t\tvar $prevOptions = false;\n\t\t\tvar $prevGroup = false;\n\n\t\t\t// loop\n\t\t\t$( '#select2-drop .select2-result-with-children' ).each(\n\t\t\t\tfunction () {\n\t\t\t\t\t// vars\n\t\t\t\t\tvar $options = $( this ).children( 'ul' );\n\t\t\t\t\tvar $group = $( this ).children( '.select2-result-label' );\n\n\t\t\t\t\t// compare to previous\n\t\t\t\t\tif ( $prevGroup && $prevGroup.text() === $group.text() ) {\n\t\t\t\t\t\t$prevGroup.append( $options.children() );\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// update vars\n\t\t\t\t\t$prevOptions = $options;\n\t\t\t\t\t$prevGroup = $group;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tgetAjaxData: function ( term, page ) {\n\t\t\t// create Select2 v4 params\n\t\t\tvar params = {\n\t\t\t\tterm: term,\n\t\t\t\tpage: page,\n\t\t\t};\n\n\t\t\t// filter\n\t\t\tvar field = this.get( 'field' );\n\t\t\tparams = acf.applyFilters(\n\t\t\t\t'select2_ajax_data',\n\t\t\t\tparams,\n\t\t\t\tthis.data,\n\t\t\t\tthis.$el,\n\t\t\t\tfield || false,\n\t\t\t\tthis\n\t\t\t);\n\n\t\t\t// return\n\t\t\treturn Select2.prototype.getAjaxData.apply( this, [ params ] );\n\t\t},\n\t} );\n\n\t// manager\n\tvar select2Manager = new acf.Model( {\n\t\tpriority: 5,\n\t\twait: 'prepare',\n\t\tactions: {\n\t\t\tduplicate: 'onDuplicate',\n\t\t},\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar locale = acf.get( 'locale' );\n\t\t\tvar rtl = acf.get( 'rtl' );\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar version = getVersion();\n\n\t\t\t// bail early if no l10n\n\t\t\tif ( ! l10n ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// bail early if 'en'\n\t\t\tif ( locale.indexOf( 'en' ) === 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// initialize\n\t\t\tif ( version == 4 ) {\n\t\t\t\tthis.addTranslations4();\n\t\t\t} else if ( version == 3 ) {\n\t\t\t\tthis.addTranslations3();\n\t\t\t}\n\t\t},\n\n\t\taddTranslations4: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\terrorLoading: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tinputTooLong: function ( args ) {\n\t\t\t\t\tvar overChars = args.input.length - args.maximum;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tinputTooShort: function ( args ) {\n\t\t\t\t\tvar remainingChars = args.minimum - args.input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tloadingMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tmaximumSelected: function ( args ) {\n\t\t\t\t\tvar maximum = args.maximum;\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tnoResults: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tsearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// append\n\t\t\tjQuery.fn.select2.amd.define(\n\t\t\t\t'select2/i18n/' + locale,\n\t\t\t\t[],\n\t\t\t\tfunction () {\n\t\t\t\t\treturn select2L10n;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\taddTranslations3: function () {\n\t\t\t// vars\n\t\t\tvar l10n = acf.get( 'select2L10n' );\n\t\t\tvar locale = acf.get( 'locale' );\n\n\t\t\t// modify local to match html[lang] attribute (used by Select2)\n\t\t\tlocale = locale.replace( '_', '-' );\n\n\t\t\t// select2L10n\n\t\t\tvar select2L10n = {\n\t\t\t\tformatMatches: function ( matches ) {\n\t\t\t\t\tif ( matches > 1 ) {\n\t\t\t\t\t\treturn l10n.matches_n.replace( '%d', matches );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.matches_1;\n\t\t\t\t},\n\t\t\t\tformatNoMatches: function () {\n\t\t\t\t\treturn l10n.matches_0;\n\t\t\t\t},\n\t\t\t\tformatAjaxError: function () {\n\t\t\t\t\treturn l10n.load_fail;\n\t\t\t\t},\n\t\t\t\tformatInputTooShort: function ( input, min ) {\n\t\t\t\t\tvar remainingChars = min - input.length;\n\t\t\t\t\tif ( remainingChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_short_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tremainingChars\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_short_1;\n\t\t\t\t},\n\t\t\t\tformatInputTooLong: function ( input, max ) {\n\t\t\t\t\tvar overChars = input.length - max;\n\t\t\t\t\tif ( overChars > 1 ) {\n\t\t\t\t\t\treturn l10n.input_too_long_n.replace( '%d', overChars );\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.input_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatSelectionTooBig: function ( maximum ) {\n\t\t\t\t\tif ( maximum > 1 ) {\n\t\t\t\t\t\treturn l10n.selection_too_long_n.replace(\n\t\t\t\t\t\t\t'%d',\n\t\t\t\t\t\t\tmaximum\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn l10n.selection_too_long_1;\n\t\t\t\t},\n\t\t\t\tformatLoadMore: function () {\n\t\t\t\t\treturn l10n.load_more;\n\t\t\t\t},\n\t\t\t\tformatSearching: function () {\n\t\t\t\t\treturn l10n.searching;\n\t\t\t\t},\n\t\t\t};\n\n\t\t\t// ensure locales exists\n\t\t\t$.fn.select2.locales = $.fn.select2.locales || {};\n\n\t\t\t// append\n\t\t\t$.fn.select2.locales[ locale ] = select2L10n;\n\t\t\t$.extend( $.fn.select2.defaults, select2L10n );\n\t\t},\n\n\t\tonDuplicate: function ( $el, $el2 ) {\n\t\t\t$el2.find( '.select2-container' ).remove();\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.tinymce = {\n\t\t/*\n\t\t * defaults\n\t\t *\n\t\t * This function will return default mce and qt settings\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tdefaults: function () {\n\t\t\t// bail early if no tinyMCEPreInit\n\t\t\tif ( typeof tinyMCEPreInit === 'undefined' ) return false;\n\n\t\t\t// vars\n\t\t\tvar defaults = {\n\t\t\t\ttinymce: tinyMCEPreInit.mceInit.acf_content,\n\t\t\t\tquicktags: tinyMCEPreInit.qtInit.acf_content,\n\t\t\t};\n\n\t\t\t// return\n\t\t\treturn defaults;\n\t\t},\n\n\t\t/*\n\t\t * initialize\n\t\t *\n\t\t * This function will initialize the tinymce and quicktags instances\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitialize: function ( id, args ) {\n\t\t\t// defaults\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\ttinymce: true,\n\t\t\t\tquicktags: true,\n\t\t\t\ttoolbar: 'full',\n\t\t\t\tmode: 'visual', // visual,text\n\t\t\t\tfield: false,\n\t\t\t} );\n\n\t\t\t// tinymce\n\t\t\tif ( args.tinymce ) {\n\t\t\t\tthis.initializeTinymce( id, args );\n\t\t\t}\n\n\t\t\t// quicktags\n\t\t\tif ( args.quicktags ) {\n\t\t\t\tthis.initializeQuicktags( id, args );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeTinymce\n\t\t *\n\t\t * This function will initialize the tinymce instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeTinymce: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar $textarea = $( '#' + id );\n\t\t\tvar defaults = this.defaults();\n\t\t\tvar toolbars = acf.get( 'toolbars' );\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// check if exists\n\t\t\tif ( tinymce.get( id ) ) {\n\t\t\t\treturn this.enable( id );\n\t\t\t}\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.tinymce, args.tinymce );\n\t\t\tinit.id = id;\n\t\t\tinit.selector = '#' + id;\n\n\t\t\t// toolbar\n\t\t\tvar toolbar = args.toolbar;\n\t\t\tif ( toolbar && toolbars && toolbars[ toolbar ] ) {\n\t\t\t\tfor ( var i = 1; i <= 4; i++ ) {\n\t\t\t\t\tinit[ 'toolbar' + i ] = toolbars[ toolbar ][ i ] || '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// event\n\t\t\tinit.setup = function ( ed ) {\n\t\t\t\ted.on( 'change', function ( e ) {\n\t\t\t\t\ted.save(); // save to textarea\n\t\t\t\t\t$textarea.trigger( 'change' );\n\t\t\t\t} );\n\n\t\t\t\t// Fix bug where Gutenberg does not hear \"mouseup\" event and tries to select multiple blocks.\n\t\t\t\ted.on( 'mouseup', function ( e ) {\n\t\t\t\t\tvar event = new MouseEvent( 'mouseup' );\n\t\t\t\t\twindow.dispatchEvent( event );\n\t\t\t\t} );\n\n\t\t\t\t// Temporarily comment out. May not be necessary due to wysiwyg field actions.\n\t\t\t\t//ed.on('unload', function(e) {\n\t\t\t\t//\tacf.tinymce.remove( id );\n\t\t\t\t//});\n\t\t\t};\n\n\t\t\t// disable wp_autoresize_on (no solution yet for fixed toolbar)\n\t\t\tinit.wp_autoresize_on = false;\n\n\t\t\t// Enable wpautop allowing value to save without tags.\n\t\t\t// Only if the \"TinyMCE Advanced\" plugin hasn't already set this functionality.\n\t\t\tif ( ! init.tadv_noautop ) {\n\t\t\t\tinit.wpautop = true;\n\t\t\t}\n\n\t\t\t// hook for 3rd party customization\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_tinymce_settings',\n\t\t\t\tinit,\n\t\t\t\tid,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// z-index fix (caused too many conflicts)\n\t\t\t//if( acf.isset(tinymce,'ui','FloatPanel') ) {\n\t\t\t//\ttinymce.ui.FloatPanel.zIndex = 900000;\n\t\t\t//}\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.mceInit[ id ] = init;\n\n\t\t\t// visual tab is active\n\t\t\tif ( args.mode == 'visual' ) {\n\t\t\t\t// init\n\t\t\t\tvar result = tinymce.init( init );\n\n\t\t\t\t// get editor\n\t\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t\t// validate\n\t\t\t\tif ( ! ed ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// add reference\n\t\t\t\ted.acf = args.field;\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction( 'wysiwyg_tinymce_init', ed, ed.id, init, field );\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * initializeQuicktags\n\t\t *\n\t\t * This function will initialize the quicktags instance\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tinitializeQuicktags: function ( id, args ) {\n\t\t\t// vars\n\t\t\tvar defaults = this.defaults();\n\n\t\t\t// bail early\n\t\t\tif ( typeof quicktags === 'undefined' ) return false;\n\t\t\tif ( ! defaults ) return false;\n\n\t\t\t// settings\n\t\t\tvar init = $.extend( {}, defaults.quicktags, args.quicktags );\n\t\t\tinit.id = id;\n\n\t\t\t// filter\n\t\t\tvar field = args.field || false;\n\t\t\tvar $field = field.$el || false;\n\t\t\tinit = acf.applyFilters(\n\t\t\t\t'wysiwyg_quicktags_settings',\n\t\t\t\tinit,\n\t\t\t\tinit.id,\n\t\t\t\tfield\n\t\t\t);\n\n\t\t\t// store settings\n\t\t\ttinyMCEPreInit.qtInit[ id ] = init;\n\n\t\t\t// init\n\t\t\tvar ed = quicktags( init );\n\n\t\t\t// validate\n\t\t\tif ( ! ed ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// generate HTML\n\t\t\tthis.buildQuicktags( ed );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'wysiwyg_quicktags_init', ed, ed.id, init, field );\n\t\t},\n\n\t\t/*\n\t\t * buildQuicktags\n\t\t *\n\t\t * This function will build the quicktags HTML\n\t\t *\n\t\t * @type\tfunction\n\t\t * @date\t18/8/17\n\t\t * @since\t5.6.0\n\t\t *\n\t\t * @param\t$post_id (int)\n\t\t * @return\t$post_id (int)\n\t\t */\n\n\t\tbuildQuicktags: function ( ed ) {\n\t\t\tvar canvas,\n\t\t\t\tname,\n\t\t\t\tsettings,\n\t\t\t\ttheButtons,\n\t\t\t\thtml,\n\t\t\t\ted,\n\t\t\t\tid,\n\t\t\t\ti,\n\t\t\t\tuse,\n\t\t\t\tinstanceId,\n\t\t\t\tdefaults =\n\t\t\t\t\t',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,';\n\n\t\t\tcanvas = ed.canvas;\n\t\t\tname = ed.name;\n\t\t\tsettings = ed.settings;\n\t\t\thtml = '';\n\t\t\ttheButtons = {};\n\t\t\tuse = '';\n\t\t\tinstanceId = ed.id;\n\n\t\t\t// set buttons\n\t\t\tif ( settings.buttons ) {\n\t\t\t\tuse = ',' + settings.buttons + ',';\n\t\t\t}\n\n\t\t\tfor ( i in edButtons ) {\n\t\t\t\tif ( ! edButtons[ i ] ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tid = edButtons[ i ].id;\n\t\t\t\tif (\n\t\t\t\t\tuse &&\n\t\t\t\t\tdefaults.indexOf( ',' + id + ',' ) !== -1 &&\n\t\t\t\t\tuse.indexOf( ',' + id + ',' ) === -1\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! edButtons[ i ].instance ||\n\t\t\t\t\tedButtons[ i ].instance === instanceId\n\t\t\t\t) {\n\t\t\t\t\ttheButtons[ id ] = edButtons[ i ];\n\n\t\t\t\t\tif ( edButtons[ i ].html ) {\n\t\t\t\t\t\thtml += edButtons[ i ].html( name + '_' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( use && use.indexOf( ',dfw,' ) !== -1 ) {\n\t\t\t\ttheButtons.dfw = new QTags.DFWButton();\n\t\t\t\thtml += theButtons.dfw.html( name + '_' );\n\t\t\t}\n\n\t\t\tif ( 'rtl' === document.getElementsByTagName( 'html' )[ 0 ].dir ) {\n\t\t\t\ttheButtons.textdirection = new QTags.TextDirectionButton();\n\t\t\t\thtml += theButtons.textdirection.html( name + '_' );\n\t\t\t}\n\n\t\t\ted.toolbar.innerHTML = html;\n\t\t\ted.theButtons = theButtons;\n\n\t\t\tif ( typeof jQuery !== 'undefined' ) {\n\t\t\t\tjQuery( document ).triggerHandler( 'quicktags-init', [ ed ] );\n\t\t\t}\n\t\t},\n\n\t\tdisable: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tremove: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroy: function ( id ) {\n\t\t\tthis.destroyTinymce( id );\n\t\t},\n\n\t\tdestroyTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof tinymce === 'undefined' ) return false;\n\n\t\t\t// get editor\n\t\t\tvar ed = tinymce.get( id );\n\n\t\t\t// bail early if no editor\n\t\t\tif ( ! ed ) return false;\n\n\t\t\t// save\n\t\t\ted.save();\n\n\t\t\t// destroy editor\n\t\t\ted.destroy();\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\n\t\tenable: function ( id ) {\n\t\t\tthis.enableTinymce( id );\n\t\t},\n\n\t\tenableTinymce: function ( id ) {\n\t\t\t// bail early\n\t\t\tif ( typeof switchEditors === 'undefined' ) return false;\n\n\t\t\t// bail early if not initialized\n\t\t\tif ( typeof tinyMCEPreInit.mceInit[ id ] === 'undefined' )\n\t\t\t\treturn false;\n\n\t\t\t// Ensure textarea element is visible\n\t\t\t// - Fixes bug in block editor when switching between \"Block\" and \"Document\" tabs.\n\t\t\t$( '#' + id ).show();\n\n\t\t\t// toggle\n\t\t\tswitchEditors.go( id, 'tmce' );\n\n\t\t\t// return\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tvar editorManager = new acf.Model( {\n\t\t// hook in before fieldsEventManager, conditions, etc\n\t\tpriority: 5,\n\n\t\tactions: {\n\t\t\tprepare: 'onPrepare',\n\t\t\tready: 'onReady',\n\t\t},\n\t\tonPrepare: function () {\n\t\t\t// find hidden editor which may exist within a field\n\t\t\tvar $div = $( '#acf-hidden-wp-editor' );\n\n\t\t\t// move to footer\n\t\t\tif ( $div.exists() ) {\n\t\t\t\t$div.appendTo( 'body' );\n\t\t\t}\n\t\t},\n\t\tonReady: function () {\n\t\t\t// Restore wp.editor functions used by tinymce removed in WP5.\n\t\t\tif ( acf.isset( window, 'wp', 'oldEditor' ) ) {\n\t\t\t\twp.editor.autop = wp.oldEditor.autop;\n\t\t\t\twp.editor.removep = wp.oldEditor.removep;\n\t\t\t}\n\n\t\t\t// bail early if no tinymce\n\t\t\tif ( ! acf.isset( window, 'tinymce', 'on' ) ) return;\n\n\t\t\t// restore default activeEditor\n\t\t\ttinymce.on( 'AddEditor', function ( data ) {\n\t\t\t\t// vars\n\t\t\t\tvar editor = data.editor;\n\n\t\t\t\t// bail early if not 'acf'\n\t\t\t\tif ( editor.id.substr( 0, 3 ) !== 'acf' ) return;\n\n\t\t\t\t// override if 'content' exists\n\t\t\t\teditor = tinymce.editors.content || editor;\n\n\t\t\t\t// update vars\n\t\t\t\ttinymce.activeEditor = editor;\n\t\t\t\twpActiveEditor = editor.id;\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.unload = new acf.Model( {\n\t\twait: 'load',\n\t\tactive: true,\n\t\tchanged: false,\n\n\t\tactions: {\n\t\t\tvalidation_failure: 'startListening',\n\t\t\tvalidation_success: 'stopListening',\n\t\t},\n\n\t\tevents: {\n\t\t\t'change form .acf-field': 'startListening',\n\t\t\t'submit form': 'stopListening',\n\t\t},\n\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\treset: function () {\n\t\t\tthis.stopListening();\n\t\t},\n\n\t\tstartListening: function () {\n\t\t\t// bail early if already changed, not active\n\t\t\tif ( this.changed || ! this.active ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// update\n\t\t\tthis.changed = true;\n\n\t\t\t// add event\n\t\t\t$( window ).on( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tstopListening: function () {\n\t\t\t// update\n\t\t\tthis.changed = false;\n\n\t\t\t// remove event\n\t\t\t$( window ).off( 'beforeunload', this.onUnload );\n\t\t},\n\n\t\tonUnload: function () {\n\t\t\treturn acf.__(\n\t\t\t\t'The changes you made will be lost if you navigate away from this page'\n\t\t\t);\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * Validator\n\t *\n\t * The model for validating forms\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tvar Validator = acf.Model.extend( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'Validator',\n\n\t\t/** @var object The model data. */\n\t\tdata: {\n\t\t\t/** @var array The form errors. */\n\t\t\terrors: [],\n\n\t\t\t/** @var object The form notice. */\n\t\t\tnotice: null,\n\n\t\t\t/** @var string The form status. loading, invalid, valid */\n\t\t\tstatus: '',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'changed:status': 'onChangeStatus',\n\t\t},\n\n\t\t/**\n\t\t * addErrors\n\t\t *\n\t\t * Adds errors to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tarray errors An array of errors.\n\t\t * @return\tvoid\n\t\t */\n\t\taddErrors: function ( errors ) {\n\t\t\terrors.map( this.addError, this );\n\t\t},\n\n\t\t/**\n\t\t * addError\n\t\t *\n\t\t * Adds and error to the form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject error An error object containing input and message.\n\t\t * @return\tvoid\n\t\t */\n\t\taddError: function ( error ) {\n\t\t\tthis.data.errors.push( error );\n\t\t},\n\n\t\t/**\n\t\t * hasErrors\n\t\t *\n\t\t * Returns true if the form has errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tbool\n\t\t */\n\t\thasErrors: function () {\n\t\t\treturn this.data.errors.length;\n\t\t},\n\n\t\t/**\n\t\t * clearErrors\n\t\t *\n\t\t * Removes any errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tclearErrors: function () {\n\t\t\treturn ( this.data.errors = [] );\n\t\t},\n\n\t\t/**\n\t\t * getErrors\n\t\t *\n\t\t * Returns the forms errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetErrors: function () {\n\t\t\treturn this.data.errors;\n\t\t},\n\n\t\t/**\n\t\t * getFieldErrors\n\t\t *\n\t\t * Returns the forms field errors.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetFieldErrors: function () {\n\t\t\t// vars\n\t\t\tvar errors = [];\n\t\t\tvar inputs = [];\n\n\t\t\t// loop\n\t\t\tthis.getErrors().map( function ( error ) {\n\t\t\t\t// bail early if global\n\t\t\t\tif ( ! error.input ) return;\n\n\t\t\t\t// update if exists\n\t\t\t\tvar i = inputs.indexOf( error.input );\n\t\t\t\tif ( i > -1 ) {\n\t\t\t\t\terrors[ i ] = error;\n\n\t\t\t\t\t// update\n\t\t\t\t} else {\n\t\t\t\t\terrors.push( error );\n\t\t\t\t\tinputs.push( error.input );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return\n\t\t\treturn errors;\n\t\t},\n\n\t\t/**\n\t\t * getGlobalErrors\n\t\t *\n\t\t * Returns the forms global errors (errors without a specific input).\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tarray\n\t\t */\n\t\tgetGlobalErrors: function () {\n\t\t\t// return array of errors that contain no input\n\t\t\treturn this.getErrors().filter( function ( error ) {\n\t\t\t\treturn ! error.input;\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * showErrors\n\t\t *\n\t\t * Displays all errors for this form.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tshowErrors: function () {\n\t\t\t// bail early if no errors\n\t\t\tif ( ! this.hasErrors() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar fieldErrors = this.getFieldErrors();\n\t\t\tvar globalErrors = this.getGlobalErrors();\n\n\t\t\t// vars\n\t\t\tvar errorCount = 0;\n\t\t\tvar $scrollTo = false;\n\n\t\t\t// loop\n\t\t\tfieldErrors.map( function ( error ) {\n\t\t\t\t// get input\n\t\t\t\tvar $input = this.$( '[name=\"' + error.input + '\"]' ).first();\n\n\t\t\t\t// if $_POST value was an array, this $input may not exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\t$input = this.$( '[name^=\"' + error.input + '\"]' ).first();\n\t\t\t\t}\n\n\t\t\t\t// bail early if input doesn't exist\n\t\t\t\tif ( ! $input.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// increase\n\t\t\t\terrorCount++;\n\n\t\t\t\t// get field\n\t\t\t\tvar field = acf.getClosestField( $input );\n\n\t\t\t\t// make sure the postbox containing this field is not hidden by screen options\n\t\t\t\tensureFieldPostBoxIsVisible( field.$el );\n\n\t\t\t\t// show error\n\t\t\t\tfield.showError( error.message );\n\n\t\t\t\t// set $scrollTo\n\t\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t\t$scrollTo = field.$el;\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// errorMessage\n\t\t\tvar errorMessage = acf.__( 'Validation failed' );\n\t\t\tglobalErrors.map( function ( error ) {\n\t\t\t\terrorMessage += '. ' + error.message;\n\t\t\t} );\n\t\t\tif ( errorCount == 1 ) {\n\t\t\t\terrorMessage += '. ' + acf.__( '1 field requires attention' );\n\t\t\t} else if ( errorCount > 1 ) {\n\t\t\t\terrorMessage +=\n\t\t\t\t\t'. ' +\n\t\t\t\t\tacf\n\t\t\t\t\t\t.__( '%d fields require attention' )\n\t\t\t\t\t\t.replace( '%d', errorCount );\n\t\t\t}\n\n\t\t\t// notice\n\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tvar notice = acf.newNotice( {\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\ttext: errorMessage,\n\t\t\t\t\ttarget: this.$el,\n\t\t\t\t} );\n\t\t\t\tthis.set( 'notice', notice );\n\t\t\t}\n\n\t\t\t// If in a modal, don't try to scroll.\n\t\t\tif ( this.$el.parents( '.acf-popup-box' ).length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// if no $scrollTo, set to message\n\t\t\tif ( ! $scrollTo ) {\n\t\t\t\t$scrollTo = this.get( 'notice' ).$el;\n\t\t\t}\n\n\t\t\t// timeout\n\t\t\tsetTimeout( function () {\n\t\t\t\t$( 'html, body' ).animate(\n\t\t\t\t\t{\n\t\t\t\t\t\tscrollTop:\n\t\t\t\t\t\t\t$scrollTo.offset().top - $( window ).height() / 2,\n\t\t\t\t\t},\n\t\t\t\t\t500\n\t\t\t\t);\n\t\t\t}, 10 );\n\t\t},\n\n\t\t/**\n\t\t * onChangeStatus\n\t\t *\n\t\t * Update the form class when changing the 'status' data\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The form element.\n\t\t * @param\tstring value The new status.\n\t\t * @param\tstring prevValue The old status.\n\t\t * @return\tvoid\n\t\t */\n\t\tonChangeStatus: function ( e, $el, value, prevValue ) {\n\t\t\tthis.$el.removeClass( 'is-' + prevValue ).addClass( 'is-' + value );\n\t\t},\n\n\t\t/**\n\t\t * validate\n\t\t *\n\t\t * Vaildates the form via AJAX.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject args A list of settings to customize the validation process.\n\t\t * @return\tbool True if the form is valid.\n\t\t */\n\t\tvalidate: function ( args ) {\n\t\t\t// default args\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\t// trigger event\n\t\t\t\tevent: false,\n\n\t\t\t\t// reset the form after submit\n\t\t\t\treset: false,\n\n\t\t\t\t// loading callback\n\t\t\t\tloading: function () {},\n\n\t\t\t\t// complete callback\n\t\t\t\tcomplete: function () {},\n\n\t\t\t\t// failure callback\n\t\t\t\tfailure: function () {},\n\n\t\t\t\t// success callback\n\t\t\t\tsuccess: function ( $form ) {\n\t\t\t\t\t$form.submit();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// return true if is valid - allows form submit\n\t\t\tif ( this.get( 'status' ) == 'valid' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// return false if is currently validating - prevents form submit\n\t\t\tif ( this.get( 'status' ) == 'validating' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// return true if no ACF fields exist (no need to validate)\n\t\t\tif ( ! this.$( '.acf-field' ).length ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// if event is provided, create a new success callback.\n\t\t\tif ( args.event ) {\n\t\t\t\tvar event = $.Event( null, args.event );\n\t\t\t\targs.success = function () {\n\t\t\t\t\tacf.enableSubmit( $( event.target ) ).trigger( event );\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// action for 3rd party\n\t\t\tacf.doAction( 'validation_begin', this.$el );\n\n\t\t\t// lock form\n\t\t\tacf.lockForm( this.$el );\n\n\t\t\t// loading callback\n\t\t\targs.loading( this.$el, this );\n\n\t\t\t// update status\n\t\t\tthis.set( 'status', 'validating' );\n\n\t\t\t// success callback\n\t\t\tvar onSuccess = function ( json ) {\n\t\t\t\t// validate\n\t\t\t\tif ( ! acf.isAjaxSuccess( json ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// filter\n\t\t\t\tvar data = acf.applyFilters(\n\t\t\t\t\t'validation_complete',\n\t\t\t\t\tjson.data,\n\t\t\t\t\tthis.$el,\n\t\t\t\t\tthis\n\t\t\t\t);\n\n\t\t\t\t// add errors\n\t\t\t\tif ( ! data.valid ) {\n\t\t\t\t\tthis.addErrors( data.errors );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// complete\n\t\t\tvar onComplete = function () {\n\t\t\t\t// unlock form\n\t\t\t\tacf.unlockForm( this.$el );\n\n\t\t\t\t// failure\n\t\t\t\tif ( this.hasErrors() ) {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'invalid' );\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_failure', this.$el, this );\n\n\t\t\t\t\t// display errors\n\t\t\t\t\tthis.showErrors();\n\n\t\t\t\t\t// failure callback\n\t\t\t\t\targs.failure( this.$el, this );\n\n\t\t\t\t\t// success\n\t\t\t\t} else {\n\t\t\t\t\t// update status\n\t\t\t\t\tthis.set( 'status', 'valid' );\n\n\t\t\t\t\t// remove previous error message\n\t\t\t\t\tif ( this.has( 'notice' ) ) {\n\t\t\t\t\t\tthis.get( 'notice' ).update( {\n\t\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\t\ttext: acf.__( 'Validation successful' ),\n\t\t\t\t\t\t\ttimeout: 1000,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// action\n\t\t\t\t\tacf.doAction( 'validation_success', this.$el, this );\n\t\t\t\t\tacf.doAction( 'submit', this.$el );\n\n\t\t\t\t\t// success callback (submit form)\n\t\t\t\t\targs.success( this.$el, this );\n\n\t\t\t\t\t// lock form\n\t\t\t\t\tacf.lockForm( this.$el );\n\n\t\t\t\t\t// reset\n\t\t\t\t\tif ( args.reset ) {\n\t\t\t\t\t\tthis.reset();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// complete callback\n\t\t\t\targs.complete( this.$el, this );\n\n\t\t\t\t// clear errors\n\t\t\t\tthis.clearErrors();\n\t\t\t};\n\n\t\t\t// serialize form data\n\t\t\tvar data = acf.serialize( this.$el );\n\t\t\tdata.action = 'acf/validate_save_post';\n\n\t\t\t// ajax\n\t\t\t$.ajax( {\n\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\tdata: acf.prepareForAjax( data ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: onSuccess,\n\t\t\t\tcomplete: onComplete,\n\t\t\t} );\n\n\t\t\t// return false to fail validation and allow AJAX\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * setup\n\t\t *\n\t\t * Called during the constructor function to setup this instance\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\tsetup: function ( $form ) {\n\t\t\t// set $el\n\t\t\tthis.$el = $form;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the validation to be used again.\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function () {\n\t\t\t// reset data\n\t\t\tthis.set( 'errors', [] );\n\t\t\tthis.set( 'notice', null );\n\t\t\tthis.set( 'status', '' );\n\n\t\t\t// unlock form\n\t\t\tacf.unlockForm( this.$el );\n\t\t},\n\t} );\n\n\t/**\n\t * getValidator\n\t *\n\t * Returns the instance for a given form element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $el The form element.\n\t * @return\tobject\n\t */\n\tvar getValidator = function ( $el ) {\n\t\t// instantiate\n\t\tvar validator = $el.data( 'acf' );\n\t\tif ( ! validator ) {\n\t\t\tvalidator = new Validator( $el );\n\t\t}\n\n\t\t// return\n\t\treturn validator;\n\t};\n\n\t/**\n\t * acf.validateForm\n\t *\n\t * A helper function for the Validator.validate() function.\n\t * Returns true if form is valid, or fetches a validation request and returns false.\n\t *\n\t * @date\t4/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tobject args A list of settings to customize the validation process.\n\t * @return\tbool\n\t */\n\n\tacf.validateForm = function ( args ) {\n\t\treturn getValidator( args.form ).validate( args );\n\t};\n\n\t/**\n\t * acf.enableSubmit\n\t *\n\t * Enables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.enableSubmit = function ( $submit ) {\n\t\treturn $submit.removeClass( 'disabled' ).removeAttr( 'disabled' );\n\t};\n\n\t/**\n\t * acf.disableSubmit\n\t *\n\t * Disables a submit button and returns the element.\n\t *\n\t * @date\t30/8/18\n\t * @since\t5.7.4\n\t *\n\t * @param\tjQuery $submit The submit button.\n\t * @return\tjQuery\n\t */\n\tacf.disableSubmit = function ( $submit ) {\n\t\treturn $submit.addClass( 'disabled' ).attr( 'disabled', true );\n\t};\n\n\t/**\n\t * acf.showSpinner\n\t *\n\t * Shows the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.showSpinner = function ( $spinner ) {\n\t\t$spinner.addClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'inline-block' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.hideSpinner\n\t *\n\t * Hides the spinner element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $spinner The spinner element.\n\t * @return\tjQuery\n\t */\n\tacf.hideSpinner = function ( $spinner ) {\n\t\t$spinner.removeClass( 'is-active' ); // add class (WP > 4.2)\n\t\t$spinner.css( 'display', 'none' ); // css (WP < 4.2)\n\t\treturn $spinner;\n\t};\n\n\t/**\n\t * acf.lockForm\n\t *\n\t * Locks a form by disabeling its primary inputs and showing a spinner.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.lockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap\n\t\t\t.find( '.button, [type=\"submit\"]' )\n\t\t\t.not( '.acf-nav, .acf-repeater-add-row' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// hide all spinners (hides the preview spinner)\n\t\tacf.hideSpinner( $spinner );\n\n\t\t// lock\n\t\tacf.disableSubmit( $submit );\n\t\tacf.showSpinner( $spinner.last() );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * acf.unlockForm\n\t *\n\t * Unlocks a form by enabeling its primary inputs and hiding all spinners.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tacf.unlockForm = function ( $form ) {\n\t\t// vars\n\t\tvar $wrap = findSubmitWrap( $form );\n\t\tvar $submit = $wrap\n\t\t\t.find( '.button, [type=\"submit\"]' )\n\t\t\t.not( '.acf-nav, .acf-repeater-add-row' );\n\t\tvar $spinner = $wrap.find( '.spinner, .acf-spinner' );\n\n\t\t// unlock\n\t\tacf.enableSubmit( $submit );\n\t\tacf.hideSpinner( $spinner );\n\t\treturn $form;\n\t};\n\n\t/**\n\t * findSubmitWrap\n\t *\n\t * An internal function to find the 'primary' form submit wrapping element.\n\t *\n\t * @date\t4/9/18\n\t * @since\t5.7.5\n\t *\n\t * @param\tjQuery $form The form element.\n\t * @return\tjQuery\n\t */\n\tvar findSubmitWrap = function ( $form ) {\n\t\t// default post submit div\n\t\tvar $wrap = $form.find( '#submitdiv' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// 3rd party publish box\n\t\tvar $wrap = $form.find( '#submitpost' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// term, user\n\t\tvar $wrap = $form.find( 'p.submit' ).last();\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// front end form\n\t\tvar $wrap = $form.find( '.acf-form-submit' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// ACF 6.2 options page modal\n\t\tvar $wrap = $( '#acf-create-options-page-form .acf-actions' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// ACF 6.0+ headerbar submit\n\t\tvar $wrap = $( '.acf-headerbar-actions' );\n\t\tif ( $wrap.length ) {\n\t\t\treturn $wrap;\n\t\t}\n\n\t\t// default\n\t\treturn $form;\n\t};\n\n\t/**\n\t * A debounced function to trigger a form submission.\n\t *\n\t * @date\t15/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\ttype Var Description.\n\t * @return\ttype Description.\n\t */\n\tvar submitFormDebounced = acf.debounce( function ( $form ) {\n\t\t$form.submit();\n\t} );\n\n\t/**\n\t * Ensure field is visible for validation errors\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureFieldPostBoxIsVisible = function ( $el ) {\n\t\t// Find the postbox element containing this field.\n\t\tvar $postbox = $el.parents( '.acf-postbox' );\n\t\tif ( $postbox.length ) {\n\t\t\tvar acf_postbox = acf.getPostbox( $postbox );\n\t\t\tif ( acf_postbox && acf_postbox.isHiddenByScreenOptions() ) {\n\t\t\t\t// Rather than using .show() here, we don't want the field to appear next reload.\n\t\t\t\t// So just temporarily show the field group so validation can complete.\n\t\t\t\tacf_postbox.$el.removeClass( 'hide-if-js' );\n\t\t\t\tacf_postbox.$el.css( 'display', '' );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Ensure metaboxes which contain browser validation failures are visible.\n\t *\n\t * @date\t20/10/2021\n\t * @since\t5.11.0\n\t */\n\tvar ensureInvalidFieldVisibility = function () {\n\t\t// Load each ACF input field and check it's browser validation state.\n\t\tvar $inputs = $( '.acf-field input' );\n\t\t$inputs.each( function () {\n\t\t\tif ( ! this.checkValidity() ) {\n\t\t\t\t// Field is invalid, so we need to make sure it's metabox is visible.\n\t\t\t\tensureFieldPostBoxIsVisible( $( this ) );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * acf.validation\n\t *\n\t * Global validation logic\n\t *\n\t * @date\t4/4/18\n\t * @since\t5.6.9\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tacf.validation = new acf.Model( {\n\t\t/** @var string The model identifier. */\n\t\tid: 'validation',\n\n\t\t/** @var bool The active state. Set to false before 'prepare' to prevent validation. */\n\t\tactive: true,\n\n\t\t/** @var string The model initialize time. */\n\t\twait: 'prepare',\n\n\t\t/** @var object The model actions. */\n\t\tactions: {\n\t\t\tready: 'addInputEvents',\n\t\t\tappend: 'addInputEvents',\n\t\t},\n\n\t\t/** @var object The model events. */\n\t\tevents: {\n\t\t\t'click input[type=\"submit\"]': 'onClickSubmit',\n\t\t\t'click button[type=\"submit\"]': 'onClickSubmit',\n\t\t\t//'click #editor .editor-post-publish-button': 'onClickSubmitGutenberg',\n\t\t\t'click #save-post': 'onClickSave',\n\t\t\t'submit form#post': 'onSubmitPost',\n\t\t\t'submit form': 'onSubmit',\n\t\t},\n\n\t\t/**\n\t\t * initialize\n\t\t *\n\t\t * Called when initializing the model.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tinitialize: function () {\n\t\t\t// check 'validation' setting\n\t\t\tif ( ! acf.get( 'validation' ) ) {\n\t\t\t\tthis.active = false;\n\t\t\t\tthis.actions = {};\n\t\t\t\tthis.events = {};\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * enable\n\t\t *\n\t\t * Enables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tenable: function () {\n\t\t\tthis.active = true;\n\t\t},\n\n\t\t/**\n\t\t * disable\n\t\t *\n\t\t * Disables validation.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tdisable: function () {\n\t\t\tthis.active = false;\n\t\t},\n\n\t\t/**\n\t\t * reset\n\t\t *\n\t\t * Rests the form validation to be used again\n\t\t *\n\t\t * @date\t6/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $form The form element.\n\t\t * @return\tvoid\n\t\t */\n\t\treset: function ( $form ) {\n\t\t\tgetValidator( $form ).reset();\n\t\t},\n\n\t\t/**\n\t\t * addInputEvents\n\t\t *\n\t\t * Adds 'invalid' event listeners to HTML inputs.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tjQuery $el The element being added / readied.\n\t\t * @return\tvoid\n\t\t */\n\t\taddInputEvents: function ( $el ) {\n\t\t\t// Bug exists in Safari where custom \"invalid\" handling prevents draft from saving.\n\t\t\tif ( acf.get( 'browser' ) === 'safari' ) return;\n\n\t\t\t// vars\n\t\t\tvar $inputs = $( '.acf-field [name]', $el );\n\n\t\t\t// check\n\t\t\tif ( $inputs.length ) {\n\t\t\t\tthis.on( $inputs, 'invalid', 'onInvalid' );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onInvalid\n\t\t *\n\t\t * Callback for the 'invalid' event.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonInvalid: function ( e, $el ) {\n\t\t\t// prevent default\n\t\t\t// - prevents browser error message\n\t\t\t// - also fixes chrome bug where 'hidden-by-tab' field throws focus error\n\t\t\te.preventDefault();\n\n\t\t\t// vars\n\t\t\tvar $form = $el.closest( 'form' );\n\n\t\t\t// check form exists\n\t\t\tif ( $form.length ) {\n\t\t\t\t// add error to validator\n\t\t\t\tgetValidator( $form ).addError( {\n\t\t\t\t\tinput: $el.attr( 'name' ),\n\t\t\t\t\tmessage: acf.strEscape( e.target.validationMessage ),\n\t\t\t\t} );\n\n\t\t\t\t// trigger submit on $form\n\t\t\t\t// - allows for \"save\", \"preview\" and \"publish\" to work\n\t\t\t\tsubmitFormDebounced( $form );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onClickSubmit\n\t\t *\n\t\t * Callback when clicking submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSubmit: function ( e, $el ) {\n\t\t\t// Some browsers (safari) force their browser validation before our AJAX validation,\n\t\t\t// so we need to make sure fields are visible earlier than showErrors()\n\t\t\tensureInvalidFieldVisibility();\n\n\t\t\t// store the \"click event\" for later use in this.onSubmit()\n\t\t\tthis.set( 'originalEvent', e );\n\t\t},\n\n\t\t/**\n\t\t * onClickSave\n\t\t *\n\t\t * Set ignore to true when saving a draft.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSave: function ( e, $el ) {\n\t\t\tthis.set( 'ignore', true );\n\t\t},\n\n\t\t/**\n\t\t * onClickSubmitGutenberg\n\t\t *\n\t\t * Custom validation event for the gutenberg editor.\n\t\t *\n\t\t * @date\t29/10/18\n\t\t * @since\t5.8.0\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonClickSubmitGutenberg: function ( e, $el ) {\n\t\t\t// validate\n\t\t\tvar valid = acf.validateForm( {\n\t\t\t\tform: $( '#editor' ),\n\t\t\t\tevent: e,\n\t\t\t\treset: true,\n\t\t\t\tfailure: function ( $form, validator ) {\n\t\t\t\t\tvar $notice = validator.get( 'notice' ).$el;\n\t\t\t\t\t$notice.appendTo( '.components-notice-list' );\n\t\t\t\t\t$notice\n\t\t\t\t\t\t.find( '.acf-notice-dismiss' )\n\t\t\t\t\t\t.removeClass( 'small' );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// if not valid, stop event and allow validation to continue\n\t\t\tif ( ! valid ) {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onSubmitPost\n\t\t *\n\t\t * Callback when the 'post' form is submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmitPost: function ( e, $el ) {\n\t\t\t// Check if is preview.\n\t\t\tif ( $( 'input#wp-preview' ).val() === 'dopreview' ) {\n\t\t\t\t// Ignore validation.\n\t\t\t\tthis.set( 'ignore', true );\n\n\t\t\t\t// Unlock form to fix conflict with core \"submit.edit-post\" event causing all submit buttons to be disabled.\n\t\t\t\tacf.unlockForm( $el );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * onSubmit\n\t\t *\n\t\t * Callback when the form is submit.\n\t\t *\n\t\t * @date\t4/9/18\n\t\t * @since\t5.7.5\n\t\t *\n\t\t * @param\tobject e The event object.\n\t\t * @param\tjQuery $el The input element.\n\t\t * @return\tvoid\n\t\t */\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// Allow form to submit if...\n\t\t\tif (\n\t\t\t\t// Validation has been disabled.\n\t\t\t\t! this.active ||\n\t\t\t\t// Or this event is to be ignored.\n\t\t\t\tthis.get( 'ignore' ) ||\n\t\t\t\t// Or this event has already been prevented.\n\t\t\t\te.isDefaultPrevented()\n\t\t\t) {\n\t\t\t\t// Return early and call reset function.\n\t\t\t\treturn this.allowSubmit();\n\t\t\t}\n\n\t\t\t// Validate form.\n\t\t\tvar valid = acf.validateForm( {\n\t\t\t\tform: $el,\n\t\t\t\tevent: this.get( 'originalEvent' ),\n\t\t\t} );\n\n\t\t\t// If not valid, stop event to prevent form submit.\n\t\t\tif ( ! valid ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * allowSubmit\n\t\t *\n\t\t * Resets data during onSubmit when the form is allowed to submit.\n\t\t *\n\t\t * @date\t5/3/19\n\t\t * @since\t5.7.13\n\t\t *\n\t\t * @param\tvoid\n\t\t * @return\tvoid\n\t\t */\n\t\tallowSubmit: function () {\n\t\t\t// Reset \"ignore\" state.\n\t\t\tthis.set( 'ignore', false );\n\n\t\t\t// Reset \"originalEvent\" object.\n\t\t\tthis.set( 'originalEvent', false );\n\n\t\t\t// Return true\n\t\t\treturn true;\n\t\t},\n\t} );\n\n\tvar gutenbergValidation = new acf.Model( {\n\t\twait: 'prepare',\n\t\tinitialize: function () {\n\t\t\t// Bail early if not Gutenberg.\n\t\t\tif ( ! acf.isGutenberg() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Custommize the editor.\n\t\t\tthis.customizeEditor();\n\t\t},\n\t\tcustomizeEditor: function () {\n\t\t\t// Extract vars.\n\t\t\tvar editor = wp.data.dispatch( 'core/editor' );\n\t\t\tvar editorSelect = wp.data.select( 'core/editor' );\n\t\t\tvar notices = wp.data.dispatch( 'core/notices' );\n\n\t\t\t// Backup original method.\n\t\t\tvar savePost = editor.savePost;\n\n\t\t\t// Listen for changes to post status and perform actions:\n\t\t\t// a) Enable validation for \"publish\" action.\n\t\t\t// b) Remember last non \"publish\" status used for restoring after validation fail.\n\t\t\tvar useValidation = false;\n\t\t\tvar lastPostStatus = '';\n\t\t\twp.data.subscribe( function () {\n\t\t\t\tvar postStatus =\n\t\t\t\t\teditorSelect.getEditedPostAttribute( 'status' );\n\t\t\t\tuseValidation =\n\t\t\t\t\tpostStatus === 'publish' || postStatus === 'future';\n\t\t\t\tlastPostStatus =\n\t\t\t\t\tpostStatus !== 'publish' ? postStatus : lastPostStatus;\n\t\t\t} );\n\n\t\t\t// Create validation version.\n\t\t\teditor.savePost = function ( options ) {\n\t\t\t\toptions = options || {};\n\n\t\t\t\t// Backup vars.\n\t\t\t\tvar _this = this;\n\t\t\t\tvar _args = arguments;\n\n\t\t\t\t// Perform validation within a Promise.\n\t\t\t\treturn new Promise( function ( resolve, reject ) {\n\t\t\t\t\t// Bail early if is autosave or preview.\n\t\t\t\t\tif ( options.isAutosave || options.isPreview ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (autosave).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Bail early if validation is not needed.\n\t\t\t\t\tif ( ! useValidation ) {\n\t\t\t\t\t\treturn resolve( 'Validation ignored (draft).' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Validate the editor form.\n\t\t\t\t\tvar valid = acf.validateForm( {\n\t\t\t\t\t\tform: $( '#editor' ),\n\t\t\t\t\t\treset: true,\n\t\t\t\t\t\tcomplete: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Always unlock the form after AJAX.\n\t\t\t\t\t\t\teditor.unlockPostSaving( 'acf' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfailure: function ( $form, validator ) {\n\t\t\t\t\t\t\t// Get validation error and append to Gutenberg notices.\n\t\t\t\t\t\t\tvar notice = validator.get( 'notice' );\n\t\t\t\t\t\t\tnotices.createErrorNotice( notice.get( 'text' ), {\n\t\t\t\t\t\t\t\tid: 'acf-validation',\n\t\t\t\t\t\t\t\tisDismissible: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tnotice.remove();\n\n\t\t\t\t\t\t\t// Restore last non \"publish\" status.\n\t\t\t\t\t\t\tif ( lastPostStatus ) {\n\t\t\t\t\t\t\t\teditor.editPost( {\n\t\t\t\t\t\t\t\t\tstatus: lastPostStatus,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Rejext promise and prevent savePost().\n\t\t\t\t\t\t\treject( 'Validation failed.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess: function () {\n\t\t\t\t\t\t\tnotices.removeNotice( 'acf-validation' );\n\n\t\t\t\t\t\t\t// Resolve promise and allow savePost().\n\t\t\t\t\t\t\tresolve( 'Validation success.' );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Resolve promise and allow savePost() if no validation is needed.\n\t\t\t\t\tif ( valid ) {\n\t\t\t\t\t\tresolve( 'Validation bypassed.' );\n\n\t\t\t\t\t\t// Otherwise, lock the form and wait for AJAX response.\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor.lockPostSaving( 'acf' );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\t.then( function () {\n\t\t\t\t\t\treturn savePost.apply( _this, _args );\n\t\t\t\t\t},\n\t\t\t\t\t( err ) => {\n\t\t\t\t\t\t// Nothing to do here, user is alerted of validation issues.\n\t\t\t\t\t} );\n\t\t\t};\n\t\t},\n\t} );\n} )( jQuery );\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './_acf-field.js';\nimport './_acf-fields.js';\nimport './_acf-field-accordion.js';\nimport './_acf-field-button-group.js';\nimport './_acf-field-checkbox.js';\nimport './_acf-field-color-picker.js';\nimport './_acf-field-date-picker.js';\nimport './_acf-field-date-time-picker.js';\nimport './_acf-field-google-map.js';\nimport './_acf-field-image.js';\nimport './_acf-field-file.js';\nimport './_acf-field-link.js';\nimport './_acf-field-oembed.js';\nimport './_acf-field-radio.js';\nimport './_acf-field-range.js';\nimport './_acf-field-relationship.js';\nimport './_acf-field-select.js';\nimport './_acf-field-tab.js';\nimport './_acf-field-post-object.js';\nimport './_acf-field-page-link.js';\nimport './_acf-field-user.js';\nimport './_acf-field-taxonomy.js';\nimport './_acf-field-time-picker.js';\nimport './_acf-field-true-false.js';\nimport './_acf-field-url.js';\nimport './_acf-field-wysiwyg.js';\nimport './_acf-condition.js';\nimport './_acf-conditions.js';\nimport './_acf-condition-types.js';\nimport './_acf-unload.js';\nimport './_acf-postbox.js';\nimport './_acf-media.js';\nimport './_acf-screen.js';\nimport './_acf-select2.js';\nimport './_acf-tinymce.js';\nimport './_acf-validation.js';\nimport './_acf-helpers.js';\nimport './_acf-compatibility.js';\n"],"names":["$","undefined","acf","newCompatibility","instance","compatibilty","__proto__","compatibility","getCompatibility","_acf","l10n","o","fields","update","set","add_action","addAction","remove_action","removeAction","do_action","doAction","add_filter","addFilter","remove_filter","removeFilter","apply_filters","applyFilters","parse_args","parseArgs","disable_el","disable","disable_form","enable_el","enable","enable_form","update_user_setting","updateUserSetting","prepare_for_ajax","prepareForAjax","is_ajax_success","isAjaxSuccess","remove_el","remove","remove_tr","str_replace","strReplace","render_select","renderSelect","get_uniqid","uniqid","serialize_form","serialize","esc_html","strEscape","str_sanitize","strSanitize","_e","k1","k2","compatKey","compats","__","string","get_selector","s","selector","isPlainObject","isEmptyObject","k","get_fields","$el","all","args","is","parent","suppressFilters","findFields","get_field","$fields","apply","arguments","length","first","get_closest_field","closest","get_field_wrap","get_field_key","$field","data","get_field_type","get_data","defaults","maybe_get","obj","key","value","keys","String","split","i","hasOwnProperty","compatibleArgument","arg","Field","compatibleArguments","arrayArgs","map","compatibleCallback","origCallback","document","action","callback","priority","context","actions","model","filters","events","extend","each","name","_add_action","_add_filter","_add_event","indexOf","event","substr","fn","e","field_group","on","get","field","type","_set_$field","focus","doFocus","_validation","validation","remove_error","getField","removeError","add_warning","message","showNotice","text","timeout","fetch","validateForm","enableSubmit","disableSubmit","showSpinner","hideSpinner","unlockForm","lockForm","tooltip","newTooltip","target","temp","confirm","button_y","button_n","cancel","confirm_remove","confirmRemove","media","Model","activeFrame","new_media_popup","frame","onNewMediaPopup","popup","props","mime_types","allowedTypes","id","attachment","newMediaPopup","select2","init","$select","allow_null","allowNull","ajax_action","ajaxAction","newSelect2","destroy","getInstance","postbox","render","edit_url","editLink","edit_title","editTitle","newPostbox","screen","check","ajax","jQuery","parseString","val","isEqualTo","v1","v2","toLowerCase","isEqualToNumber","parseFloat","isGreaterThan","isLessThan","inArray","array","containsString","haystack","needle","matchesPattern","pattern","regexp","RegExp","match","HasValue","Condition","operator","label","fieldTypes","rule","Array","choices","fieldObject","registerConditionType","HasNoValue","prototype","EqualTo","isNumeric","NotEqualTo","PatternMatch","Contains","TrueFalseEqualTo","choiceType","TrueFalseNotEqualTo","SelectEqualTo","lines","$setting","$input","prop","push","line","trim","SelectNotEqualTo","GreaterThan","LessThan","SelectionGreaterThan","SelectionLessThan","storage","conditions","change","keyup","enableField","disableField","setup","getEventTarget","calculate","newCondition","fieldType","conditionTypes","getConditionTypes","condition","modelId","strPascalCase","proto","mid","models","getConditionType","registerConditionForFieldType","conditionType","types","ProtoFieldTypes","ProtoOperator","CONTEXT","conditionsManager","new_field","onNewField","has","getConditions","getSiblingField","getFields","sibling","parents","Conditions","timeStamp","groups","rules","addRules","addRule","changed","show","hide","showEnable","cid","hideDisable","pass","getGroups","group","passed","filter","hasGroups","addGroup","hasGroup","getGroup","removeGroup","delete","groupArray","hasRule","getRule","removeRule","wait","$control","initialize","hasClass","$label","$labelWrap","$inputWrap","$wrap","$instructions","children","append","$table","$newLabel","$newInput","$newTable","attr","$newWrap","html","addClass","order","getPreference","css","prepend","accordionManager","iconHtml","open","$parent","nextUntil","removeAttr","registerFieldType","unload","isOpen","toggle","close","isGutenberg","duration","find","slideDown","replaceWith","siblings","slideUp","removeClass","onClick","preventDefault","onInvalidField","busy","setTimeout","onUnload","setPreference","setValue","trigger","selected","$toggle","$inputs","not","getValue","onChange","checked","onClickAdd","getInputName","before","last","onClickToggle","$labels","onClickCustom","$text","next","duplicateField","$inputText","iris","defaultColor","palettes","clear","wpColorPicker","onDuplicate","$duplicate","$colorPicker","initializeCompatibility","dateFormat","altField","altFormat","changeYear","yearRange","changeMonth","showButtonPanel","firstDay","newDatePicker","datepicker","onBlur","datePickerManager","locale","rtl","isRTL","regional","setDefaults","exists","wrap","DatePickerField","timeFormat","altFieldTimeOnly","altTimeFormat","controlType","oneLine","newDateTimePicker","dateTimePickerManager","timepicker","datetimepicker","ImageField","validateAttachment","attributes","url","alt","title","filename","filesizeHumanReadable","icon","src","selectAttachment","multiple","mode","library","select","proxy","editAttachment","button","showField","$search","$canvas","setState","state","JSON","parse","silent","valAttr","stringify","renderVal","address","setPosition","lat","lng","marker","setVisible","newLatLng","google","maps","LatLng","center","position","getPosition","setCenter","withAPI","initializeMap","bind","zoom","mapArgs","scrollwheel","parseInt","mapTypeId","MapTypeId","ROADMAP","draggable","raiseOnDrag","autocomplete","Map","markerArgs","Marker","isset","autocompleteArgs","places","Autocomplete","bindTo","addMapEvents","addListener","latLng","searchPosition","place","getPlace","searchPlace","getZoom","geocoder","geocode","location","results","status","replace","parseResult","geometry","formatted_address","searchAddress","searchLocation","navigator","geolocation","alert","getCurrentPosition","coords","latitude","longitude","error","result","place_id","street_number","street_name","city","post_code","country","keywords","address_components","component","component_type","long_name","short_name","onClickClear","onClickLocate","onClickSearch","onFocusSearch","onBlurSearch","onKeyupSearch","onKeydownSearch","which","blur","onShow","loading","window","Geocoder","dataType","cache","success","caption","description","width","height","size","isget","getNext","removeAttachment","onClickEdit","onClickRemove","$hiddenInput","getFileInputData","param","$node","$div","wpLink","getNodeValue","decode","setNodeValue","getInputValue","setInputValue","$textarea","onOpen","wpLinkL10n","onClose","$submit","isSubmit","off","getSearchVal","showLoading","hideLoading","maybeSearch","prevUrl","clearTimeout","search","ajaxData","field_key","xhr","abort","json","complete","onKeypressSearch","onChangeSearch","SelectField","$inputAlt","$list","list","$listItems","$listItem","newChoice","join","newValue","delayed","once","sortable","items","forceHelperSize","forcePlaceholderSize","scroll","scrollTop","onScrollChoices","one","onceInView","Math","ceil","scrollHeight","innerHeight","paged","onKeypressFilter","onChangeFilter","maybeFetch","max","$span","$li","onTouchStartValues","getAjaxData","$choiceslist","$loading","onComplete","onSuccess","more","walkChoices","$html","$prevLabel","$prevList","walk","isArray","item","escHtml","escAttr","removeField","inherit","placeholder","onRemove","tabs","tab","findTabs","prevAll","findTab","$tabs","$tab","settings","endpoint","placement","Tabs","addTab","isActive","showFields","hiddenByTab","hideFields","lockKey","visible","refresh","hidden","reset","active","close_field_object","index","initialized","$before","ulClass","initializeTabs","getVisible","shift","groupIndex","tabIndex","isVisible","selectTab","closeTabs","getActive","setActive","hasActive","closeActive","closeTab","openTab","t","$a","outerHTML","classes","Tab","onRefresh","attribute","top","outerHeight","onCloseFieldObject","tabsManager","prepare","invalid_field","getTabs","getInstances","ftype","getRelatedPrototype","getRelatedType","getFieldType","$form","$name","$button","$message","notice","step1","newPopup","step2","content","step3","stopImmediatePropagation","startButtonLoading","term_name","term_parent","step4","stopButtonLoading","step5","newNotice","getAjaxMessage","dismiss","getAjaxError","term","$option","term_id","term_label","after","otherField","appendTerm","selectTerm","appendTermSelect","appendTermCheckbox","addOption","$ul","selectOption","onClickRadio","closeText","selectText","timeOnly","dp_instance","t_instance","$close","dpDiv","_updateDateTime","newTimePicker","$switch","$on","$off","switchOn","switchOff","onFocus","onKeypress","keyCode","isValid","onkeyup","query_nonce","user_query_nonce","unmountField","remountField","getMode","initializeEditor","tinymce","quicktags","toolbar","oldId","newId","uniqueId","inputData","inputVal","rename","destructive","onMousedown","enableEditor","disableEditor","eventScope","$parents","removeNotice","away","showError","bubbles","newField","getFieldTypes","category","limit","excludeSubFields","slice","findField","findClosestField","getClosestField","addGlobalFieldAction","globalAction","pluralAction","singleAction","globalCallback","extraArgs","pluralArgs","concat","pluralCallback","singleArgs","addSingleFieldAction","singleEvent","singleCallback","variations","variation","prefix","singleFieldEvents","globalFieldActions","singleFieldActions","fieldsEventManager","duplicateFieldsManager","duplicate","duplicate_fields","$el2","onDuplicateFields","duplicates","refreshHelper","show_field","hide_field","remove_field","unmount_field","remount_field","mountHelper","sortstart","sortstop","onSortstart","$item","onSortstop","sortableHelper","$placeholder","duplicateHelper","after_duplicate","onAfterDuplicate","vals","tableHelper","renderTables","self","renderTable","$ths","$tds","$th","$cells","$hidden","availableWidth","colspan","$fixedWidths","$auoWidths","$td","fieldsHelper","renderGroups","renderGroup","$row","thisTop","thisLeft","left","outerWidth","thisHeight","add","bodyClassShiftHelper","keydown","isShiftKey","onKeyDown","onKeyUp","autoOpen","EditMediaPopup","SelectMediaPopup","getPostID","postID","getMimeTypes","getMimeType","allTypes","MediaPopup","options","getFrameOptions","addFrameStates","wp","addFrameEvents","detach","states","uploadedTo","post__in","Query","query","mirroring","_acfuploader","controller","Library","filterable","editable","allowLocalEdits","EditImage","image","view","loadEditor","selection","_x","_wpPluploadSettings","multipart_params","console","log","customizeFilters","audio","video","mimeType","newFilter","orderby","unattached","uploaded","renderFilters","customizePrototypes","post","customizeAttachmentsButton","customizeAttachmentsRouter","customizeAttachmentFilters","customizeAttachmentCompat","customizeAttachmentLibrary","Button","_","Backbone","listenTo","Parent","Router","addExpand","AttachmentFilters","All","chain","el","sortBy","pluck","AttachmentCompat","rendered","save","serializeForAjax","saveCompat","always","postSave","AttachmentLibrary","Attachment","acf_errors","toggleSelection","collection","single","errors","$sidebar","postboxManager","getPostbox","getPostboxes","Postbox","style","edit","$postbox","$hide","$hideLabel","$hndle","$handleActions","$inside","isHiddenByScreenOptions","isPost","isUser","isTaxonomy","isAttachment","isNavMenu","isWidget","isComment","getPageTemplate","getPageParent","getPageType","getPostType","getPostFormat","getPostCoreTerms","terms","tax_input","post_category","tax","getPostTerms","productType","getProductType","product_type","uniqueArray","post_id","postType","post_type","pageTemplate","page_template","pageParent","page_parent","pageType","page_type","postFormat","post_format","postTerms","post_terms","renderPostScreen","renderUserScreen","copyEvents","$from","$to","_data","handler","sortMetabox","ids","wpMinorVersion","postboxHeader","$prefs","_result","sorted","gutenScreen","postEdits","isGutenbergPostEditor","subscribe","debounce","onRefreshPostScreen","domReady","getTaxonomies","taxonomy","rest_base","_postEdits","getPostEdits","getEditedPostAttribute","taxonomies","slug","dispatch","locations","getActiveMetaBoxLocations","getMetaBoxesPerLocation","m","r","setAvailableMetaBoxesPerLocation","ajaxResults","templateSelection","templateResult","dropdownCssClass","getVersion","Select2_4","Select2_3","Select2","getOption","unselectOption","option","$options","sort","a","b","getAttribute","mergeOptions","getChoices","crawl","$child","params","page","getAjaxResults","processAjaxResults","pagination","allowClear","escapeMarkup","markup","$selection","element","appendTo","attrAjax","removeData","delay","processResults","$container","stop","$prevOptions","$prevGroup","$group","separator","dropdownCss","initSelection","inputValue","quietMillis","choice","select2Manager","version","addTranslations4","addTranslations3","select2L10n","errorLoading","load_fail","inputTooLong","overChars","input","maximum","input_too_long_n","input_too_long_1","inputTooShort","remainingChars","minimum","input_too_short_n","input_too_short_1","loadingMore","load_more","maximumSelected","selection_too_long_n","selection_too_long_1","noResults","matches_0","searching","amd","define","formatMatches","matches","matches_n","matches_1","formatNoMatches","formatAjaxError","formatInputTooShort","min","formatInputTooLong","formatSelectionTooBig","formatLoadMore","formatSearching","locales","tinyMCEPreInit","mceInit","acf_content","qtInit","initializeTinymce","initializeQuicktags","toolbars","ed","MouseEvent","dispatchEvent","wp_autoresize_on","tadv_noautop","wpautop","buildQuicktags","canvas","theButtons","use","instanceId","buttons","edButtons","dfw","QTags","DFWButton","getElementsByTagName","dir","textdirection","TextDirectionButton","innerHTML","triggerHandler","destroyTinymce","enableTinymce","switchEditors","go","editorManager","ready","onPrepare","onReady","editor","autop","oldEditor","removep","editors","activeEditor","wpActiveEditor","validation_failure","validation_success","stopListening","startListening","Validator","addErrors","addError","hasErrors","clearErrors","getErrors","getFieldErrors","inputs","getGlobalErrors","showErrors","fieldErrors","globalErrors","errorCount","$scrollTo","ensureFieldPostBoxIsVisible","errorMessage","animate","offset","onChangeStatus","prevValue","validate","failure","submit","Event","valid","getValidator","validator","form","$spinner","findSubmitWrap","submitFormDebounced","acf_postbox","ensureInvalidFieldVisibility","checkValidity","addInputEvents","onInvalid","validationMessage","onClickSubmit","onClickSave","onClickSubmitGutenberg","$notice","onSubmitPost","onSubmit","isDefaultPrevented","allowSubmit","gutenbergValidation","customizeEditor","editorSelect","notices","savePost","useValidation","lastPostStatus","postStatus","_this","_args","Promise","resolve","reject","isAutosave","isPreview","unlockPostSaving","createErrorNotice","isDismissible","editPost","lockPostSaving","then","err"],"sourceRoot":""}
\ No newline at end of file
diff --git a/assets/build/js/pro/acf-pro-blocks.js b/assets/build/js/pro/acf-pro-blocks.js
index 4f257d4..2d2b1bb 100644
--- a/assets/build/js/pro/acf-pro-blocks.js
+++ b/assets/build/js/pro/acf-pro-blocks.js
@@ -5066,19 +5066,19 @@ function _defineProperty(obj, key, value) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (/* binding */ _toPrimitive)
+/* harmony export */ "default": () => (/* binding */ toPrimitive)
/* harmony export */ });
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js");
-function _toPrimitive(input, hint) {
- if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(input) !== "object" || input === null) return input;
- var prim = input[Symbol.toPrimitive];
- if (prim !== undefined) {
- var res = prim.call(input, hint || "default");
- if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(res) !== "object") return res;
+function toPrimitive(t, r) {
+ if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(t) || !t) return t;
+ var e = t[Symbol.toPrimitive];
+ if (void 0 !== e) {
+ var i = e.call(t, r || "default");
+ if ("object" != (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
- return (hint === "string" ? String : Number)(input);
+ return ("string" === r ? String : Number)(t);
}
/***/ }),
@@ -5092,15 +5092,15 @@ function _toPrimitive(input, hint) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
-/* harmony export */ "default": () => (/* binding */ _toPropertyKey)
+/* harmony export */ "default": () => (/* binding */ toPropertyKey)
/* harmony export */ });
/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "./node_modules/@babel/runtime/helpers/esm/typeof.js");
/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js");
-function _toPropertyKey(arg) {
- var key = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arg, "string");
- return (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key) === "symbol" ? key : String(key);
+function toPropertyKey(t) {
+ var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string");
+ return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i);
}
/***/ }),
diff --git a/assets/build/js/pro/acf-pro-blocks.js.map b/assets/build/js/pro/acf-pro-blocks.js.map
index 7c39b70..1679f38 100644
--- a/assets/build/js/pro/acf-pro-blocks.js.map
+++ b/assets/build/js/pro/acf-pro-blocks.js.map
@@ -1 +1 @@
-{"version":3,"file":"acf-pro-blocks.js","mappings":"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E;EACb,CAAC;AACF,CAAC,EAAIzN,MAAO,CAAC;;;;;;;;;;AChTb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD;AACA;AACA,KAAK;;AAEL;AACA;AACA,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AChCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA,KAAK;;AAEL;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA,KAAK;;AAEL;AACA;AACA,yCAAyC,kBAAkB;AAC3D;AACA;AACA,KAAK;;AAEL;AACA;AACA,kCAAkC,uBAAuB;AACzD;AACA;AACA,KAAK;;AAEL;AACA;AACA,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,kCAAkC,gBAAgB;AAClD;AACA;AACA,KAAK;;AAEL;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;AC/FD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA,cAAc,mBAAO,CAAC,4CAAO;AAC7B,aAAa,8EAAuB;AACpC,iBAAiB,mBAAO,CAAC,oDAAW;AACpC,YAAY,6EAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC/JD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6FAA6F,aAAa;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8MAA8M;;AAE9M;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,aAAa,YAAY;AACzB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,WAAW;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,QAAQ;AACrB,aAAa,WAAW;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,QAAQ;AACrB,aAAa,WAAW;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,0BAA0B;;AAE1B,2BAA2B;AAC3B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,WAAW,WAAW;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;;AAEA;AACA,oDAAoD;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qEAAqE;;AAErE;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;;AAEhB,uBAAuB,kBAAkB;;AAEzC;AACA,yBAAyB;;AAEzB,4BAA4B;AAC5B;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC;AACxC;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wBAAwB;;AAExB;;AAEA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,qIAAqI,yCAAyC;AAC9K;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,kBAAkB;AAC7B,WAAW,GAAG;AACd,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA,SAAS;AACT,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,kBAAkB;AAC7B,WAAW,GAAG;AACd;AACA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,cAAc;AAC1B;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,0CAA0C;AAC1C;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,oCAAoC;AACpC;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,+CAA+C,IAAI;AACnD;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,2DAA2D;AAC3D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;;AAGA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA,0OAA0O;AAC1O;AACA,WAAW;AACX;AACA;;AAEA;AACA,MAAM;AACN,gCAAgC;AAChC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,kBAAkB;AACjC;;AAEA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,qBAAqB;AACrB,kBAAkB;AAClB,gBAAgB;AAChB,0DAA0D;AAC1D,oBAAoB;AACpB,qBAAqB;AACrB,qBAAqB;AACrB,qBAAqB;AACrB,iBAAiB;AACjB,kBAAkB;AAClB,sBAAsB;AACtB,YAAY;AACZ,YAAY;AACZ,uBAAuB;AACvB,oBAAoB;AACpB,mBAAmB;AACnB,kBAAkB;AAClB,qBAAqB;AACrB,wBAAwB;AACxB,iBAAiB;AACjB,aAAa;AACb,2BAA2B;AAC3B,0BAA0B;AAC1B,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,cAAc;AACd,gBAAgB;AAChB,4BAA4B;AAC5B,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AClrFa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,uHAAsD;AACxD;;;;;;;;;;;;;;;;;ACN+C;AAChC;AACf,QAAQ,6DAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACdkC;AACnB;AACf,MAAM,sDAAO;AACb;AACA;AACA;AACA,QAAQ,sDAAO;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,YAAY,2DAAW;AACvB,SAAS,sDAAO;AAChB;;;;;;;;;;;;;;;ACLe;AACf;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;UCRA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;;;;;;;;;;;ACJ6B","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-blocks.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-jsx-names.js","webpack://advanced-custom-fields-pro/./node_modules/charenc/charenc.js","webpack://advanced-custom-fields-pro/./node_modules/crypt/crypt.js","webpack://advanced-custom-fields-pro/./node_modules/is-buffer/index.js","webpack://advanced-custom-fields-pro/./node_modules/md5/md5.js","webpack://advanced-custom-fields-pro/./node_modules/react/cjs/react.development.js","webpack://advanced-custom-fields-pro/./node_modules/react/index.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/webpack/runtime/node module decorator","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/pro/acf-pro-blocks.js"],"sourcesContent":["const md5 = require( 'md5' );\n\n( ( $, undefined ) => {\n\t// Dependencies.\n\tconst {\n\t\tBlockControls,\n\t\tInspectorControls,\n\t\tInnerBlocks,\n\t\tuseBlockProps,\n\t\tAlignmentToolbar,\n\t\tBlockVerticalAlignmentToolbar,\n\t} = wp.blockEditor;\n\n\tconst { ToolbarGroup, ToolbarButton, Placeholder, Spinner } = wp.components;\n\tconst { Fragment } = wp.element;\n\tconst { Component } = React;\n\tconst { withSelect } = wp.data;\n\tconst { createHigherOrderComponent } = wp.compose;\n\n\t// Potentially experimental dependencies.\n\tconst BlockAlignmentMatrixToolbar =\n\t\twp.blockEditor.__experimentalBlockAlignmentMatrixToolbar ||\n\t\twp.blockEditor.BlockAlignmentMatrixToolbar;\n\t// Gutenberg v10.x begins transition from Toolbar components to Control components.\n\tconst BlockAlignmentMatrixControl =\n\t\twp.blockEditor.__experimentalBlockAlignmentMatrixControl ||\n\t\twp.blockEditor.BlockAlignmentMatrixControl;\n\tconst BlockFullHeightAlignmentControl =\n\t\twp.blockEditor.__experimentalBlockFullHeightAligmentControl ||\n\t\twp.blockEditor.__experimentalBlockFullHeightAlignmentControl ||\n\t\twp.blockEditor.BlockFullHeightAlignmentControl;\n\tconst useInnerBlocksProps =\n\t\twp.blockEditor.__experimentalUseInnerBlocksProps ||\n\t\twp.blockEditor.useInnerBlocksProps;\n\n\t/**\n\t * Storage for registered block types.\n\t *\n\t * @since 5.8.0\n\t * @var object\n\t */\n\tconst blockTypes = {};\n\n\t/**\n\t * Returns a block type for the given name.\n\t *\n\t * @date\t20/2/19\n\t * @since\t5.8.0\n\t *\n\t * @param\tstring name The block name.\n\t * @return\t(object|false)\n\t */\n\tfunction getBlockType( name ) {\n\t\treturn blockTypes[ name ] || false;\n\t}\n\n\t/**\n\t * Returns a block version for a given block name\n\t *\n\t * @date 8/6/22\n\t * @since 6.0\n\t *\n\t * @param string name The block name\n\t * @return int\n\t */\n\tfunction getBlockVersion( name ) {\n\t\tconst blockType = getBlockType( name );\n\t\treturn blockType.acf_block_version || 1;\n\t}\n\n\t/**\n\t * Returns true if a block (identified by client ID) is nested in a query loop block.\n\t *\n\t * @date 17/1/22\n\t * @since 5.12\n\t *\n\t * @param {string} clientId A block client ID\n\t * @return boolean\n\t */\n\tfunction isBlockInQueryLoop( clientId ) {\n\t\tconst parents = wp.data\n\t\t\t.select( 'core/block-editor' )\n\t\t\t.getBlockParents( clientId );\n\t\tconst parentsData = wp.data\n\t\t\t.select( 'core/block-editor' )\n\t\t\t.getBlocksByClientId( parents );\n\t\treturn parentsData.filter( ( block ) => block.name === 'core/query' )\n\t\t\t.length;\n\t}\n\n\t/**\n\t * Returns true if we're currently inside the WP 5.9+ site editor.\n\t *\n\t * @date 08/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isSiteEditor() {\n\t\treturn typeof pagenow === 'string' && pagenow === 'site-editor';\n\t}\n\n\t/**\n\t * Returns true if the block editor is currently showing the desktop device type preview.\n\t *\n\t * This function will always return true in the site editor as it uses the\n\t * edit-post store rather than the edit-site store.\n\t *\n\t * @date 15/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isDesktopPreviewDeviceType() {\n\t\tconst editPostStore = select( 'core/edit-post' );\n\n\t\t// Return true if the edit post store isn't available (such as in the widget editor)\n\t\tif ( ! editPostStore ) return true;\n\n\t\t// Check if function exists (experimental or not) and return true if it's Desktop, or doesn't exist.\n\t\tif ( editPostStore.__experimentalGetPreviewDeviceType ) {\n\t\t\treturn (\n\t\t\t\t'Desktop' === editPostStore.__experimentalGetPreviewDeviceType()\n\t\t\t);\n\t\t} else if ( editPostStore.getPreviewDeviceType ) {\n\t\t\treturn 'Desktop' === editPostStore.getPreviewDeviceType();\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if the block editor is currently in template edit mode.\n\t *\n\t * @date 16/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isEditingTemplate() {\n\t\tconst editPostStore = select( 'core/edit-post' );\n\n\t\t// Return false if the edit post store isn't available (such as in the widget editor)\n\t\tif ( ! editPostStore ) return false;\n\n\t\t// Return false if the function doesn't exist\n\t\tif ( ! editPostStore.isEditingTemplate ) return false;\n\n\t\treturn editPostStore.isEditingTemplate();\n\t}\n\n\t/**\n\t * Returns true if we're currently inside an iFramed non-desktop device preview type (WP5.9+)\n\t *\n\t * @date 15/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isiFramedMobileDevicePreview() {\n\t\treturn (\n\t\t\t$( 'iframe[name=editor-canvas]' ).length &&\n\t\t\t! isDesktopPreviewDeviceType()\n\t\t);\n\t}\n\n\t/**\n\t * Registers a block type.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.8.0\n\t *\n\t * @param\tobject blockType The block type settings localized from PHP.\n\t * @return\tobject The result from wp.blocks.registerBlockType().\n\t */\n\tfunction registerBlockType( blockType ) {\n\t\t// Bail early if is excluded post_type.\n\t\tconst allowedTypes = blockType.post_types || [];\n\t\tif ( allowedTypes.length ) {\n\t\t\t// Always allow block to appear on \"Edit reusable Block\" screen.\n\t\t\tallowedTypes.push( 'wp_block' );\n\n\t\t\t// Check post type.\n\t\t\tconst postType = acf.get( 'postType' );\n\t\t\tif ( ! allowedTypes.includes( postType ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Handle svg HTML.\n\t\tif (\n\t\t\ttypeof blockType.icon === 'string' &&\n\t\t\tblockType.icon.substr( 0, 4 ) === '{ iconHTML };\n\t\t}\n\n\t\t// Remove icon if empty to allow for default \"block\".\n\t\t// Avoids JS error preventing block from being registered.\n\t\tif ( ! blockType.icon ) {\n\t\t\tdelete blockType.icon;\n\t\t}\n\n\t\t// Check category exists and fallback to \"common\".\n\t\tconst category = wp.blocks\n\t\t\t.getCategories()\n\t\t\t.filter( ( { slug } ) => slug === blockType.category )\n\t\t\t.pop();\n\t\tif ( ! category ) {\n\t\t\t//console.warn( `The block \"${blockType.name}\" is registered with an unknown category \"${blockType.category}\".` );\n\t\t\tblockType.category = 'common';\n\t\t}\n\n\t\t// Merge in block settings before local additions.\n\t\tblockType = acf.parseArgs( blockType, {\n\t\t\ttitle: '',\n\t\t\tname: '',\n\t\t\tcategory: '',\n\t\t\tapi_version: 2,\n\t\t\tacf_block_version: 1,\n\t\t} );\n\n\t\t// Remove all empty attribute defaults from PHP values to allow serialisation.\n\t\t// https://github.com/WordPress/gutenberg/issues/7342\n\t\tfor ( const key in blockType.attributes ) {\n\t\t\tif ( blockType.attributes[ key ].default.length === 0 ) {\n\t\t\t\tdelete blockType.attributes[ key ].default;\n\t\t\t}\n\t\t}\n\n\t\t// Apply anchor supports to avoid block editor default writing to ID.\n\t\tif ( blockType.supports.anchor ) {\n\t\t\tblockType.attributes.anchor = {\n\t\t\t\ttype: 'string',\n\t\t\t};\n\t\t}\n\n\t\t// Append edit and save functions.\n\t\tlet ThisBlockEdit = BlockEdit;\n\t\tlet ThisBlockSave = BlockSave;\n\n\t\t// Apply alignText functionality.\n\t\tif ( blockType.supports.alignText || blockType.supports.align_text ) {\n\t\t\tblockType.attributes = addBackCompatAttribute(\n\t\t\t\tblockType.attributes,\n\t\t\t\t'align_text',\n\t\t\t\t'string'\n\t\t\t);\n\t\t\tThisBlockEdit = withAlignTextComponent( ThisBlockEdit, blockType );\n\t\t}\n\n\t\t// Apply alignContent functionality.\n\t\tif (\n\t\t\tblockType.supports.alignContent ||\n\t\t\tblockType.supports.align_content\n\t\t) {\n\t\t\tblockType.attributes = addBackCompatAttribute(\n\t\t\t\tblockType.attributes,\n\t\t\t\t'align_content',\n\t\t\t\t'string'\n\t\t\t);\n\t\t\tThisBlockEdit = withAlignContentComponent(\n\t\t\t\tThisBlockEdit,\n\t\t\t\tblockType\n\t\t\t);\n\t\t}\n\n\t\t// Apply fullHeight functionality.\n\t\tif ( blockType.supports.fullHeight || blockType.supports.full_height ) {\n\t\t\tblockType.attributes = addBackCompatAttribute(\n\t\t\t\tblockType.attributes,\n\t\t\t\t'full_height',\n\t\t\t\t'boolean'\n\t\t\t);\n\t\t\tThisBlockEdit = withFullHeightComponent(\n\t\t\t\tThisBlockEdit,\n\t\t\t\tblockType.blockType\n\t\t\t);\n\t\t}\n\n\t\t// Set edit and save functions.\n\t\tblockType.edit = ( props ) => ;\n\t\tblockType.save = () => ;\n\n\t\t// Add to storage.\n\t\tblockTypes[ blockType.name ] = blockType;\n\n\t\t// Register with WP.\n\t\tconst result = wp.blocks.registerBlockType( blockType.name, blockType );\n\n\t\t// Fix bug in 'core/anchor/attribute' filter overwriting attribute.\n\t\t// Required for < WP5.9\n\t\t// See https://github.com/WordPress/gutenberg/issues/15240\n\t\tif ( result.attributes.anchor ) {\n\t\t\tresult.attributes.anchor = {\n\t\t\t\ttype: 'string',\n\t\t\t};\n\t\t}\n\n\t\t// Return result.\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns the wp.data.select() response with backwards compatibility.\n\t *\n\t * @date\t17/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring selector The selector name.\n\t * @return\tmixed\n\t */\n\tfunction select( selector ) {\n\t\tif ( selector === 'core/block-editor' ) {\n\t\t\treturn (\n\t\t\t\twp.data.select( 'core/block-editor' ) ||\n\t\t\t\twp.data.select( 'core/editor' )\n\t\t\t);\n\t\t}\n\t\treturn wp.data.select( selector );\n\t}\n\n\t/**\n\t * Returns the wp.data.dispatch() response with backwards compatibility.\n\t *\n\t * @date\t17/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring selector The selector name.\n\t * @return\tmixed\n\t */\n\tfunction dispatch( selector ) {\n\t\treturn wp.data.dispatch( selector );\n\t}\n\n\t/**\n\t * Returns an array of all blocks for the given args.\n\t *\n\t * @date\t27/2/19\n\t * @since\t5.7.13\n\t *\n\t * @param\t{object} args An object of key=>value pairs used to filter results.\n\t * @return\tarray.\n\t */\n\tfunction getBlocks( args ) {\n\t\tlet blocks = [];\n\n\t\t// Local function to recurse through all child blocks and add to the blocks array.\n\t\tconst recurseBlocks = ( block ) => {\n\t\t\tblocks.push( block );\n\t\t\tselect( 'core/block-editor' )\n\t\t\t\t.getBlocks( block.clientId )\n\t\t\t\t.forEach( recurseBlocks );\n\t\t};\n\n\t\t// Trigger initial recursion for parent level blocks.\n\t\tselect( 'core/block-editor' ).getBlocks().forEach( recurseBlocks );\n\n\t\t// Loop over args and filter.\n\t\tfor ( const k in args ) {\n\t\t\tblocks = blocks.filter(\n\t\t\t\t( { attributes } ) => attributes[ k ] === args[ k ]\n\t\t\t);\n\t\t}\n\n\t\t// Return results.\n\t\treturn blocks;\n\t}\n\n\t/**\n\t * Storage for the AJAX queue.\n\t *\n\t * @const {array}\n\t */\n\tconst ajaxQueue = {};\n\n\t/**\n\t * Storage for cached AJAX requests for block content.\n\t *\n\t * @since 5.12\n\t * @const {array}\n\t */\n\tconst fetchCache = {};\n\n\t/**\n\t * Fetches a JSON result from the AJAX API.\n\t *\n\t * @date\t28/2/19\n\t * @since\t5.7.13\n\t *\n\t * @param\tobject block The block props.\n\t * @query\tobject The query args used in AJAX callback.\n\t * @return\tobject The AJAX promise.\n\t */\n\tfunction fetchBlock( args ) {\n\t\tconst {\n\t\t\tattributes = {},\n\t\t\tcontext = {},\n\t\t\tquery = {},\n\t\t\tclientId = null,\n\t\t\tdelay = 0,\n\t\t} = args;\n\n\t\t// Build a unique queue ID from block data, including the clientId for edit forms.\n\t\tconst queueId = md5(\n\t\t\tJSON.stringify( { ...attributes, ...context, ...query } )\n\t\t);\n\n\t\tconst data = ajaxQueue[ queueId ] || {\n\t\t\tquery: {},\n\t\t\ttimeout: false,\n\t\t\tpromise: $.Deferred(),\n\t\t\tstarted: false,\n\t\t};\n\n\t\t// Append query args to storage.\n\t\tdata.query = { ...data.query, ...query };\n\n\t\tif ( data.started ) return data.promise;\n\n\t\t// Set fresh timeout.\n\t\tclearTimeout( data.timeout );\n\t\tdata.timeout = setTimeout( () => {\n\t\t\tdata.started = true;\n\t\t\tif ( fetchCache[ queueId ] ) {\n\t\t\t\tajaxQueue[ queueId ] = null;\n\t\t\t\tdata.promise.resolve.apply(\n\t\t\t\t\tfetchCache[ queueId ][ 0 ],\n\t\t\t\t\tfetchCache[ queueId ][ 1 ]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: acf.prepareForAjax( {\n\t\t\t\t\t\taction: 'acf/ajax/fetch-block',\n\t\t\t\t\t\tblock: JSON.stringify( attributes ),\n\t\t\t\t\t\tclientId: clientId,\n\t\t\t\t\t\tcontext: JSON.stringify( context ),\n\t\t\t\t\t\tquery: data.query,\n\t\t\t\t\t} ),\n\t\t\t\t} )\n\t\t\t\t\t.always( () => {\n\t\t\t\t\t\t// Clean up queue after AJAX request is complete.\n\t\t\t\t\t\tajaxQueue[ queueId ] = null;\n\t\t\t\t\t} )\n\t\t\t\t\t.done( function () {\n\t\t\t\t\t\tfetchCache[ queueId ] = [ this, arguments ];\n\t\t\t\t\t\tdata.promise.resolve.apply( this, arguments );\n\t\t\t\t\t} )\n\t\t\t\t\t.fail( function () {\n\t\t\t\t\t\tdata.promise.reject.apply( this, arguments );\n\t\t\t\t\t} );\n\t\t\t}\n\t\t}, delay );\n\n\t\t// Update storage.\n\t\tajaxQueue[ queueId ] = data;\n\n\t\t// Return promise.\n\t\treturn data.promise;\n\t}\n\n\t/**\n\t * Returns true if both object are the same.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tobject obj1\n\t * @param\tobject obj2\n\t * @return\tbool\n\t */\n\tfunction compareObjects( obj1, obj2 ) {\n\t\treturn JSON.stringify( obj1 ) === JSON.stringify( obj2 );\n\t}\n\n\t/**\n\t * Converts HTML into a React element.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring html The HTML to convert.\n\t * @param\tint acfBlockVersion The ACF block version number.\n\t * @return\tobject Result of React.createElement().\n\t */\n\tacf.parseJSX = ( html, acfBlockVersion ) => {\n\t\t// Apply a temporary wrapper for the jQuery parse to prevent text nodes triggering errors.\n\t\thtml = '' + html + '
';\n\t\t// Correctly balance InnerBlocks tags for jQuery's initial parse.\n\t\thtml = html.replace(\n\t\t\t/]+)?\\/>/,\n\t\t\t' '\n\t\t);\n\t\treturn parseNode( $( html )[ 0 ], acfBlockVersion, 0 ).props.children;\n\t};\n\n\t/**\n\t * Converts a DOM node into a React element.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tDOM node The DOM node.\n\t * @param\tint acfBlockVersion The ACF block version number.\n\t * @param\tint level The recursion level.\n\t * @return\tobject Result of React.createElement().\n\t */\n\tfunction parseNode( node, acfBlockVersion, level = 0 ) {\n\t\t// Get node name.\n\t\tconst nodeName = parseNodeName(\n\t\t\tnode.nodeName.toLowerCase(),\n\t\t\tacfBlockVersion\n\t\t);\n\t\tif ( ! nodeName ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Get node attributes in React friendly format.\n\t\tconst nodeAttrs = {};\n\n\t\tif ( level === 1 && nodeName !== 'ACFInnerBlocks' ) {\n\t\t\t// Top level (after stripping away the container div), create a ref for passing through to ACF's JS API.\n\t\t\tnodeAttrs.ref = React.createRef();\n\t\t}\n\n\t\tacf.arrayArgs( node.attributes )\n\t\t\t.map( parseNodeAttr )\n\t\t\t.forEach( ( { name, value } ) => {\n\t\t\t\tnodeAttrs[ name ] = value;\n\t\t\t} );\n\n\t\tif ( 'ACFInnerBlocks' === nodeName ) {\n\t\t\treturn ;\n\t\t}\n\n\t\t// Define args for React.createElement().\n\t\tconst args = [ nodeName, nodeAttrs ];\n\t\tacf.arrayArgs( node.childNodes ).forEach( ( child ) => {\n\t\t\tif ( child instanceof Text ) {\n\t\t\t\tconst text = child.textContent;\n\t\t\t\tif ( text ) {\n\t\t\t\t\targs.push( text );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\targs.push( parseNode( child, acfBlockVersion, level + 1 ) );\n\t\t\t}\n\t\t} );\n\n\t\t// Return element.\n\t\treturn React.createElement.apply( this, args );\n\t}\n\n\t/**\n\t * Converts a node or attribute name into it's JSX compliant name\n\t *\n\t * @date 05/07/2021\n\t * @since 5.9.8\n\t *\n\t * @param string name The node or attribute name.\n\t * @return string\n\t */\n\tfunction getJSXName( name ) {\n\t\tconst replacement = acf.isget( acf, 'jsxNameReplacements', name );\n\t\tif ( replacement ) return replacement;\n\t\treturn name;\n\t}\n\n\t/**\n\t * Converts the given name into a React friendly name or component.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring name The node name in lowercase.\n\t * @param\tint acfBlockVersion The ACF block version number.\n\t * @return\tmixed\n\t */\n\tfunction parseNodeName( name, acfBlockVersion ) {\n\t\tswitch ( name ) {\n\t\t\tcase 'innerblocks':\n\t\t\t\tif ( acfBlockVersion < 2 ) {\n\t\t\t\t\treturn InnerBlocks;\n\t\t\t\t}\n\t\t\t\treturn 'ACFInnerBlocks';\n\t\t\tcase 'script':\n\t\t\t\treturn Script;\n\t\t\tcase '#comment':\n\t\t\t\treturn null;\n\t\t\tdefault:\n\t\t\t\t// Replace names for JSX counterparts.\n\t\t\t\tname = getJSXName( name );\n\t\t}\n\t\treturn name;\n\t}\n\n\t/**\n\t * Functional component for ACFInnerBlocks.\n\t *\n\t * @since 6.0.0\n\t *\n\t * @param obj props element properties.\n\t * @return DOM element\n\t */\n\tfunction ACFInnerBlocks( props ) {\n\t\tconst { className = 'acf-innerblocks-container' } = props;\n\t\tconst innerBlockProps = useInnerBlocksProps(\n\t\t\t{ className: className },\n\t\t\tprops\n\t\t);\n\n\t\treturn { innerBlockProps.children }
;\n\t}\n\n\t/**\n\t * Converts the given attribute into a React friendly name and value object.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tobj nodeAttr The node attribute.\n\t * @return\tobj\n\t */\n\tfunction parseNodeAttr( nodeAttr ) {\n\t\tlet name = nodeAttr.name;\n\t\tlet value = nodeAttr.value;\n\n\t\t// Allow overrides for third party libraries who might use specific attributes.\n\t\tlet shortcut = acf.applyFilters(\n\t\t\t'acf_blocks_parse_node_attr',\n\t\t\tfalse,\n\t\t\tnodeAttr\n\t\t);\n\n\t\tif ( shortcut ) return shortcut;\n\n\t\tswitch ( name ) {\n\t\t\t// Class.\n\t\t\tcase 'class':\n\t\t\t\tname = 'className';\n\t\t\t\tbreak;\n\n\t\t\t// Style.\n\t\t\tcase 'style':\n\t\t\t\tconst css = {};\n\t\t\t\tvalue.split( ';' ).forEach( ( s ) => {\n\t\t\t\t\tconst pos = s.indexOf( ':' );\n\t\t\t\t\tif ( pos > 0 ) {\n\t\t\t\t\t\tlet ruleName = s.substr( 0, pos ).trim();\n\t\t\t\t\t\tconst ruleValue = s.substr( pos + 1 ).trim();\n\n\t\t\t\t\t\t// Rename core properties, but not CSS variables.\n\t\t\t\t\t\tif ( ruleName.charAt( 0 ) !== '-' ) {\n\t\t\t\t\t\t\truleName = acf.strCamelCase( ruleName );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcss[ ruleName ] = ruleValue;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tvalue = css;\n\t\t\t\tbreak;\n\n\t\t\t// Default.\n\t\t\tdefault:\n\t\t\t\t// No formatting needed for \"data-x\" attributes.\n\t\t\t\tif ( name.indexOf( 'data-' ) === 0 ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// Replace names for JSX counterparts.\n\t\t\t\tname = getJSXName( name );\n\n\t\t\t\t// Convert JSON values.\n\t\t\t\tconst c1 = value.charAt( 0 );\n\t\t\t\tif ( c1 === '[' || c1 === '{' ) {\n\t\t\t\t\tvalue = JSON.parse( value );\n\t\t\t\t}\n\n\t\t\t\t// Convert bool values.\n\t\t\t\tif ( value === 'true' || value === 'false' ) {\n\t\t\t\t\tvalue = value === 'true';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\t/**\n\t * Higher Order Component used to set default block attribute values.\n\t *\n\t * By modifying block attributes directly, instead of defining defaults in registerBlockType(),\n\t * WordPress will include them always within the saved block serialized JSON.\n\t *\n\t * @date\t31/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tComponent BlockListBlock The BlockListBlock Component.\n\t * @return\tComponent\n\t */\n\tconst withDefaultAttributes = createHigherOrderComponent(\n\t\t( BlockListBlock ) =>\n\t\t\tclass WrappedBlockEdit extends Component {\n\t\t\t\tconstructor( props ) {\n\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t// Extract vars.\n\t\t\t\t\tconst { name, attributes } = this.props;\n\n\t\t\t\t\t// Only run on ACF Blocks.\n\t\t\t\t\tconst blockType = getBlockType( name );\n\t\t\t\t\tif ( ! blockType ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check and remove any empty string attributes to match PHP behaviour.\n\t\t\t\t\tObject.keys( attributes ).forEach( ( key ) => {\n\t\t\t\t\t\tif ( attributes[ key ] === '' ) {\n\t\t\t\t\t\t\tdelete attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Backward compatibility attribute replacement.\n\t\t\t\t\tconst upgrades = {\n\t\t\t\t\t\tfull_height: 'fullHeight',\n\t\t\t\t\t\talign_content: 'alignContent',\n\t\t\t\t\t\talign_text: 'alignText',\n\t\t\t\t\t};\n\n\t\t\t\t\tObject.keys( upgrades ).forEach( ( key ) => {\n\t\t\t\t\t\tif ( attributes[ key ] !== undefined ) {\n\t\t\t\t\t\t\tattributes[ upgrades[ key ] ] = attributes[ key ];\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tattributes[ upgrades[ key ] ] === undefined\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t//Check for a default\n\t\t\t\t\t\t\tif ( blockType[ key ] !== undefined ) {\n\t\t\t\t\t\t\t\tattributes[ upgrades[ key ] ] =\n\t\t\t\t\t\t\t\t\tblockType[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete blockType[ key ];\n\t\t\t\t\t\tdelete attributes[ key ];\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Set default attributes for those undefined.\n\t\t\t\t\tfor ( let attribute in blockType.attributes ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tattributes[ attribute ] === undefined &&\n\t\t\t\t\t\t\tblockType[ attribute ] !== undefined\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tattributes[ attribute ] = blockType[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trender() {\n\t\t\t\t\treturn ;\n\t\t\t\t}\n\t\t\t},\n\t\t'withDefaultAttributes'\n\t);\n\twp.hooks.addFilter(\n\t\t'editor.BlockListBlock',\n\t\t'acf/with-default-attributes',\n\t\twithDefaultAttributes\n\t);\n\n\t/**\n\t * The BlockSave functional component.\n\t *\n\t * @date\t08/07/2020\n\t * @since\t5.9.0\n\t */\n\tfunction BlockSave() {\n\t\treturn ;\n\t}\n\n\t/**\n\t * The BlockEdit component.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t */\n\tclass BlockEdit extends Component {\n\t\tconstructor( props ) {\n\t\t\tsuper( props );\n\t\t\tthis.setup();\n\t\t}\n\n\t\tsetup() {\n\t\t\tconst { name, attributes, clientId } = this.props;\n\t\t\tconst blockType = getBlockType( name );\n\n\t\t\t// Restrict current mode.\n\t\t\tfunction restrictMode( modes ) {\n\t\t\t\tif ( ! modes.includes( attributes.mode ) ) {\n\t\t\t\t\tattributes.mode = modes[ 0 ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tisBlockInQueryLoop( clientId ) ||\n\t\t\t\tisSiteEditor() ||\n\t\t\t\tisiFramedMobileDevicePreview() ||\n\t\t\t\tisEditingTemplate()\n\t\t\t) {\n\t\t\t\trestrictMode( [ 'preview' ] );\n\t\t\t} else {\n\t\t\t\tswitch ( blockType.mode ) {\n\t\t\t\t\tcase 'edit':\n\t\t\t\t\t\trestrictMode( [ 'edit', 'preview' ] );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'preview':\n\t\t\t\t\t\trestrictMode( [ 'preview', 'edit' ] );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\trestrictMode( [ 'auto' ] );\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\tconst { name, attributes, setAttributes, clientId } = this.props;\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst forcePreview =\n\t\t\t\tisBlockInQueryLoop( clientId ) ||\n\t\t\t\tisSiteEditor() ||\n\t\t\t\tisiFramedMobileDevicePreview() ||\n\t\t\t\tisEditingTemplate();\n\t\t\tlet { mode } = attributes;\n\n\t\t\tif ( forcePreview ) {\n\t\t\t\tmode = 'preview';\n\t\t\t}\n\n\t\t\t// Show toggle only for edit/preview modes and for blocks not in a query loop/FSE.\n\t\t\tlet showToggle = blockType.supports.mode;\n\t\t\tif ( mode === 'auto' || forcePreview ) {\n\t\t\t\tshowToggle = false;\n\t\t\t}\n\n\t\t\t// Configure toggle variables.\n\t\t\tconst toggleText =\n\t\t\t\tmode === 'preview'\n\t\t\t\t\t? acf.__( 'Switch to Edit' )\n\t\t\t\t\t: acf.__( 'Switch to Preview' );\n\t\t\tconst toggleIcon =\n\t\t\t\tmode === 'preview' ? 'edit' : 'welcome-view-site';\n\t\t\tfunction toggleMode() {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tmode: mode === 'preview' ? 'edit' : 'preview',\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Return template.\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{ showToggle && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t) }\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t{ mode === 'preview' && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) }\n\t\t\t\t\t \n\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * The BlockBody functional component.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t */\n\tfunction _BlockBody( props ) {\n\t\tconst { attributes, isSelected, name } = props;\n\t\tconst { mode } = attributes;\n\n\t\tlet showForm = true;\n\t\tlet additionalClasses = 'acf-block-component acf-block-body';\n\n\t\tif ( ( mode === 'auto' && ! isSelected ) || mode === 'preview' ) {\n\t\t\tadditionalClasses += ' acf-block-preview';\n\t\t\tshowForm = false;\n\t\t}\n\n\t\tif ( getBlockVersion( name ) > 1 ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{ showForm ? (\n\t\t\t\t\t\t \n\t\t\t\t\t) : (\n\t\t\t\t\t\t \n\t\t\t\t\t) }\n\t\t\t\t
\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{ showForm ? (\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t) }\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t}\n\n\t// Append blockIndex to component props.\n\tconst BlockBody = withSelect( ( select, ownProps ) => {\n\t\tconst { clientId } = ownProps;\n\t\t// Use optional rootClientId to allow discoverability of child blocks.\n\t\tconst rootClientId =\n\t\t\tselect( 'core/block-editor' ).getBlockRootClientId( clientId );\n\t\tconst index = select( 'core/block-editor' ).getBlockIndex(\n\t\t\tclientId,\n\t\t\trootClientId\n\t\t);\n\t\treturn {\n\t\t\tindex,\n\t\t};\n\t} )( _BlockBody );\n\n\t/**\n\t * A react component to append HTMl.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tstring children The html to insert.\n\t * @return\tvoid\n\t */\n\tclass Div extends Component {\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * A react Component for inline scripts.\n\t *\n\t * This Component uses a combination of React references and jQuery to append the\n\t * inline ` );\n\t\t}\n\t\tcomponentDidUpdate() {\n\t\t\tthis.setHTML( this.props.children );\n\t\t}\n\t\tcomponentDidMount() {\n\t\t\tthis.setHTML( this.props.children );\n\t\t}\n\t}\n\n\t// Data storage for DynamicHTML components.\n\tconst store = {};\n\n\t/**\n\t * DynamicHTML Class.\n\t *\n\t * A react componenet to load and insert dynamic HTML.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tclass DynamicHTML extends Component {\n\t\tconstructor( props ) {\n\t\t\tsuper( props );\n\n\t\t\t// Bind callbacks.\n\t\t\tthis.setRef = this.setRef.bind( this );\n\n\t\t\t// Define default props and call setup().\n\t\t\tthis.id = '';\n\t\t\tthis.el = false;\n\t\t\tthis.subscribed = true;\n\t\t\tthis.renderMethod = 'jQuery';\n\t\t\tthis.setup( props );\n\n\t\t\t// Load state.\n\t\t\tthis.loadState();\n\t\t}\n\n\t\tsetup( props ) {\n\t\t\t// Do nothing.\n\t\t}\n\n\t\tfetch() {\n\t\t\t// Do nothing.\n\t\t}\n\n\t\tmaybePreload( blockId, clientId, form ) {\n\t\t\tif (\n\t\t\t\tthis.state.html === undefined &&\n\t\t\t\t! isBlockInQueryLoop( this.props.clientId )\n\t\t\t) {\n\t\t\t\tconst preloadedBlocks = acf.get( 'preloadedBlocks' );\n\t\t\t\tconst modeText = form ? 'form' : 'preview';\n\n\t\t\t\tif ( preloadedBlocks && preloadedBlocks[ blockId ] ) {\n\t\t\t\t\t// Ensure we only preload the correct block state (form or preview).\n\t\t\t\t\tif (\n\t\t\t\t\t\t( form && ! preloadedBlocks[ blockId ].form ) ||\n\t\t\t\t\t\t( ! form && preloadedBlocks[ blockId ].form )\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\n\t\t\t\t\t// Set HTML to the preloaded version.\n\t\t\t\t\treturn preloadedBlocks[ blockId ].html.replaceAll(\n\t\t\t\t\t\tblockId,\n\t\t\t\t\t\tclientId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\tloadState() {\n\t\t\tthis.state = store[ this.id ] || {};\n\t\t}\n\n\t\tsetState( state ) {\n\t\t\tstore[ this.id ] = { ...this.state, ...state };\n\n\t\t\t// Update component state if subscribed.\n\t\t\t// - Allows AJAX callback to update store without modifying state of an unmounted component.\n\t\t\tif ( this.subscribed ) {\n\t\t\t\tsuper.setState( state );\n\t\t\t}\n\t\t}\n\n\t\tsetHtml( html ) {\n\t\t\thtml = html ? html.trim() : '';\n\n\t\t\t// Bail early if html has not changed.\n\t\t\tif ( html === this.state.html ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Update state.\n\t\t\tconst state = {\n\t\t\t\thtml,\n\t\t\t};\n\n\t\t\tif ( this.renderMethod === 'jsx' ) {\n\t\t\t\tstate.jsx = acf.parseJSX(\n\t\t\t\t\thtml,\n\t\t\t\t\tgetBlockVersion( this.props.name )\n\t\t\t\t);\n\n\t\t\t\t// Handle templates which don't contain any valid JSX parsable elements.\n\t\t\t\tif ( ! state.jsx ) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'Your ACF block template contains no valid HTML elements. Appending a empty div to prevent React JS errors.'\n\t\t\t\t\t);\n\t\t\t\t\tstate.html += '
';\n\t\t\t\t\tstate.jsx = acf.parseJSX(\n\t\t\t\t\t\tstate.html,\n\t\t\t\t\t\tgetBlockVersion( this.props.name )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// If we've got an object (as an array) find the first valid React ref.\n\t\t\t\tif ( Array.isArray( state.jsx ) ) {\n\t\t\t\t\tlet refElement = state.jsx.find( ( element ) =>\n\t\t\t\t\t\tReact.isValidElement( element )\n\t\t\t\t\t);\n\t\t\t\t\tstate.ref = refElement.ref;\n\t\t\t\t} else {\n\t\t\t\t\tstate.ref = state.jsx.ref;\n\t\t\t\t}\n\t\t\t\tstate.$el = $( this.el );\n\t\t\t} else {\n\t\t\t\tstate.$el = $( html );\n\t\t\t}\n\t\t\tthis.setState( state );\n\t\t}\n\n\t\tsetRef( el ) {\n\t\t\tthis.el = el;\n\t\t}\n\n\t\trender() {\n\t\t\t// Render JSX.\n\t\t\tif ( this.state.jsx ) {\n\t\t\t\t// If we're a v2+ block, use the jsx element itself as our ref.\n\t\t\t\tif ( getBlockVersion( this.props.name ) > 1 ) {\n\t\t\t\t\tthis.setRef( this.state.jsx );\n\t\t\t\t\treturn this.state.jsx;\n\t\t\t\t} else {\n\t\t\t\t\treturn { this.state.jsx }
;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Return HTML.\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t
\n\t\t\t);\n\t\t}\n\n\t\tshouldComponentUpdate( { index }, { html } ) {\n\t\t\tif ( index !== this.props.index ) {\n\t\t\t\tthis.componentWillMove();\n\t\t\t}\n\t\t\treturn html !== this.state.html;\n\t\t}\n\n\t\tdisplay( context ) {\n\t\t\t// This method is called after setting new HTML and the Component render.\n\t\t\t// The jQuery render method simply needs to move $el into place.\n\t\t\tif ( this.renderMethod === 'jQuery' ) {\n\t\t\t\tconst $el = this.state.$el;\n\t\t\t\tconst $prevParent = $el.parent();\n\t\t\t\tconst $thisParent = $( this.el );\n\n\t\t\t\t// Move $el into place.\n\t\t\t\t$thisParent.html( $el );\n\n\t\t\t\t// Special case for reusable blocks.\n\t\t\t\t// Multiple instances of the same reusable block share the same block id.\n\t\t\t\t// This causes all instances to share the same state (cool), which unfortunately\n\t\t\t\t// pulls $el back and forth between the last rendered reusable block.\n\t\t\t\t// This simple fix leaves a \"clone\" behind :)\n\t\t\t\tif (\n\t\t\t\t\t$prevParent.length &&\n\t\t\t\t\t$prevParent[ 0 ] !== $thisParent[ 0 ]\n\t\t\t\t) {\n\t\t\t\t\t$prevParent.html( $el.clone() );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Call context specific method.\n\t\t\tswitch ( context ) {\n\t\t\t\tcase 'append':\n\t\t\t\t\tthis.componentDidAppend();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'remount':\n\t\t\t\t\tthis.componentDidRemount();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\t// Fetch on first load.\n\t\t\tif ( this.state.html === undefined ) {\n\t\t\t\tthis.fetch();\n\n\t\t\t\t// Or remount existing HTML.\n\t\t\t} else {\n\t\t\t\tthis.display( 'remount' );\n\t\t\t}\n\t\t}\n\n\t\tcomponentDidUpdate( prevProps, prevState ) {\n\t\t\t// HTML has changed.\n\t\t\tthis.display( 'append' );\n\t\t}\n\n\t\tcomponentDidAppend() {\n\t\t\tacf.doAction( 'append', this.state.$el );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tacf.doAction( 'unmount', this.state.$el );\n\n\t\t\t// Unsubscribe this component from state.\n\t\t\tthis.subscribed = false;\n\t\t}\n\n\t\tcomponentDidRemount() {\n\t\t\tthis.subscribed = true;\n\n\t\t\t// Use setTimeout to avoid incorrect timing of events.\n\t\t\t// React will unmount and mount components in DOM order.\n\t\t\t// This means a new component can be mounted before an old one is unmounted.\n\t\t\t// ACF shares $el across new/old components which is un-React-like.\n\t\t\t// This timout ensures that unmounting occurs before remounting.\n\t\t\tsetTimeout( () => {\n\t\t\t\tacf.doAction( 'remount', this.state.$el );\n\t\t\t} );\n\t\t}\n\n\t\tcomponentWillMove() {\n\t\t\tacf.doAction( 'unmount', this.state.$el );\n\t\t\tsetTimeout( () => {\n\t\t\t\tacf.doAction( 'remount', this.state.$el );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * BlockForm Class.\n\t *\n\t * A react componenet to handle the block form.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tstring id the block id.\n\t * @return\tvoid\n\t */\n\tclass BlockForm extends DynamicHTML {\n\t\tsetup( { clientId } ) {\n\t\t\tthis.id = `BlockForm-${ clientId }`;\n\t\t}\n\n\t\tfetch() {\n\t\t\t// Extract props.\n\t\t\tconst { attributes, context, clientId } = this.props;\n\n\t\t\tconst hash = createBlockAttributesHash( attributes, context );\n\n\t\t\t// Try preloaded data first.\n\t\t\tconst preloaded = this.maybePreload( hash, clientId, true );\n\n\t\t\tif ( preloaded ) {\n\t\t\t\tthis.setHtml( preloaded );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Request AJAX and update HTML on complete.\n\t\t\tfetchBlock( {\n\t\t\t\tattributes,\n\t\t\t\tcontext,\n\t\t\t\tclientId,\n\t\t\t\tquery: {\n\t\t\t\t\tform: true,\n\t\t\t\t},\n\t\t\t} ).done( ( { data } ) => {\n\t\t\t\tthis.setHtml( data.form.replaceAll( data.clientId, clientId ) );\n\t\t\t} );\n\t\t}\n\n\t\tcomponentDidRemount() {\n\t\t\tsuper.componentDidRemount();\n\n\t\t\tconst { $el } = this.state;\n\n\t\t\t// Make sure our on append events are registered.\n\t\t\tif ( $el.data( 'acf-events-added' ) !== true ) {\n\t\t\t\tthis.componentDidAppend();\n\t\t\t}\n\t\t}\n\n\t\tcomponentDidAppend() {\n\t\t\tsuper.componentDidAppend();\n\n\t\t\t// Extract props.\n\t\t\tconst { attributes, setAttributes, clientId } = this.props;\n\t\t\tconst props = this.props;\n\t\t\tconst { $el } = this.state;\n\n\t\t\t// Callback for updating block data.\n\t\t\tfunction serializeData( silent = false ) {\n\t\t\t\tconst data = acf.serialize( $el, `acf-${ clientId }` );\n\t\t\t\tif ( silent ) {\n\t\t\t\t\tattributes.data = data;\n\t\t\t\t} else {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdata,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add events.\n\t\t\tlet timeout = false;\n\t\t\t$el.on( 'change keyup', () => {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t\ttimeout = setTimeout( serializeData, 300 );\n\t\t\t} );\n\n\t\t\t// Log initialization for remount check on the persistent element.\n\t\t\t$el.data( 'acf-events-added', true );\n\n\t\t\t// Ensure newly added block is saved with data.\n\t\t\t// Do it silently to avoid triggering a preview render.\n\t\t\tif ( ! attributes.data ) {\n\t\t\t\tserializeData( true );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * BlockPreview Class.\n\t *\n\t * A react componenet to handle the block preview.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tstring id the block id.\n\t * @return\tvoid\n\t */\n\tclass BlockPreview extends DynamicHTML {\n\t\tsetup( { clientId, name } ) {\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst contextPostId = acf.isget( this.props, 'context', 'postId' );\n\n\t\t\tthis.id = `BlockPreview-${ clientId }`;\n\n\t\t\t// Apply the contextPostId to the ID if set to stop query loop ID duplication.\n\t\t\tif ( contextPostId ) {\n\t\t\t\tthis.id = `BlockPreview-${ clientId }-${ contextPostId }`;\n\t\t\t}\n\n\t\t\tif ( blockType.supports.jsx ) {\n\t\t\t\tthis.renderMethod = 'jsx';\n\t\t\t}\n\t\t}\n\n\t\tfetch( args = {} ) {\n\t\t\tconst {\n\t\t\t\tattributes = this.props.attributes,\n\t\t\t\tclientId = this.props.clientId,\n\t\t\t\tcontext = this.props.context,\n\t\t\t\tdelay = 0,\n\t\t\t} = args;\n\n\t\t\tconst { name } = this.props;\n\n\t\t\t// Remember attributes used to fetch HTML.\n\t\t\tthis.setState( {\n\t\t\t\tprevAttributes: attributes,\n\t\t\t\tprevContext: context,\n\t\t\t} );\n\n\t\t\tconst hash = createBlockAttributesHash( attributes, context );\n\n\t\t\t// Try preloaded data first.\n\t\t\tlet preloaded = this.maybePreload( hash, clientId, false );\n\n\t\t\tif ( preloaded ) {\n\t\t\t\tif ( getBlockVersion( name ) == 1 ) {\n\t\t\t\t\tpreloaded =\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\tpreloaded +\n\t\t\t\t\t\t'
';\n\t\t\t\t}\n\t\t\t\tthis.setHtml( preloaded );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Request AJAX and update HTML on complete.\n\t\t\tfetchBlock( {\n\t\t\t\tattributes,\n\t\t\t\tcontext,\n\t\t\t\tclientId,\n\t\t\t\tquery: {\n\t\t\t\t\tpreview: true,\n\t\t\t\t},\n\t\t\t\tdelay,\n\t\t\t} ).done( ( { data } ) => {\n\t\t\t\tlet replaceHtml = data.preview.replaceAll(\n\t\t\t\t\tdata.clientId,\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t\tif ( getBlockVersion( name ) == 1 ) {\n\t\t\t\t\treplaceHtml =\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\treplaceHtml +\n\t\t\t\t\t\t'
';\n\t\t\t\t}\n\t\t\t\tthis.setHtml( replaceHtml );\n\t\t\t} );\n\t\t}\n\n\t\tcomponentDidAppend() {\n\t\t\tsuper.componentDidAppend();\n\t\t\tthis.renderBlockPreviewEvent();\n\t\t}\n\n\t\tshouldComponentUpdate( nextProps, nextState ) {\n\t\t\tconst nextAttributes = nextProps.attributes;\n\t\t\tconst thisAttributes = this.props.attributes;\n\n\t\t\t// Update preview if block data has changed.\n\t\t\tif (\n\t\t\t\t! compareObjects( nextAttributes, thisAttributes ) ||\n\t\t\t\t! compareObjects( nextProps.context, this.props.context )\n\t\t\t) {\n\t\t\t\tlet delay = 0;\n\n\t\t\t\t// Delay fetch when editing className or anchor to simulate consistent logic to custom fields.\n\t\t\t\tif ( nextAttributes.className !== thisAttributes.className ) {\n\t\t\t\t\tdelay = 300;\n\t\t\t\t}\n\t\t\t\tif ( nextAttributes.anchor !== thisAttributes.anchor ) {\n\t\t\t\t\tdelay = 300;\n\t\t\t\t}\n\n\t\t\t\tthis.fetch( {\n\t\t\t\t\tattributes: nextAttributes,\n\t\t\t\t\tcontext: nextProps.context,\n\t\t\t\t\tdelay,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn super.shouldComponentUpdate( nextProps, nextState );\n\t\t}\n\n\t\trenderBlockPreviewEvent() {\n\t\t\t// Extract props.\n\t\t\tconst { attributes, name } = this.props;\n\t\t\tconst { $el, ref } = this.state;\n\t\t\tvar blockElement;\n\n\t\t\t// Generate action friendly type.\n\t\t\tconst type = attributes.name.replace( 'acf/', '' );\n\n\t\t\tif ( ref && ref.current ) {\n\t\t\t\t// We've got a react ref from a JSX container. Use the parent as the blockElement\n\t\t\t\tblockElement = $( ref.current ).parent();\n\t\t\t} else if ( getBlockVersion( name ) == 1 ) {\n\t\t\t\tblockElement = $el;\n\t\t\t} else {\n\t\t\t\tblockElement = $el.parents( '.acf-block-preview' );\n\t\t\t}\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'render_block_preview', blockElement, attributes );\n\t\t\tacf.doAction(\n\t\t\t\t`render_block_preview/type=${ type }`,\n\t\t\t\tblockElement,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\tcomponentDidRemount() {\n\t\t\tsuper.componentDidRemount();\n\n\t\t\t// Update preview if data has changed since last render (changing from \"edit\" to \"preview\").\n\t\t\tif (\n\t\t\t\t! compareObjects(\n\t\t\t\t\tthis.state.prevAttributes,\n\t\t\t\t\tthis.props.attributes\n\t\t\t\t) ||\n\t\t\t\t! compareObjects( this.state.prevContext, this.props.context )\n\t\t\t) {\n\t\t\t\tthis.fetch();\n\t\t\t}\n\n\t\t\t// Fire the block preview event so blocks can reinit JS elements.\n\t\t\t// React reusing DOM elements covers any potential race condition from the above fetch.\n\t\t\tthis.renderBlockPreviewEvent();\n\t\t}\n\t}\n\n\t/**\n\t * Initializes ACF Blocks logic and registration.\n\t *\n\t * @since 5.9.0\n\t */\n\tfunction initialize() {\n\t\t// Add support for WordPress versions before 5.2.\n\t\tif ( ! wp.blockEditor ) {\n\t\t\twp.blockEditor = wp.editor;\n\t\t}\n\n\t\t// Register block types.\n\t\tconst blockTypes = acf.get( 'blockTypes' );\n\t\tif ( blockTypes ) {\n\t\t\tblockTypes.map( registerBlockType );\n\t\t}\n\t}\n\n\t// Run the initialize callback during the \"prepare\" action.\n\t// This ensures that all localized data is available and that blocks are registered before the WP editor has been instantiated.\n\tacf.addAction( 'prepare', initialize );\n\n\t/**\n\t * Returns a valid vertical alignment.\n\t *\n\t * @date\t07/08/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring align A vertical alignment.\n\t * @return\tstring\n\t */\n\tfunction validateVerticalAlignment( align ) {\n\t\tconst ALIGNMENTS = [ 'top', 'center', 'bottom' ];\n\t\tconst DEFAULT = 'top';\n\t\treturn ALIGNMENTS.includes( align ) ? align : DEFAULT;\n\t}\n\n\t/**\n\t * Returns a valid horizontal alignment.\n\t *\n\t * @date\t07/08/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring align A horizontal alignment.\n\t * @return\tstring\n\t */\n\tfunction validateHorizontalAlignment( align ) {\n\t\tconst ALIGNMENTS = [ 'left', 'center', 'right' ];\n\t\tconst DEFAULT = acf.get( 'rtl' ) ? 'right' : 'left';\n\t\treturn ALIGNMENTS.includes( align ) ? align : DEFAULT;\n\t}\n\n\t/**\n\t * Returns a valid matrix alignment.\n\t *\n\t * Written for \"upgrade-path\" compatibility from vertical alignment to matrix alignment.\n\t *\n\t * @date\t07/08/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring align A matrix alignment.\n\t * @return\tstring\n\t */\n\tfunction validateMatrixAlignment( align ) {\n\t\tconst DEFAULT = 'center center';\n\t\tif ( align ) {\n\t\t\tconst [ y, x ] = align.split( ' ' );\n\t\t\treturn `${ validateVerticalAlignment(\n\t\t\t\ty\n\t\t\t) } ${ validateHorizontalAlignment( x ) }`;\n\t\t}\n\t\treturn DEFAULT;\n\t}\n\n\t/**\n\t * A higher order component adding alignContent editing functionality.\n\t *\n\t * @date\t08/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tcomponent OriginalBlockEdit The original BlockEdit component.\n\t * @param\tobject blockType The block type settings.\n\t * @return\tcomponent\n\t */\n\tfunction withAlignContentComponent( OriginalBlockEdit, blockType ) {\n\t\t// Determine alignment vars\n\t\tlet type =\n\t\t\tblockType.supports.align_content || blockType.supports.alignContent;\n\t\tlet AlignmentComponent;\n\t\tlet validateAlignment;\n\t\tswitch ( type ) {\n\t\t\tcase 'matrix':\n\t\t\t\tAlignmentComponent =\n\t\t\t\t\tBlockAlignmentMatrixControl || BlockAlignmentMatrixToolbar;\n\t\t\t\tvalidateAlignment = validateMatrixAlignment;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tAlignmentComponent = BlockVerticalAlignmentToolbar;\n\t\t\t\tvalidateAlignment = validateVerticalAlignment;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Ensure alignment component exists.\n\t\tif ( AlignmentComponent === undefined ) {\n\t\t\tconsole.warn(\n\t\t\t\t`The \"${ type }\" alignment component was not found.`\n\t\t\t);\n\t\t\treturn OriginalBlockEdit;\n\t\t}\n\n\t\t// Ensure correct block attribute data is sent in intial preview AJAX request.\n\t\tblockType.alignContent = validateAlignment( blockType.alignContent );\n\n\t\t// Return wrapped component.\n\t\treturn class WrappedBlockEdit extends Component {\n\t\t\trender() {\n\t\t\t\tconst { attributes, setAttributes } = this.props;\n\t\t\t\tconst { alignContent } = attributes;\n\t\t\t\tfunction onChangeAlignContent( alignContent ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\talignContent: validateAlignment( alignContent ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * A higher order component adding alignText editing functionality.\n\t *\n\t * @date\t08/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tcomponent OriginalBlockEdit The original BlockEdit component.\n\t * @param\tobject blockType The block type settings.\n\t * @return\tcomponent\n\t */\n\tfunction withAlignTextComponent( OriginalBlockEdit, blockType ) {\n\t\tconst validateAlignment = validateHorizontalAlignment;\n\n\t\t// Ensure correct block attribute data is sent in intial preview AJAX request.\n\t\tblockType.alignText = validateAlignment( blockType.alignText );\n\n\t\t// Return wrapped component.\n\t\treturn class WrappedBlockEdit extends Component {\n\t\t\trender() {\n\t\t\t\tconst { attributes, setAttributes } = this.props;\n\t\t\t\tconst { alignText } = attributes;\n\n\t\t\t\tfunction onChangeAlignText( alignText ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\talignText: validateAlignment( alignText ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * A higher order component adding full height support.\n\t *\n\t * @date\t19/07/2021\n\t * @since\t5.10.0\n\t *\n\t * @param\tcomponent OriginalBlockEdit The original BlockEdit component.\n\t * @param\tobject blockType The block type settings.\n\t * @return\tcomponent\n\t */\n\tfunction withFullHeightComponent( OriginalBlockEdit, blockType ) {\n\t\tif ( ! BlockFullHeightAlignmentControl ) return OriginalBlockEdit;\n\n\t\t// Return wrapped component.\n\t\treturn class WrappedBlockEdit extends Component {\n\t\t\trender() {\n\t\t\t\tconst { attributes, setAttributes } = this.props;\n\t\t\t\tconst { fullHeight } = attributes;\n\n\t\t\t\tfunction onToggleFullHeight( fullHeight ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tfullHeight,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Appends a backwards compatibility attribute for conversion.\n\t *\n\t * @since\t6.0\n\t *\n\t * @param\tobject attributes The block type attributes.\n\t * @return\tobject\n\t */\n\tfunction addBackCompatAttribute( attributes, new_attribute, type ) {\n\t\tattributes[ new_attribute ] = {\n\t\t\ttype: type,\n\t\t};\n\t\treturn attributes;\n\t}\n\n\t/**\n\t * Create a block hash from attributes\n\t *\n\t * @since 6.0\n\t *\n\t * @param object attributes The block type attributes.\n\t * @param object context The current block context object.\n\t * @return string\n\t */\n\tfunction createBlockAttributesHash( attributes, context ) {\n\t\tattributes[ '_acf_context' ] = context;\n\t\treturn md5(\n\t\t\tJSON.stringify(\n\t\t\t\tObject.keys( attributes )\n\t\t\t\t\t.sort()\n\t\t\t\t\t.reduce( ( acc, currValue ) => {\n\t\t\t\t\t\tacc[ currValue ] = attributes[ currValue ];\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {} )\n\t\t\t)\n\t\t);\n\t}\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.jsxNameReplacements = {\n\t\t'accent-height': 'accentHeight',\n\t\taccentheight: 'accentHeight',\n\t\t'accept-charset': 'acceptCharset',\n\t\tacceptcharset: 'acceptCharset',\n\t\taccesskey: 'accessKey',\n\t\t'alignment-baseline': 'alignmentBaseline',\n\t\talignmentbaseline: 'alignmentBaseline',\n\t\tallowedblocks: 'allowedBlocks',\n\t\tallowfullscreen: 'allowFullScreen',\n\t\tallowreorder: 'allowReorder',\n\t\t'arabic-form': 'arabicForm',\n\t\tarabicform: 'arabicForm',\n\t\tattributename: 'attributeName',\n\t\tattributetype: 'attributeType',\n\t\tautocapitalize: 'autoCapitalize',\n\t\tautocomplete: 'autoComplete',\n\t\tautocorrect: 'autoCorrect',\n\t\tautofocus: 'autoFocus',\n\t\tautoplay: 'autoPlay',\n\t\tautoreverse: 'autoReverse',\n\t\tautosave: 'autoSave',\n\t\tbasefrequency: 'baseFrequency',\n\t\t'baseline-shift': 'baselineShift',\n\t\tbaselineshift: 'baselineShift',\n\t\tbaseprofile: 'baseProfile',\n\t\tcalcmode: 'calcMode',\n\t\t'cap-height': 'capHeight',\n\t\tcapheight: 'capHeight',\n\t\tcellpadding: 'cellPadding',\n\t\tcellspacing: 'cellSpacing',\n\t\tcharset: 'charSet',\n\t\tclass: 'className',\n\t\tclassid: 'classID',\n\t\tclassname: 'className',\n\t\t'clip-path': 'clipPath',\n\t\t'clip-rule': 'clipRule',\n\t\tclippath: 'clipPath',\n\t\tclippathunits: 'clipPathUnits',\n\t\tcliprule: 'clipRule',\n\t\t'color-interpolation': 'colorInterpolation',\n\t\t'color-interpolation-filters': 'colorInterpolationFilters',\n\t\t'color-profile': 'colorProfile',\n\t\t'color-rendering': 'colorRendering',\n\t\tcolorinterpolation: 'colorInterpolation',\n\t\tcolorinterpolationfilters: 'colorInterpolationFilters',\n\t\tcolorprofile: 'colorProfile',\n\t\tcolorrendering: 'colorRendering',\n\t\tcolspan: 'colSpan',\n\t\tcontenteditable: 'contentEditable',\n\t\tcontentscripttype: 'contentScriptType',\n\t\tcontentstyletype: 'contentStyleType',\n\t\tcontextmenu: 'contextMenu',\n\t\tcontrolslist: 'controlsList',\n\t\tcrossorigin: 'crossOrigin',\n\t\tdangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n\t\tdatetime: 'dateTime',\n\t\tdefaultchecked: 'defaultChecked',\n\t\tdefaultvalue: 'defaultValue',\n\t\tdiffuseconstant: 'diffuseConstant',\n\t\tdisablepictureinpicture: 'disablePictureInPicture',\n\t\tdisableremoteplayback: 'disableRemotePlayback',\n\t\t'dominant-baseline': 'dominantBaseline',\n\t\tdominantbaseline: 'dominantBaseline',\n\t\tedgemode: 'edgeMode',\n\t\t'enable-background': 'enableBackground',\n\t\tenablebackground: 'enableBackground',\n\t\tenctype: 'encType',\n\t\tenterkeyhint: 'enterKeyHint',\n\t\texternalresourcesrequired: 'externalResourcesRequired',\n\t\t'fill-opacity': 'fillOpacity',\n\t\t'fill-rule': 'fillRule',\n\t\tfillopacity: 'fillOpacity',\n\t\tfillrule: 'fillRule',\n\t\tfilterres: 'filterRes',\n\t\tfilterunits: 'filterUnits',\n\t\t'flood-color': 'floodColor',\n\t\t'flood-opacity': 'floodOpacity',\n\t\tfloodcolor: 'floodColor',\n\t\tfloodopacity: 'floodOpacity',\n\t\t'font-family': 'fontFamily',\n\t\t'font-size': 'fontSize',\n\t\t'font-size-adjust': 'fontSizeAdjust',\n\t\t'font-stretch': 'fontStretch',\n\t\t'font-style': 'fontStyle',\n\t\t'font-variant': 'fontVariant',\n\t\t'font-weight': 'fontWeight',\n\t\tfontfamily: 'fontFamily',\n\t\tfontsize: 'fontSize',\n\t\tfontsizeadjust: 'fontSizeAdjust',\n\t\tfontstretch: 'fontStretch',\n\t\tfontstyle: 'fontStyle',\n\t\tfontvariant: 'fontVariant',\n\t\tfontweight: 'fontWeight',\n\t\tfor: 'htmlFor',\n\t\tforeignobject: 'foreignObject',\n\t\tformaction: 'formAction',\n\t\tformenctype: 'formEncType',\n\t\tformmethod: 'formMethod',\n\t\tformnovalidate: 'formNoValidate',\n\t\tformtarget: 'formTarget',\n\t\tframeborder: 'frameBorder',\n\t\t'glyph-name': 'glyphName',\n\t\t'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n\t\t'glyph-orientation-vertical': 'glyphOrientationVertical',\n\t\tglyphname: 'glyphName',\n\t\tglyphorientationhorizontal: 'glyphOrientationHorizontal',\n\t\tglyphorientationvertical: 'glyphOrientationVertical',\n\t\tglyphref: 'glyphRef',\n\t\tgradienttransform: 'gradientTransform',\n\t\tgradientunits: 'gradientUnits',\n\t\t'horiz-adv-x': 'horizAdvX',\n\t\t'horiz-origin-x': 'horizOriginX',\n\t\thorizadvx: 'horizAdvX',\n\t\thorizoriginx: 'horizOriginX',\n\t\threflang: 'hrefLang',\n\t\thtmlfor: 'htmlFor',\n\t\t'http-equiv': 'httpEquiv',\n\t\thttpequiv: 'httpEquiv',\n\t\t'image-rendering': 'imageRendering',\n\t\timagerendering: 'imageRendering',\n\t\tinnerhtml: 'innerHTML',\n\t\tinputmode: 'inputMode',\n\t\titemid: 'itemID',\n\t\titemprop: 'itemProp',\n\t\titemref: 'itemRef',\n\t\titemscope: 'itemScope',\n\t\titemtype: 'itemType',\n\t\tkernelmatrix: 'kernelMatrix',\n\t\tkernelunitlength: 'kernelUnitLength',\n\t\tkeyparams: 'keyParams',\n\t\tkeypoints: 'keyPoints',\n\t\tkeysplines: 'keySplines',\n\t\tkeytimes: 'keyTimes',\n\t\tkeytype: 'keyType',\n\t\tlengthadjust: 'lengthAdjust',\n\t\t'letter-spacing': 'letterSpacing',\n\t\tletterspacing: 'letterSpacing',\n\t\t'lighting-color': 'lightingColor',\n\t\tlightingcolor: 'lightingColor',\n\t\tlimitingconeangle: 'limitingConeAngle',\n\t\tmarginheight: 'marginHeight',\n\t\tmarginwidth: 'marginWidth',\n\t\t'marker-end': 'markerEnd',\n\t\t'marker-mid': 'markerMid',\n\t\t'marker-start': 'markerStart',\n\t\tmarkerend: 'markerEnd',\n\t\tmarkerheight: 'markerHeight',\n\t\tmarkermid: 'markerMid',\n\t\tmarkerstart: 'markerStart',\n\t\tmarkerunits: 'markerUnits',\n\t\tmarkerwidth: 'markerWidth',\n\t\tmaskcontentunits: 'maskContentUnits',\n\t\tmaskunits: 'maskUnits',\n\t\tmaxlength: 'maxLength',\n\t\tmediagroup: 'mediaGroup',\n\t\tminlength: 'minLength',\n\t\tnomodule: 'noModule',\n\t\tnovalidate: 'noValidate',\n\t\tnumoctaves: 'numOctaves',\n\t\t'overline-position': 'overlinePosition',\n\t\t'overline-thickness': 'overlineThickness',\n\t\toverlineposition: 'overlinePosition',\n\t\toverlinethickness: 'overlineThickness',\n\t\t'paint-order': 'paintOrder',\n\t\tpaintorder: 'paintOrder',\n\t\t'panose-1': 'panose1',\n\t\tpathlength: 'pathLength',\n\t\tpatterncontentunits: 'patternContentUnits',\n\t\tpatterntransform: 'patternTransform',\n\t\tpatternunits: 'patternUnits',\n\t\tplaysinline: 'playsInline',\n\t\t'pointer-events': 'pointerEvents',\n\t\tpointerevents: 'pointerEvents',\n\t\tpointsatx: 'pointsAtX',\n\t\tpointsaty: 'pointsAtY',\n\t\tpointsatz: 'pointsAtZ',\n\t\tpreservealpha: 'preserveAlpha',\n\t\tpreserveaspectratio: 'preserveAspectRatio',\n\t\tprimitiveunits: 'primitiveUnits',\n\t\tradiogroup: 'radioGroup',\n\t\treadonly: 'readOnly',\n\t\treferrerpolicy: 'referrerPolicy',\n\t\trefx: 'refX',\n\t\trefy: 'refY',\n\t\t'rendering-intent': 'renderingIntent',\n\t\trenderingintent: 'renderingIntent',\n\t\trepeatcount: 'repeatCount',\n\t\trepeatdur: 'repeatDur',\n\t\trequiredextensions: 'requiredExtensions',\n\t\trequiredfeatures: 'requiredFeatures',\n\t\trowspan: 'rowSpan',\n\t\t'shape-rendering': 'shapeRendering',\n\t\tshaperendering: 'shapeRendering',\n\t\tspecularconstant: 'specularConstant',\n\t\tspecularexponent: 'specularExponent',\n\t\tspellcheck: 'spellCheck',\n\t\tspreadmethod: 'spreadMethod',\n\t\tsrcdoc: 'srcDoc',\n\t\tsrclang: 'srcLang',\n\t\tsrcset: 'srcSet',\n\t\tstartoffset: 'startOffset',\n\t\tstddeviation: 'stdDeviation',\n\t\tstitchtiles: 'stitchTiles',\n\t\t'stop-color': 'stopColor',\n\t\t'stop-opacity': 'stopOpacity',\n\t\tstopcolor: 'stopColor',\n\t\tstopopacity: 'stopOpacity',\n\t\t'strikethrough-position': 'strikethroughPosition',\n\t\t'strikethrough-thickness': 'strikethroughThickness',\n\t\tstrikethroughposition: 'strikethroughPosition',\n\t\tstrikethroughthickness: 'strikethroughThickness',\n\t\t'stroke-dasharray': 'strokeDasharray',\n\t\t'stroke-dashoffset': 'strokeDashoffset',\n\t\t'stroke-linecap': 'strokeLinecap',\n\t\t'stroke-linejoin': 'strokeLinejoin',\n\t\t'stroke-miterlimit': 'strokeMiterlimit',\n\t\t'stroke-opacity': 'strokeOpacity',\n\t\t'stroke-width': 'strokeWidth',\n\t\tstrokedasharray: 'strokeDasharray',\n\t\tstrokedashoffset: 'strokeDashoffset',\n\t\tstrokelinecap: 'strokeLinecap',\n\t\tstrokelinejoin: 'strokeLinejoin',\n\t\tstrokemiterlimit: 'strokeMiterlimit',\n\t\tstrokeopacity: 'strokeOpacity',\n\t\tstrokewidth: 'strokeWidth',\n\t\tsuppresscontenteditablewarning: 'suppressContentEditableWarning',\n\t\tsuppresshydrationwarning: 'suppressHydrationWarning',\n\t\tsurfacescale: 'surfaceScale',\n\t\tsystemlanguage: 'systemLanguage',\n\t\ttabindex: 'tabIndex',\n\t\ttablevalues: 'tableValues',\n\t\ttargetx: 'targetX',\n\t\ttargety: 'targetY',\n\t\ttemplatelock: 'templateLock',\n\t\t'text-anchor': 'textAnchor',\n\t\t'text-decoration': 'textDecoration',\n\t\t'text-rendering': 'textRendering',\n\t\ttextanchor: 'textAnchor',\n\t\ttextdecoration: 'textDecoration',\n\t\ttextlength: 'textLength',\n\t\ttextrendering: 'textRendering',\n\t\t'underline-position': 'underlinePosition',\n\t\t'underline-thickness': 'underlineThickness',\n\t\tunderlineposition: 'underlinePosition',\n\t\tunderlinethickness: 'underlineThickness',\n\t\t'unicode-bidi': 'unicodeBidi',\n\t\t'unicode-range': 'unicodeRange',\n\t\tunicodebidi: 'unicodeBidi',\n\t\tunicoderange: 'unicodeRange',\n\t\t'units-per-em': 'unitsPerEm',\n\t\tunitsperem: 'unitsPerEm',\n\t\tusemap: 'useMap',\n\t\t'v-alphabetic': 'vAlphabetic',\n\t\t'v-hanging': 'vHanging',\n\t\t'v-ideographic': 'vIdeographic',\n\t\t'v-mathematical': 'vMathematical',\n\t\tvalphabetic: 'vAlphabetic',\n\t\t'vector-effect': 'vectorEffect',\n\t\tvectoreffect: 'vectorEffect',\n\t\t'vert-adv-y': 'vertAdvY',\n\t\t'vert-origin-x': 'vertOriginX',\n\t\t'vert-origin-y': 'vertOriginY',\n\t\tvertadvy: 'vertAdvY',\n\t\tvertoriginx: 'vertOriginX',\n\t\tvertoriginy: 'vertOriginY',\n\t\tvhanging: 'vHanging',\n\t\tvideographic: 'vIdeographic',\n\t\tviewbox: 'viewBox',\n\t\tviewtarget: 'viewTarget',\n\t\tvmathematical: 'vMathematical',\n\t\t'word-spacing': 'wordSpacing',\n\t\twordspacing: 'wordSpacing',\n\t\t'writing-mode': 'writingMode',\n\t\twritingmode: 'writingMode',\n\t\t'x-height': 'xHeight',\n\t\txchannelselector: 'xChannelSelector',\n\t\txheight: 'xHeight',\n\t\t'xlink:actuate': 'xlinkActuate',\n\t\t'xlink:arcrole': 'xlinkArcrole',\n\t\t'xlink:href': 'xlinkHref',\n\t\t'xlink:role': 'xlinkRole',\n\t\t'xlink:show': 'xlinkShow',\n\t\t'xlink:title': 'xlinkTitle',\n\t\t'xlink:type': 'xlinkType',\n\t\txlinkactuate: 'xlinkActuate',\n\t\txlinkarcrole: 'xlinkArcrole',\n\t\txlinkhref: 'xlinkHref',\n\t\txlinkrole: 'xlinkRole',\n\t\txlinkshow: 'xlinkShow',\n\t\txlinktitle: 'xlinkTitle',\n\t\txlinktype: 'xlinkType',\n\t\t'xml:base': 'xmlBase',\n\t\t'xml:lang': 'xmlLang',\n\t\t'xml:space': 'xmlSpace',\n\t\txmlbase: 'xmlBase',\n\t\txmllang: 'xmlLang',\n\t\t'xmlns:xlink': 'xmlnsXlink',\n\t\txmlnsxlink: 'xmlnsXlink',\n\t\txmlspace: 'xmlSpace',\n\t\tychannelselector: 'yChannelSelector',\n\t\tzoomandpan: 'zoomAndPan',\n\t};\n} )( jQuery );\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import './_acf-jsx-names.js';\nimport './_acf-blocks.js';\n"],"names":["md5","require","$","undefined","BlockControls","InspectorControls","InnerBlocks","useBlockProps","AlignmentToolbar","BlockVerticalAlignmentToolbar","wp","blockEditor","ToolbarGroup","ToolbarButton","Placeholder","Spinner","components","Fragment","element","Component","React","withSelect","data","createHigherOrderComponent","compose","BlockAlignmentMatrixToolbar","__experimentalBlockAlignmentMatrixToolbar","BlockAlignmentMatrixControl","__experimentalBlockAlignmentMatrixControl","BlockFullHeightAlignmentControl","__experimentalBlockFullHeightAligmentControl","__experimentalBlockFullHeightAlignmentControl","useInnerBlocksProps","__experimentalUseInnerBlocksProps","blockTypes","getBlockType","name","getBlockVersion","blockType","acf_block_version","isBlockInQueryLoop","clientId","parents","select","getBlockParents","parentsData","getBlocksByClientId","filter","block","length","isSiteEditor","pagenow","isDesktopPreviewDeviceType","editPostStore","__experimentalGetPreviewDeviceType","getPreviewDeviceType","isEditingTemplate","isiFramedMobileDevicePreview","registerBlockType","allowedTypes","post_types","push","postType","acf","get","includes","icon","substr","iconHTML","createElement","Div","category","blocks","getCategories","slug","pop","parseArgs","title","api_version","key","attributes","default","supports","anchor","type","ThisBlockEdit","BlockEdit","ThisBlockSave","BlockSave","alignText","align_text","addBackCompatAttribute","withAlignTextComponent","alignContent","align_content","withAlignContentComponent","fullHeight","full_height","withFullHeightComponent","edit","props","_objectSpread","save","result","selector","dispatch","getBlocks","args","recurseBlocks","forEach","k","ajaxQueue","fetchCache","fetchBlock","context","query","delay","queueId","JSON","stringify","timeout","promise","Deferred","started","clearTimeout","setTimeout","resolve","apply","ajax","url","dataType","cache","prepareForAjax","action","always","done","arguments","fail","reject","compareObjects","obj1","obj2","parseJSX","html","acfBlockVersion","replace","parseNode","children","node","level","nodeName","parseNodeName","toLowerCase","nodeAttrs","ref","createRef","arrayArgs","map","parseNodeAttr","value","ACFInnerBlocks","childNodes","child","Text","text","textContent","getJSXName","replacement","isget","Script","className","innerBlockProps","nodeAttr","shortcut","applyFilters","css","split","s","pos","indexOf","ruleName","trim","ruleValue","charAt","strCamelCase","c1","parse","withDefaultAttributes","BlockListBlock","WrappedBlockEdit","constructor","Object","keys","upgrades","attribute","render","hooks","addFilter","Content","setup","restrictMode","modes","mode","setAttributes","forcePreview","showToggle","toggleText","__","toggleIcon","toggleMode","label","onClick","BlockForm","BlockBody","_BlockBody","isSelected","showForm","additionalClasses","BlockPreview","ownProps","rootClientId","getBlockRootClientId","index","getBlockIndex","dangerouslySetInnerHTML","__html","el","setHTML","componentDidUpdate","componentDidMount","store","DynamicHTML","setRef","bind","id","subscribed","renderMethod","loadState","fetch","maybePreload","blockId","form","state","preloadedBlocks","modeText","replaceAll","setState","setHtml","jsx","console","warn","Array","isArray","refElement","find","isValidElement","$el","shouldComponentUpdate","componentWillMove","display","$prevParent","parent","$thisParent","clone","componentDidAppend","componentDidRemount","prevProps","prevState","doAction","componentWillUnmount","hash","createBlockAttributesHash","preloaded","serializeData","silent","serialize","on","contextPostId","prevAttributes","prevContext","preview","replaceHtml","renderBlockPreviewEvent","nextProps","nextState","nextAttributes","thisAttributes","blockElement","current","initialize","editor","addAction","validateVerticalAlignment","align","ALIGNMENTS","DEFAULT","validateHorizontalAlignment","validateMatrixAlignment","y","x","OriginalBlockEdit","AlignmentComponent","validateAlignment","onChangeAlignContent","group","onChange","onChangeAlignText","onToggleFullHeight","isActive","onToggle","new_attribute","sort","reduce","acc","currValue","jQuery","jsxNameReplacements","accentheight","acceptcharset","accesskey","alignmentbaseline","allowedblocks","allowfullscreen","allowreorder","arabicform","attributename","attributetype","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","autoreverse","autosave","basefrequency","baselineshift","baseprofile","calcmode","capheight","cellpadding","cellspacing","charset","class","classid","classname","clippath","clippathunits","cliprule","colorinterpolation","colorinterpolationfilters","colorprofile","colorrendering","colspan","contenteditable","contentscripttype","contentstyletype","contextmenu","controlslist","crossorigin","dangerouslysetinnerhtml","datetime","defaultchecked","defaultvalue","diffuseconstant","disablepictureinpicture","disableremoteplayback","dominantbaseline","edgemode","enablebackground","enctype","enterkeyhint","externalresourcesrequired","fillopacity","fillrule","filterres","filterunits","floodcolor","floodopacity","fontfamily","fontsize","fontsizeadjust","fontstretch","fontstyle","fontvariant","fontweight","for","foreignobject","formaction","formenctype","formmethod","formnovalidate","formtarget","frameborder","glyphname","glyphorientationhorizontal","glyphorientationvertical","glyphref","gradienttransform","gradientunits","horizadvx","horizoriginx","hreflang","htmlfor","httpequiv","imagerendering","innerhtml","inputmode","itemid","itemprop","itemref","itemscope","itemtype","kernelmatrix","kernelunitlength","keyparams","keypoints","keysplines","keytimes","keytype","lengthadjust","letterspacing","lightingcolor","limitingconeangle","marginheight","marginwidth","markerend","markerheight","markermid","markerstart","markerunits","markerwidth","maskcontentunits","maskunits","maxlength","mediagroup","minlength","nomodule","novalidate","numoctaves","overlineposition","overlinethickness","paintorder","pathlength","patterncontentunits","patterntransform","patternunits","playsinline","pointerevents","pointsatx","pointsaty","pointsatz","preservealpha","preserveaspectratio","primitiveunits","radiogroup","readonly","referrerpolicy","refx","refy","renderingintent","repeatcount","repeatdur","requiredextensions","requiredfeatures","rowspan","shaperendering","specularconstant","specularexponent","spellcheck","spreadmethod","srcdoc","srclang","srcset","startoffset","stddeviation","stitchtiles","stopcolor","stopopacity","strikethroughposition","strikethroughthickness","strokedasharray","strokedashoffset","strokelinecap","strokelinejoin","strokemiterlimit","strokeopacity","strokewidth","suppresscontenteditablewarning","suppresshydrationwarning","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","templatelock","textanchor","textdecoration","textlength","textrendering","underlineposition","underlinethickness","unicodebidi","unicoderange","unitsperem","usemap","valphabetic","vectoreffect","vertadvy","vertoriginx","vertoriginy","vhanging","videographic","viewbox","viewtarget","vmathematical","wordspacing","writingmode","xchannelselector","xheight","xlinkactuate","xlinkarcrole","xlinkhref","xlinkrole","xlinkshow","xlinktitle","xlinktype","xmlbase","xmllang","xmlnsxlink","xmlspace","ychannelselector","zoomandpan"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"acf-pro-blocks.js","mappings":"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E;EACb,CAAC;AACF,CAAC,EAAIzN,MAAO,CAAC;;;;;;;;;;AChTb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD;AACA;AACA,KAAK;;AAEL;AACA;AACA,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AChCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA,KAAK;;AAEL;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA,KAAK;;AAEL;AACA;AACA,yCAAyC,kBAAkB;AAC3D;AACA;AACA,KAAK;;AAEL;AACA;AACA,kCAAkC,uBAAuB;AACzD;AACA;AACA,KAAK;;AAEL;AACA;AACA,gCAAgC,kBAAkB;AAClD;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,kCAAkC,gBAAgB;AAClD;AACA;AACA,KAAK;;AAEL;AACA;AACA,mCAAmC,kBAAkB;AACrD;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;AC/FD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA,cAAc,mBAAO,CAAC,4CAAO;AAC7B,aAAa,8EAAuB;AACpC,iBAAiB,mBAAO,CAAC,oDAAW;AACpC,YAAY,6EAAsB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC/JD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6FAA6F,aAAa;AAC1G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8MAA8M;;AAE9M;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,aAAa,YAAY;AACzB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,WAAW;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,QAAQ;AACrB,aAAa,WAAW;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,QAAQ;AACrB,aAAa,WAAW;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,0BAA0B;;AAE1B,2BAA2B;AAC3B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,WAAW,WAAW;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;;AAEA;AACA,oDAAoD;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qEAAqE;;AAErE;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;;AAEhB,uBAAuB,kBAAkB;;AAEzC;AACA,yBAAyB;;AAEzB,4BAA4B;AAC5B;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,IAAI;AACJ;;;AAGA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,YAAY;AACZ;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC;AACxC;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wBAAwB;;AAExB;;AAEA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,qIAAqI,yCAAyC;AAC9K;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,kBAAkB;AAC7B,WAAW,GAAG;AACd,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,YAAY,QAAQ;AACpB;;;AAGA;AACA;AACA;AACA,SAAS;AACT,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,kBAAkB;AAC7B,WAAW,GAAG;AACd;AACA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,cAAc;AAC1B;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,0CAA0C;AAC1C;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,oCAAoC;AACpC;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,+CAA+C,IAAI;AACnD;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,2DAA2D;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,2DAA2D;AAC3D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;;AAGA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA,0OAA0O;AAC1O;AACA,WAAW;AACX;AACA;;AAEA;AACA,MAAM;AACN,gCAAgC;AAChC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,kBAAkB;AACjC;;AAEA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,qBAAqB;AACrB,kBAAkB;AAClB,gBAAgB;AAChB,0DAA0D;AAC1D,oBAAoB;AACpB,qBAAqB;AACrB,qBAAqB;AACrB,qBAAqB;AACrB,iBAAiB;AACjB,kBAAkB;AAClB,sBAAsB;AACtB,YAAY;AACZ,YAAY;AACZ,uBAAuB;AACvB,oBAAoB;AACpB,mBAAmB;AACnB,kBAAkB;AAClB,qBAAqB;AACrB,wBAAwB;AACxB,iBAAiB;AACjB,aAAa;AACb,2BAA2B;AAC3B,0BAA0B;AAC1B,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,cAAc;AACd,gBAAgB;AAChB,4BAA4B;AAC5B,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AClrFa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,uHAAsD;AACxD;;;;;;;;;;;;;;;;;ACN+C;AAChC;AACf,QAAQ,6DAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACdkC;AACnB;AACf,kBAAkB,sDAAO;AACzB;AACA;AACA;AACA,oBAAoB,sDAAO;AAC3B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,UAAU,2DAAW;AACrB,qBAAqB,sDAAO;AAC5B;;;;;;;;;;;;;;;ACLe;AACf;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;;;;;UCRA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;;;;;;;;;;;ACJ6B","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-blocks.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-jsx-names.js","webpack://advanced-custom-fields-pro/./node_modules/charenc/charenc.js","webpack://advanced-custom-fields-pro/./node_modules/crypt/crypt.js","webpack://advanced-custom-fields-pro/./node_modules/is-buffer/index.js","webpack://advanced-custom-fields-pro/./node_modules/md5/md5.js","webpack://advanced-custom-fields-pro/./node_modules/react/cjs/react.development.js","webpack://advanced-custom-fields-pro/./node_modules/react/index.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://advanced-custom-fields-pro/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://advanced-custom-fields-pro/webpack/bootstrap","webpack://advanced-custom-fields-pro/webpack/runtime/compat get default export","webpack://advanced-custom-fields-pro/webpack/runtime/define property getters","webpack://advanced-custom-fields-pro/webpack/runtime/hasOwnProperty shorthand","webpack://advanced-custom-fields-pro/webpack/runtime/make namespace object","webpack://advanced-custom-fields-pro/webpack/runtime/node module decorator","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/pro/acf-pro-blocks.js"],"sourcesContent":["const md5 = require( 'md5' );\n\n( ( $, undefined ) => {\n\t// Dependencies.\n\tconst {\n\t\tBlockControls,\n\t\tInspectorControls,\n\t\tInnerBlocks,\n\t\tuseBlockProps,\n\t\tAlignmentToolbar,\n\t\tBlockVerticalAlignmentToolbar,\n\t} = wp.blockEditor;\n\n\tconst { ToolbarGroup, ToolbarButton, Placeholder, Spinner } = wp.components;\n\tconst { Fragment } = wp.element;\n\tconst { Component } = React;\n\tconst { withSelect } = wp.data;\n\tconst { createHigherOrderComponent } = wp.compose;\n\n\t// Potentially experimental dependencies.\n\tconst BlockAlignmentMatrixToolbar =\n\t\twp.blockEditor.__experimentalBlockAlignmentMatrixToolbar ||\n\t\twp.blockEditor.BlockAlignmentMatrixToolbar;\n\t// Gutenberg v10.x begins transition from Toolbar components to Control components.\n\tconst BlockAlignmentMatrixControl =\n\t\twp.blockEditor.__experimentalBlockAlignmentMatrixControl ||\n\t\twp.blockEditor.BlockAlignmentMatrixControl;\n\tconst BlockFullHeightAlignmentControl =\n\t\twp.blockEditor.__experimentalBlockFullHeightAligmentControl ||\n\t\twp.blockEditor.__experimentalBlockFullHeightAlignmentControl ||\n\t\twp.blockEditor.BlockFullHeightAlignmentControl;\n\tconst useInnerBlocksProps =\n\t\twp.blockEditor.__experimentalUseInnerBlocksProps ||\n\t\twp.blockEditor.useInnerBlocksProps;\n\n\t/**\n\t * Storage for registered block types.\n\t *\n\t * @since 5.8.0\n\t * @var object\n\t */\n\tconst blockTypes = {};\n\n\t/**\n\t * Returns a block type for the given name.\n\t *\n\t * @date\t20/2/19\n\t * @since\t5.8.0\n\t *\n\t * @param\tstring name The block name.\n\t * @return\t(object|false)\n\t */\n\tfunction getBlockType( name ) {\n\t\treturn blockTypes[ name ] || false;\n\t}\n\n\t/**\n\t * Returns a block version for a given block name\n\t *\n\t * @date 8/6/22\n\t * @since 6.0\n\t *\n\t * @param string name The block name\n\t * @return int\n\t */\n\tfunction getBlockVersion( name ) {\n\t\tconst blockType = getBlockType( name );\n\t\treturn blockType.acf_block_version || 1;\n\t}\n\n\t/**\n\t * Returns true if a block (identified by client ID) is nested in a query loop block.\n\t *\n\t * @date 17/1/22\n\t * @since 5.12\n\t *\n\t * @param {string} clientId A block client ID\n\t * @return boolean\n\t */\n\tfunction isBlockInQueryLoop( clientId ) {\n\t\tconst parents = wp.data\n\t\t\t.select( 'core/block-editor' )\n\t\t\t.getBlockParents( clientId );\n\t\tconst parentsData = wp.data\n\t\t\t.select( 'core/block-editor' )\n\t\t\t.getBlocksByClientId( parents );\n\t\treturn parentsData.filter( ( block ) => block.name === 'core/query' )\n\t\t\t.length;\n\t}\n\n\t/**\n\t * Returns true if we're currently inside the WP 5.9+ site editor.\n\t *\n\t * @date 08/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isSiteEditor() {\n\t\treturn typeof pagenow === 'string' && pagenow === 'site-editor';\n\t}\n\n\t/**\n\t * Returns true if the block editor is currently showing the desktop device type preview.\n\t *\n\t * This function will always return true in the site editor as it uses the\n\t * edit-post store rather than the edit-site store.\n\t *\n\t * @date 15/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isDesktopPreviewDeviceType() {\n\t\tconst editPostStore = select( 'core/edit-post' );\n\n\t\t// Return true if the edit post store isn't available (such as in the widget editor)\n\t\tif ( ! editPostStore ) return true;\n\n\t\t// Check if function exists (experimental or not) and return true if it's Desktop, or doesn't exist.\n\t\tif ( editPostStore.__experimentalGetPreviewDeviceType ) {\n\t\t\treturn (\n\t\t\t\t'Desktop' === editPostStore.__experimentalGetPreviewDeviceType()\n\t\t\t);\n\t\t} else if ( editPostStore.getPreviewDeviceType ) {\n\t\t\treturn 'Desktop' === editPostStore.getPreviewDeviceType();\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t/**\n\t * Returns true if the block editor is currently in template edit mode.\n\t *\n\t * @date 16/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isEditingTemplate() {\n\t\tconst editPostStore = select( 'core/edit-post' );\n\n\t\t// Return false if the edit post store isn't available (such as in the widget editor)\n\t\tif ( ! editPostStore ) return false;\n\n\t\t// Return false if the function doesn't exist\n\t\tif ( ! editPostStore.isEditingTemplate ) return false;\n\n\t\treturn editPostStore.isEditingTemplate();\n\t}\n\n\t/**\n\t * Returns true if we're currently inside an iFramed non-desktop device preview type (WP5.9+)\n\t *\n\t * @date 15/02/22\n\t * @since 5.12\n\t *\n\t * @return boolean\n\t */\n\tfunction isiFramedMobileDevicePreview() {\n\t\treturn (\n\t\t\t$( 'iframe[name=editor-canvas]' ).length &&\n\t\t\t! isDesktopPreviewDeviceType()\n\t\t);\n\t}\n\n\t/**\n\t * Registers a block type.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.8.0\n\t *\n\t * @param\tobject blockType The block type settings localized from PHP.\n\t * @return\tobject The result from wp.blocks.registerBlockType().\n\t */\n\tfunction registerBlockType( blockType ) {\n\t\t// Bail early if is excluded post_type.\n\t\tconst allowedTypes = blockType.post_types || [];\n\t\tif ( allowedTypes.length ) {\n\t\t\t// Always allow block to appear on \"Edit reusable Block\" screen.\n\t\t\tallowedTypes.push( 'wp_block' );\n\n\t\t\t// Check post type.\n\t\t\tconst postType = acf.get( 'postType' );\n\t\t\tif ( ! allowedTypes.includes( postType ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Handle svg HTML.\n\t\tif (\n\t\t\ttypeof blockType.icon === 'string' &&\n\t\t\tblockType.icon.substr( 0, 4 ) === '{ iconHTML };\n\t\t}\n\n\t\t// Remove icon if empty to allow for default \"block\".\n\t\t// Avoids JS error preventing block from being registered.\n\t\tif ( ! blockType.icon ) {\n\t\t\tdelete blockType.icon;\n\t\t}\n\n\t\t// Check category exists and fallback to \"common\".\n\t\tconst category = wp.blocks\n\t\t\t.getCategories()\n\t\t\t.filter( ( { slug } ) => slug === blockType.category )\n\t\t\t.pop();\n\t\tif ( ! category ) {\n\t\t\t//console.warn( `The block \"${blockType.name}\" is registered with an unknown category \"${blockType.category}\".` );\n\t\t\tblockType.category = 'common';\n\t\t}\n\n\t\t// Merge in block settings before local additions.\n\t\tblockType = acf.parseArgs( blockType, {\n\t\t\ttitle: '',\n\t\t\tname: '',\n\t\t\tcategory: '',\n\t\t\tapi_version: 2,\n\t\t\tacf_block_version: 1,\n\t\t} );\n\n\t\t// Remove all empty attribute defaults from PHP values to allow serialisation.\n\t\t// https://github.com/WordPress/gutenberg/issues/7342\n\t\tfor ( const key in blockType.attributes ) {\n\t\t\tif ( blockType.attributes[ key ].default.length === 0 ) {\n\t\t\t\tdelete blockType.attributes[ key ].default;\n\t\t\t}\n\t\t}\n\n\t\t// Apply anchor supports to avoid block editor default writing to ID.\n\t\tif ( blockType.supports.anchor ) {\n\t\t\tblockType.attributes.anchor = {\n\t\t\t\ttype: 'string',\n\t\t\t};\n\t\t}\n\n\t\t// Append edit and save functions.\n\t\tlet ThisBlockEdit = BlockEdit;\n\t\tlet ThisBlockSave = BlockSave;\n\n\t\t// Apply alignText functionality.\n\t\tif ( blockType.supports.alignText || blockType.supports.align_text ) {\n\t\t\tblockType.attributes = addBackCompatAttribute(\n\t\t\t\tblockType.attributes,\n\t\t\t\t'align_text',\n\t\t\t\t'string'\n\t\t\t);\n\t\t\tThisBlockEdit = withAlignTextComponent( ThisBlockEdit, blockType );\n\t\t}\n\n\t\t// Apply alignContent functionality.\n\t\tif (\n\t\t\tblockType.supports.alignContent ||\n\t\t\tblockType.supports.align_content\n\t\t) {\n\t\t\tblockType.attributes = addBackCompatAttribute(\n\t\t\t\tblockType.attributes,\n\t\t\t\t'align_content',\n\t\t\t\t'string'\n\t\t\t);\n\t\t\tThisBlockEdit = withAlignContentComponent(\n\t\t\t\tThisBlockEdit,\n\t\t\t\tblockType\n\t\t\t);\n\t\t}\n\n\t\t// Apply fullHeight functionality.\n\t\tif ( blockType.supports.fullHeight || blockType.supports.full_height ) {\n\t\t\tblockType.attributes = addBackCompatAttribute(\n\t\t\t\tblockType.attributes,\n\t\t\t\t'full_height',\n\t\t\t\t'boolean'\n\t\t\t);\n\t\t\tThisBlockEdit = withFullHeightComponent(\n\t\t\t\tThisBlockEdit,\n\t\t\t\tblockType.blockType\n\t\t\t);\n\t\t}\n\n\t\t// Set edit and save functions.\n\t\tblockType.edit = ( props ) => ;\n\t\tblockType.save = () => ;\n\n\t\t// Add to storage.\n\t\tblockTypes[ blockType.name ] = blockType;\n\n\t\t// Register with WP.\n\t\tconst result = wp.blocks.registerBlockType( blockType.name, blockType );\n\n\t\t// Fix bug in 'core/anchor/attribute' filter overwriting attribute.\n\t\t// Required for < WP5.9\n\t\t// See https://github.com/WordPress/gutenberg/issues/15240\n\t\tif ( result.attributes.anchor ) {\n\t\t\tresult.attributes.anchor = {\n\t\t\t\ttype: 'string',\n\t\t\t};\n\t\t}\n\n\t\t// Return result.\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns the wp.data.select() response with backwards compatibility.\n\t *\n\t * @date\t17/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring selector The selector name.\n\t * @return\tmixed\n\t */\n\tfunction select( selector ) {\n\t\tif ( selector === 'core/block-editor' ) {\n\t\t\treturn (\n\t\t\t\twp.data.select( 'core/block-editor' ) ||\n\t\t\t\twp.data.select( 'core/editor' )\n\t\t\t);\n\t\t}\n\t\treturn wp.data.select( selector );\n\t}\n\n\t/**\n\t * Returns the wp.data.dispatch() response with backwards compatibility.\n\t *\n\t * @date\t17/06/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring selector The selector name.\n\t * @return\tmixed\n\t */\n\tfunction dispatch( selector ) {\n\t\treturn wp.data.dispatch( selector );\n\t}\n\n\t/**\n\t * Returns an array of all blocks for the given args.\n\t *\n\t * @date\t27/2/19\n\t * @since\t5.7.13\n\t *\n\t * @param\t{object} args An object of key=>value pairs used to filter results.\n\t * @return\tarray.\n\t */\n\tfunction getBlocks( args ) {\n\t\tlet blocks = [];\n\n\t\t// Local function to recurse through all child blocks and add to the blocks array.\n\t\tconst recurseBlocks = ( block ) => {\n\t\t\tblocks.push( block );\n\t\t\tselect( 'core/block-editor' )\n\t\t\t\t.getBlocks( block.clientId )\n\t\t\t\t.forEach( recurseBlocks );\n\t\t};\n\n\t\t// Trigger initial recursion for parent level blocks.\n\t\tselect( 'core/block-editor' ).getBlocks().forEach( recurseBlocks );\n\n\t\t// Loop over args and filter.\n\t\tfor ( const k in args ) {\n\t\t\tblocks = blocks.filter(\n\t\t\t\t( { attributes } ) => attributes[ k ] === args[ k ]\n\t\t\t);\n\t\t}\n\n\t\t// Return results.\n\t\treturn blocks;\n\t}\n\n\t/**\n\t * Storage for the AJAX queue.\n\t *\n\t * @const {array}\n\t */\n\tconst ajaxQueue = {};\n\n\t/**\n\t * Storage for cached AJAX requests for block content.\n\t *\n\t * @since 5.12\n\t * @const {array}\n\t */\n\tconst fetchCache = {};\n\n\t/**\n\t * Fetches a JSON result from the AJAX API.\n\t *\n\t * @date\t28/2/19\n\t * @since\t5.7.13\n\t *\n\t * @param\tobject block The block props.\n\t * @query\tobject The query args used in AJAX callback.\n\t * @return\tobject The AJAX promise.\n\t */\n\tfunction fetchBlock( args ) {\n\t\tconst {\n\t\t\tattributes = {},\n\t\t\tcontext = {},\n\t\t\tquery = {},\n\t\t\tclientId = null,\n\t\t\tdelay = 0,\n\t\t} = args;\n\n\t\t// Build a unique queue ID from block data, including the clientId for edit forms.\n\t\tconst queueId = md5(\n\t\t\tJSON.stringify( { ...attributes, ...context, ...query } )\n\t\t);\n\n\t\tconst data = ajaxQueue[ queueId ] || {\n\t\t\tquery: {},\n\t\t\ttimeout: false,\n\t\t\tpromise: $.Deferred(),\n\t\t\tstarted: false,\n\t\t};\n\n\t\t// Append query args to storage.\n\t\tdata.query = { ...data.query, ...query };\n\n\t\tif ( data.started ) return data.promise;\n\n\t\t// Set fresh timeout.\n\t\tclearTimeout( data.timeout );\n\t\tdata.timeout = setTimeout( () => {\n\t\t\tdata.started = true;\n\t\t\tif ( fetchCache[ queueId ] ) {\n\t\t\t\tajaxQueue[ queueId ] = null;\n\t\t\t\tdata.promise.resolve.apply(\n\t\t\t\t\tfetchCache[ queueId ][ 0 ],\n\t\t\t\t\tfetchCache[ queueId ][ 1 ]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: acf.get( 'ajaxurl' ),\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: acf.prepareForAjax( {\n\t\t\t\t\t\taction: 'acf/ajax/fetch-block',\n\t\t\t\t\t\tblock: JSON.stringify( attributes ),\n\t\t\t\t\t\tclientId: clientId,\n\t\t\t\t\t\tcontext: JSON.stringify( context ),\n\t\t\t\t\t\tquery: data.query,\n\t\t\t\t\t} ),\n\t\t\t\t} )\n\t\t\t\t\t.always( () => {\n\t\t\t\t\t\t// Clean up queue after AJAX request is complete.\n\t\t\t\t\t\tajaxQueue[ queueId ] = null;\n\t\t\t\t\t} )\n\t\t\t\t\t.done( function () {\n\t\t\t\t\t\tfetchCache[ queueId ] = [ this, arguments ];\n\t\t\t\t\t\tdata.promise.resolve.apply( this, arguments );\n\t\t\t\t\t} )\n\t\t\t\t\t.fail( function () {\n\t\t\t\t\t\tdata.promise.reject.apply( this, arguments );\n\t\t\t\t\t} );\n\t\t\t}\n\t\t}, delay );\n\n\t\t// Update storage.\n\t\tajaxQueue[ queueId ] = data;\n\n\t\t// Return promise.\n\t\treturn data.promise;\n\t}\n\n\t/**\n\t * Returns true if both object are the same.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tobject obj1\n\t * @param\tobject obj2\n\t * @return\tbool\n\t */\n\tfunction compareObjects( obj1, obj2 ) {\n\t\treturn JSON.stringify( obj1 ) === JSON.stringify( obj2 );\n\t}\n\n\t/**\n\t * Converts HTML into a React element.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring html The HTML to convert.\n\t * @param\tint acfBlockVersion The ACF block version number.\n\t * @return\tobject Result of React.createElement().\n\t */\n\tacf.parseJSX = ( html, acfBlockVersion ) => {\n\t\t// Apply a temporary wrapper for the jQuery parse to prevent text nodes triggering errors.\n\t\thtml = '' + html + '
';\n\t\t// Correctly balance InnerBlocks tags for jQuery's initial parse.\n\t\thtml = html.replace(\n\t\t\t/]+)?\\/>/,\n\t\t\t' '\n\t\t);\n\t\treturn parseNode( $( html )[ 0 ], acfBlockVersion, 0 ).props.children;\n\t};\n\n\t/**\n\t * Converts a DOM node into a React element.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tDOM node The DOM node.\n\t * @param\tint acfBlockVersion The ACF block version number.\n\t * @param\tint level The recursion level.\n\t * @return\tobject Result of React.createElement().\n\t */\n\tfunction parseNode( node, acfBlockVersion, level = 0 ) {\n\t\t// Get node name.\n\t\tconst nodeName = parseNodeName(\n\t\t\tnode.nodeName.toLowerCase(),\n\t\t\tacfBlockVersion\n\t\t);\n\t\tif ( ! nodeName ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Get node attributes in React friendly format.\n\t\tconst nodeAttrs = {};\n\n\t\tif ( level === 1 && nodeName !== 'ACFInnerBlocks' ) {\n\t\t\t// Top level (after stripping away the container div), create a ref for passing through to ACF's JS API.\n\t\t\tnodeAttrs.ref = React.createRef();\n\t\t}\n\n\t\tacf.arrayArgs( node.attributes )\n\t\t\t.map( parseNodeAttr )\n\t\t\t.forEach( ( { name, value } ) => {\n\t\t\t\tnodeAttrs[ name ] = value;\n\t\t\t} );\n\n\t\tif ( 'ACFInnerBlocks' === nodeName ) {\n\t\t\treturn ;\n\t\t}\n\n\t\t// Define args for React.createElement().\n\t\tconst args = [ nodeName, nodeAttrs ];\n\t\tacf.arrayArgs( node.childNodes ).forEach( ( child ) => {\n\t\t\tif ( child instanceof Text ) {\n\t\t\t\tconst text = child.textContent;\n\t\t\t\tif ( text ) {\n\t\t\t\t\targs.push( text );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\targs.push( parseNode( child, acfBlockVersion, level + 1 ) );\n\t\t\t}\n\t\t} );\n\n\t\t// Return element.\n\t\treturn React.createElement.apply( this, args );\n\t}\n\n\t/**\n\t * Converts a node or attribute name into it's JSX compliant name\n\t *\n\t * @date 05/07/2021\n\t * @since 5.9.8\n\t *\n\t * @param string name The node or attribute name.\n\t * @return string\n\t */\n\tfunction getJSXName( name ) {\n\t\tconst replacement = acf.isget( acf, 'jsxNameReplacements', name );\n\t\tif ( replacement ) return replacement;\n\t\treturn name;\n\t}\n\n\t/**\n\t * Converts the given name into a React friendly name or component.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring name The node name in lowercase.\n\t * @param\tint acfBlockVersion The ACF block version number.\n\t * @return\tmixed\n\t */\n\tfunction parseNodeName( name, acfBlockVersion ) {\n\t\tswitch ( name ) {\n\t\t\tcase 'innerblocks':\n\t\t\t\tif ( acfBlockVersion < 2 ) {\n\t\t\t\t\treturn InnerBlocks;\n\t\t\t\t}\n\t\t\t\treturn 'ACFInnerBlocks';\n\t\t\tcase 'script':\n\t\t\t\treturn Script;\n\t\t\tcase '#comment':\n\t\t\t\treturn null;\n\t\t\tdefault:\n\t\t\t\t// Replace names for JSX counterparts.\n\t\t\t\tname = getJSXName( name );\n\t\t}\n\t\treturn name;\n\t}\n\n\t/**\n\t * Functional component for ACFInnerBlocks.\n\t *\n\t * @since 6.0.0\n\t *\n\t * @param obj props element properties.\n\t * @return DOM element\n\t */\n\tfunction ACFInnerBlocks( props ) {\n\t\tconst { className = 'acf-innerblocks-container' } = props;\n\t\tconst innerBlockProps = useInnerBlocksProps(\n\t\t\t{ className: className },\n\t\t\tprops\n\t\t);\n\n\t\treturn { innerBlockProps.children }
;\n\t}\n\n\t/**\n\t * Converts the given attribute into a React friendly name and value object.\n\t *\n\t * @date\t19/05/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tobj nodeAttr The node attribute.\n\t * @return\tobj\n\t */\n\tfunction parseNodeAttr( nodeAttr ) {\n\t\tlet name = nodeAttr.name;\n\t\tlet value = nodeAttr.value;\n\n\t\t// Allow overrides for third party libraries who might use specific attributes.\n\t\tlet shortcut = acf.applyFilters(\n\t\t\t'acf_blocks_parse_node_attr',\n\t\t\tfalse,\n\t\t\tnodeAttr\n\t\t);\n\n\t\tif ( shortcut ) return shortcut;\n\n\t\tswitch ( name ) {\n\t\t\t// Class.\n\t\t\tcase 'class':\n\t\t\t\tname = 'className';\n\t\t\t\tbreak;\n\n\t\t\t// Style.\n\t\t\tcase 'style':\n\t\t\t\tconst css = {};\n\t\t\t\tvalue.split( ';' ).forEach( ( s ) => {\n\t\t\t\t\tconst pos = s.indexOf( ':' );\n\t\t\t\t\tif ( pos > 0 ) {\n\t\t\t\t\t\tlet ruleName = s.substr( 0, pos ).trim();\n\t\t\t\t\t\tconst ruleValue = s.substr( pos + 1 ).trim();\n\n\t\t\t\t\t\t// Rename core properties, but not CSS variables.\n\t\t\t\t\t\tif ( ruleName.charAt( 0 ) !== '-' ) {\n\t\t\t\t\t\t\truleName = acf.strCamelCase( ruleName );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcss[ ruleName ] = ruleValue;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tvalue = css;\n\t\t\t\tbreak;\n\n\t\t\t// Default.\n\t\t\tdefault:\n\t\t\t\t// No formatting needed for \"data-x\" attributes.\n\t\t\t\tif ( name.indexOf( 'data-' ) === 0 ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// Replace names for JSX counterparts.\n\t\t\t\tname = getJSXName( name );\n\n\t\t\t\t// Convert JSON values.\n\t\t\t\tconst c1 = value.charAt( 0 );\n\t\t\t\tif ( c1 === '[' || c1 === '{' ) {\n\t\t\t\t\tvalue = JSON.parse( value );\n\t\t\t\t}\n\n\t\t\t\t// Convert bool values.\n\t\t\t\tif ( value === 'true' || value === 'false' ) {\n\t\t\t\t\tvalue = value === 'true';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\t/**\n\t * Higher Order Component used to set default block attribute values.\n\t *\n\t * By modifying block attributes directly, instead of defining defaults in registerBlockType(),\n\t * WordPress will include them always within the saved block serialized JSON.\n\t *\n\t * @date\t31/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tComponent BlockListBlock The BlockListBlock Component.\n\t * @return\tComponent\n\t */\n\tconst withDefaultAttributes = createHigherOrderComponent(\n\t\t( BlockListBlock ) =>\n\t\t\tclass WrappedBlockEdit extends Component {\n\t\t\t\tconstructor( props ) {\n\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t// Extract vars.\n\t\t\t\t\tconst { name, attributes } = this.props;\n\n\t\t\t\t\t// Only run on ACF Blocks.\n\t\t\t\t\tconst blockType = getBlockType( name );\n\t\t\t\t\tif ( ! blockType ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check and remove any empty string attributes to match PHP behaviour.\n\t\t\t\t\tObject.keys( attributes ).forEach( ( key ) => {\n\t\t\t\t\t\tif ( attributes[ key ] === '' ) {\n\t\t\t\t\t\t\tdelete attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Backward compatibility attribute replacement.\n\t\t\t\t\tconst upgrades = {\n\t\t\t\t\t\tfull_height: 'fullHeight',\n\t\t\t\t\t\talign_content: 'alignContent',\n\t\t\t\t\t\talign_text: 'alignText',\n\t\t\t\t\t};\n\n\t\t\t\t\tObject.keys( upgrades ).forEach( ( key ) => {\n\t\t\t\t\t\tif ( attributes[ key ] !== undefined ) {\n\t\t\t\t\t\t\tattributes[ upgrades[ key ] ] = attributes[ key ];\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tattributes[ upgrades[ key ] ] === undefined\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t//Check for a default\n\t\t\t\t\t\t\tif ( blockType[ key ] !== undefined ) {\n\t\t\t\t\t\t\t\tattributes[ upgrades[ key ] ] =\n\t\t\t\t\t\t\t\t\tblockType[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete blockType[ key ];\n\t\t\t\t\t\tdelete attributes[ key ];\n\t\t\t\t\t} );\n\n\t\t\t\t\t// Set default attributes for those undefined.\n\t\t\t\t\tfor ( let attribute in blockType.attributes ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tattributes[ attribute ] === undefined &&\n\t\t\t\t\t\t\tblockType[ attribute ] !== undefined\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tattributes[ attribute ] = blockType[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trender() {\n\t\t\t\t\treturn ;\n\t\t\t\t}\n\t\t\t},\n\t\t'withDefaultAttributes'\n\t);\n\twp.hooks.addFilter(\n\t\t'editor.BlockListBlock',\n\t\t'acf/with-default-attributes',\n\t\twithDefaultAttributes\n\t);\n\n\t/**\n\t * The BlockSave functional component.\n\t *\n\t * @date\t08/07/2020\n\t * @since\t5.9.0\n\t */\n\tfunction BlockSave() {\n\t\treturn ;\n\t}\n\n\t/**\n\t * The BlockEdit component.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t */\n\tclass BlockEdit extends Component {\n\t\tconstructor( props ) {\n\t\t\tsuper( props );\n\t\t\tthis.setup();\n\t\t}\n\n\t\tsetup() {\n\t\t\tconst { name, attributes, clientId } = this.props;\n\t\t\tconst blockType = getBlockType( name );\n\n\t\t\t// Restrict current mode.\n\t\t\tfunction restrictMode( modes ) {\n\t\t\t\tif ( ! modes.includes( attributes.mode ) ) {\n\t\t\t\t\tattributes.mode = modes[ 0 ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tisBlockInQueryLoop( clientId ) ||\n\t\t\t\tisSiteEditor() ||\n\t\t\t\tisiFramedMobileDevicePreview() ||\n\t\t\t\tisEditingTemplate()\n\t\t\t) {\n\t\t\t\trestrictMode( [ 'preview' ] );\n\t\t\t} else {\n\t\t\t\tswitch ( blockType.mode ) {\n\t\t\t\t\tcase 'edit':\n\t\t\t\t\t\trestrictMode( [ 'edit', 'preview' ] );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'preview':\n\t\t\t\t\t\trestrictMode( [ 'preview', 'edit' ] );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\trestrictMode( [ 'auto' ] );\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\tconst { name, attributes, setAttributes, clientId } = this.props;\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst forcePreview =\n\t\t\t\tisBlockInQueryLoop( clientId ) ||\n\t\t\t\tisSiteEditor() ||\n\t\t\t\tisiFramedMobileDevicePreview() ||\n\t\t\t\tisEditingTemplate();\n\t\t\tlet { mode } = attributes;\n\n\t\t\tif ( forcePreview ) {\n\t\t\t\tmode = 'preview';\n\t\t\t}\n\n\t\t\t// Show toggle only for edit/preview modes and for blocks not in a query loop/FSE.\n\t\t\tlet showToggle = blockType.supports.mode;\n\t\t\tif ( mode === 'auto' || forcePreview ) {\n\t\t\t\tshowToggle = false;\n\t\t\t}\n\n\t\t\t// Configure toggle variables.\n\t\t\tconst toggleText =\n\t\t\t\tmode === 'preview'\n\t\t\t\t\t? acf.__( 'Switch to Edit' )\n\t\t\t\t\t: acf.__( 'Switch to Preview' );\n\t\t\tconst toggleIcon =\n\t\t\t\tmode === 'preview' ? 'edit' : 'welcome-view-site';\n\t\t\tfunction toggleMode() {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tmode: mode === 'preview' ? 'edit' : 'preview',\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Return template.\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{ showToggle && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t) }\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t{ mode === 'preview' && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) }\n\t\t\t\t\t \n\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * The BlockBody functional component.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t */\n\tfunction _BlockBody( props ) {\n\t\tconst { attributes, isSelected, name } = props;\n\t\tconst { mode } = attributes;\n\n\t\tlet showForm = true;\n\t\tlet additionalClasses = 'acf-block-component acf-block-body';\n\n\t\tif ( ( mode === 'auto' && ! isSelected ) || mode === 'preview' ) {\n\t\t\tadditionalClasses += ' acf-block-preview';\n\t\t\tshowForm = false;\n\t\t}\n\n\t\tif ( getBlockVersion( name ) > 1 ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{ showForm ? (\n\t\t\t\t\t\t \n\t\t\t\t\t) : (\n\t\t\t\t\t\t \n\t\t\t\t\t) }\n\t\t\t\t
\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{ showForm ? (\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t) }\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t}\n\n\t// Append blockIndex to component props.\n\tconst BlockBody = withSelect( ( select, ownProps ) => {\n\t\tconst { clientId } = ownProps;\n\t\t// Use optional rootClientId to allow discoverability of child blocks.\n\t\tconst rootClientId =\n\t\t\tselect( 'core/block-editor' ).getBlockRootClientId( clientId );\n\t\tconst index = select( 'core/block-editor' ).getBlockIndex(\n\t\t\tclientId,\n\t\t\trootClientId\n\t\t);\n\t\treturn {\n\t\t\tindex,\n\t\t};\n\t} )( _BlockBody );\n\n\t/**\n\t * A react component to append HTMl.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tstring children The html to insert.\n\t * @return\tvoid\n\t */\n\tclass Div extends Component {\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * A react Component for inline scripts.\n\t *\n\t * This Component uses a combination of React references and jQuery to append the\n\t * inline ` );\n\t\t}\n\t\tcomponentDidUpdate() {\n\t\t\tthis.setHTML( this.props.children );\n\t\t}\n\t\tcomponentDidMount() {\n\t\t\tthis.setHTML( this.props.children );\n\t\t}\n\t}\n\n\t// Data storage for DynamicHTML components.\n\tconst store = {};\n\n\t/**\n\t * DynamicHTML Class.\n\t *\n\t * A react componenet to load and insert dynamic HTML.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\tclass DynamicHTML extends Component {\n\t\tconstructor( props ) {\n\t\t\tsuper( props );\n\n\t\t\t// Bind callbacks.\n\t\t\tthis.setRef = this.setRef.bind( this );\n\n\t\t\t// Define default props and call setup().\n\t\t\tthis.id = '';\n\t\t\tthis.el = false;\n\t\t\tthis.subscribed = true;\n\t\t\tthis.renderMethod = 'jQuery';\n\t\t\tthis.setup( props );\n\n\t\t\t// Load state.\n\t\t\tthis.loadState();\n\t\t}\n\n\t\tsetup( props ) {\n\t\t\t// Do nothing.\n\t\t}\n\n\t\tfetch() {\n\t\t\t// Do nothing.\n\t\t}\n\n\t\tmaybePreload( blockId, clientId, form ) {\n\t\t\tif (\n\t\t\t\tthis.state.html === undefined &&\n\t\t\t\t! isBlockInQueryLoop( this.props.clientId )\n\t\t\t) {\n\t\t\t\tconst preloadedBlocks = acf.get( 'preloadedBlocks' );\n\t\t\t\tconst modeText = form ? 'form' : 'preview';\n\n\t\t\t\tif ( preloadedBlocks && preloadedBlocks[ blockId ] ) {\n\t\t\t\t\t// Ensure we only preload the correct block state (form or preview).\n\t\t\t\t\tif (\n\t\t\t\t\t\t( form && ! preloadedBlocks[ blockId ].form ) ||\n\t\t\t\t\t\t( ! form && preloadedBlocks[ blockId ].form )\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\n\t\t\t\t\t// Set HTML to the preloaded version.\n\t\t\t\t\treturn preloadedBlocks[ blockId ].html.replaceAll(\n\t\t\t\t\t\tblockId,\n\t\t\t\t\t\tclientId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\tloadState() {\n\t\t\tthis.state = store[ this.id ] || {};\n\t\t}\n\n\t\tsetState( state ) {\n\t\t\tstore[ this.id ] = { ...this.state, ...state };\n\n\t\t\t// Update component state if subscribed.\n\t\t\t// - Allows AJAX callback to update store without modifying state of an unmounted component.\n\t\t\tif ( this.subscribed ) {\n\t\t\t\tsuper.setState( state );\n\t\t\t}\n\t\t}\n\n\t\tsetHtml( html ) {\n\t\t\thtml = html ? html.trim() : '';\n\n\t\t\t// Bail early if html has not changed.\n\t\t\tif ( html === this.state.html ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Update state.\n\t\t\tconst state = {\n\t\t\t\thtml,\n\t\t\t};\n\n\t\t\tif ( this.renderMethod === 'jsx' ) {\n\t\t\t\tstate.jsx = acf.parseJSX(\n\t\t\t\t\thtml,\n\t\t\t\t\tgetBlockVersion( this.props.name )\n\t\t\t\t);\n\n\t\t\t\t// Handle templates which don't contain any valid JSX parsable elements.\n\t\t\t\tif ( ! state.jsx ) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'Your ACF block template contains no valid HTML elements. Appending a empty div to prevent React JS errors.'\n\t\t\t\t\t);\n\t\t\t\t\tstate.html += '
';\n\t\t\t\t\tstate.jsx = acf.parseJSX(\n\t\t\t\t\t\tstate.html,\n\t\t\t\t\t\tgetBlockVersion( this.props.name )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// If we've got an object (as an array) find the first valid React ref.\n\t\t\t\tif ( Array.isArray( state.jsx ) ) {\n\t\t\t\t\tlet refElement = state.jsx.find( ( element ) =>\n\t\t\t\t\t\tReact.isValidElement( element )\n\t\t\t\t\t);\n\t\t\t\t\tstate.ref = refElement.ref;\n\t\t\t\t} else {\n\t\t\t\t\tstate.ref = state.jsx.ref;\n\t\t\t\t}\n\t\t\t\tstate.$el = $( this.el );\n\t\t\t} else {\n\t\t\t\tstate.$el = $( html );\n\t\t\t}\n\t\t\tthis.setState( state );\n\t\t}\n\n\t\tsetRef( el ) {\n\t\t\tthis.el = el;\n\t\t}\n\n\t\trender() {\n\t\t\t// Render JSX.\n\t\t\tif ( this.state.jsx ) {\n\t\t\t\t// If we're a v2+ block, use the jsx element itself as our ref.\n\t\t\t\tif ( getBlockVersion( this.props.name ) > 1 ) {\n\t\t\t\t\tthis.setRef( this.state.jsx );\n\t\t\t\t\treturn this.state.jsx;\n\t\t\t\t} else {\n\t\t\t\t\treturn { this.state.jsx }
;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Return HTML.\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t
\n\t\t\t);\n\t\t}\n\n\t\tshouldComponentUpdate( { index }, { html } ) {\n\t\t\tif ( index !== this.props.index ) {\n\t\t\t\tthis.componentWillMove();\n\t\t\t}\n\t\t\treturn html !== this.state.html;\n\t\t}\n\n\t\tdisplay( context ) {\n\t\t\t// This method is called after setting new HTML and the Component render.\n\t\t\t// The jQuery render method simply needs to move $el into place.\n\t\t\tif ( this.renderMethod === 'jQuery' ) {\n\t\t\t\tconst $el = this.state.$el;\n\t\t\t\tconst $prevParent = $el.parent();\n\t\t\t\tconst $thisParent = $( this.el );\n\n\t\t\t\t// Move $el into place.\n\t\t\t\t$thisParent.html( $el );\n\n\t\t\t\t// Special case for reusable blocks.\n\t\t\t\t// Multiple instances of the same reusable block share the same block id.\n\t\t\t\t// This causes all instances to share the same state (cool), which unfortunately\n\t\t\t\t// pulls $el back and forth between the last rendered reusable block.\n\t\t\t\t// This simple fix leaves a \"clone\" behind :)\n\t\t\t\tif (\n\t\t\t\t\t$prevParent.length &&\n\t\t\t\t\t$prevParent[ 0 ] !== $thisParent[ 0 ]\n\t\t\t\t) {\n\t\t\t\t\t$prevParent.html( $el.clone() );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Call context specific method.\n\t\t\tswitch ( context ) {\n\t\t\t\tcase 'append':\n\t\t\t\t\tthis.componentDidAppend();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'remount':\n\t\t\t\t\tthis.componentDidRemount();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\t// Fetch on first load.\n\t\t\tif ( this.state.html === undefined ) {\n\t\t\t\tthis.fetch();\n\n\t\t\t\t// Or remount existing HTML.\n\t\t\t} else {\n\t\t\t\tthis.display( 'remount' );\n\t\t\t}\n\t\t}\n\n\t\tcomponentDidUpdate( prevProps, prevState ) {\n\t\t\t// HTML has changed.\n\t\t\tthis.display( 'append' );\n\t\t}\n\n\t\tcomponentDidAppend() {\n\t\t\tacf.doAction( 'append', this.state.$el );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tacf.doAction( 'unmount', this.state.$el );\n\n\t\t\t// Unsubscribe this component from state.\n\t\t\tthis.subscribed = false;\n\t\t}\n\n\t\tcomponentDidRemount() {\n\t\t\tthis.subscribed = true;\n\n\t\t\t// Use setTimeout to avoid incorrect timing of events.\n\t\t\t// React will unmount and mount components in DOM order.\n\t\t\t// This means a new component can be mounted before an old one is unmounted.\n\t\t\t// ACF shares $el across new/old components which is un-React-like.\n\t\t\t// This timout ensures that unmounting occurs before remounting.\n\t\t\tsetTimeout( () => {\n\t\t\t\tacf.doAction( 'remount', this.state.$el );\n\t\t\t} );\n\t\t}\n\n\t\tcomponentWillMove() {\n\t\t\tacf.doAction( 'unmount', this.state.$el );\n\t\t\tsetTimeout( () => {\n\t\t\t\tacf.doAction( 'remount', this.state.$el );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * BlockForm Class.\n\t *\n\t * A react componenet to handle the block form.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tstring id the block id.\n\t * @return\tvoid\n\t */\n\tclass BlockForm extends DynamicHTML {\n\t\tsetup( { clientId } ) {\n\t\t\tthis.id = `BlockForm-${ clientId }`;\n\t\t}\n\n\t\tfetch() {\n\t\t\t// Extract props.\n\t\t\tconst { attributes, context, clientId } = this.props;\n\n\t\t\tconst hash = createBlockAttributesHash( attributes, context );\n\n\t\t\t// Try preloaded data first.\n\t\t\tconst preloaded = this.maybePreload( hash, clientId, true );\n\n\t\t\tif ( preloaded ) {\n\t\t\t\tthis.setHtml( preloaded );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Request AJAX and update HTML on complete.\n\t\t\tfetchBlock( {\n\t\t\t\tattributes,\n\t\t\t\tcontext,\n\t\t\t\tclientId,\n\t\t\t\tquery: {\n\t\t\t\t\tform: true,\n\t\t\t\t},\n\t\t\t} ).done( ( { data } ) => {\n\t\t\t\tthis.setHtml( data.form.replaceAll( data.clientId, clientId ) );\n\t\t\t} );\n\t\t}\n\n\t\tcomponentDidRemount() {\n\t\t\tsuper.componentDidRemount();\n\n\t\t\tconst { $el } = this.state;\n\n\t\t\t// Make sure our on append events are registered.\n\t\t\tif ( $el.data( 'acf-events-added' ) !== true ) {\n\t\t\t\tthis.componentDidAppend();\n\t\t\t}\n\t\t}\n\n\t\tcomponentDidAppend() {\n\t\t\tsuper.componentDidAppend();\n\n\t\t\t// Extract props.\n\t\t\tconst { attributes, setAttributes, clientId } = this.props;\n\t\t\tconst props = this.props;\n\t\t\tconst { $el } = this.state;\n\n\t\t\t// Callback for updating block data.\n\t\t\tfunction serializeData( silent = false ) {\n\t\t\t\tconst data = acf.serialize( $el, `acf-${ clientId }` );\n\t\t\t\tif ( silent ) {\n\t\t\t\t\tattributes.data = data;\n\t\t\t\t} else {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdata,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add events.\n\t\t\tlet timeout = false;\n\t\t\t$el.on( 'change keyup', () => {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t\ttimeout = setTimeout( serializeData, 300 );\n\t\t\t} );\n\n\t\t\t// Log initialization for remount check on the persistent element.\n\t\t\t$el.data( 'acf-events-added', true );\n\n\t\t\t// Ensure newly added block is saved with data.\n\t\t\t// Do it silently to avoid triggering a preview render.\n\t\t\tif ( ! attributes.data ) {\n\t\t\t\tserializeData( true );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * BlockPreview Class.\n\t *\n\t * A react componenet to handle the block preview.\n\t *\n\t * @date\t19/2/19\n\t * @since\t5.7.12\n\t *\n\t * @param\tstring id the block id.\n\t * @return\tvoid\n\t */\n\tclass BlockPreview extends DynamicHTML {\n\t\tsetup( { clientId, name } ) {\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst contextPostId = acf.isget( this.props, 'context', 'postId' );\n\n\t\t\tthis.id = `BlockPreview-${ clientId }`;\n\n\t\t\t// Apply the contextPostId to the ID if set to stop query loop ID duplication.\n\t\t\tif ( contextPostId ) {\n\t\t\t\tthis.id = `BlockPreview-${ clientId }-${ contextPostId }`;\n\t\t\t}\n\n\t\t\tif ( blockType.supports.jsx ) {\n\t\t\t\tthis.renderMethod = 'jsx';\n\t\t\t}\n\t\t}\n\n\t\tfetch( args = {} ) {\n\t\t\tconst {\n\t\t\t\tattributes = this.props.attributes,\n\t\t\t\tclientId = this.props.clientId,\n\t\t\t\tcontext = this.props.context,\n\t\t\t\tdelay = 0,\n\t\t\t} = args;\n\n\t\t\tconst { name } = this.props;\n\n\t\t\t// Remember attributes used to fetch HTML.\n\t\t\tthis.setState( {\n\t\t\t\tprevAttributes: attributes,\n\t\t\t\tprevContext: context,\n\t\t\t} );\n\n\t\t\tconst hash = createBlockAttributesHash( attributes, context );\n\n\t\t\t// Try preloaded data first.\n\t\t\tlet preloaded = this.maybePreload( hash, clientId, false );\n\n\t\t\tif ( preloaded ) {\n\t\t\t\tif ( getBlockVersion( name ) == 1 ) {\n\t\t\t\t\tpreloaded =\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\tpreloaded +\n\t\t\t\t\t\t'
';\n\t\t\t\t}\n\t\t\t\tthis.setHtml( preloaded );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Request AJAX and update HTML on complete.\n\t\t\tfetchBlock( {\n\t\t\t\tattributes,\n\t\t\t\tcontext,\n\t\t\t\tclientId,\n\t\t\t\tquery: {\n\t\t\t\t\tpreview: true,\n\t\t\t\t},\n\t\t\t\tdelay,\n\t\t\t} ).done( ( { data } ) => {\n\t\t\t\tlet replaceHtml = data.preview.replaceAll(\n\t\t\t\t\tdata.clientId,\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t\tif ( getBlockVersion( name ) == 1 ) {\n\t\t\t\t\treplaceHtml =\n\t\t\t\t\t\t'' +\n\t\t\t\t\t\treplaceHtml +\n\t\t\t\t\t\t'
';\n\t\t\t\t}\n\t\t\t\tthis.setHtml( replaceHtml );\n\t\t\t} );\n\t\t}\n\n\t\tcomponentDidAppend() {\n\t\t\tsuper.componentDidAppend();\n\t\t\tthis.renderBlockPreviewEvent();\n\t\t}\n\n\t\tshouldComponentUpdate( nextProps, nextState ) {\n\t\t\tconst nextAttributes = nextProps.attributes;\n\t\t\tconst thisAttributes = this.props.attributes;\n\n\t\t\t// Update preview if block data has changed.\n\t\t\tif (\n\t\t\t\t! compareObjects( nextAttributes, thisAttributes ) ||\n\t\t\t\t! compareObjects( nextProps.context, this.props.context )\n\t\t\t) {\n\t\t\t\tlet delay = 0;\n\n\t\t\t\t// Delay fetch when editing className or anchor to simulate consistent logic to custom fields.\n\t\t\t\tif ( nextAttributes.className !== thisAttributes.className ) {\n\t\t\t\t\tdelay = 300;\n\t\t\t\t}\n\t\t\t\tif ( nextAttributes.anchor !== thisAttributes.anchor ) {\n\t\t\t\t\tdelay = 300;\n\t\t\t\t}\n\n\t\t\t\tthis.fetch( {\n\t\t\t\t\tattributes: nextAttributes,\n\t\t\t\t\tcontext: nextProps.context,\n\t\t\t\t\tdelay,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn super.shouldComponentUpdate( nextProps, nextState );\n\t\t}\n\n\t\trenderBlockPreviewEvent() {\n\t\t\t// Extract props.\n\t\t\tconst { attributes, name } = this.props;\n\t\t\tconst { $el, ref } = this.state;\n\t\t\tvar blockElement;\n\n\t\t\t// Generate action friendly type.\n\t\t\tconst type = attributes.name.replace( 'acf/', '' );\n\n\t\t\tif ( ref && ref.current ) {\n\t\t\t\t// We've got a react ref from a JSX container. Use the parent as the blockElement\n\t\t\t\tblockElement = $( ref.current ).parent();\n\t\t\t} else if ( getBlockVersion( name ) == 1 ) {\n\t\t\t\tblockElement = $el;\n\t\t\t} else {\n\t\t\t\tblockElement = $el.parents( '.acf-block-preview' );\n\t\t\t}\n\n\t\t\t// Do action.\n\t\t\tacf.doAction( 'render_block_preview', blockElement, attributes );\n\t\t\tacf.doAction(\n\t\t\t\t`render_block_preview/type=${ type }`,\n\t\t\t\tblockElement,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\tcomponentDidRemount() {\n\t\t\tsuper.componentDidRemount();\n\n\t\t\t// Update preview if data has changed since last render (changing from \"edit\" to \"preview\").\n\t\t\tif (\n\t\t\t\t! compareObjects(\n\t\t\t\t\tthis.state.prevAttributes,\n\t\t\t\t\tthis.props.attributes\n\t\t\t\t) ||\n\t\t\t\t! compareObjects( this.state.prevContext, this.props.context )\n\t\t\t) {\n\t\t\t\tthis.fetch();\n\t\t\t}\n\n\t\t\t// Fire the block preview event so blocks can reinit JS elements.\n\t\t\t// React reusing DOM elements covers any potential race condition from the above fetch.\n\t\t\tthis.renderBlockPreviewEvent();\n\t\t}\n\t}\n\n\t/**\n\t * Initializes ACF Blocks logic and registration.\n\t *\n\t * @since 5.9.0\n\t */\n\tfunction initialize() {\n\t\t// Add support for WordPress versions before 5.2.\n\t\tif ( ! wp.blockEditor ) {\n\t\t\twp.blockEditor = wp.editor;\n\t\t}\n\n\t\t// Register block types.\n\t\tconst blockTypes = acf.get( 'blockTypes' );\n\t\tif ( blockTypes ) {\n\t\t\tblockTypes.map( registerBlockType );\n\t\t}\n\t}\n\n\t// Run the initialize callback during the \"prepare\" action.\n\t// This ensures that all localized data is available and that blocks are registered before the WP editor has been instantiated.\n\tacf.addAction( 'prepare', initialize );\n\n\t/**\n\t * Returns a valid vertical alignment.\n\t *\n\t * @date\t07/08/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring align A vertical alignment.\n\t * @return\tstring\n\t */\n\tfunction validateVerticalAlignment( align ) {\n\t\tconst ALIGNMENTS = [ 'top', 'center', 'bottom' ];\n\t\tconst DEFAULT = 'top';\n\t\treturn ALIGNMENTS.includes( align ) ? align : DEFAULT;\n\t}\n\n\t/**\n\t * Returns a valid horizontal alignment.\n\t *\n\t * @date\t07/08/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring align A horizontal alignment.\n\t * @return\tstring\n\t */\n\tfunction validateHorizontalAlignment( align ) {\n\t\tconst ALIGNMENTS = [ 'left', 'center', 'right' ];\n\t\tconst DEFAULT = acf.get( 'rtl' ) ? 'right' : 'left';\n\t\treturn ALIGNMENTS.includes( align ) ? align : DEFAULT;\n\t}\n\n\t/**\n\t * Returns a valid matrix alignment.\n\t *\n\t * Written for \"upgrade-path\" compatibility from vertical alignment to matrix alignment.\n\t *\n\t * @date\t07/08/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tstring align A matrix alignment.\n\t * @return\tstring\n\t */\n\tfunction validateMatrixAlignment( align ) {\n\t\tconst DEFAULT = 'center center';\n\t\tif ( align ) {\n\t\t\tconst [ y, x ] = align.split( ' ' );\n\t\t\treturn `${ validateVerticalAlignment(\n\t\t\t\ty\n\t\t\t) } ${ validateHorizontalAlignment( x ) }`;\n\t\t}\n\t\treturn DEFAULT;\n\t}\n\n\t/**\n\t * A higher order component adding alignContent editing functionality.\n\t *\n\t * @date\t08/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tcomponent OriginalBlockEdit The original BlockEdit component.\n\t * @param\tobject blockType The block type settings.\n\t * @return\tcomponent\n\t */\n\tfunction withAlignContentComponent( OriginalBlockEdit, blockType ) {\n\t\t// Determine alignment vars\n\t\tlet type =\n\t\t\tblockType.supports.align_content || blockType.supports.alignContent;\n\t\tlet AlignmentComponent;\n\t\tlet validateAlignment;\n\t\tswitch ( type ) {\n\t\t\tcase 'matrix':\n\t\t\t\tAlignmentComponent =\n\t\t\t\t\tBlockAlignmentMatrixControl || BlockAlignmentMatrixToolbar;\n\t\t\t\tvalidateAlignment = validateMatrixAlignment;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tAlignmentComponent = BlockVerticalAlignmentToolbar;\n\t\t\t\tvalidateAlignment = validateVerticalAlignment;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Ensure alignment component exists.\n\t\tif ( AlignmentComponent === undefined ) {\n\t\t\tconsole.warn(\n\t\t\t\t`The \"${ type }\" alignment component was not found.`\n\t\t\t);\n\t\t\treturn OriginalBlockEdit;\n\t\t}\n\n\t\t// Ensure correct block attribute data is sent in intial preview AJAX request.\n\t\tblockType.alignContent = validateAlignment( blockType.alignContent );\n\n\t\t// Return wrapped component.\n\t\treturn class WrappedBlockEdit extends Component {\n\t\t\trender() {\n\t\t\t\tconst { attributes, setAttributes } = this.props;\n\t\t\t\tconst { alignContent } = attributes;\n\t\t\t\tfunction onChangeAlignContent( alignContent ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\talignContent: validateAlignment( alignContent ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * A higher order component adding alignText editing functionality.\n\t *\n\t * @date\t08/07/2020\n\t * @since\t5.9.0\n\t *\n\t * @param\tcomponent OriginalBlockEdit The original BlockEdit component.\n\t * @param\tobject blockType The block type settings.\n\t * @return\tcomponent\n\t */\n\tfunction withAlignTextComponent( OriginalBlockEdit, blockType ) {\n\t\tconst validateAlignment = validateHorizontalAlignment;\n\n\t\t// Ensure correct block attribute data is sent in intial preview AJAX request.\n\t\tblockType.alignText = validateAlignment( blockType.alignText );\n\n\t\t// Return wrapped component.\n\t\treturn class WrappedBlockEdit extends Component {\n\t\t\trender() {\n\t\t\t\tconst { attributes, setAttributes } = this.props;\n\t\t\t\tconst { alignText } = attributes;\n\n\t\t\t\tfunction onChangeAlignText( alignText ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\talignText: validateAlignment( alignText ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * A higher order component adding full height support.\n\t *\n\t * @date\t19/07/2021\n\t * @since\t5.10.0\n\t *\n\t * @param\tcomponent OriginalBlockEdit The original BlockEdit component.\n\t * @param\tobject blockType The block type settings.\n\t * @return\tcomponent\n\t */\n\tfunction withFullHeightComponent( OriginalBlockEdit, blockType ) {\n\t\tif ( ! BlockFullHeightAlignmentControl ) return OriginalBlockEdit;\n\n\t\t// Return wrapped component.\n\t\treturn class WrappedBlockEdit extends Component {\n\t\t\trender() {\n\t\t\t\tconst { attributes, setAttributes } = this.props;\n\t\t\t\tconst { fullHeight } = attributes;\n\n\t\t\t\tfunction onToggleFullHeight( fullHeight ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tfullHeight,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}\n\n\t/**\n\t * Appends a backwards compatibility attribute for conversion.\n\t *\n\t * @since\t6.0\n\t *\n\t * @param\tobject attributes The block type attributes.\n\t * @return\tobject\n\t */\n\tfunction addBackCompatAttribute( attributes, new_attribute, type ) {\n\t\tattributes[ new_attribute ] = {\n\t\t\ttype: type,\n\t\t};\n\t\treturn attributes;\n\t}\n\n\t/**\n\t * Create a block hash from attributes\n\t *\n\t * @since 6.0\n\t *\n\t * @param object attributes The block type attributes.\n\t * @param object context The current block context object.\n\t * @return string\n\t */\n\tfunction createBlockAttributesHash( attributes, context ) {\n\t\tattributes[ '_acf_context' ] = context;\n\t\treturn md5(\n\t\t\tJSON.stringify(\n\t\t\t\tObject.keys( attributes )\n\t\t\t\t\t.sort()\n\t\t\t\t\t.reduce( ( acc, currValue ) => {\n\t\t\t\t\t\tacc[ currValue ] = attributes[ currValue ];\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {} )\n\t\t\t)\n\t\t);\n\t}\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.jsxNameReplacements = {\n\t\t'accent-height': 'accentHeight',\n\t\taccentheight: 'accentHeight',\n\t\t'accept-charset': 'acceptCharset',\n\t\tacceptcharset: 'acceptCharset',\n\t\taccesskey: 'accessKey',\n\t\t'alignment-baseline': 'alignmentBaseline',\n\t\talignmentbaseline: 'alignmentBaseline',\n\t\tallowedblocks: 'allowedBlocks',\n\t\tallowfullscreen: 'allowFullScreen',\n\t\tallowreorder: 'allowReorder',\n\t\t'arabic-form': 'arabicForm',\n\t\tarabicform: 'arabicForm',\n\t\tattributename: 'attributeName',\n\t\tattributetype: 'attributeType',\n\t\tautocapitalize: 'autoCapitalize',\n\t\tautocomplete: 'autoComplete',\n\t\tautocorrect: 'autoCorrect',\n\t\tautofocus: 'autoFocus',\n\t\tautoplay: 'autoPlay',\n\t\tautoreverse: 'autoReverse',\n\t\tautosave: 'autoSave',\n\t\tbasefrequency: 'baseFrequency',\n\t\t'baseline-shift': 'baselineShift',\n\t\tbaselineshift: 'baselineShift',\n\t\tbaseprofile: 'baseProfile',\n\t\tcalcmode: 'calcMode',\n\t\t'cap-height': 'capHeight',\n\t\tcapheight: 'capHeight',\n\t\tcellpadding: 'cellPadding',\n\t\tcellspacing: 'cellSpacing',\n\t\tcharset: 'charSet',\n\t\tclass: 'className',\n\t\tclassid: 'classID',\n\t\tclassname: 'className',\n\t\t'clip-path': 'clipPath',\n\t\t'clip-rule': 'clipRule',\n\t\tclippath: 'clipPath',\n\t\tclippathunits: 'clipPathUnits',\n\t\tcliprule: 'clipRule',\n\t\t'color-interpolation': 'colorInterpolation',\n\t\t'color-interpolation-filters': 'colorInterpolationFilters',\n\t\t'color-profile': 'colorProfile',\n\t\t'color-rendering': 'colorRendering',\n\t\tcolorinterpolation: 'colorInterpolation',\n\t\tcolorinterpolationfilters: 'colorInterpolationFilters',\n\t\tcolorprofile: 'colorProfile',\n\t\tcolorrendering: 'colorRendering',\n\t\tcolspan: 'colSpan',\n\t\tcontenteditable: 'contentEditable',\n\t\tcontentscripttype: 'contentScriptType',\n\t\tcontentstyletype: 'contentStyleType',\n\t\tcontextmenu: 'contextMenu',\n\t\tcontrolslist: 'controlsList',\n\t\tcrossorigin: 'crossOrigin',\n\t\tdangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n\t\tdatetime: 'dateTime',\n\t\tdefaultchecked: 'defaultChecked',\n\t\tdefaultvalue: 'defaultValue',\n\t\tdiffuseconstant: 'diffuseConstant',\n\t\tdisablepictureinpicture: 'disablePictureInPicture',\n\t\tdisableremoteplayback: 'disableRemotePlayback',\n\t\t'dominant-baseline': 'dominantBaseline',\n\t\tdominantbaseline: 'dominantBaseline',\n\t\tedgemode: 'edgeMode',\n\t\t'enable-background': 'enableBackground',\n\t\tenablebackground: 'enableBackground',\n\t\tenctype: 'encType',\n\t\tenterkeyhint: 'enterKeyHint',\n\t\texternalresourcesrequired: 'externalResourcesRequired',\n\t\t'fill-opacity': 'fillOpacity',\n\t\t'fill-rule': 'fillRule',\n\t\tfillopacity: 'fillOpacity',\n\t\tfillrule: 'fillRule',\n\t\tfilterres: 'filterRes',\n\t\tfilterunits: 'filterUnits',\n\t\t'flood-color': 'floodColor',\n\t\t'flood-opacity': 'floodOpacity',\n\t\tfloodcolor: 'floodColor',\n\t\tfloodopacity: 'floodOpacity',\n\t\t'font-family': 'fontFamily',\n\t\t'font-size': 'fontSize',\n\t\t'font-size-adjust': 'fontSizeAdjust',\n\t\t'font-stretch': 'fontStretch',\n\t\t'font-style': 'fontStyle',\n\t\t'font-variant': 'fontVariant',\n\t\t'font-weight': 'fontWeight',\n\t\tfontfamily: 'fontFamily',\n\t\tfontsize: 'fontSize',\n\t\tfontsizeadjust: 'fontSizeAdjust',\n\t\tfontstretch: 'fontStretch',\n\t\tfontstyle: 'fontStyle',\n\t\tfontvariant: 'fontVariant',\n\t\tfontweight: 'fontWeight',\n\t\tfor: 'htmlFor',\n\t\tforeignobject: 'foreignObject',\n\t\tformaction: 'formAction',\n\t\tformenctype: 'formEncType',\n\t\tformmethod: 'formMethod',\n\t\tformnovalidate: 'formNoValidate',\n\t\tformtarget: 'formTarget',\n\t\tframeborder: 'frameBorder',\n\t\t'glyph-name': 'glyphName',\n\t\t'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n\t\t'glyph-orientation-vertical': 'glyphOrientationVertical',\n\t\tglyphname: 'glyphName',\n\t\tglyphorientationhorizontal: 'glyphOrientationHorizontal',\n\t\tglyphorientationvertical: 'glyphOrientationVertical',\n\t\tglyphref: 'glyphRef',\n\t\tgradienttransform: 'gradientTransform',\n\t\tgradientunits: 'gradientUnits',\n\t\t'horiz-adv-x': 'horizAdvX',\n\t\t'horiz-origin-x': 'horizOriginX',\n\t\thorizadvx: 'horizAdvX',\n\t\thorizoriginx: 'horizOriginX',\n\t\threflang: 'hrefLang',\n\t\thtmlfor: 'htmlFor',\n\t\t'http-equiv': 'httpEquiv',\n\t\thttpequiv: 'httpEquiv',\n\t\t'image-rendering': 'imageRendering',\n\t\timagerendering: 'imageRendering',\n\t\tinnerhtml: 'innerHTML',\n\t\tinputmode: 'inputMode',\n\t\titemid: 'itemID',\n\t\titemprop: 'itemProp',\n\t\titemref: 'itemRef',\n\t\titemscope: 'itemScope',\n\t\titemtype: 'itemType',\n\t\tkernelmatrix: 'kernelMatrix',\n\t\tkernelunitlength: 'kernelUnitLength',\n\t\tkeyparams: 'keyParams',\n\t\tkeypoints: 'keyPoints',\n\t\tkeysplines: 'keySplines',\n\t\tkeytimes: 'keyTimes',\n\t\tkeytype: 'keyType',\n\t\tlengthadjust: 'lengthAdjust',\n\t\t'letter-spacing': 'letterSpacing',\n\t\tletterspacing: 'letterSpacing',\n\t\t'lighting-color': 'lightingColor',\n\t\tlightingcolor: 'lightingColor',\n\t\tlimitingconeangle: 'limitingConeAngle',\n\t\tmarginheight: 'marginHeight',\n\t\tmarginwidth: 'marginWidth',\n\t\t'marker-end': 'markerEnd',\n\t\t'marker-mid': 'markerMid',\n\t\t'marker-start': 'markerStart',\n\t\tmarkerend: 'markerEnd',\n\t\tmarkerheight: 'markerHeight',\n\t\tmarkermid: 'markerMid',\n\t\tmarkerstart: 'markerStart',\n\t\tmarkerunits: 'markerUnits',\n\t\tmarkerwidth: 'markerWidth',\n\t\tmaskcontentunits: 'maskContentUnits',\n\t\tmaskunits: 'maskUnits',\n\t\tmaxlength: 'maxLength',\n\t\tmediagroup: 'mediaGroup',\n\t\tminlength: 'minLength',\n\t\tnomodule: 'noModule',\n\t\tnovalidate: 'noValidate',\n\t\tnumoctaves: 'numOctaves',\n\t\t'overline-position': 'overlinePosition',\n\t\t'overline-thickness': 'overlineThickness',\n\t\toverlineposition: 'overlinePosition',\n\t\toverlinethickness: 'overlineThickness',\n\t\t'paint-order': 'paintOrder',\n\t\tpaintorder: 'paintOrder',\n\t\t'panose-1': 'panose1',\n\t\tpathlength: 'pathLength',\n\t\tpatterncontentunits: 'patternContentUnits',\n\t\tpatterntransform: 'patternTransform',\n\t\tpatternunits: 'patternUnits',\n\t\tplaysinline: 'playsInline',\n\t\t'pointer-events': 'pointerEvents',\n\t\tpointerevents: 'pointerEvents',\n\t\tpointsatx: 'pointsAtX',\n\t\tpointsaty: 'pointsAtY',\n\t\tpointsatz: 'pointsAtZ',\n\t\tpreservealpha: 'preserveAlpha',\n\t\tpreserveaspectratio: 'preserveAspectRatio',\n\t\tprimitiveunits: 'primitiveUnits',\n\t\tradiogroup: 'radioGroup',\n\t\treadonly: 'readOnly',\n\t\treferrerpolicy: 'referrerPolicy',\n\t\trefx: 'refX',\n\t\trefy: 'refY',\n\t\t'rendering-intent': 'renderingIntent',\n\t\trenderingintent: 'renderingIntent',\n\t\trepeatcount: 'repeatCount',\n\t\trepeatdur: 'repeatDur',\n\t\trequiredextensions: 'requiredExtensions',\n\t\trequiredfeatures: 'requiredFeatures',\n\t\trowspan: 'rowSpan',\n\t\t'shape-rendering': 'shapeRendering',\n\t\tshaperendering: 'shapeRendering',\n\t\tspecularconstant: 'specularConstant',\n\t\tspecularexponent: 'specularExponent',\n\t\tspellcheck: 'spellCheck',\n\t\tspreadmethod: 'spreadMethod',\n\t\tsrcdoc: 'srcDoc',\n\t\tsrclang: 'srcLang',\n\t\tsrcset: 'srcSet',\n\t\tstartoffset: 'startOffset',\n\t\tstddeviation: 'stdDeviation',\n\t\tstitchtiles: 'stitchTiles',\n\t\t'stop-color': 'stopColor',\n\t\t'stop-opacity': 'stopOpacity',\n\t\tstopcolor: 'stopColor',\n\t\tstopopacity: 'stopOpacity',\n\t\t'strikethrough-position': 'strikethroughPosition',\n\t\t'strikethrough-thickness': 'strikethroughThickness',\n\t\tstrikethroughposition: 'strikethroughPosition',\n\t\tstrikethroughthickness: 'strikethroughThickness',\n\t\t'stroke-dasharray': 'strokeDasharray',\n\t\t'stroke-dashoffset': 'strokeDashoffset',\n\t\t'stroke-linecap': 'strokeLinecap',\n\t\t'stroke-linejoin': 'strokeLinejoin',\n\t\t'stroke-miterlimit': 'strokeMiterlimit',\n\t\t'stroke-opacity': 'strokeOpacity',\n\t\t'stroke-width': 'strokeWidth',\n\t\tstrokedasharray: 'strokeDasharray',\n\t\tstrokedashoffset: 'strokeDashoffset',\n\t\tstrokelinecap: 'strokeLinecap',\n\t\tstrokelinejoin: 'strokeLinejoin',\n\t\tstrokemiterlimit: 'strokeMiterlimit',\n\t\tstrokeopacity: 'strokeOpacity',\n\t\tstrokewidth: 'strokeWidth',\n\t\tsuppresscontenteditablewarning: 'suppressContentEditableWarning',\n\t\tsuppresshydrationwarning: 'suppressHydrationWarning',\n\t\tsurfacescale: 'surfaceScale',\n\t\tsystemlanguage: 'systemLanguage',\n\t\ttabindex: 'tabIndex',\n\t\ttablevalues: 'tableValues',\n\t\ttargetx: 'targetX',\n\t\ttargety: 'targetY',\n\t\ttemplatelock: 'templateLock',\n\t\t'text-anchor': 'textAnchor',\n\t\t'text-decoration': 'textDecoration',\n\t\t'text-rendering': 'textRendering',\n\t\ttextanchor: 'textAnchor',\n\t\ttextdecoration: 'textDecoration',\n\t\ttextlength: 'textLength',\n\t\ttextrendering: 'textRendering',\n\t\t'underline-position': 'underlinePosition',\n\t\t'underline-thickness': 'underlineThickness',\n\t\tunderlineposition: 'underlinePosition',\n\t\tunderlinethickness: 'underlineThickness',\n\t\t'unicode-bidi': 'unicodeBidi',\n\t\t'unicode-range': 'unicodeRange',\n\t\tunicodebidi: 'unicodeBidi',\n\t\tunicoderange: 'unicodeRange',\n\t\t'units-per-em': 'unitsPerEm',\n\t\tunitsperem: 'unitsPerEm',\n\t\tusemap: 'useMap',\n\t\t'v-alphabetic': 'vAlphabetic',\n\t\t'v-hanging': 'vHanging',\n\t\t'v-ideographic': 'vIdeographic',\n\t\t'v-mathematical': 'vMathematical',\n\t\tvalphabetic: 'vAlphabetic',\n\t\t'vector-effect': 'vectorEffect',\n\t\tvectoreffect: 'vectorEffect',\n\t\t'vert-adv-y': 'vertAdvY',\n\t\t'vert-origin-x': 'vertOriginX',\n\t\t'vert-origin-y': 'vertOriginY',\n\t\tvertadvy: 'vertAdvY',\n\t\tvertoriginx: 'vertOriginX',\n\t\tvertoriginy: 'vertOriginY',\n\t\tvhanging: 'vHanging',\n\t\tvideographic: 'vIdeographic',\n\t\tviewbox: 'viewBox',\n\t\tviewtarget: 'viewTarget',\n\t\tvmathematical: 'vMathematical',\n\t\t'word-spacing': 'wordSpacing',\n\t\twordspacing: 'wordSpacing',\n\t\t'writing-mode': 'writingMode',\n\t\twritingmode: 'writingMode',\n\t\t'x-height': 'xHeight',\n\t\txchannelselector: 'xChannelSelector',\n\t\txheight: 'xHeight',\n\t\t'xlink:actuate': 'xlinkActuate',\n\t\t'xlink:arcrole': 'xlinkArcrole',\n\t\t'xlink:href': 'xlinkHref',\n\t\t'xlink:role': 'xlinkRole',\n\t\t'xlink:show': 'xlinkShow',\n\t\t'xlink:title': 'xlinkTitle',\n\t\t'xlink:type': 'xlinkType',\n\t\txlinkactuate: 'xlinkActuate',\n\t\txlinkarcrole: 'xlinkArcrole',\n\t\txlinkhref: 'xlinkHref',\n\t\txlinkrole: 'xlinkRole',\n\t\txlinkshow: 'xlinkShow',\n\t\txlinktitle: 'xlinkTitle',\n\t\txlinktype: 'xlinkType',\n\t\t'xml:base': 'xmlBase',\n\t\t'xml:lang': 'xmlLang',\n\t\t'xml:space': 'xmlSpace',\n\t\txmlbase: 'xmlBase',\n\t\txmllang: 'xmlLang',\n\t\t'xmlns:xlink': 'xmlnsXlink',\n\t\txmlnsxlink: 'xmlnsXlink',\n\t\txmlspace: 'xmlSpace',\n\t\tychannelselector: 'yChannelSelector',\n\t\tzoomandpan: 'zoomAndPan',\n\t};\n} )( jQuery );\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.2.0';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import './_acf-jsx-names.js';\nimport './_acf-blocks.js';\n"],"names":["md5","require","$","undefined","BlockControls","InspectorControls","InnerBlocks","useBlockProps","AlignmentToolbar","BlockVerticalAlignmentToolbar","wp","blockEditor","ToolbarGroup","ToolbarButton","Placeholder","Spinner","components","Fragment","element","Component","React","withSelect","data","createHigherOrderComponent","compose","BlockAlignmentMatrixToolbar","__experimentalBlockAlignmentMatrixToolbar","BlockAlignmentMatrixControl","__experimentalBlockAlignmentMatrixControl","BlockFullHeightAlignmentControl","__experimentalBlockFullHeightAligmentControl","__experimentalBlockFullHeightAlignmentControl","useInnerBlocksProps","__experimentalUseInnerBlocksProps","blockTypes","getBlockType","name","getBlockVersion","blockType","acf_block_version","isBlockInQueryLoop","clientId","parents","select","getBlockParents","parentsData","getBlocksByClientId","filter","block","length","isSiteEditor","pagenow","isDesktopPreviewDeviceType","editPostStore","__experimentalGetPreviewDeviceType","getPreviewDeviceType","isEditingTemplate","isiFramedMobileDevicePreview","registerBlockType","allowedTypes","post_types","push","postType","acf","get","includes","icon","substr","iconHTML","createElement","Div","category","blocks","getCategories","slug","pop","parseArgs","title","api_version","key","attributes","default","supports","anchor","type","ThisBlockEdit","BlockEdit","ThisBlockSave","BlockSave","alignText","align_text","addBackCompatAttribute","withAlignTextComponent","alignContent","align_content","withAlignContentComponent","fullHeight","full_height","withFullHeightComponent","edit","props","_objectSpread","save","result","selector","dispatch","getBlocks","args","recurseBlocks","forEach","k","ajaxQueue","fetchCache","fetchBlock","context","query","delay","queueId","JSON","stringify","timeout","promise","Deferred","started","clearTimeout","setTimeout","resolve","apply","ajax","url","dataType","cache","prepareForAjax","action","always","done","arguments","fail","reject","compareObjects","obj1","obj2","parseJSX","html","acfBlockVersion","replace","parseNode","children","node","level","nodeName","parseNodeName","toLowerCase","nodeAttrs","ref","createRef","arrayArgs","map","parseNodeAttr","value","ACFInnerBlocks","childNodes","child","Text","text","textContent","getJSXName","replacement","isget","Script","className","innerBlockProps","nodeAttr","shortcut","applyFilters","css","split","s","pos","indexOf","ruleName","trim","ruleValue","charAt","strCamelCase","c1","parse","withDefaultAttributes","BlockListBlock","WrappedBlockEdit","constructor","Object","keys","upgrades","attribute","render","hooks","addFilter","Content","setup","restrictMode","modes","mode","setAttributes","forcePreview","showToggle","toggleText","__","toggleIcon","toggleMode","label","onClick","BlockForm","BlockBody","_BlockBody","isSelected","showForm","additionalClasses","BlockPreview","ownProps","rootClientId","getBlockRootClientId","index","getBlockIndex","dangerouslySetInnerHTML","__html","el","setHTML","componentDidUpdate","componentDidMount","store","DynamicHTML","setRef","bind","id","subscribed","renderMethod","loadState","fetch","maybePreload","blockId","form","state","preloadedBlocks","modeText","replaceAll","setState","setHtml","jsx","console","warn","Array","isArray","refElement","find","isValidElement","$el","shouldComponentUpdate","componentWillMove","display","$prevParent","parent","$thisParent","clone","componentDidAppend","componentDidRemount","prevProps","prevState","doAction","componentWillUnmount","hash","createBlockAttributesHash","preloaded","serializeData","silent","serialize","on","contextPostId","prevAttributes","prevContext","preview","replaceHtml","renderBlockPreviewEvent","nextProps","nextState","nextAttributes","thisAttributes","blockElement","current","initialize","editor","addAction","validateVerticalAlignment","align","ALIGNMENTS","DEFAULT","validateHorizontalAlignment","validateMatrixAlignment","y","x","OriginalBlockEdit","AlignmentComponent","validateAlignment","onChangeAlignContent","group","onChange","onChangeAlignText","onToggleFullHeight","isActive","onToggle","new_attribute","sort","reduce","acc","currValue","jQuery","jsxNameReplacements","accentheight","acceptcharset","accesskey","alignmentbaseline","allowedblocks","allowfullscreen","allowreorder","arabicform","attributename","attributetype","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","autoreverse","autosave","basefrequency","baselineshift","baseprofile","calcmode","capheight","cellpadding","cellspacing","charset","class","classid","classname","clippath","clippathunits","cliprule","colorinterpolation","colorinterpolationfilters","colorprofile","colorrendering","colspan","contenteditable","contentscripttype","contentstyletype","contextmenu","controlslist","crossorigin","dangerouslysetinnerhtml","datetime","defaultchecked","defaultvalue","diffuseconstant","disablepictureinpicture","disableremoteplayback","dominantbaseline","edgemode","enablebackground","enctype","enterkeyhint","externalresourcesrequired","fillopacity","fillrule","filterres","filterunits","floodcolor","floodopacity","fontfamily","fontsize","fontsizeadjust","fontstretch","fontstyle","fontvariant","fontweight","for","foreignobject","formaction","formenctype","formmethod","formnovalidate","formtarget","frameborder","glyphname","glyphorientationhorizontal","glyphorientationvertical","glyphref","gradienttransform","gradientunits","horizadvx","horizoriginx","hreflang","htmlfor","httpequiv","imagerendering","innerhtml","inputmode","itemid","itemprop","itemref","itemscope","itemtype","kernelmatrix","kernelunitlength","keyparams","keypoints","keysplines","keytimes","keytype","lengthadjust","letterspacing","lightingcolor","limitingconeangle","marginheight","marginwidth","markerend","markerheight","markermid","markerstart","markerunits","markerwidth","maskcontentunits","maskunits","maxlength","mediagroup","minlength","nomodule","novalidate","numoctaves","overlineposition","overlinethickness","paintorder","pathlength","patterncontentunits","patterntransform","patternunits","playsinline","pointerevents","pointsatx","pointsaty","pointsatz","preservealpha","preserveaspectratio","primitiveunits","radiogroup","readonly","referrerpolicy","refx","refy","renderingintent","repeatcount","repeatdur","requiredextensions","requiredfeatures","rowspan","shaperendering","specularconstant","specularexponent","spellcheck","spreadmethod","srcdoc","srclang","srcset","startoffset","stddeviation","stitchtiles","stopcolor","stopopacity","strikethroughposition","strikethroughthickness","strokedasharray","strokedashoffset","strokelinecap","strokelinejoin","strokemiterlimit","strokeopacity","strokewidth","suppresscontenteditablewarning","suppresshydrationwarning","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","templatelock","textanchor","textdecoration","textlength","textrendering","underlineposition","underlinethickness","unicodebidi","unicoderange","unitsperem","usemap","valphabetic","vectoreffect","vertadvy","vertoriginx","vertoriginy","vhanging","videographic","viewbox","viewtarget","vmathematical","wordspacing","writingmode","xchannelselector","xheight","xlinkactuate","xlinkarcrole","xlinkhref","xlinkrole","xlinkshow","xlinktitle","xlinktype","xmlbase","xmllang","xmlnsxlink","xmlspace","ychannelselector","zoomandpan"],"sourceRoot":""}
\ No newline at end of file
diff --git a/assets/build/js/pro/acf-pro-blocks.min.js b/assets/build/js/pro/acf-pro-blocks.min.js
index 75f6e68..ee2ffd5 100644
--- a/assets/build/js/pro/acf-pro-blocks.min.js
+++ b/assets/build/js/pro/acf-pro-blocks.min.js
@@ -1 +1 @@
-(()=>{var e={905:()=>{jQuery,acf.jsxNameReplacements={"accent-height":"accentHeight",accentheight:"accentHeight","accept-charset":"acceptCharset",acceptcharset:"acceptCharset",accesskey:"accessKey","alignment-baseline":"alignmentBaseline",alignmentbaseline:"alignmentBaseline",allowedblocks:"allowedBlocks",allowfullscreen:"allowFullScreen",allowreorder:"allowReorder","arabic-form":"arabicForm",arabicform:"arabicForm",attributename:"attributeName",attributetype:"attributeType",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autoreverse:"autoReverse",autosave:"autoSave",basefrequency:"baseFrequency","baseline-shift":"baselineShift",baselineshift:"baselineShift",baseprofile:"baseProfile",calcmode:"calcMode","cap-height":"capHeight",capheight:"capHeight",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className","clip-path":"clipPath","clip-rule":"clipRule",clippath:"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","color-interpolation":"colorInterpolation","color-interpolation-filters":"colorInterpolationFilters","color-profile":"colorProfile","color-rendering":"colorRendering",colorinterpolation:"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters",colorprofile:"colorProfile",colorrendering:"colorRendering",colspan:"colSpan",contenteditable:"contentEditable",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",diffuseconstant:"diffuseConstant",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback","dominant-baseline":"dominantBaseline",dominantbaseline:"dominantBaseline",edgemode:"edgeMode","enable-background":"enableBackground",enablebackground:"enableBackground",enctype:"encType",enterkeyhint:"enterKeyHint",externalresourcesrequired:"externalResourcesRequired","fill-opacity":"fillOpacity","fill-rule":"fillRule",fillopacity:"fillOpacity",fillrule:"fillRule",filterres:"filterRes",filterunits:"filterUnits","flood-color":"floodColor","flood-opacity":"floodOpacity",floodcolor:"floodColor",floodopacity:"floodOpacity","font-family":"fontFamily","font-size":"fontSize","font-size-adjust":"fontSizeAdjust","font-stretch":"fontStretch","font-style":"fontStyle","font-variant":"fontVariant","font-weight":"fontWeight",fontfamily:"fontFamily",fontsize:"fontSize",fontsizeadjust:"fontSizeAdjust",fontstretch:"fontStretch",fontstyle:"fontStyle",fontvariant:"fontVariant",fontweight:"fontWeight",for:"htmlFor",foreignobject:"foreignObject",formaction:"formAction",formenctype:"formEncType",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder","glyph-name":"glyphName","glyph-orientation-horizontal":"glyphOrientationHorizontal","glyph-orientation-vertical":"glyphOrientationVertical",glyphname:"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits","horiz-adv-x":"horizAdvX","horiz-origin-x":"horizOriginX",horizadvx:"horizAdvX",horizoriginx:"horizOriginX",hreflang:"hrefLang",htmlfor:"htmlFor","http-equiv":"httpEquiv",httpequiv:"httpEquiv","image-rendering":"imageRendering",imagerendering:"imageRendering",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keyparams:"keyParams",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",keytype:"keyType",lengthadjust:"lengthAdjust","letter-spacing":"letterSpacing",letterspacing:"letterSpacing","lighting-color":"lightingColor",lightingcolor:"lightingColor",limitingconeangle:"limitingConeAngle",marginheight:"marginHeight",marginwidth:"marginWidth","marker-end":"markerEnd","marker-mid":"markerMid","marker-start":"markerStart",markerend:"markerEnd",markerheight:"markerHeight",markermid:"markerMid",markerstart:"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",numoctaves:"numOctaves","overline-position":"overlinePosition","overline-thickness":"overlineThickness",overlineposition:"overlinePosition",overlinethickness:"overlineThickness","paint-order":"paintOrder",paintorder:"paintOrder","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",playsinline:"playsInline","pointer-events":"pointerEvents",pointerevents:"pointerEvents",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",refx:"refX",refy:"refY","rendering-intent":"renderingIntent",renderingintent:"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",rowspan:"rowSpan","shape-rendering":"shapeRendering",shaperendering:"shapeRendering",specularconstant:"specularConstant",specularexponent:"specularExponent",spellcheck:"spellCheck",spreadmethod:"spreadMethod",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles","stop-color":"stopColor","stop-opacity":"stopOpacity",stopcolor:"stopColor",stopopacity:"stopOpacity","strikethrough-position":"strikethroughPosition","strikethrough-thickness":"strikethroughThickness",strikethroughposition:"strikethroughPosition",strikethroughthickness:"strikethroughThickness","stroke-dasharray":"strokeDasharray","stroke-dashoffset":"strokeDashoffset","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","stroke-miterlimit":"strokeMiterlimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth",strokedasharray:"strokeDasharray",strokedashoffset:"strokeDashoffset",strokelinecap:"strokeLinecap",strokelinejoin:"strokeLinejoin",strokemiterlimit:"strokeMiterlimit",strokeopacity:"strokeOpacity",strokewidth:"strokeWidth",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tabindex:"tabIndex",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",templatelock:"templateLock","text-anchor":"textAnchor","text-decoration":"textDecoration","text-rendering":"textRendering",textanchor:"textAnchor",textdecoration:"textDecoration",textlength:"textLength",textrendering:"textRendering","underline-position":"underlinePosition","underline-thickness":"underlineThickness",underlineposition:"underlinePosition",underlinethickness:"underlineThickness","unicode-bidi":"unicodeBidi","unicode-range":"unicodeRange",unicodebidi:"unicodeBidi",unicoderange:"unicodeRange","units-per-em":"unitsPerEm",unitsperem:"unitsPerEm",usemap:"useMap","v-alphabetic":"vAlphabetic","v-hanging":"vHanging","v-ideographic":"vIdeographic","v-mathematical":"vMathematical",valphabetic:"vAlphabetic","vector-effect":"vectorEffect",vectoreffect:"vectorEffect","vert-adv-y":"vertAdvY","vert-origin-x":"vertOriginX","vert-origin-y":"vertOriginY",vertadvy:"vertAdvY",vertoriginx:"vertOriginX",vertoriginy:"vertOriginY",vhanging:"vHanging",videographic:"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",vmathematical:"vMathematical","word-spacing":"wordSpacing",wordspacing:"wordSpacing","writing-mode":"writingMode",writingmode:"writingMode","x-height":"xHeight",xchannelselector:"xChannelSelector",xheight:"xHeight","xlink:actuate":"xlinkActuate","xlink:arcrole":"xlinkArcrole","xlink:href":"xlinkHref","xlink:role":"xlinkRole","xlink:show":"xlinkShow","xlink:title":"xlinkTitle","xlink:type":"xlinkType",xlinkactuate:"xlinkActuate",xlinkarcrole:"xlinkArcrole",xlinkhref:"xlinkHref",xlinkrole:"xlinkRole",xlinkshow:"xlinkShow",xlinktitle:"xlinkTitle",xlinktype:"xlinkType","xml:base":"xmlBase","xml:lang":"xmlLang","xml:space":"xmlSpace",xmlbase:"xmlBase",xmllang:"xmlLang","xmlns:xlink":"xmlnsXlink",xmlnsxlink:"xmlnsXlink",xmlspace:"xmlSpace",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"}},487:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],r=0;r{var t,r;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&r.rotl(e,8)|4278255360&r.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],r=0,n=0;r>>5]|=e[r]<<24-n%32;return t},wordsToBytes:function(e){for(var t=[],r=0;r<32*e.length;r+=8)t.push(e[r>>>5]>>>24-r%32&255);return t},bytesToHex:function(e){for(var t=[],r=0;r>>4).toString(16)),t.push((15&e[r]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],r=0;r>>6*(3-i)&63)):r.push("=");return r.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var r=[],n=0,o=0;n>>6-2*o);return r}},e.exports=r},738:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},568:(e,t,r)=>{var n,o,i,a,s;n=r(12),o=r(487).utf8,i=r(738),a=r(487).bin,(s=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):o.stringToBytes(e):i(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var r=n.bytesToWords(e),l=8*e.length,c=1732584193,p=-271733879,u=-1732584194,d=271733878,f=0;f>>24)|4278255360&(r[f]<<24|r[f]>>>8);r[l>>>5]|=128<>>9<<4)]=l;var h=s._ff,m=s._gg,g=s._hh,y=s._ii;for(f=0;f>>0,p=p+k>>>0,u=u+v>>>0,d=d+x>>>0}return n.endian([c,p,u,d])})._ff=function(e,t,r,n,o,i,a){var s=e+(t&r|~t&n)+(o>>>0)+a;return(s<>>32-i)+t},s._gg=function(e,t,r,n,o,i,a){var s=e+(t&n|r&~n)+(o>>>0)+a;return(s<>>32-i)+t},s._hh=function(e,t,r,n,o,i,a){var s=e+(t^r^n)+(o>>>0)+a;return(s<>>32-i)+t},s._ii=function(e,t,r,n,o,i,a){var s=e+(r^(t|~n))+(o>>>0)+a;return(s<>>32-i)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var r=n.wordsToBytes(s(e,t));return t&&t.asBytes?r:t&&t.asString?a.bytesToString(r):n.bytesToHex(r)}},408:(e,t)=>{"use strict";var r=Symbol.for("react.element"),n=(Symbol.for("react.portal"),Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.forward_ref"),Symbol.for("react.suspense"),Symbol.for("react.memo"),Symbol.for("react.lazy"),Symbol.iterator,{isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}}),o=Object.assign,i={};function a(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}function s(){}function l(e,t,r){this.props=e,this.context=t,this.refs=i,this.updater=r||n}a.prototype.isReactComponent={},a.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},s.prototype=a.prototype;var c=l.prototype=new s;c.constructor=l,o(c,a.prototype),c.isPureReactComponent=!0;Array.isArray;var p=Object.prototype.hasOwnProperty,u=null,d={key:!0,ref:!0,__self:!0,__source:!0};t.createElement=function(e,t,n){var o,i={},a=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=""+t.key),t)p.call(t,o)&&!d.hasOwnProperty(o)&&(i[o]=t[o]);var l=arguments.length-2;if(1===l)i.children=n;else if(1{"use strict";e.exports=r(408)}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t){var r=function(t,r){if("object"!==e(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,"string");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===e(r)?r:String(r)}r(905);var n=r(294);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var r=1;r{const{BlockControls:r,InspectorControls:o,InnerBlocks:s,useBlockProps:l,AlignmentToolbar:c,BlockVerticalAlignmentToolbar:p}=wp.blockEditor,{ToolbarGroup:u,ToolbarButton:d,Placeholder:f,Spinner:h}=wp.components,{Fragment:m}=wp.element,{Component:g}=React,{withSelect:y}=wp.data,{createHigherOrderComponent:b}=wp.compose,k=wp.blockEditor.__experimentalBlockAlignmentMatrixToolbar||wp.blockEditor.BlockAlignmentMatrixToolbar,v=wp.blockEditor.__experimentalBlockAlignmentMatrixControl||wp.blockEditor.BlockAlignmentMatrixControl,x=wp.blockEditor.__experimentalBlockFullHeightAligmentControl||wp.blockEditor.__experimentalBlockFullHeightAlignmentControl||wp.blockEditor.BlockFullHeightAlignmentControl,w=wp.blockEditor.__experimentalUseInnerBlocksProps||wp.blockEditor.useInnerBlocksProps,S={};function E(e){return S[e]||!1}function A(e){return E(e).acf_block_version||1}function T(e){const t=wp.data.select("core/block-editor").getBlockParents(e);return wp.data.select("core/block-editor").getBlocksByClientId(t).filter((e=>"core/query"===e.name)).length}function _(){return"string"==typeof pagenow&&"site-editor"===pagenow}function C(){const e=O("core/edit-post");return!!e&&!!e.isEditingTemplate&&e.isEditingTemplate()}function B(){return e("iframe[name=editor-canvas]").length&&!function(){const e=O("core/edit-post");return!e||(e.__experimentalGetPreviewDeviceType?"Desktop"===e.__experimentalGetPreviewDeviceType():!e.getPreviewDeviceType||"Desktop"===e.getPreviewDeviceType())}()}function j(e){const o=e.post_types||[];if(o.length){o.push("wp_block");const e=acf.get("postType");if(!o.includes(e))return!1}if("string"==typeof e.icon&&"t===e.category)).pop()||(e.category="common"),e=acf.parseArgs(e,{title:"",name:"",category:"",api_version:2,acf_block_version:1});for(const t in e.attributes)0===e.attributes[t].default.length&&delete e.attributes[t].default;e.supports.anchor&&(e.attributes.anchor={type:"string"});let a=L,s=q;var l;(e.supports.alignText||e.supports.align_text)&&(e.attributes=Z(e.attributes,"align_text","string"),a=function(e,t){const o=Q;return t.alignText=o(t.alignText),class extends g{render(){const{attributes:t,setAttributes:a}=this.props,{alignText:s}=t;return(0,n.createElement)(m,null,(0,n.createElement)(r,{group:"block"},(0,n.createElement)(c,{value:o(s),onChange:function(e){a({alignText:o(e)})}})),(0,n.createElement)(e,i({},this.props)))}}}(a,e)),(e.supports.alignContent||e.supports.align_content)&&(e.attributes=Z(e.attributes,"align_content","string"),a=function(e,o){let a,s,l=o.supports.align_content||o.supports.alignContent;return"matrix"===l?(a=v||k,s=K):(a=p,s=G),a===t?(console.warn(`The "${l}" alignment component was not found.`),e):(o.alignContent=s(o.alignContent),class extends g{render(){const{attributes:t,setAttributes:o}=this.props,{alignContent:l}=t;return(0,n.createElement)(m,null,(0,n.createElement)(r,{group:"block"},(0,n.createElement)(a,{label:acf.__("Change content alignment"),value:s(l),onChange:function(e){o({alignContent:s(e)})}})),(0,n.createElement)(e,i({},this.props)))}})}(a,e)),(e.supports.fullHeight||e.supports.full_height)&&(e.attributes=Z(e.attributes,"full_height","boolean"),l=a,e.blockType,a=x?class extends g{render(){const{attributes:e,setAttributes:t}=this.props,{fullHeight:o}=e;return(0,n.createElement)(m,null,(0,n.createElement)(r,{group:"block"},(0,n.createElement)(x,{isActive:o,onToggle:function(e){t({fullHeight:e})}})),(0,n.createElement)(l,i({},this.props)))}}:l),e.edit=e=>(0,n.createElement)(a,i({},e)),e.save=()=>(0,n.createElement)(s,null),S[e.name]=e;const u=wp.blocks.registerBlockType(e.name,e);return u.attributes.anchor&&(u.attributes.anchor={type:"string"}),u}function O(e){return"core/block-editor"===e?wp.data.select("core/block-editor")||wp.data.select("core/editor"):wp.data.select(e)}const P={},R={};function I(t){const{attributes:r={},context:n={},query:o={},clientId:s=null,delay:l=0}=t,c=a(JSON.stringify(i(i(i({},r),n),o))),p=P[c]||{query:{},timeout:!1,promise:e.Deferred(),started:!1};return p.query=i(i({},p.query),o),p.started||(clearTimeout(p.timeout),p.timeout=setTimeout((()=>{p.started=!0,R[c]?(P[c]=null,p.promise.resolve.apply(R[c][0],R[c][1])):e.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",cache:!1,data:acf.prepareForAjax({action:"acf/ajax/fetch-block",block:JSON.stringify(r),clientId:s,context:JSON.stringify(n),query:p.query})}).always((()=>{P[c]=null})).done((function(){R[c]=[this,arguments],p.promise.resolve.apply(this,arguments)})).fail((function(){p.promise.reject.apply(this,arguments)}))}),l),P[c]=p),p.promise}function D(e,t){return JSON.stringify(e)===JSON.stringify(t)}function M(e,t,r=0){const o=function(e,t){switch(e){case"innerblocks":return t<2?s:"ACFInnerBlocks";case"script":return X;case"#comment":return null;default:e=H(e)}return e}(e.nodeName.toLowerCase(),t);if(!o)return null;const a={};if(1===r&&"ACFInnerBlocks"!==o&&(a.ref=React.createRef()),acf.arrayArgs(e.attributes).map(F).forEach((({name:e,value:t})=>{a[e]=t})),"ACFInnerBlocks"===o)return(0,n.createElement)(z,i({},a));const l=[o,a];return acf.arrayArgs(e.childNodes).forEach((e=>{if(e instanceof Text){const t=e.textContent;t&&l.push(t)}else l.push(M(e,t,r+1))})),React.createElement.apply(this,l)}function H(e){return acf.isget(acf,"jsxNameReplacements",e)||e}function z(e){const{className:t="acf-innerblocks-container"}=e,r=w({className:t},e);return(0,n.createElement)("div",i({},r),r.children)}function F(e){let t=e.name,r=e.value,n=acf.applyFilters("acf_blocks_parse_node_attr",!1,e);if(n)return n;switch(t){case"class":t="className";break;case"style":const e={};r.split(";").forEach((t=>{const r=t.indexOf(":");if(r>0){let n=t.substr(0,r).trim();const o=t.substr(r+1).trim();"-"!==n.charAt(0)&&(n=acf.strCamelCase(n)),e[n]=o}})),r=e;break;default:if(0===t.indexOf("data-"))break;t=H(t);const n=r.charAt(0);"["!==n&&"{"!==n||(r=JSON.parse(r)),"true"!==r&&"false"!==r||(r="true"===r)}return{name:t,value:r}}acf.parseJSX=(t,r)=>(t=(t=""+t+"
").replace(/]+)?\/>/," "),M(e(t)[0],r,0).props.children);const N=b((e=>class extends g{constructor(e){super(e);const{name:r,attributes:n}=this.props,o=E(r);if(!o)return;Object.keys(n).forEach((e=>{""===n[e]&&delete n[e]}));const i={full_height:"fullHeight",align_content:"alignContent",align_text:"alignText"};Object.keys(i).forEach((e=>{n[e]!==t?n[i[e]]=n[e]:n[i[e]]===t&&o[e]!==t&&(n[i[e]]=o[e]),delete o[e],delete n[e]}));for(let e in o.attributes)n[e]===t&&o[e]!==t&&(n[e]=o[e])}render(){return(0,n.createElement)(e,i({},this.props))}}),"withDefaultAttributes");function q(){return(0,n.createElement)(s.Content,null)}wp.hooks.addFilter("editor.BlockListBlock","acf/with-default-attributes",N);class L extends g{constructor(e){super(e),this.setup()}setup(){const{name:e,attributes:t,clientId:r}=this.props,n=E(e);function o(e){e.includes(t.mode)||(t.mode=e[0])}if(T(r)||_()||B()||C())o(["preview"]);else switch(n.mode){case"edit":o(["edit","preview"]);break;case"preview":o(["preview","edit"]);break;default:o(["auto"])}}render(){const{name:e,attributes:t,setAttributes:a,clientId:s}=this.props,l=E(e),c=T(s)||_()||B()||C();let{mode:p}=t;c&&(p="preview");let f=l.supports.mode;("auto"===p||c)&&(f=!1);const h="preview"===p?acf.__("Switch to Edit"):acf.__("Switch to Preview"),g="preview"===p?"edit":"welcome-view-site";return(0,n.createElement)(m,null,(0,n.createElement)(r,null,f&&(0,n.createElement)(u,null,(0,n.createElement)(d,{className:"components-icon-button components-toolbar__control",label:h,icon:g,onClick:function(){a({mode:"preview"===p?"edit":"preview"})}}))),(0,n.createElement)(o,null,"preview"===p&&(0,n.createElement)("div",{className:"acf-block-component acf-block-panel"},(0,n.createElement)(V,i({},this.props)))),(0,n.createElement)(U,i({},this.props)))}}const U=y(((e,t)=>{const{clientId:r}=t,n=e("core/block-editor").getBlockRootClientId(r);return{index:e("core/block-editor").getBlockIndex(r,n)}}))((function(e){const{attributes:t,isSelected:r,name:o}=e,{mode:a}=t;let s=!0,c="acf-block-component acf-block-body";return("auto"===a&&!r||"preview"===a)&&(c+=" acf-block-preview",s=!1),A(o)>1?(0,n.createElement)("div",i({},l({className:c})),s?(0,n.createElement)(V,i({},e)):(0,n.createElement)(Y,i({},e))):(0,n.createElement)("div",i({},l()),(0,n.createElement)("div",{className:"acf-block-component acf-block-body"},s?(0,n.createElement)(V,i({},e)):(0,n.createElement)(Y,i({},e))))}));class $ extends g{render(){return(0,n.createElement)("div",{dangerouslySetInnerHTML:{__html:this.props.children}})}}class X extends g{render(){return(0,n.createElement)("div",{ref:e=>this.el=e})}setHTML(t){e(this.el).html(`