Advanced Custom Fields - Version 5.11

Version Description

Release Date - 10 November 2021

  • View Release Post
  • New - Fields can now be viewed and updated with the WordPress REST API (props @mishterk)
  • New - License key can now be defined in code with the "ACF_PRO_LICENSE" constant
  • Enhancement - Improved error handling for expired or deactivated licenses
  • Enhancement - Improved support for various block editor features, such as block styles and padding/spacing
  • Enhancement - Added support for using WordPress "Screen Options" to hide field groups in Classic Editor
  • Enhancement - Support filters adding custom classes on date and time field inputs
  • Enhancement - Support filtering ACF shortcode attributes (with the "shortcode_atts_acf" filter)
  • Fix - Removed usages of PHP "extract()" function
  • Fix - Fixed a security issue with user field
  • Fix - Fixed a security issue with "acf_get_value()"
  • Fix - Correctly set ".acf-block-preview" wrapper when previewing a block in auto mode
  • Fix - Resolved an issue with select2 rendering for nav menu fields
  • Fix - Fixed an issue with file validation that occurred when removing a file that failed validation
  • Fix - Fixed a notice in "acf_prepare_field()"
  • Fix - Prevented an issue where setting an empty string for the return format of date and time fields would cause JS errors
  • Fix - Fix issues with conditional logic for multi-select fields (props @bhujagendra-ishaya)
  • Fix - Added support for Google Maps schema change which prevented Google Maps fields from correctly saving the city for some areas
  • Fix - Fixed an issue where removing the collapsed property of a repeater prevents viewing previously collapsed rows
  • i18n - Updated Polish Translations (props @webnatural)
  • Dev - Formatted JavaScript to WordPress code standards
Download this release

Release Info

Developer deliciousbrains
Plugin Icon 128x128 Advanced Custom Fields
Version 5.11
Comparing to
See all releases

Code changes from version 5.10.2 to 5.11

acf.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Advanced Custom Fields
4
  Plugin URI: https://www.advancedcustomfields.com
5
  Description: Customize WordPress with powerful, professional and intuitive fields.
6
- Version: 5.10.2
7
  Author: Delicious Brains
8
  Author URI: https://www.advancedcustomfields.com
9
  Text Domain: acf
@@ -19,7 +19,7 @@ if ( ! class_exists( 'ACF' ) ) :
19
  class ACF {
20
 
21
  /** @var string The plugin version number. */
22
- var $version = '5.10.2';
23
 
24
  /** @var array The plugin settings array. */
25
  var $settings = array();
@@ -97,6 +97,9 @@ if ( ! class_exists( 'ACF' ) ) :
97
  'select2_version' => 4,
98
  'row_index_offset' => 1,
99
  'remove_wp_meta_box' => true,
 
 
 
100
  );
101
 
102
  // Include utility functions.
@@ -142,6 +145,7 @@ if ( ! class_exists( 'ACF' ) ) :
142
  acf_include( 'includes/updates.php' );
143
  acf_include( 'includes/upgrades.php' );
144
  acf_include( 'includes/validation.php' );
 
145
 
146
  // Include ajax.
147
  acf_include( 'includes/ajax/class-acf-ajax.php' );
3
  Plugin Name: Advanced Custom Fields
4
  Plugin URI: https://www.advancedcustomfields.com
5
  Description: Customize WordPress with powerful, professional and intuitive fields.
6
+ Version: 5.11
7
  Author: Delicious Brains
8
  Author URI: https://www.advancedcustomfields.com
9
  Text Domain: acf
19
  class ACF {
20
 
21
  /** @var string The plugin version number. */
22
+ var $version = '5.11';
23
 
24
  /** @var array The plugin settings array. */
25
  var $settings = array();
97
  'select2_version' => 4,
98
  'row_index_offset' => 1,
99
  'remove_wp_meta_box' => true,
100
+ 'rest_api_enabled' => true,
101
+ 'rest_api_format' => 'light',
102
+ 'rest_api_embed_links' => true,
103
  );
104
 
105
  // Include utility functions.
145
  acf_include( 'includes/updates.php' );
146
  acf_include( 'includes/upgrades.php' );
147
  acf_include( 'includes/validation.php' );
148
+ acf_include( 'includes/rest-api.php' );
149
 
150
  // Include ajax.
151
  acf_include( 'includes/ajax/class-acf-ajax.php' );
assets/build/css/acf-dark.css CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  /*--------------------------------------------------------------------------------------------
2
  *
3
  * Dark mode
@@ -313,4 +316,6 @@
313
  border-color: #191f25;
314
  color: #fff;
315
  background: transparent;
316
- }
 
 
1
+ /*!***************************************************************************************************************************************************************************************************************!*\
2
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-dark.scss ***!
3
+ \***************************************************************************************************************************************************************************************************************/
4
  /*--------------------------------------------------------------------------------------------
5
  *
6
  * Dark mode
316
  border-color: #191f25;
317
  color: #fff;
318
  background: transparent;
319
+ }
320
+
321
+ /*# sourceMappingURL=acf-dark.css.map*/
assets/build/css/acf-dark.css.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /******/ (function() { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/
4
+ /******/
5
+ /******/ })()
6
+ ;
assets/build/css/acf-dark.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"acf-dark.css","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_dark.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-dark.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n* Dark mode\n* \n* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/\n* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Dark Mode Colours.\n$white: #ffffff;\n$black: #000000;\n$blue: #0073aa;\n$medium-blue: #00a0d2;\n$clear: transparent;\n\n$accent-red: #dc3232;\n$accent-orange: #f56e28;\n$accent-yellow: #ffb900;\n$accent-green: #46b450;\n$accent-blue: $blue;\n$accent-purple: #826eb4;\n\n$base-grey: #23282d;\n$light-grey: #bbc8d4;\n$heavy-grey: #37444c;\n$dark-grey: #32373c;\n$ultra-grey: #191f25;\n$dark-silver: #50626f;\n$base-blue: #2e74aa;\n$light-blue: #4092d2;\n$dark-blue: #2c5f88;\n$ultra-blue: #1f3f58;\n$bright-blue: #30ceff;\n\n$editor-lavender: #c678dd;\n$editor-sunglo: #e06c75;\n$editor-olivine: #98c379;\n\n// Custom variables.\n$body_text: \t\t\t#bbc8d4;\n$body_background: \t\t#23282d;\n$body_background2: \t\t#191f25;\n$postbox_background: \t#32373c;\n$postbox_border: \t\t#191f25;\n$postbox_divider: \t\t#23282d;\n$input_background: \t\t#50626f;\n$input_text: \t\t\t#fff;\n$input_border: \t\t\t#191f25;\n\n// Mixins.\n@mixin dark-text() {\n\tcolor: $body_text;\n}\n@mixin dark-heading() {\n\tcolor: $body_text;\n}\n@mixin dark-border() {\n\tborder-color: $postbox_border;\n}\n@mixin dark-background() {\n\tbackground: $body_background;\n}\n@mixin darker-background() {\n\tbackground: darken($body_background, 5%);\n}\n@mixin dark-postbox() {\n\tbackground-color: $postbox_background;\n\tborder-color: $postbox_border;\n\tcolor: $body_text;\n}\n@mixin dark-postbox-block() {\n\tbackground-color: #2d3136;\n\tborder-color: $postbox_divider;\n}\n@mixin dark-divider() {\n\tborder-color: $postbox_divider;\n}\n@mixin dark-input() {\n\tbackground-color: $input_background;\n\tborder-color: $input_border;\n\tcolor: $input_text;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n\n// acf-box\n.acf-box {\n\t@include dark-postbox();\n\t\t\t\n\t.title,\n\t.footer {\n\t\t@include dark-divider();\n\t}\n\t\n\th2 {\n\t\t@include dark-heading();\n\t}\n\t\n\ttable, tbody, tr {\n\t\tbackground: transparent !important;\n\t}\n}\n\n// thead\n.acf-thead {\n\t@include dark-heading();\n\t@include dark-border();\n}\n.acf-tfoot {\n\t@include dark-postbox-block();\n}\n\n// table clear\n.acf-table.-clear,\n.acf-table.-clear tr {\n\tbackground: transparent !important;\n}\n\n// loading overlay\n.acf-loading-overlay {\n\tbackground: rgba(0,0,0,0.5);\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fields\n*\n*---------------------------------------------------------------------------------------------*/\n\n// fields\n.acf-fields {\n\t\n\t// field\n\t> .acf-field {\n\t\t@include dark-divider();\n\t}\n}\n\n// fields (left)\n.acf-fields.-left {\n\t\n\t> .acf-field {\n\t\t&:before {\n\t\t\tbackground: rgba(0,0,0,0.1);\n\t\t\t@include dark-divider();\n\t\t}\n\t}\n}\n\n// fields (border)\n.acf-fields.-border {\n\t@include dark-postbox();\n}\n\n// width\n.acf-field[data-width] + .acf-field[data-width] {\n\t@include dark-divider();\n}\n\n// text\n.acf-input-prepend, \n.acf-input-append {\n\t@include dark-postbox();\n}\n\n// tab\n.acf-tab-wrap {\n\t\n}\n\n.acf-fields > .acf-tab-wrap {\n\t@include dark-postbox();\n\t\n\t.acf-tab-group {\n\t\t@include dark-postbox-block();\n\t\t\n\t\tli {\n\t\t\ta {\n\t\t\t\t@include dark-postbox-block();\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\t@include dark-postbox-block();\n\t\t\t\t\t@include dark-text();\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t&.active a {\n\t\t\t\t@include dark-postbox();\n\t\t\t}\n\t\t}\n\t}\n}\n\n.acf-fields.-sidebar {\n\t&:before {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n.acf-fields.-sidebar.-left {\n\t&:before {\n\t\t@include dark-postbox-block();\n\t\tbackground: $body_background;\n\t}\n\t> .acf-tab-wrap.-left {\n\t\t.acf-tab-group li a {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t\t\n\t\t.acf-tab-group li.active a {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n}\n\n// file\n.acf-file-uploader {\n\t\n\t.show-if-value {\n\t\t@include dark-postbox();\n\t\t\n\t\t.file-icon {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n}\n\n// acf-oembed\n.acf-oembed {\n\t@include dark-postbox-block();\n\t\n\t.title {\n\t\t@include dark-input();\n\t}\n}\n\n// gallery\n.acf-gallery {\n\t@include dark-postbox-block();\n\t\n\t.acf-gallery-main {\n\t\t@include dark-background();\n\t}\n\t\n\t.acf-gallery-attachment {\n\t\t.margin {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\t\n\t\t\n\t.acf-gallery-side {\n\t\t@include dark-postbox-block();\n\t\t\n\t\t.acf-gallery-side-info {\n\t\t\t@include dark-postbox-block();\n\t\t}\n\t}\n\t\n\t.acf-gallery-toolbar {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n// button group\n.acf-button-group {\n\t\n\tlabel:not(.selected) {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n// switch\n.acf-switch:not(.-on) {\n\t@include dark-postbox-block();\n\t.acf-switch-slider {\n\t\t@include dark-input();\n\t}\n}\n\n// link\n.acf-link .link-wrap {\n\t@include dark-postbox-block();\n}\n\n// relationship\n.acf-relationship {\n\t.filters {\n\t\t@include dark-postbox();\n\t}\n\t.selection {\n\t\t@include dark-postbox-block();\n\t\t.choices,\n\t\t.choices-list,\n\t\t.values {\n\t\t\t@include dark-postbox-block();\t\n\t\t}\n\t}\n}\n\n// checkbox\n.acf-taxonomy-field .categorychecklist-holder {\n\t@include dark-postbox-block();\n}\n\n// google map\n.acf-google-map {\n\t@include dark-postbox-block();\n\t\n\t.title {\n\t\t@include dark-input();\n\t}\n}\n\n// accordion\n.acf-accordion {\n\t@include dark-postbox();\n}\n.acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n\t@include dark-border();\n}\n\n// flexible content\n.acf-flexible-content {\n\t.layout {\n\t\t@include dark-postbox();\n\t\t\n\t\t.acf-fc-layout-handle {\n\t\t\t@include dark-postbox-block();\n\t\t\t\n\t\t\t.acf-fc-layout-order {\n\t\t\t\t@include dark-postbox();\n\t\t\t}\n\t\t}\n\t}\n}\n\n// repeater\n#wpbody .acf-table {\n\t@include dark-postbox-block();\n\t\n\t> tbody,\n\t> thead {\n\t\t> tr {\n\t\t\tbackground: transparent;\n\t\t\t\n\t\t\t> td,\n\t\t\t> th {\n\t\t\t\t@include dark-border();\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Select\n.acf-field select {\n\toptgroup, optgroup:nth-child(2n) {\n\t\tbackground: $input_background;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Group\n*\n*---------------------------------------------------------------------------------------------*/\n\n// fields\n#acf-field-group-fields {\n\t\n\t// field list\n\t.acf-field-list-wrap {\n\t\t@include dark-postbox();\n\t}\n\t\n\t.acf-field-list {\n\t\t.no-fields-message {\n\t\t\t@include dark-postbox();\n\t\t}\n\t}\n\t\n\t// field\n\t.acf-field-object {\n\t\t@include dark-postbox();\n\t\t@include dark-divider();\n\t\t\n\t\t\n\t\ttable, tbody, tr, td, th {\n\t\t\tbackground: transparent;\n\t\t\t@include dark-divider();\n\t\t}\n\t\t\n\t\t.acf-field {\n\t\t\t.acf-label {\n\t\t\t\t@include dark-postbox-block();\n\t\t\t}\n\t\t}\n\t\t\n\t\t// sortable\n\t\t&.ui-sortable-helper {\n\t\t\t@include dark-border();\n\t\t\tbox-shadow: none;\n\t\t}\n\t\t\n\t\t&.ui-sortable-placeholder {\n\t\t\t@include dark-postbox-block();\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\t\n\t.acf-field-object + .acf-field-object-tab::before,\n\t.acf-field-object + .acf-field-object-accordion::before {\n\t\t@include dark-postbox-block();\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin: Tools\n*\n*---------------------------------------------------------------------------------------------*/\n\n// tools\n.acf-meta-box-wrap {\n\t\n\t.acf-fields {\n\t\t@include dark-input();\n\t\tbackground: transparent;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n* Dark mode\n* \n* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/\n* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide\n*\n*--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* Global\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-box {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-box .title,\n.acf-box .footer {\n border-color: #23282d;\n}\n.acf-box h2 {\n color: #bbc8d4;\n}\n.acf-box table, .acf-box tbody, .acf-box tr {\n background: transparent !important;\n}\n\n.acf-thead {\n color: #bbc8d4;\n border-color: #191f25;\n}\n\n.acf-tfoot {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-table.-clear,\n.acf-table.-clear tr {\n background: transparent !important;\n}\n\n.acf-loading-overlay {\n background: rgba(0, 0, 0, 0.5);\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fields\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-fields > .acf-field {\n border-color: #23282d;\n}\n\n.acf-fields.-left > .acf-field:before {\n background: rgba(0, 0, 0, 0.1);\n border-color: #23282d;\n}\n\n.acf-fields.-border {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-field[data-width] + .acf-field[data-width] {\n border-color: #23282d;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-fields > .acf-tab-wrap {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background-color: #2d3136;\n border-color: #23282d;\n color: #bbc8d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-fields.-sidebar:before {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-fields.-sidebar.-left:before {\n background-color: #2d3136;\n border-color: #23282d;\n background: #23282d;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-file-uploader .show-if-value {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-file-uploader .show-if-value .file-icon {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-oembed {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-oembed .title {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-gallery {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-main {\n background: #23282d;\n}\n.acf-gallery .acf-gallery-attachment .margin {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-side {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-side .acf-gallery-side-info {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-gallery .acf-gallery-toolbar {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-button-group label:not(.selected) {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-switch:not(.-on) {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-switch:not(.-on) .acf-switch-slider {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-link .link-wrap {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-relationship .filters {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-relationship .selection {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-relationship .selection .choices,\n.acf-relationship .selection .choices-list,\n.acf-relationship .selection .values {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-taxonomy-field .categorychecklist-holder {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n.acf-google-map {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-google-map .title {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n}\n\n.acf-accordion {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n.acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n border-color: #191f25;\n}\n\n.acf-flexible-content .layout {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle {\n background-color: #2d3136;\n border-color: #23282d;\n}\n.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n\n#wpbody .acf-table {\n background-color: #2d3136;\n border-color: #23282d;\n}\n#wpbody .acf-table > tbody > tr,\n#wpbody .acf-table > thead > tr {\n background: transparent;\n}\n#wpbody .acf-table > tbody > tr > td,\n#wpbody .acf-table > tbody > tr > th,\n#wpbody .acf-table > thead > tr > td,\n#wpbody .acf-table > thead > tr > th {\n border-color: #191f25;\n}\n\n.acf-field select optgroup, .acf-field select optgroup:nth-child(2n) {\n background: #50626f;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Group\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-fields .acf-field-list-wrap {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n#acf-field-group-fields .acf-field-list .no-fields-message {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n}\n#acf-field-group-fields .acf-field-object {\n background-color: #32373c;\n border-color: #191f25;\n color: #bbc8d4;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object table, #acf-field-group-fields .acf-field-object tbody, #acf-field-group-fields .acf-field-object tr, #acf-field-group-fields .acf-field-object td, #acf-field-group-fields .acf-field-object th {\n background: transparent;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object .acf-field .acf-label {\n background-color: #2d3136;\n border-color: #23282d;\n}\n#acf-field-group-fields .acf-field-object.ui-sortable-helper {\n border-color: #191f25;\n box-shadow: none;\n}\n#acf-field-group-fields .acf-field-object.ui-sortable-placeholder {\n background-color: #2d3136;\n border-color: #23282d;\n box-shadow: none;\n}\n#acf-field-group-fields .acf-field-object + .acf-field-object-tab::before,\n#acf-field-group-fields .acf-field-object + .acf-field-object-accordion::before {\n background-color: #2d3136;\n border-color: #23282d;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin: Tools\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-meta-box-wrap .acf-fields {\n background-color: #50626f;\n border-color: #191f25;\n color: #fff;\n background: transparent;\n}"],"names":[],"sourceRoot":""}
assets/build/css/acf-dark.min.css CHANGED
@@ -1 +1 @@
1
- .acf-box{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-box .footer,.acf-box .title{border-color:#23282d}.acf-box h2{color:#bbc8d4}.acf-box table,.acf-box tbody,.acf-box tr{background:0 0!important}.acf-thead{color:#bbc8d4;border-color:#191f25}.acf-tfoot{background-color:#2d3136;border-color:#23282d}.acf-table.-clear,.acf-table.-clear tr{background:0 0!important}.acf-loading-overlay{background:rgba(0,0,0,.5)}.acf-fields>.acf-field{border-color:#23282d}.acf-fields.-left>.acf-field:before{background:rgba(0,0,0,.1);border-color:#23282d}.acf-fields.-border{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field[data-width]+.acf-field[data-width]{border-color:#23282d}.acf-input-append,.acf-input-prepend{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background-color:#2d3136;border-color:#23282d;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields.-sidebar:before{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left:before{background-color:#2d3136;border-color:#23282d;background:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background-color:#2d3136;border-color:#23282d}.acf-file-uploader .show-if-value{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-file-uploader .show-if-value .file-icon{background-color:#2d3136;border-color:#23282d}.acf-oembed{background-color:#2d3136;border-color:#23282d}.acf-oembed .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-gallery{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-main{background:#23282d}.acf-gallery .acf-gallery-attachment .margin{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side .acf-gallery-side-info{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-toolbar{background-color:#2d3136;border-color:#23282d}.acf-button-group label:not(.selected){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on) .acf-switch-slider{background-color:#50626f;border-color:#191f25;color:#fff}.acf-link .link-wrap{background-color:#2d3136;border-color:#23282d}.acf-relationship .filters{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-relationship .selection{background-color:#2d3136;border-color:#23282d}.acf-relationship .selection .choices,.acf-relationship .selection .choices-list,.acf-relationship .selection .values{background-color:#2d3136;border-color:#23282d}.acf-taxonomy-field .categorychecklist-holder{background-color:#2d3136;border-color:#23282d}.acf-google-map{background-color:#2d3136;border-color:#23282d}.acf-google-map .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-accordion{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-color:#191f25}.acf-flexible-content .layout{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-flexible-content .layout .acf-fc-layout-handle{background-color:#2d3136;border-color:#23282d}.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#wpbody .acf-table{background-color:#2d3136;border-color:#23282d}#wpbody .acf-table>tbody>tr,#wpbody .acf-table>thead>tr{background:0 0}#wpbody .acf-table>tbody>tr>td,#wpbody .acf-table>tbody>tr>th,#wpbody .acf-table>thead>tr>td,#wpbody .acf-table>thead>tr>th{border-color:#191f25}.acf-field select optgroup,.acf-field select optgroup:nth-child(2n){background:#50626f}#acf-field-group-fields .acf-field-list-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-list .no-fields-message{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-object{background-color:#32373c;border-color:#191f25;color:#bbc8d4;border-color:#23282d}#acf-field-group-fields .acf-field-object table,#acf-field-group-fields .acf-field-object tbody,#acf-field-group-fields .acf-field-object td,#acf-field-group-fields .acf-field-object th,#acf-field-group-fields .acf-field-object tr{background:0 0;border-color:#23282d}#acf-field-group-fields .acf-field-object .acf-field .acf-label{background-color:#2d3136;border-color:#23282d}#acf-field-group-fields .acf-field-object.ui-sortable-helper{border-color:#191f25;box-shadow:none}#acf-field-group-fields .acf-field-object.ui-sortable-placeholder{background-color:#2d3136;border-color:#23282d;box-shadow:none}#acf-field-group-fields .acf-field-object+.acf-field-object-accordion::before,#acf-field-group-fields .acf-field-object+.acf-field-object-tab::before{background-color:#2d3136;border-color:#23282d}.acf-meta-box-wrap .acf-fields{background-color:#50626f;border-color:#191f25;color:#fff;background:0 0}
1
+ .acf-box{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-box .title,.acf-box .footer{border-color:#23282d}.acf-box h2{color:#bbc8d4}.acf-box table,.acf-box tbody,.acf-box tr{background:transparent !important}.acf-thead{color:#bbc8d4;border-color:#191f25}.acf-tfoot{background-color:#2d3136;border-color:#23282d}.acf-table.-clear,.acf-table.-clear tr{background:transparent !important}.acf-loading-overlay{background:rgba(0,0,0,.5)}.acf-fields>.acf-field{border-color:#23282d}.acf-fields.-left>.acf-field:before{background:rgba(0,0,0,.1);border-color:#23282d}.acf-fields.-border{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field[data-width]+.acf-field[data-width]{border-color:#23282d}.acf-input-prepend,.acf-input-append{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background-color:#2d3136;border-color:#23282d;color:#bbc8d4}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-fields.-sidebar:before{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left:before{background-color:#2d3136;border-color:#23282d;background:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{background-color:#2d3136;border-color:#23282d}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background-color:#2d3136;border-color:#23282d}.acf-file-uploader .show-if-value{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-file-uploader .show-if-value .file-icon{background-color:#2d3136;border-color:#23282d}.acf-oembed{background-color:#2d3136;border-color:#23282d}.acf-oembed .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-gallery{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-main{background:#23282d}.acf-gallery .acf-gallery-attachment .margin{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-side .acf-gallery-side-info{background-color:#2d3136;border-color:#23282d}.acf-gallery .acf-gallery-toolbar{background-color:#2d3136;border-color:#23282d}.acf-button-group label:not(.selected){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on){background-color:#2d3136;border-color:#23282d}.acf-switch:not(.-on) .acf-switch-slider{background-color:#50626f;border-color:#191f25;color:#fff}.acf-link .link-wrap{background-color:#2d3136;border-color:#23282d}.acf-relationship .filters{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-relationship .selection{background-color:#2d3136;border-color:#23282d}.acf-relationship .selection .choices,.acf-relationship .selection .choices-list,.acf-relationship .selection .values{background-color:#2d3136;border-color:#23282d}.acf-taxonomy-field .categorychecklist-holder{background-color:#2d3136;border-color:#23282d}.acf-google-map{background-color:#2d3136;border-color:#23282d}.acf-google-map .title{background-color:#50626f;border-color:#191f25;color:#fff}.acf-accordion{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-color:#191f25}.acf-flexible-content .layout{background-color:#32373c;border-color:#191f25;color:#bbc8d4}.acf-flexible-content .layout .acf-fc-layout-handle{background-color:#2d3136;border-color:#23282d}.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#wpbody .acf-table{background-color:#2d3136;border-color:#23282d}#wpbody .acf-table>tbody>tr,#wpbody .acf-table>thead>tr{background:transparent}#wpbody .acf-table>tbody>tr>td,#wpbody .acf-table>tbody>tr>th,#wpbody .acf-table>thead>tr>td,#wpbody .acf-table>thead>tr>th{border-color:#191f25}.acf-field select optgroup,.acf-field select optgroup:nth-child(2n){background:#50626f}#acf-field-group-fields .acf-field-list-wrap{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-list .no-fields-message{background-color:#32373c;border-color:#191f25;color:#bbc8d4}#acf-field-group-fields .acf-field-object{background-color:#32373c;border-color:#191f25;color:#bbc8d4;border-color:#23282d}#acf-field-group-fields .acf-field-object table,#acf-field-group-fields .acf-field-object tbody,#acf-field-group-fields .acf-field-object tr,#acf-field-group-fields .acf-field-object td,#acf-field-group-fields .acf-field-object th{background:transparent;border-color:#23282d}#acf-field-group-fields .acf-field-object .acf-field .acf-label{background-color:#2d3136;border-color:#23282d}#acf-field-group-fields .acf-field-object.ui-sortable-helper{border-color:#191f25;box-shadow:none}#acf-field-group-fields .acf-field-object.ui-sortable-placeholder{background-color:#2d3136;border-color:#23282d;box-shadow:none}#acf-field-group-fields .acf-field-object+.acf-field-object-tab::before,#acf-field-group-fields .acf-field-object+.acf-field-object-accordion::before{background-color:#2d3136;border-color:#23282d}.acf-meta-box-wrap .acf-fields{background-color:#50626f;border-color:#191f25;color:#fff;background:transparent}
assets/build/css/acf-field-group.css CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  /*--------------------------------------------------------------------------------------------
2
  *
3
  * Vars
@@ -478,4 +481,6 @@ td.acf-input {
478
  background: transparent !important;
479
  padding-bottom: 0 !important;
480
  }
481
- }
 
 
1
+ /*!**********************************************************************************************************************************************************************************************************************!*\
2
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-field-group.scss ***!
3
+ \**********************************************************************************************************************************************************************************************************************/
4
  /*--------------------------------------------------------------------------------------------
5
  *
6
  * Vars
481
  background: transparent !important;
482
  padding-bottom: 0 !important;
483
  }
484
+ }
485
+
486
+ /*# sourceMappingURL=acf-field-group.css.map*/
assets/build/css/acf-field-group.css.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /******/ (function() { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/
4
+ /******/
5
+ /******/ })()
6
+ ;
assets/build/css/acf-field-group.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"acf-field-group.css","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_field-group.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-field-group.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tField Group\n*\n*--------------------------------------------------------------------------------------------*/\n\n// Reset postbox inner padding.\n#acf-field-group-fields > .inside,\n#acf-field-group-locations > .inside,\n#acf-field-group-options > .inside {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n// Hide metabox order buttons added in WP 5.5.\n.postbox {\n\t.handle-order-higher,\n\t.handle-order-lower {\n\t\tdisplay: none;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Publish\n*\n*---------------------------------------------------------------------------------------------*/\n#minor-publishing-actions,\n#misc-publishing-actions #visibility,\n#misc-publishing-actions .edit-timestamp {\n\tdisplay: none;\n}\n\n#minor-publishing {\n\tborder-bottom: 0 none;\n}\n\n#misc-pub-section {\n\tborder-bottom: 0 none;\n}\n\n#misc-publishing-actions .misc-pub-section {\n\tborder-bottom-color: #F5F5F5;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Fields\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-fields {\n\tborder: 0 none;\n box-shadow: none;\n \n\t// Hide metabox header.\n\t> .postbox-header,\n > .handlediv,\n\t> .hndle {\n\t\tdisplay: none;\n\t}\n\t\n\t/* links */\n\ta {\n\t\ttext-decoration: none;\n\t\t\n\t\t&:active,\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\t\n\t\n\t/* table header */\n\t.li-field-order { width: 20%; }\n\t.li-field-label { width: 30%; }\n\t.li-field-name { width: 25%; }\n\t.li-field-type { width: 25%; }\n\t.li-field-key { display: none; }\n\t\n\t\n\t/* show keys */\n\t&.show-field-keys {\n\t\t\n\t\t.li-field-label,\n\t\t.li-field-name,\n\t\t.li-field-type,\n\t\t.li-field-key { width: 20%; }\n\t\t.li-field-key { display: block; }\n\t}\n\t\n\t\n\t/* fields */\n\t.acf-field-list-wrap {\n\t\tborder: $wp-card-border solid 1px;\n\t}\n\t\n\t.acf-field-list {\n\t\tbackground: #f5f5f5;\n\t\tmargin-top: -1px;\n\t\t\n\t\t/* no fields */\n\t\t.no-fields-message {\n\t\t\tpadding: 15px 15px;\n\t\t\tbackground: #fff;\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t/* empty */\n\t\t&.-empty {\n\t\t\t.no-fields-message {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\t.acf-field-list-wrap {\n\t\t\tborder-color: $wp38-card-border-1;\n\t\t}\n\t}\n}\n\n\n/* field object */\n.acf-field-object {\n\tborder-top: $wp38-card-border-2 solid 1px;\n\tbackground: #fff;\n\t\n\t/* sortable */\n\t&.ui-sortable-helper {\n\t\tborder-top-color: #fff;\n\t\tbox-shadow: 0 0 0 1px #DFDFDF, 0 1px 4px rgba(0,0,0,0.1);\n\t}\n\t\n\t&.ui-sortable-placeholder {\n\t\tbox-shadow: 0 -1px 0 0 #DFDFDF;\n\t\tvisibility: visible !important;\n\t\tbackground: #F9F9F9;\n\t\tborder-top-color: transparent;\n\t\tmin-height: 54px;\n\t\t\n\t\t// hide tab field separator\n\t\t&:after, &:before {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\t\n\t\n\t/* meta */\n\t> .meta {\n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* handle */\n\t> .handle {\n\t\t\n\t\ta {\n\t\t\t-webkit-transition: none;\n\t\t\t-moz-transition: none;\n\t\t\t-o-transition: none; \t\n\t\t\ttransition: none;\n\t\t}\n\t\t\n\t\tli {\n\t\t\tpadding-top: 10px;\n\t\t\tpadding-bottom: 10px;\n\t\t\tword-wrap: break-word;\n\t\t}\n\t\t\n\t\t.acf-icon {\n\t\t\tmargin: 1px 0 0;\n\t\t\tcursor: move;\n\t\t\tbackground: transparent;\n\t\t\tfloat: left;\n\t\t\t\n\t\t\theight: 28px;\n\t\t line-height: 26px;\n\t\t width: 28px;\n\t\t font-size: 13px;\n\t\t color: #444;\n\t\t position: relative;\n\t\t z-index: 1;\n\t\t}\n\t\t\n\t\tstrong {\n\t\t\tdisplay: block;\n\t\t\tpadding-bottom: 6px;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 14px;\n\t\t\tmin-height: 14px;\n\t\t}\n\t\t\n\t\t.row-options {\n\t\t\tvisibility: hidden;\n\t\t\t\n\t\t\ta {\n\t\t\t\tmargin-right: 4px;\n\t\t\t}\n\t\t\t\n\t\t\ta.delete-field {\n\t\t\t\tcolor: #a00;\n\t\t\t\t\n\t\t\t\t&:hover { color: #f00; }\n\t\t\t}\n\t\t}\n\n\t}\n\t\n\t/* open */\n\t&.open {\n\t\t\n\t\t+ .acf-field-object {\n\t\t\tborder-top-color: #E1E1E1;\n\t\t}\n\t\t\n\t\t> .handle {\n\t\t\tbackground: $acf_blue;\n\t\t\tborder: darken($acf_blue, 2%) solid 1px;\n\t\t\ttext-shadow: #268FBB 0 1px 0;\n\t\t\tcolor: #fff;\n\t\t\tposition: relative;\n\t\t\tmargin: -1px -1px 0 -1px;\n\t\t\t\n\t\t\ta {\n\t\t\t\tcolor: #fff !important;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\ttext-decoration: underline !important;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t.acf-icon {\n\t\t\t\tborder-color: #fff;\n\t\t\t\tcolor: #fff;\n\t\t\t}\n\t\t\t\n\t\t\t.acf-required {\n\t\t\t\tcolor: #fff;\n\t\t\t}\n\t\t}\n\t}\n\t\n\n/*\n\t// debug\n\t&[data-save=\"meta\"] {\n\t\t> .handle {\n\t\t\tborder-left: #ffb700 solid 5px !important;\n\t\t}\n\t}\n\t\n\t&[data-save=\"settings\"] {\n\t\t> .handle {\n\t\t\tborder-left: #0ec563 solid 5px !important;\n\t\t}\n\t}\n*/\n\t\n\t\n\t/* hover */\n\t&:hover, &.-hover {\n\t\t\n\t\t> .handle {\n\t\t\t\n\t\t\t.row-options {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t\t\t\n\t\t}\n\t}\n\t\n\t\n\t/* settings */\n\t> .settings {\n\t\tdisplay: none;\n\t\twidth: 100%;\n\t\t\n\t\t> .acf-table {\n\t\t\tborder: none;\n\t\t}\n\t}\n\t\n\t\n\t/* conditional logic */\n\t.rule-groups {\n\t\tmargin-top: 20px;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Locations\n*\n*---------------------------------------------------------------------------------------------*/\n\n.rule-groups {\n\t\n\th4 {\n\t\tmargin: 3px 0;\n\t}\n\t\n\t.rule-group {\n\t\tmargin: 0 0 5px;\n\t\t\n\t\th4 {\n\t\t\tmargin: 0 0 3px;\n\t\t}\n\t\t\n\t\ttd.param {\n\t\t\twidth: 35%;\n\t\t}\n\t\t\n\t\ttd.operator {\n\t\t\twidth: 20%;\n\t\t}\n\t\t\n\t\ttd.add {\n\t\t\twidth: 40px;\n\t\t}\n\t\t\n\t\ttd.remove {\n\t\t\twidth: 28px;\n\t\t\tvertical-align: middle;\n\t\t\t\n\t\t\ta {\n\t\t\t\tvisibility: hidden;\n\t\t\t}\n\t\t}\n\t\t\n\t\ttr:hover td.remove a {\n\t\t\tvisibility: visible;\n\t\t}\n\t\t\n\t\t// empty select\n\t\tselect:empty {\n\t\t\tbackground: #f8f8f8;\n\t\t}\n\t}\n\n\n\t&:not(.rule-groups-multiple) {\n\t\t.rule-group {\n\t\t\t&:first-child tr:first-child td.remove a {\n\t\t\t\t/* Don't allow user to delete the only rule group */\n\t\t\t\tvisibility: hidden !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tOptions\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n#acf-field-group-options tr[data-name=\"hide_on_screen\"] li {\n\tfloat: left;\n\twidth: 33%;\n}\n\n@media (max-width: 1100px) {\n\t\n\t#acf-field-group-options tr[data-name=\"hide_on_screen\"] li {\n\t\twidth: 50%;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tConditional Logic\n*\t\n*---------------------------------------------------------------------------------------------*/\n\ntable.conditional-logic-rules {\n\tbackground: transparent;\n\tborder: 0 none;\n\tborder-radius: 0;\n}\n\ntable.conditional-logic-rules tbody td {\n\tbackground: transparent;\n\tborder: 0 none !important;\n\tpadding: 5px 2px !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Tab\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-tab {\n\t\n\t// hide setting\n\t.acf-field-setting-name,\n\t.acf-field-setting-instructions,\n\t.acf-field-setting-required,\n\t.acf-field-setting-warning,\n\t.acf-field-setting-wrapper {\n\t\tdisplay: none;\n\t}\n\t\n\t// hide name\n\t.li-field-name {\n\t\tvisibility: hidden;\n\t}\n\t\n\t// add spacer\n\t.acf-field-object + & {\n\t\t\n\t\t&:before {\n\t\t\tdisplay: block;\n\t\t\tcontent: \"\";\n\t\t\theight: 5px;\n\t\t\twidth: 100%;\n\t\t\tbackground: #f5f5f5;\n\t\t\tborder-top: #e1e1e1 solid 1px;\n\t\t\tborder-bottom: #e1e1e1 solid 1px;\n\t\t\tmargin-top: -1px;\n\t\t\t\n\t\t\t// WP Admin 3.8\n\t\t\t@include wp-admin('3-8') {\n\t\t\t\tborder-color: $wp38-card-border;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tp:first-child {\n\t\tmargin: 0.5em 0;\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Accordion\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-accordion {\n\t@extend .acf-field-object-tab;\n\t\n\t// show settings\n\t.acf-field-setting-instructions {\n\t\tdisplay: table-row;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Message\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-message tr[data-name=\"name\"],\n.acf-field-object-message tr[data-name=\"instructions\"],\n.acf-field-object-message tr[data-name=\"required\"] {\n\tdisplay: none !important;\n}\n\n.acf-field-object-message .li-field-name {\n\tvisibility: hidden;\n}\n\n.acf-field-object-message textarea {\n\theight: 175px !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Separator\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-separator tr[data-name=\"name\"],\n.acf-field-object-separator tr[data-name=\"instructions\"],\n.acf-field-object-separator tr[data-name=\"required\"] {\n\tdisplay: none !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Date Picker\n*\t\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-object-date-picker,\n.acf-field-object-time-picker,\n.acf-field-object-date-time-picker {\n\t\n\t.acf-radio-list {\n\t\t\n\t\tli {\n\t\t\tline-height: 25px;\n\t\t}\n\t\t\n\t\tspan {\n\t\t\tdisplay: inline-block;\n\t\t\tmin-width: 10em;\n\t\t}\n\t\t\n\t\tinput[type=\"text\"] {\n\t\t\twidth: 100px;\n\t\t}\n\t}\n\n}\n\n.acf-field-object-date-time-picker {\n\t\n\t.acf-radio-list {\n\t\t\n\t\tspan {\n\t\t\tmin-width: 15em;\n\t\t}\n\t\t\n\t\tinput[type=\"text\"] {\n\t\t\twidth: 200px;\n\t\t}\n\t}\n\t\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSlug\n*\n*--------------------------------------------------------------------------------------------*/\n\n#slugdiv {\n\t\n\t.inside {\n\t\tpadding: 12px;\n\t\tmargin: 0;\n\t}\n\t\n\tinput[type=\"text\"] {\n\t\twidth: 100%;\n\t\theight: 28px;\n\t\tfont-size: 14px;\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\n\nhtml[dir=\"rtl\"] .acf-field-object.open > .handle {\n\tmargin: -1px -1px 0;\n}\n\nhtml[dir=\"rtl\"] .acf-field-object.open > .handle .acf-icon {\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-field-object.open > .handle .li-field-order {\n padding-left: 0 !important;\n padding-right: 15px !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Device\n*\n*---------------------------------------------------------------------------------------------*/\n\n@media only screen and (max-width: 850px) {\n\t\n\ttr.acf-field,\n\ttd.acf-label,\n\ttd.acf-input {\n\t\tdisplay: block !important;\n\t\twidth: auto !important;\n\t\tborder: 0 none !important;\n\t}\n\t\n\ttr.acf-field {\n\t\tborder-top: #ededed solid 1px !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\ttd.acf-label {\n\t\tbackground: transparent !important;\n\t\tpadding-bottom: 0 !important;\n\n\t}\n\t\n}\n\n","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n*\tField Group\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-field-group-fields > .inside,\n#acf-field-group-locations > .inside,\n#acf-field-group-options > .inside {\n padding: 0;\n margin: 0;\n}\n\n.postbox .handle-order-higher,\n.postbox .handle-order-lower {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Publish\n*\n*---------------------------------------------------------------------------------------------*/\n#minor-publishing-actions,\n#misc-publishing-actions #visibility,\n#misc-publishing-actions .edit-timestamp {\n display: none;\n}\n\n#minor-publishing {\n border-bottom: 0 none;\n}\n\n#misc-pub-section {\n border-bottom: 0 none;\n}\n\n#misc-publishing-actions .misc-pub-section {\n border-bottom-color: #F5F5F5;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Fields\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-fields {\n border: 0 none;\n box-shadow: none;\n /* links */\n /* table header */\n /* show keys */\n /* fields */\n}\n#acf-field-group-fields > .postbox-header,\n#acf-field-group-fields > .handlediv,\n#acf-field-group-fields > .hndle {\n display: none;\n}\n#acf-field-group-fields a {\n text-decoration: none;\n}\n#acf-field-group-fields a:active, #acf-field-group-fields a:focus {\n outline: none;\n box-shadow: none;\n}\n#acf-field-group-fields .li-field-order {\n width: 20%;\n}\n#acf-field-group-fields .li-field-label {\n width: 30%;\n}\n#acf-field-group-fields .li-field-name {\n width: 25%;\n}\n#acf-field-group-fields .li-field-type {\n width: 25%;\n}\n#acf-field-group-fields .li-field-key {\n display: none;\n}\n#acf-field-group-fields.show-field-keys .li-field-label,\n#acf-field-group-fields.show-field-keys .li-field-name,\n#acf-field-group-fields.show-field-keys .li-field-type,\n#acf-field-group-fields.show-field-keys .li-field-key {\n width: 20%;\n}\n#acf-field-group-fields.show-field-keys .li-field-key {\n display: block;\n}\n#acf-field-group-fields .acf-field-list-wrap {\n border: #ccd0d4 solid 1px;\n}\n#acf-field-group-fields .acf-field-list {\n background: #f5f5f5;\n margin-top: -1px;\n /* no fields */\n /* empty */\n}\n#acf-field-group-fields .acf-field-list .no-fields-message {\n padding: 15px 15px;\n background: #fff;\n display: none;\n}\n#acf-field-group-fields .acf-field-list.-empty .no-fields-message {\n display: block;\n}\n.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap {\n border-color: #dfdfdf;\n}\n\n/* field object */\n.acf-field-object {\n border-top: #eeeeee solid 1px;\n background: #fff;\n /* sortable */\n /* meta */\n /* handle */\n /* open */\n /*\n \t// debug\n \t&[data-save=\"meta\"] {\n \t\t> .handle {\n \t\t\tborder-left: #ffb700 solid 5px !important;\n \t\t}\n \t}\n\n \t&[data-save=\"settings\"] {\n \t\t> .handle {\n \t\t\tborder-left: #0ec563 solid 5px !important;\n \t\t}\n \t}\n */\n /* hover */\n /* settings */\n /* conditional logic */\n}\n.acf-field-object.ui-sortable-helper {\n border-top-color: #fff;\n box-shadow: 0 0 0 1px #DFDFDF, 0 1px 4px rgba(0, 0, 0, 0.1);\n}\n.acf-field-object.ui-sortable-placeholder {\n box-shadow: 0 -1px 0 0 #DFDFDF;\n visibility: visible !important;\n background: #F9F9F9;\n border-top-color: transparent;\n min-height: 54px;\n}\n.acf-field-object.ui-sortable-placeholder:after, .acf-field-object.ui-sortable-placeholder:before {\n visibility: hidden;\n}\n.acf-field-object > .meta {\n display: none;\n}\n.acf-field-object > .handle a {\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n transition: none;\n}\n.acf-field-object > .handle li {\n padding-top: 10px;\n padding-bottom: 10px;\n word-wrap: break-word;\n}\n.acf-field-object > .handle .acf-icon {\n margin: 1px 0 0;\n cursor: move;\n background: transparent;\n float: left;\n height: 28px;\n line-height: 26px;\n width: 28px;\n font-size: 13px;\n color: #444;\n position: relative;\n z-index: 1;\n}\n.acf-field-object > .handle strong {\n display: block;\n padding-bottom: 6px;\n font-size: 14px;\n line-height: 14px;\n min-height: 14px;\n}\n.acf-field-object > .handle .row-options {\n visibility: hidden;\n}\n.acf-field-object > .handle .row-options a {\n margin-right: 4px;\n}\n.acf-field-object > .handle .row-options a.delete-field {\n color: #a00;\n}\n.acf-field-object > .handle .row-options a.delete-field:hover {\n color: #f00;\n}\n.acf-field-object.open + .acf-field-object {\n border-top-color: #E1E1E1;\n}\n.acf-field-object.open > .handle {\n background: #2a9bd9;\n border: #2696d3 solid 1px;\n text-shadow: #268FBB 0 1px 0;\n color: #fff;\n position: relative;\n margin: -1px -1px 0 -1px;\n}\n.acf-field-object.open > .handle a {\n color: #fff !important;\n}\n.acf-field-object.open > .handle a:hover {\n text-decoration: underline !important;\n}\n.acf-field-object.open > .handle .acf-icon {\n border-color: #fff;\n color: #fff;\n}\n.acf-field-object.open > .handle .acf-required {\n color: #fff;\n}\n.acf-field-object:hover > .handle .row-options, .acf-field-object.-hover > .handle .row-options {\n visibility: visible;\n}\n.acf-field-object > .settings {\n display: none;\n width: 100%;\n}\n.acf-field-object > .settings > .acf-table {\n border: none;\n}\n.acf-field-object .rule-groups {\n margin-top: 20px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Postbox: Locations\n*\n*---------------------------------------------------------------------------------------------*/\n.rule-groups h4 {\n margin: 3px 0;\n}\n.rule-groups .rule-group {\n margin: 0 0 5px;\n}\n.rule-groups .rule-group h4 {\n margin: 0 0 3px;\n}\n.rule-groups .rule-group td.param {\n width: 35%;\n}\n.rule-groups .rule-group td.operator {\n width: 20%;\n}\n.rule-groups .rule-group td.add {\n width: 40px;\n}\n.rule-groups .rule-group td.remove {\n width: 28px;\n vertical-align: middle;\n}\n.rule-groups .rule-group td.remove a {\n visibility: hidden;\n}\n.rule-groups .rule-group tr:hover td.remove a {\n visibility: visible;\n}\n.rule-groups .rule-group select:empty {\n background: #f8f8f8;\n}\n.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a {\n /* Don't allow user to delete the only rule group */\n visibility: hidden !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tOptions\n*\t\n*---------------------------------------------------------------------------------------------*/\n#acf-field-group-options tr[data-name=hide_on_screen] li {\n float: left;\n width: 33%;\n}\n\n@media (max-width: 1100px) {\n #acf-field-group-options tr[data-name=hide_on_screen] li {\n width: 50%;\n }\n}\n/*---------------------------------------------------------------------------------------------\n*\n*\tConditional Logic\n*\t\n*---------------------------------------------------------------------------------------------*/\ntable.conditional-logic-rules {\n background: transparent;\n border: 0 none;\n border-radius: 0;\n}\n\ntable.conditional-logic-rules tbody td {\n background: transparent;\n border: 0 none !important;\n padding: 5px 2px !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Tab\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-tab .acf-field-setting-name, .acf-field-object-accordion .acf-field-setting-name,\n.acf-field-object-tab .acf-field-setting-instructions,\n.acf-field-object-accordion .acf-field-setting-instructions,\n.acf-field-object-tab .acf-field-setting-required,\n.acf-field-object-accordion .acf-field-setting-required,\n.acf-field-object-tab .acf-field-setting-warning,\n.acf-field-object-accordion .acf-field-setting-warning,\n.acf-field-object-tab .acf-field-setting-wrapper,\n.acf-field-object-accordion .acf-field-setting-wrapper {\n display: none;\n}\n.acf-field-object-tab .li-field-name, .acf-field-object-accordion .li-field-name {\n visibility: hidden;\n}\n.acf-field-object + .acf-field-object-tab:before, .acf-field-object + .acf-field-object-accordion:before {\n display: block;\n content: \"\";\n height: 5px;\n width: 100%;\n background: #f5f5f5;\n border-top: #e1e1e1 solid 1px;\n border-bottom: #e1e1e1 solid 1px;\n margin-top: -1px;\n}\n.acf-admin-3-8 .acf-field-object + .acf-field-object-tab:before, .acf-admin-3-8 .acf-field-object + .acf-field-object-accordion:before {\n border-color: #E5E5E5;\n}\n.acf-field-object-tab p:first-child, .acf-field-object-accordion p:first-child {\n margin: 0.5em 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Accordion\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-accordion .acf-field-setting-instructions {\n display: table-row;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Message\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-message tr[data-name=name],\n.acf-field-object-message tr[data-name=instructions],\n.acf-field-object-message tr[data-name=required] {\n display: none !important;\n}\n\n.acf-field-object-message .li-field-name {\n visibility: hidden;\n}\n\n.acf-field-object-message textarea {\n height: 175px !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Separator\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-separator tr[data-name=name],\n.acf-field-object-separator tr[data-name=instructions],\n.acf-field-object-separator tr[data-name=required] {\n display: none !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tField: Date Picker\n*\t\n*---------------------------------------------------------------------------------------------*/\n.acf-field-object-date-picker .acf-radio-list li,\n.acf-field-object-time-picker .acf-radio-list li,\n.acf-field-object-date-time-picker .acf-radio-list li {\n line-height: 25px;\n}\n.acf-field-object-date-picker .acf-radio-list span,\n.acf-field-object-time-picker .acf-radio-list span,\n.acf-field-object-date-time-picker .acf-radio-list span {\n display: inline-block;\n min-width: 10em;\n}\n.acf-field-object-date-picker .acf-radio-list input[type=text],\n.acf-field-object-time-picker .acf-radio-list input[type=text],\n.acf-field-object-date-time-picker .acf-radio-list input[type=text] {\n width: 100px;\n}\n\n.acf-field-object-date-time-picker .acf-radio-list span {\n min-width: 15em;\n}\n.acf-field-object-date-time-picker .acf-radio-list input[type=text] {\n width: 200px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSlug\n*\n*--------------------------------------------------------------------------------------------*/\n#slugdiv .inside {\n padding: 12px;\n margin: 0;\n}\n#slugdiv input[type=text] {\n width: 100%;\n height: 28px;\n font-size: 14px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\nhtml[dir=rtl] .acf-field-object.open > .handle {\n margin: -1px -1px 0;\n}\n\nhtml[dir=rtl] .acf-field-object.open > .handle .acf-icon {\n float: right;\n}\n\nhtml[dir=rtl] .acf-field-object.open > .handle .li-field-order {\n padding-left: 0 !important;\n padding-right: 15px !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Device\n*\n*---------------------------------------------------------------------------------------------*/\n@media only screen and (max-width: 850px) {\n tr.acf-field,\ntd.acf-label,\ntd.acf-input {\n display: block !important;\n width: auto !important;\n border: 0 none !important;\n }\n\n tr.acf-field {\n border-top: #ededed solid 1px !important;\n margin-bottom: 0 !important;\n }\n\n td.acf-label {\n background: transparent !important;\n padding-bottom: 0 !important;\n }\n}"],"names":[],"sourceRoot":""}
assets/build/css/acf-field-group.min.css CHANGED
@@ -1 +1 @@
1
- #acf-field-group-fields>.inside,#acf-field-group-locations>.inside,#acf-field-group-options>.inside{padding:0;margin:0}.postbox .handle-order-higher,.postbox .handle-order-lower{display:none}#minor-publishing-actions,#misc-publishing-actions #visibility,#misc-publishing-actions .edit-timestamp{display:none}#minor-publishing{border-bottom:0 none}#misc-pub-section{border-bottom:0 none}#misc-publishing-actions .misc-pub-section{border-bottom-color:#f5f5f5}#acf-field-group-fields{border:0 none;box-shadow:none}#acf-field-group-fields>.handlediv,#acf-field-group-fields>.hndle,#acf-field-group-fields>.postbox-header{display:none}#acf-field-group-fields a{text-decoration:none}#acf-field-group-fields a:active,#acf-field-group-fields a:focus{outline:0;box-shadow:none}#acf-field-group-fields .li-field-order{width:20%}#acf-field-group-fields .li-field-label{width:30%}#acf-field-group-fields .li-field-name{width:25%}#acf-field-group-fields .li-field-type{width:25%}#acf-field-group-fields .li-field-key{display:none}#acf-field-group-fields.show-field-keys .li-field-key,#acf-field-group-fields.show-field-keys .li-field-label,#acf-field-group-fields.show-field-keys .li-field-name,#acf-field-group-fields.show-field-keys .li-field-type{width:20%}#acf-field-group-fields.show-field-keys .li-field-key{display:block}#acf-field-group-fields .acf-field-list-wrap{border:#ccd0d4 solid 1px}#acf-field-group-fields .acf-field-list{background:#f5f5f5;margin-top:-1px}#acf-field-group-fields .acf-field-list .no-fields-message{padding:15px 15px;background:#fff;display:none}#acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:block}.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap{border-color:#dfdfdf}.acf-field-object{border-top:#eee solid 1px;background:#fff}.acf-field-object.ui-sortable-helper{border-top-color:#fff;box-shadow:0 0 0 1px #dfdfdf,0 1px 4px rgba(0,0,0,.1)}.acf-field-object.ui-sortable-placeholder{box-shadow:0 -1px 0 0 #dfdfdf;visibility:visible!important;background:#f9f9f9;border-top-color:transparent;min-height:54px}.acf-field-object.ui-sortable-placeholder:after,.acf-field-object.ui-sortable-placeholder:before{visibility:hidden}.acf-field-object>.meta{display:none}.acf-field-object>.handle a{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-field-object>.handle li{padding-top:10px;padding-bottom:10px;word-wrap:break-word}.acf-field-object>.handle .acf-icon{margin:1px 0 0;cursor:move;background:0 0;float:left;height:28px;line-height:26px;width:28px;font-size:13px;color:#444;position:relative;z-index:1}.acf-field-object>.handle strong{display:block;padding-bottom:6px;font-size:14px;line-height:14px;min-height:14px}.acf-field-object>.handle .row-options{visibility:hidden}.acf-field-object>.handle .row-options a{margin-right:4px}.acf-field-object>.handle .row-options a.delete-field{color:#a00}.acf-field-object>.handle .row-options a.delete-field:hover{color:red}.acf-field-object.open+.acf-field-object{border-top-color:#e1e1e1}.acf-field-object.open>.handle{background:#2a9bd9;border:#2696d3 solid 1px;text-shadow:#268fbb 0 1px 0;color:#fff;position:relative;margin:-1px -1px 0 -1px}.acf-field-object.open>.handle a{color:#fff!important}.acf-field-object.open>.handle a:hover{text-decoration:underline!important}.acf-field-object.open>.handle .acf-icon{border-color:#fff;color:#fff}.acf-field-object.open>.handle .acf-required{color:#fff}.acf-field-object.-hover>.handle .row-options,.acf-field-object:hover>.handle .row-options{visibility:visible}.acf-field-object>.settings{display:none;width:100%}.acf-field-object>.settings>.acf-table{border:none}.acf-field-object .rule-groups{margin-top:20px}.rule-groups h4{margin:3px 0}.rule-groups .rule-group{margin:0 0 5px}.rule-groups .rule-group h4{margin:0 0 3px}.rule-groups .rule-group td.param{width:35%}.rule-groups .rule-group td.operator{width:20%}.rule-groups .rule-group td.add{width:40px}.rule-groups .rule-group td.remove{width:28px;vertical-align:middle}.rule-groups .rule-group td.remove a{visibility:hidden}.rule-groups .rule-group tr:hover td.remove a{visibility:visible}.rule-groups .rule-group select:empty{background:#f8f8f8}.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a{visibility:hidden!important}#acf-field-group-options tr[data-name=hide_on_screen] li{float:left;width:33%}@media (max-width:1100px){#acf-field-group-options tr[data-name=hide_on_screen] li{width:50%}}table.conditional-logic-rules{background:0 0;border:0 none;border-radius:0}table.conditional-logic-rules tbody td{background:0 0;border:0 none!important;padding:5px 2px!important}.acf-field-object-accordion .acf-field-setting-instructions,.acf-field-object-accordion .acf-field-setting-name,.acf-field-object-accordion .acf-field-setting-required,.acf-field-object-accordion .acf-field-setting-warning,.acf-field-object-accordion .acf-field-setting-wrapper,.acf-field-object-tab .acf-field-setting-instructions,.acf-field-object-tab .acf-field-setting-name,.acf-field-object-tab .acf-field-setting-required,.acf-field-object-tab .acf-field-setting-warning,.acf-field-object-tab .acf-field-setting-wrapper{display:none}.acf-field-object-accordion .li-field-name,.acf-field-object-tab .li-field-name{visibility:hidden}.acf-field-object+.acf-field-object-accordion:before,.acf-field-object+.acf-field-object-tab:before{display:block;content:"";height:5px;width:100%;background:#f5f5f5;border-top:#e1e1e1 solid 1px;border-bottom:#e1e1e1 solid 1px;margin-top:-1px}.acf-admin-3-8 .acf-field-object+.acf-field-object-accordion:before,.acf-admin-3-8 .acf-field-object+.acf-field-object-tab:before{border-color:#e5e5e5}.acf-field-object-accordion p:first-child,.acf-field-object-tab p:first-child{margin:.5em 0}.acf-field-object-accordion .acf-field-setting-instructions{display:table-row}.acf-field-object-message tr[data-name=instructions],.acf-field-object-message tr[data-name=name],.acf-field-object-message tr[data-name=required]{display:none!important}.acf-field-object-message .li-field-name{visibility:hidden}.acf-field-object-message textarea{height:175px!important}.acf-field-object-separator tr[data-name=instructions],.acf-field-object-separator tr[data-name=name],.acf-field-object-separator tr[data-name=required]{display:none!important}.acf-field-object-date-picker .acf-radio-list li,.acf-field-object-date-time-picker .acf-radio-list li,.acf-field-object-time-picker .acf-radio-list li{line-height:25px}.acf-field-object-date-picker .acf-radio-list span,.acf-field-object-date-time-picker .acf-radio-list span,.acf-field-object-time-picker .acf-radio-list span{display:inline-block;min-width:10em}.acf-field-object-date-picker .acf-radio-list input[type=text],.acf-field-object-date-time-picker .acf-radio-list input[type=text],.acf-field-object-time-picker .acf-radio-list input[type=text]{width:100px}.acf-field-object-date-time-picker .acf-radio-list span{min-width:15em}.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:200px}#slugdiv .inside{padding:12px;margin:0}#slugdiv input[type=text]{width:100%;height:28px;font-size:14px}html[dir=rtl] .acf-field-object.open>.handle{margin:-1px -1px 0}html[dir=rtl] .acf-field-object.open>.handle .acf-icon{float:right}html[dir=rtl] .acf-field-object.open>.handle .li-field-order{padding-left:0!important;padding-right:15px!important}@media only screen and (max-width:850px){td.acf-input,td.acf-label,tr.acf-field{display:block!important;width:auto!important;border:0 none!important}tr.acf-field{border-top:#ededed solid 1px!important;margin-bottom:0!important}td.acf-label{background:0 0!important;padding-bottom:0!important}}
1
+ #acf-field-group-fields>.inside,#acf-field-group-locations>.inside,#acf-field-group-options>.inside{padding:0;margin:0}.postbox .handle-order-higher,.postbox .handle-order-lower{display:none}#minor-publishing-actions,#misc-publishing-actions #visibility,#misc-publishing-actions .edit-timestamp{display:none}#minor-publishing{border-bottom:0 none}#misc-pub-section{border-bottom:0 none}#misc-publishing-actions .misc-pub-section{border-bottom-color:#f5f5f5}#acf-field-group-fields{border:0 none;box-shadow:none}#acf-field-group-fields>.postbox-header,#acf-field-group-fields>.handlediv,#acf-field-group-fields>.hndle{display:none}#acf-field-group-fields a{text-decoration:none}#acf-field-group-fields a:active,#acf-field-group-fields a:focus{outline:none;box-shadow:none}#acf-field-group-fields .li-field-order{width:20%}#acf-field-group-fields .li-field-label{width:30%}#acf-field-group-fields .li-field-name{width:25%}#acf-field-group-fields .li-field-type{width:25%}#acf-field-group-fields .li-field-key{display:none}#acf-field-group-fields.show-field-keys .li-field-label,#acf-field-group-fields.show-field-keys .li-field-name,#acf-field-group-fields.show-field-keys .li-field-type,#acf-field-group-fields.show-field-keys .li-field-key{width:20%}#acf-field-group-fields.show-field-keys .li-field-key{display:block}#acf-field-group-fields .acf-field-list-wrap{border:#ccd0d4 solid 1px}#acf-field-group-fields .acf-field-list{background:#f5f5f5;margin-top:-1px}#acf-field-group-fields .acf-field-list .no-fields-message{padding:15px 15px;background:#fff;display:none}#acf-field-group-fields .acf-field-list.-empty .no-fields-message{display:block}.acf-admin-3-8 #acf-field-group-fields .acf-field-list-wrap{border-color:#dfdfdf}.acf-field-object{border-top:#eee solid 1px;background:#fff}.acf-field-object.ui-sortable-helper{border-top-color:#fff;box-shadow:0 0 0 1px #dfdfdf,0 1px 4px rgba(0,0,0,.1)}.acf-field-object.ui-sortable-placeholder{box-shadow:0 -1px 0 0 #dfdfdf;visibility:visible !important;background:#f9f9f9;border-top-color:transparent;min-height:54px}.acf-field-object.ui-sortable-placeholder:after,.acf-field-object.ui-sortable-placeholder:before{visibility:hidden}.acf-field-object>.meta{display:none}.acf-field-object>.handle a{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-field-object>.handle li{padding-top:10px;padding-bottom:10px;word-wrap:break-word}.acf-field-object>.handle .acf-icon{margin:1px 0 0;cursor:move;background:transparent;float:left;height:28px;line-height:26px;width:28px;font-size:13px;color:#444;position:relative;z-index:1}.acf-field-object>.handle strong{display:block;padding-bottom:6px;font-size:14px;line-height:14px;min-height:14px}.acf-field-object>.handle .row-options{visibility:hidden}.acf-field-object>.handle .row-options a{margin-right:4px}.acf-field-object>.handle .row-options a.delete-field{color:#a00}.acf-field-object>.handle .row-options a.delete-field:hover{color:red}.acf-field-object.open+.acf-field-object{border-top-color:#e1e1e1}.acf-field-object.open>.handle{background:#2a9bd9;border:#2696d3 solid 1px;text-shadow:#268fbb 0 1px 0;color:#fff;position:relative;margin:-1px -1px 0 -1px}.acf-field-object.open>.handle a{color:#fff !important}.acf-field-object.open>.handle a:hover{text-decoration:underline !important}.acf-field-object.open>.handle .acf-icon{border-color:#fff;color:#fff}.acf-field-object.open>.handle .acf-required{color:#fff}.acf-field-object:hover>.handle .row-options,.acf-field-object.-hover>.handle .row-options{visibility:visible}.acf-field-object>.settings{display:none;width:100%}.acf-field-object>.settings>.acf-table{border:none}.acf-field-object .rule-groups{margin-top:20px}.rule-groups h4{margin:3px 0}.rule-groups .rule-group{margin:0 0 5px}.rule-groups .rule-group h4{margin:0 0 3px}.rule-groups .rule-group td.param{width:35%}.rule-groups .rule-group td.operator{width:20%}.rule-groups .rule-group td.add{width:40px}.rule-groups .rule-group td.remove{width:28px;vertical-align:middle}.rule-groups .rule-group td.remove a{visibility:hidden}.rule-groups .rule-group tr:hover td.remove a{visibility:visible}.rule-groups .rule-group select:empty{background:#f8f8f8}.rule-groups:not(.rule-groups-multiple) .rule-group:first-child tr:first-child td.remove a{visibility:hidden !important}#acf-field-group-options tr[data-name=hide_on_screen] li{float:left;width:33%}@media(max-width: 1100px){#acf-field-group-options tr[data-name=hide_on_screen] li{width:50%}}table.conditional-logic-rules{background:transparent;border:0 none;border-radius:0}table.conditional-logic-rules tbody td{background:transparent;border:0 none !important;padding:5px 2px !important}.acf-field-object-tab .acf-field-setting-name,.acf-field-object-accordion .acf-field-setting-name,.acf-field-object-tab .acf-field-setting-instructions,.acf-field-object-accordion .acf-field-setting-instructions,.acf-field-object-tab .acf-field-setting-required,.acf-field-object-accordion .acf-field-setting-required,.acf-field-object-tab .acf-field-setting-warning,.acf-field-object-accordion .acf-field-setting-warning,.acf-field-object-tab .acf-field-setting-wrapper,.acf-field-object-accordion .acf-field-setting-wrapper{display:none}.acf-field-object-tab .li-field-name,.acf-field-object-accordion .li-field-name{visibility:hidden}.acf-field-object+.acf-field-object-tab:before,.acf-field-object+.acf-field-object-accordion:before{display:block;content:"";height:5px;width:100%;background:#f5f5f5;border-top:#e1e1e1 solid 1px;border-bottom:#e1e1e1 solid 1px;margin-top:-1px}.acf-admin-3-8 .acf-field-object+.acf-field-object-tab:before,.acf-admin-3-8 .acf-field-object+.acf-field-object-accordion:before{border-color:#e5e5e5}.acf-field-object-tab p:first-child,.acf-field-object-accordion p:first-child{margin:.5em 0}.acf-field-object-accordion .acf-field-setting-instructions{display:table-row}.acf-field-object-message tr[data-name=name],.acf-field-object-message tr[data-name=instructions],.acf-field-object-message tr[data-name=required]{display:none !important}.acf-field-object-message .li-field-name{visibility:hidden}.acf-field-object-message textarea{height:175px !important}.acf-field-object-separator tr[data-name=name],.acf-field-object-separator tr[data-name=instructions],.acf-field-object-separator tr[data-name=required]{display:none !important}.acf-field-object-date-picker .acf-radio-list li,.acf-field-object-time-picker .acf-radio-list li,.acf-field-object-date-time-picker .acf-radio-list li{line-height:25px}.acf-field-object-date-picker .acf-radio-list span,.acf-field-object-time-picker .acf-radio-list span,.acf-field-object-date-time-picker .acf-radio-list span{display:inline-block;min-width:10em}.acf-field-object-date-picker .acf-radio-list input[type=text],.acf-field-object-time-picker .acf-radio-list input[type=text],.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:100px}.acf-field-object-date-time-picker .acf-radio-list span{min-width:15em}.acf-field-object-date-time-picker .acf-radio-list input[type=text]{width:200px}#slugdiv .inside{padding:12px;margin:0}#slugdiv input[type=text]{width:100%;height:28px;font-size:14px}html[dir=rtl] .acf-field-object.open>.handle{margin:-1px -1px 0}html[dir=rtl] .acf-field-object.open>.handle .acf-icon{float:right}html[dir=rtl] .acf-field-object.open>.handle .li-field-order{padding-left:0 !important;padding-right:15px !important}@media only screen and (max-width: 850px){tr.acf-field,td.acf-label,td.acf-input{display:block !important;width:auto !important;border:0 none !important}tr.acf-field{border-top:#ededed solid 1px !important;margin-bottom:0 !important}td.acf-label{background:transparent !important;padding-bottom:0 !important}}
assets/build/css/acf-global.css CHANGED
@@ -1,4 +1,6 @@
1
- @charset "UTF-8";
 
 
2
  /*--------------------------------------------------------------------------------------------
3
  *
4
  * Vars
@@ -336,89 +338,89 @@
336
  }
337
 
338
  .acf-icon.-plus:before {
339
- content: "";
340
  }
341
 
342
  .acf-icon.-minus:before {
343
- content: "";
344
  }
345
 
346
  .acf-icon.-cancel:before {
347
- content: "";
348
  }
349
 
350
  .acf-icon.-pencil:before {
351
- content: "";
352
  }
353
 
354
  .acf-icon.-location:before {
355
- content: "";
356
  }
357
 
358
  .acf-icon.-up:before {
359
- content: "";
360
  margin-top: -0.1em;
361
  }
362
 
363
  .acf-icon.-down:before {
364
- content: "";
365
  margin-top: 0.1em;
366
  }
367
 
368
  .acf-icon.-left:before {
369
- content: "";
370
  margin-left: -0.1em;
371
  }
372
 
373
  .acf-icon.-right:before {
374
- content: "";
375
  margin-left: 0.1em;
376
  }
377
 
378
  .acf-icon.-sync:before {
379
- content: "";
380
  }
381
 
382
  .acf-icon.-globe:before {
383
- content: "";
384
  margin-top: 0.1em;
385
  margin-left: 0.1em;
386
  }
387
 
388
  .acf-icon.-picture:before {
389
- content: "";
390
  }
391
 
392
  .acf-icon.-check:before {
393
- content: "";
394
  margin-left: -0.1em;
395
  }
396
 
397
  .acf-icon.-dot-3:before {
398
- content: "";
399
  margin-top: -0.1em;
400
  }
401
 
402
  .acf-icon.-arrow-combo:before {
403
- content: "";
404
  }
405
 
406
  .acf-icon.-arrow-up:before {
407
- content: "";
408
  margin-left: -0.1em;
409
  }
410
 
411
  .acf-icon.-arrow-down:before {
412
- content: "";
413
  margin-left: -0.1em;
414
  }
415
 
416
  .acf-icon.-search:before {
417
- content: "";
418
  }
419
 
420
  .acf-icon.-link-ext:before {
421
- content: "";
422
  }
423
 
424
  .acf-icon.-duplicate {
@@ -443,12 +445,12 @@
443
  }
444
 
445
  .acf-icon.-collapse:before {
446
- content: "";
447
  margin-left: -0.1em;
448
  }
449
 
450
  .-collapsed .acf-icon.-collapse:before {
451
- content: "";
452
  margin-left: -0.1em;
453
  }
454
 
@@ -1659,4 +1661,6 @@ html[dir=rtl] .acf-table > tbody > tr > td.order + td {
1659
  background-image: url(../../images/spinner@2x.gif);
1660
  background-size: 20px 20px;
1661
  }
1662
- }
 
 
1
+ /*!*****************************************************************************************************************************************************************************************************************!*\
2
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-global.scss ***!
3
+ \*****************************************************************************************************************************************************************************************************************/
4
  /*--------------------------------------------------------------------------------------------
5
  *
6
  * Vars
338
  }
339
 
340
  .acf-icon.-plus:before {
341
+ content: "\f543";
342
  }
343
 
344
  .acf-icon.-minus:before {
345
+ content: "\f460";
346
  }
347
 
348
  .acf-icon.-cancel:before {
349
+ content: "\f335";
350
  }
351
 
352
  .acf-icon.-pencil:before {
353
+ content: "\f464";
354
  }
355
 
356
  .acf-icon.-location:before {
357
+ content: "\f230";
358
  }
359
 
360
  .acf-icon.-up:before {
361
+ content: "\f343";
362
  margin-top: -0.1em;
363
  }
364
 
365
  .acf-icon.-down:before {
366
+ content: "\f347";
367
  margin-top: 0.1em;
368
  }
369
 
370
  .acf-icon.-left:before {
371
+ content: "\f341";
372
  margin-left: -0.1em;
373
  }
374
 
375
  .acf-icon.-right:before {
376
+ content: "\f345";
377
  margin-left: 0.1em;
378
  }
379
 
380
  .acf-icon.-sync:before {
381
+ content: "\f463";
382
  }
383
 
384
  .acf-icon.-globe:before {
385
+ content: "\f319";
386
  margin-top: 0.1em;
387
  margin-left: 0.1em;
388
  }
389
 
390
  .acf-icon.-picture:before {
391
+ content: "\f128";
392
  }
393
 
394
  .acf-icon.-check:before {
395
+ content: "\f147";
396
  margin-left: -0.1em;
397
  }
398
 
399
  .acf-icon.-dot-3:before {
400
+ content: "\f533";
401
  margin-top: -0.1em;
402
  }
403
 
404
  .acf-icon.-arrow-combo:before {
405
+ content: "\f156";
406
  }
407
 
408
  .acf-icon.-arrow-up:before {
409
+ content: "\f142";
410
  margin-left: -0.1em;
411
  }
412
 
413
  .acf-icon.-arrow-down:before {
414
+ content: "\f140";
415
  margin-left: -0.1em;
416
  }
417
 
418
  .acf-icon.-search:before {
419
+ content: "\f179";
420
  }
421
 
422
  .acf-icon.-link-ext:before {
423
+ content: "\f504";
424
  }
425
 
426
  .acf-icon.-duplicate {
445
  }
446
 
447
  .acf-icon.-collapse:before {
448
+ content: "\f142";
449
  margin-left: -0.1em;
450
  }
451
 
452
  .-collapsed .acf-icon.-collapse:before {
453
+ content: "\f140";
454
  margin-left: -0.1em;
455
  }
456
 
1661
  background-image: url(../../images/spinner@2x.gif);
1662
  background-size: 20px 20px;
1663
  }
1664
+ }
1665
+
1666
+ /*# sourceMappingURL=acf-global.css.map*/
assets/build/css/acf-global.css.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /******/ (function() { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/
4
+ /******/
5
+ /******/ })()
6
+ ;
assets/build/css/acf-global.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"acf-global.css","mappings":";;;AAAA;;;;8FAAA;AAMA;AAOA;AAQA;ACrBA;;;;8FAAA;ACCA;;;;8FAAA;AAMA;AACA;EAAU;EAAY;EAAW;EAAkB;EAAgB;ACiBnE;;ADhBA;EAAe;EAAa;EAAgB;EAAW;ACuBvD;;ADtBA;EAAsB;AC0BtB;;ADvBA;AACA;;;EAGI;EACA;EACA;AC0BJ;;ADxBA;;;EAGI;AC2BJ;;ADvBA;AACA;EAAU;EAAY;EAAW;EAAkB;EAAgB;AC+BnE;;AD9BA;EAAe;EAAgB;EAAW;EAAY;ACqCtD;;ADlCA;AACA;EACC;ACqCD;;ADnCA;EACC;ACsCD;ADrCC;EAAI;ACwCL;;ADrCA;AACA;EAAU;ACyCV;;ADxCA;EAAU;AC4CV;;AD3CA;EAAU;AC+CV;;AD5CA;AACA;EAAU;ACgDV;;AD/CA;EAAU;ACmDV;;ADlDA;EAAU;ACsDV;;ADnDA;AACA;;EAEC;EACA;EACA;EACA;EACA;ACsDD;;ADlDA;AACA;EACC;ACqDD;;ADlDA;EACC;ACqDD;;ADjDA;AACA;EACC;ACoDD;;ADhDA;AACA;EACC;ACmDD;;AD/CA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;ACiDD;;AD9CA;EACC;EACA;EACA;EACA;EAEA;EACA;ACgDD;;AD5CA;AACA;EAAiB;ACgDjB;;AD/CA;EAAiB;ACmDjB;;ADjDA;EAA4B;ACqD5B;;ADpDA;EAA4B;ACwD5B;;ADtDA;AACA;EACC;EACA;EACA;EACA;ACyDD;;ADrDA;;;;+FAAA;AAMA;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EAUA;AC4CJ;ADrDI;EACC;EACA;EACA;EACA;EACA;ACuDL;ADlDI;EACC;ACoDL;ADlDK;EACF;EACA;EACA;EACA;EACA;ACoDH;ADhDI;EACC;ACkDL;ADhDK;EACF;EACA;EACA;EACA;EACA;ACkDH;AD9CI;EACA;ACgDJ;AD9CI;EACD;EACA;EACA;EACA;EACA;ACgDH;AD5CI;EACA;AC8CJ;AD5CI;EACD;EACA;EACA;EACA;EACA;AC8CH;AD1CI;EACF;AC4CF;;ADtCA;AACA;EACC;ACyCD;ADvCC;EACC;EACA;ACyCF;ADvCE;EACC;ACyCH;ADtCE;EACC;ACwCH;;ADnCA;EACC;EACA;EACA;EACA;EACA;EACA;ACsCD;;ADnCA;EACC;EACA;ACsCD;;ADlCA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACqCD;ADnCC;ED7OA;EACA;EACA;EACA;AEmRD;;ADnCA;;;;8FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACsCD;ADpCC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACsCF;;ADjCA;EACC;ACoCD;;ADlCA;EACC;ACqCD;;ADnCA;EACC;ACsCD;;ADpCA;EACC;ACuCD;;ADrCA;EACC;ACwCD;;ADtCA;EACC;EAGA;ACuCD;;ADrCA;EACC;EAGA;ACsCD;;ADpCA;EACC;EAGA;ACqCD;;ADnCA;EACC;EAGA;ACoCD;;ADlCA;EACC;ACqCD;;ADnCA;EACC;EAGA;EACA;ACoCD;;ADlCA;EACC;ACqCD;;ADnCA;EACC;EAGA;ACoCD;;ADlCA;EACC;EAGA;ACmCD;;ADjCA;EACC;ACoCD;;ADlCA;EACC;EAGA;ACmCD;;ADjCA;EACC;EAGA;ACkCD;;ADhCA;EACC;ACmCD;;ADjCA;EACC;ACoCD;;ADhCA;EACC;ACmCD;ADlCC;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACmCF;ADjCC;EACC;EACA;ACmCF;ADjCC;EACC;ACmCF;;AD7BA;EACC;EAGA;AC8BD;;AD5BA;EACC;EAGA;AC6BD;;ADzBA;EACC;EACA;EACA;AC4BD;;ADxBA;EACC;EACA;EACA;EACA;EACA;EACA;AC2BD;ADxBC;EACC;EACA;EACA;AC0BF;ADxBC;EAEC;EACA;EACA;ACyBF;ADrBC;EAEC;EACA;ACsBF;;ADjBA;EACC;EACA;EACA;ACoBD;;ADhBA;EACC;EACA;EACA;ACmBD;;ADfA;EACC;EACA;EACA;ACkBD;;ADfC;EACC;EACA;ACkBF;ADhBC;EAEC;ACiBF;;ADZA;EACC;EACA;EACA;ACeD;ADbC;EACC;EACA;ACeF;ADbC;EAEC;ACcF;;ADTA;;EAEC;EACA;EACA;EACA;ACYD;ADPE;;;EAEC;ACUH;;ADLA;;;;8FAAA;AAKA;EACI;EACA;EACA;EACA;EAEA;EA6CH;ACrCD;ADPI;EACF;EACG;EACA;ACSL;ADPE;EACC;EACG;EACA;EACA;ACSN;ADJC;EACI;ACML;ADHC;EACC;EACG;EACA;EACA;EACA;ACKL;ADFC;EACC;ACIF;ADDC;EACC;ACGF;ADAC;EACC;ACEF;ADEE;EACC;ACAH;ADKC;EACI;EACA;EACA;EACA;ACHL;ADKK;EACC;ACHN;AFniBC;EC4iBC,qBFrjBiB;AG+iBnB;ADOE;;EAEC,qBFxjBgB;AGmjBnB;;ADUA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA,mBFjmBY;EEkmBZ;ACRD;ADUC;EACC;EACA;EACA;EACA;EACA;ACRF;ADWC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACTF;ADUE;EACC;ACRH;ADaC;EACC;ACXF;ADeC;EACC,mBF/nBU;EEgoBV;ACbF;ADiBC;EACC,mBFpoBY;EEqoBZ;ACfF;ADmBC;EACC,mBFzoBY;EE0oBZ;ACjBF;;ADsBA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACG;EACA;EACA;EAEA;EAqBA;EAmBA;EAuBA;ACjFJ;ADsBK;;;EACF;EACA;EACA;EACA;EACG;EACA;AClBN;ADqBE;;EACC;EACA;AClBH;AD6BG;EACI,qBF5qBY;EE6qBf;AC3BJ;AD6BI;EACC;AC3BL;ADuCK;EACF;ACrCH;ADuCG;EACC,qBF/rBe;EEgsBf;ACrCJ;ADuCI;EACC;ACrCL;ADyCG;EACC;ACvCJ;AD+CI;EACC;AC7CL;ADkDM;;;EACC;EACH;AC9CJ;;ADqDA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;ACnDD;;ADuDA;AACA;EACC;EACA;EACA;EACA;EAEA;EACA;ACrDD;;ADwDA;;;;+FAAA;AAMA;;;EAGC;EACA;EACA;ACtDD;ADwDC;;;EACC;EACA;EACA;EACA;ACpDF;;ADwDA;EACC;EACA;ACrDD;ADuDC;EACC;EACA;EACA;ACrDF;AFhtBC;EC0wBC,qBFlxBmB;AG2tBrB;;AD2DA;EACC;EACA;ACxDD;;AD2DA;;;;8FAAA;AAQC;EACC;AC3DF;AD8DC;EACC;AC5DF;AD+DC;EACC;AC7DF;AD+DE;EACC;AC7DH;;ADoEA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AClED;ADqEC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACnEF;ADsEC;EACC;EACA;EACA;EACA;ACpEF;ADwEC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACtEF;AFzxBC;EACC;AE2xBF;ADuEE;EACC;EACA;ACrEH;ADwEG;EACC;EACA;EACA;ACtEJ;ADyEI;EACC;EACA;ACvEL;AD4EE;EACC;EAGA;EACA;AC5EH;ADgFE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC9EH;ADgFG;EDt5BF;EACA;EACA;EACA;AEy0BD;;ADoFA;EACC;EACA;ACjFD;ADoFC;EACC;EACA;AClFF;ADoFE;EACC;AClFH;ADuFC;EACC;ACrFF;;ADyFA;;;;8FAAA;AAMA;EACC;EACA;EACA;EACA;ACvFD;AFr3BC;EACC;EACA;EACA;AEu3BF;ADqFC;EACC;EACA;EACA;ACnFF;ADsFC;EACC;EACA;EACA;ACpFF;ADuFC;EACC;EACA;EACA;EACA;ACrFF;ADwFC;EACC;EACA;ACtFF;ADyFC;EACC;EACA;ACvFF;AD0FC;EACC;ACxFF;AD4FC;EAEC;;IAEC;IACA;IACA;IACA;EC3FD;AACF;;ADgGA;;;;8FAAA;AAQC;EACC;EACA;AChGF;ADmGC;EACC;EACA;ACjGF;ADoGC;EACI;EACA;EACA;EACA;EACA;AClGL;ADqGC;EACI;ACnGL;ADqGK;EACC;ACnGN;ADuGC;EACC;EACA;ACrGF;ADuGE;EACC;ACrGH;ADyGC;EACC;EACA;EACA;ACvGF;ADyGE;EACC;EACA;EACA;EACA;ACvGH;ADyGG;EAND;IAOE;ECtGF;AACF;ADwGG;EAVD;IAWE;ECrGF;AACF;ADwGE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACtGH;ADyGE;EACC;ACvGH;;AD4GA;;;;8FAAA;AAMA;EACC;EACA;AC1GD;AD4GC;EACC;EAEA;EACA;EACA;AC3GF;;ADiHA;AACA;EAA8B;AC7G9B;;AD8GA;EAA8B;AC1G9B;;AD2GA;EAA8B;ACvG9B;;AD0GA;AACA;EAEC;IACC;IACA;IACA;ECxGA;ED0GA;IACC;IACA;ECxGD;AACF;ADgHA;;;;8FAAA;AAMA;EACC;EACA;EAEA;EAUA;ACzHD;ADgHC;EACC;EACA;EACA;EACA;EACA;AC9GF;ADoHE;EACC;EACA;AClHH;;ADwHA;AAEC;EAAK;EAAc;ACpHpB;;ADwHA;;;;8FAAA;AAMA;EAA0B;ACrH1B;;ADsHA;EAA0B;AClH1B;;ADoHA;EACC;ACjHD;;ADoHA;EACI;ACjHJ;;ADoHA;EACC;EACA;ACjHD;;ADqHA;EACC;EACA;EACA;AClHD;;ADqHA;EACC;EACA;EACA;AClHD;;ADqHA;;EAEC;AClHD;;ADqHA;EACC;AClHD;;ADsHA;;;;+FAAA;AAMA;EAEC;EACA;EACA;EACA;EACA;ACrHD;AFpmCC;EACC;EACA;EACA;AEsmCF;ADkHC;;EDntCA;EACA;EACA;ECotCC;AC9GF;ADiHC;EACC;EACA;AC/GF;ADkHC;EACC;EACA;EACA;AChHF;ADkHE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,mBF9tCgB;AG8mCnB;ADsHE;EACC,mBF/tCkB;AG2mCrB;;ADyHA;AACA;EAEC;IACC;ECvHA;EDyHA;;IAEC;IACA;IACA;IACA;ECvHD;ED0HA;IACC;ECxHD;ED0HC;IACC;ECxHF;AACF;AD8HA;;;;+FAAA;AAMA;EACC;EACA;EACA;EAoBA;EAUA;EAOA;AC/JD;AD4HC;EACC;EACA;EACA;EACA;EACA;AC1HF;AD4HE;EACC;AC1HH;AD8HC;EACC;EACA;EACA;AC5HF;ADkIE;EACC;AChIH;ADuIC;EACC;EACA;ACrIF;AD0IC;EACC;ACxIF;AD0IE;EACC;EACA;ACxIH;AD2IE;EACC;ACzIH;AFpqCC;ECmzCC,qBF3zCmB;AG+qCrB;;ADiJA;;;;+FAAA;AAQC;EACC;ACjJF;;ADqJA;EACC;EA6BA;AC9KD;ADmJC;EDn2CA;EACA;EACA;AEmtCD;ADiJE;EACC;AC/IH;ADkJE;EACC;EACA;EACA;EACA;EAGA;EACA;EACA;AClJH;ADqJE;;;EAGC;ACnJH;ADyJC;EACC;EACA;EACA;ACvJF;;AD4JA;AACA;EACC;EACA;ACzJD;AD2JC;EACC;EACA;EACA;EACA;ACzJF;AD2JE;EACC;ACzJH;AD4JE;EACC;EACA;EACA;AC1JH;;ADgKA;AACA;EAEC;IACC;IACA;EC9JA;EDgKA;IACC;IACA;IACA;EC9JD;AACF;ADmKA;AACA;EA0BC;AC1LD;ADkKC;EACC;AChKF;ADmKC;EACC;ACjKF;ADoKC;EACC;EACA;AClKF;ADqKC;EACC;EACA;EACA;EAEA;EACA;EACA;EACA;ACpKF;ADyKE;EACC;ACvKH;;AD4KA;;;;+FAAA;AAKA;EACC;EACA;EACA;ACzKD;AD2KC;EACC;EACA;EACA;EACA;EACA;ACzKF;AD2KE;EACC;EACA;ACzKH;AD6KC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AC3KF;AD6KE;EACC;EACA;AC3KH;AD6KE;EACC;AC3KH;AD6KE;EACC;AC3KH;AD+KC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC7KF;AD+KE;EACC;EACA;AC7KH;ADgLE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC9KH;ADmLC;EACC;EACA;ACjLF;ADqLC;EACC;IACC;ECnLD;AACF;;ADuLA;;;;+FAAA;AAQC;EACC;ACvLF;AD2LC;EACC;ACzLF;ADgME;EACC;AC9LH;ADkME;EACC;AChMH;ADoME;EACC;IAAoB;ECjMrB;AACF;ADoMG;EACC;EACA;EACA;EACA;AClMJ;AD0MC;EACC;ACxMF;;AD2MA;EACC;EACA;ACxMD;AD0MC;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACzMF;AD2MC;EACC;EACA;EACA;EACA;EACA;EACA;ACzMF;;AD+MA;EACC;AC5MD;AD6MC;EACC;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACG;EACA;EACA;AC9ML;ADgNI;EACC;EACA;EACA;EACA;EAEA;EACH;EACA;EAEG;EACA;AChNL;ADoNE;EACC;AClNH;;AD0NC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACvNF;ADyNE;EACC;EACA;ACvNH;AD0NE;;EAEC;EACA;ACxNH;AD4NC;EACC;EACA;EACA;EACA;EACA;EACA;AC1NF;AD6NC;EACC;AC3NF;AD6NE;EACC;AC3NH;AD8NE;EACC;EACA;AC5NH;ADgOE;EACC;AC9NH;ADiOE;EACC;AC/NH;ADoOC;EACC;IACC;EClOD;EDoOA;IACC;EClOD;AACF;;ADsOA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACnOD;ADqOC;;;EAGC;EACA;EACA;EACA;ACnOF;ADsOC;EACC;EACA;EACA;ACpOF;ADsOE;EACC;EACA;EACA;ACpOH;ADsOE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACpOH;ADqOG;EACC;ACnOJ;ADwOC;EACC;EACA;EACA;EACA;EACA;ACtOF;ADyOC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACvOF;ADyOE;EACC;EACA;ACvOH;AD2OC;EACC;EACA;EACA;EACA;ACzOF;AD2OE;EACC;ACzOH;AD8OC;EAjFD;IAkFE;IACA;IACA;IACA;EC3OA;AACF;;AD8OA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC3OD;;AD+OA;;;;+FAAA;AAMA;EAQC;;IAEC;IACA;ECpPA;AACF,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_global.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-global.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","@use \"sass:math\";\n/*--------------------------------------------------------------------------------------------\n*\n* Global\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* Horizontal List */\n.acf-hl { padding: 0; margin: 0; list-style: none; display: block; position: relative; }\n.acf-hl > li { float: left; display: block; margin: 0; padding: 0; }\n.acf-hl > li.acf-fr { float: right; }\n\n\n/* Horizontal List: Clearfix */\n.acf-hl:before, .acf-hl:after,\n.acf-bl:before, .acf-bl:after,\n.acf-cf:before, .acf-cf:after {\n content: \"\";\n display: block;\n line-height: 0;\n}\n.acf-hl:after,\n.acf-bl:after,\n.acf-cf:after {\n clear: both;\n}\n\n\n/* Block List */\n.acf-bl { padding: 0; margin: 0; list-style: none; display: block; position: relative; }\n.acf-bl > li { display: block; margin: 0; padding: 0; float: none; }\n\n\n/* Visibility */\n.acf-hidden { \n\tdisplay: none !important;\n}\n.acf-empty {\n\tdisplay: table-cell !important;\n\t* { display: none !important; }\n}\n\n/* Float */\n.acf-fl { float: left; }\n.acf-fr { float: right; }\n.acf-fn { float: none; }\n\n\n/* Align */\n.acf-al { text-align: left; }\n.acf-ar { text-align: right; }\n.acf-ac { text-align: center; }\n\n\n/* loading */\n.acf-loading,\n.acf-spinner {\n\tdisplay: inline-block;\n\theight: 20px;\n\twidth: 20px;\n\tvertical-align: text-top;\n\tbackground: transparent url(../../images/spinner.gif) no-repeat 50% 50%;\n}\n\n\n/* spinner */\n.acf-spinner {\n\tdisplay: none;\n}\n\n.acf-spinner.is-active {\n\tdisplay: inline-block;\n}\n\n\n/* WP < 4.2 */\n.spinner.is-active {\n\tdisplay: inline-block;\n}\n\n\n/* required */\n.acf-required {\n\tcolor: #f00;\n}\n\n\n/* show on hover */\n.acf-soh .acf-soh-target {\n\t-webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\t-moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n\t-o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; \t\n\ttransition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s; \n\t\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.acf-soh:hover .acf-soh-target {\n\t-webkit-transition-delay:0s;\n\t-moz-transition-delay:0s;\n\t-o-transition-delay:0s;\n\ttransition-delay:0s;\n\t\n\tvisibility: visible;\n\topacity: 1;\n}\n\n\n/* show if value */\n.show-if-value { display: none; }\n.hide-if-value { display: block; }\n\n.has-value .show-if-value { display: block; }\n.has-value .hide-if-value { display: none; }\n\n/* select2 WP animation fix */\n.select2-search-choice-close {\n\t-webkit-transition: none;\n\t-moz-transition: none;\n\t-o-transition: none; \t\n\ttransition: none;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* tooltip\n*\n*---------------------------------------------------------------------------------------------*/\n\n/* tooltip */\n.acf-tooltip {\n background: #2F353E;\n border-radius: 5px;\n color: #fff;\n padding: 5px 10px;\n position: absolute;\n font-size: 12px;\n line-height: 1.4em;\n z-index: 900000;\n \n \n /* tip */\n &:before {\n\t border: solid;\n\t border-color: transparent;\n\t border-width: 6px;\n\t content: \"\";\n\t position: absolute;\n\t}\n \n \n /* positions */\n &.top {\n\t margin-top: -8px;\n\t \n\t &:before {\n\t\t\ttop: 100%;\n\t\t\tleft: 50%;\n\t\t\tmargin-left: -6px;\n\t\t\tborder-top-color: #2F353E;\n\t\t\tborder-bottom-width: 0;\n\t\t}\n }\n \n &.right {\n\t margin-left: 8px;\n\t \n\t &:before {\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -6px;\n\t\t\tright: 100%;\n\t\t\tborder-right-color: #2F353E;\n\t\t\tborder-left-width: 0;\n\t\t}\n }\n \n &.bottom {\n\t margin-top: 8px;\n\t \n\t &:before {\n\t\t\tbottom: 100%;\n\t\t\tleft: 50%;\n\t\t\tmargin-left: -6px;\n\t\t\tborder-bottom-color: #2F353E;\n\t\t\tborder-top-width: 0;\n\t\t}\n }\n \n &.left {\n\t margin-left: -8px;\n\t \n\t &:before {\n\t\t\ttop: 50%;\n\t\t\tmargin-top: -6px;\n\t\t\tleft: 100%;\n\t\t\tborder-left-color: #2F353E;\n\t\t\tborder-right-width: 0;\n\t\t}\n }\n \n .acf-overlay {\n\t\tz-index: -1;\n\t}\n \n}\n\n\n/* confirm */\n.acf-tooltip.-confirm {\n\tz-index: 900001; // +1 higher than .acf-tooltip\n\t\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: #9ea3a8;\n\t\t\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t\t\n\t\t&[data-event=\"confirm\"] {\n\t\t\tcolor: #F55E4F;\n\t\t}\n\t}\n}\n\n.acf-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tcursor: default;\n}\n\n.acf-tooltip-target {\n\tposition: relative;\n\tz-index: 900002; // +1 higher than .acf-tooltip\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* loading\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-loading-overlay {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tcursor: default;\n\tz-index: 99;\n\tbackground: rgba(249, 249, 249, 0.5);\n\t\n\ti {\n\t\t@include centered();\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-icon\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-icon {\n\tdisplay: inline-block;\n\theight: 28px;\n\twidth: 28px;\n\tborder: transparent solid 1px;\n\tborder-radius: 100%;\n\tfont-size: 20px;\n\tline-height: 21px;\n\ttext-align: center;\n\ttext-decoration: none;\n\tvertical-align: top;\n\tbox-sizing: border-box;\n\n\t&:before {\n\t\tfont-family: dashicons;\n\t\tdisplay: inline-block;\n\t\tline-height: 1;\n\t\tfont-weight: 400;\n\t\tfont-style: normal;\n\t\tspeak: none;\n\t\ttext-decoration: inherit;\n\t\ttext-transform: none;\n\t\ttext-rendering: auto;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\twidth: 1em;\n\t\theight: 1em;\n\t\tvertical-align: middle;\n\t\ttext-align: center;\n\t}\n}\n\n// Icon types.\n.acf-icon.-plus:before { \n\tcontent: \"\\f543\";\n}\n.acf-icon.-minus:before { \n\tcontent: \"\\f460\";\n}\n.acf-icon.-cancel:before { \n\tcontent: \"\\f335\";\n}\n.acf-icon.-pencil:before { \n\tcontent: \"\\f464\";\n}\n.acf-icon.-location:before { \n\tcontent: \"\\f230\";\n}\n.acf-icon.-up:before { \n\tcontent: \"\\f343\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(-2em, 20);\n}\n.acf-icon.-down:before { \n\tcontent: \"\\f347\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(2em, 20);\n}\n.acf-icon.-left:before { \n\tcontent: \"\\f341\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-right:before { \n\tcontent: \"\\f345\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(2em, 20);\n}\n.acf-icon.-sync:before { \n\tcontent: \"\\f463\";\n}\n.acf-icon.-globe:before { \n\tcontent: \"\\f319\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(2em, 20);\n\tmargin-left: math.div(2em, 20);\n}\n.acf-icon.-picture:before { \n\tcontent: \"\\f128\";\n}\n.acf-icon.-check:before { \n\tcontent: \"\\f147\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-dot-3:before { \n\tcontent: \"\\f533\";\n\n\t// Fix position relative to font-size.\n\tmargin-top: math.div(-2em, 20);\n}\n.acf-icon.-arrow-combo:before { \n\tcontent: \"\\f156\";\n}\n.acf-icon.-arrow-up:before { \n\tcontent: \"\\f142\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-arrow-down:before { \n\tcontent: \"\\f140\";\n\t\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.acf-icon.-search:before { \n\tcontent: \"\\f179\";\n}\n.acf-icon.-link-ext:before { \n\tcontent: \"\\f504\";\n}\n\n// Duplicate is a custom icon made from pseudo elements.\n.acf-icon.-duplicate {\n\tposition: relative;\n\t&:before,\n\t&:after {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tbox-sizing: border-box;\n\t\twidth: 46%;\n\t\theight: 46%;\n\t\tposition: absolute;\n\t\ttop: 33%;\n\t\tleft: 23%;\n\t}\n\t&:before { \n\t\tmargin: -1px 0 0 1px;\n\t\tbox-shadow: 2px -2px 0px 0px currentColor;\n\t}\n\t&:after {\n\t\tborder: solid 2px currentColor;\n\t}\n}\n\n\n// Collapse icon toggles automatically.\n.acf-icon.-collapse:before {\n\tcontent: \"\\f142\";\n\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n.-collapsed .acf-icon.-collapse:before {\n\tcontent: \"\\f140\";\n\t\n\t// Fix position relative to font-size.\n\tmargin-left: math.div(-2em, 20);\n}\n\n// <span> displays with grey border.\nspan.acf-icon {\n\tcolor: #555d66;\n\tborder-color: #b5bcc2;\n\tbackground-color: #fff;\t\n}\n\n// <a> also displays with grey border.\na.acf-icon {\n\tcolor: #555d66;\n\tborder-color: #b5bcc2;\n\tbackground-color: #fff;\n\tposition: relative;\n\ttransition: none;\n\tcursor: pointer;\n\t\n\t// State \"hover\".\n\t&:hover {\n\t\tbackground: #f3f5f6;\n\t\tborder-color: #0071a1;\n\t\tcolor: #0071a1;\n\t}\n\t&.-minus:hover,\n\t&.-cancel:hover {\n\t\tbackground: #f7efef;\n\t\tborder-color: #a10000;\n\t\tcolor: #dc3232;\n\t}\n\t\n\t// Fix: Remove WP outline box-shadow.\n\t&:active,\n\t&:focus {\n\t\toutline: none;\n\t\tbox-shadow: none;\n\t}\n}\n\n// Style \"clear\".\n.acf-icon.-clear {\n\tborder-color: transparent;\n\tbackground: transparent;\n\tcolor: #444;\n}\n\n// Style \"light\".\n.acf-icon.light {\n\tborder-color: transparent;\n\tbackground: #F5F5F5;\n\tcolor: #23282d;\n}\n\n// Style \"dark\".\n.acf-icon.dark {\n\tborder-color: transparent !important;\n\tbackground: #23282D;\n\tcolor: #eee;\n}\na.acf-icon.dark {\n\t&:hover {\n\t\tbackground: #191E23;\n\t\tcolor: #00b9eb;\n\t}\n\t&.-minus:hover, \n\t&.-cancel:hover {\n\t\tcolor: #D54E21;\n\t}\n}\n\n// Style \"grey\".\n.acf-icon.grey {\n\tborder-color: transparent !important;\n\tbackground: #b4b9be;\n\tcolor: #fff !important;\n\n\t&:hover {\n\t\tbackground: #00A0D2;\n\t\tcolor: #fff;\n\t}\n\t&.-minus:hover, \n\t&.-cancel:hover {\n\t\tbackground: #32373C;\n\t}\n}\n\n// Size \"small\".\n.acf-icon.small,\n.acf-icon.-small {\n\twidth: 20px;\n\theight: 20px;\n\tline-height: 14px;\n\tfont-size: 14px;\n\n\t// Apply minor transforms to reduce clarirty of \"duplicate\" icon.\n\t// Helps to unify rendering with dashicons.\n\t&.-duplicate {\n\t\t&:before, &:after {\n\t\t\t//transform: rotate(0.1deg) scale(0.9) translate(-5%, 5%);\n\t\t\topacity: 0.8;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-box {\n background: #FFFFFF;\n border: 1px solid $wp-card-border;\n position: relative;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n \n /* title */\n .title {\n\t\tborder-bottom: 1px solid $wp-card-border;\n\t margin: 0;\n\t padding: 15px;\n\t\t\n\t\th3 {\n\t\t\tfont-size: 14px;\n\t\t line-height: 1em;\n\t\t margin: 0;\n\t\t padding: 0;\n\t\t}\n\t}\n\t\n\t\n\t.inner {\n\t padding: 15px;\n\t}\n\t\n\th2 {\n\t\tcolor: #333333;\n\t font-size: 26px;\n\t line-height: 1.25em;\n\t margin: 0.25em 0 0.75em;\n\t padding: 0;\n\t}\n\t\n\th3 {\n\t\tmargin: 1.5em 0 0;\n\t}\n\t\n\tp {\n\t\tmargin-top: 0.5em;\n\t}\n\t\n\ta {\n\t\ttext-decoration: none;\n\t}\n\t\n\ti {\n\t\t&.dashicons-external {\n\t\t\tmargin-top: -1px;\n\t\t}\n\t}\n\t\n\t/* footer */\n\t.footer {\n\t border-top: 1px solid $wp-card-border;\n\t padding: 12px;\n\t font-size: 13px;\n\t line-height: 1.5;\n\t \n\t p {\n\t\t margin: 0;\n\t }\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp38-card-border;\n\t\t.title,\n\t\t.footer {\n\t\t\tborder-color: $wp38-card-border;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-notice\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-notice {\n\tposition: relative;\n\tdisplay: block;\n\tcolor: #fff;\n\tmargin: 5px 0 15px;\n\tpadding: 3px 12px;\n\tbackground: $acf_notice;\n\tborder-left: darken($acf_notice, 10%) solid 3px;\n\t\n\tp {\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\t\tmargin: 0.5em 0;\n\t\ttext-shadow: none;\n\t\tcolor: inherit;\n\t}\n\t\n\t.acf-notice-dismiss {\n\t\tposition: absolute;\n\t\ttop: 9px;\n\t\tright: 12px;\n\t\tbackground: transparent !important;\n\t\tcolor: inherit !important;\n\t\tborder-color: #fff !important;\n\t\topacity: 0.75;\n\t\t&:hover {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\t\n\t// dismiss\n\t&.-dismiss {\n\t\tpadding-right: 40px;\n\t}\n\t\n\t// error\n\t&.-error {\n\t\tbackground: $acf_error;\n\t\tborder-color: darken($acf_error, 10%);\n\t}\n\t\n\t// success\n\t&.-success {\n\t\tbackground: $acf_success;\n\t\tborder-color: darken($acf_success, 10%);\n\t}\n\t\n\t// warning\n\t&.-warning {\n\t\tbackground: $acf_warning;\n\t\tborder-color: darken($acf_warning, 10%);\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-table {\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\tborder-spacing: 0;\n\tborder-radius: 0;\n\ttable-layout: auto;\n\tpadding: 0;\n\tmargin: 0;\n width: 100%;\n clear: both;\n box-sizing: content-box;\n \n /* defaults */\n > tbody > tr,\n\t> thead > tr {\n \t\n \t> th, > td {\n\t\t\tpadding: 8px;\n\t\t\tvertical-align: top;\n\t\t\tbackground: #fff;\n\t\t\ttext-align: left;\n\t\t border-style: solid;\n\t\t font-weight: normal;\n\t\t}\n\t\t\n\t\t> th {\n\t\t\tposition: relative;\n\t\t\tcolor: #333333;\n\t\t}\n\t\t\n }\n \n \n /* thead */\n > thead {\n\t \n\t > tr {\n\t\t \n\t\t\t> th {\n\t\t\t border-color: $wp-card-border-1;\n\t\t\t\tborder-width: 0 0 1px 1px;\n\t\t\t\t\n\t\t\t\t&:first-child {\n\t\t\t\t\tborder-left-width: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t }\n\t \n }\n \n \n /* tbody */\n > tbody {\n\t \n\t > tr {\n\t\t\tz-index: 1;\n\t\t\t\n\t\t\t> td {\n\t\t\t\tborder-color: $wp-card-border-2;\n\t\t\t\tborder-width: 1px 0 0 1px;\n\t\t\t\t\n\t\t\t\t&:first-child {\n\t\t\t\t\tborder-left-width: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t&:first-child > td {\n\t\t\t\tborder-top-width: 0;\n\t\t\t}\n\t\t}\n\n }\n \n \n /* -clear */\n &.-clear {\n\t border: 0 none;\n\t \n\t > tbody > tr,\n\t > thead > tr {\n\t\t \n\t\t > td, >th {\n\t\t\t border: 0 none;\n\t\t\t\tpadding: 4px;\n\t\t }\n\t }\n }\n}\n\n\n/* remove tr */\n.acf-remove-element {\n\t-webkit-transition: all 0.25s ease-out;\n\t-moz-transition: all 0.25s ease-out;\n\t-o-transition: all 0.25s ease-out;\n\ttransition: all 0.25s ease-out;\n\t\n\ttransform: translate(50px, 0);\n\topacity: 0;\n}\n\n\n/* fade-up */\n.acf-fade-up {\n\t-webkit-transition: all 0.25s ease-out;\n\t-moz-transition: all 0.25s ease-out;\n\t-o-transition: all 0.25s ease-out;\n\ttransition: all 0.25s ease-out;\n\t\n\ttransform: translate(0, -10px);\n\topacity: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fake table\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-thead,\n.acf-tbody,\n.acf-tfoot {\n\twidth: 100%;\n\tpadding: 0;\n\tmargin: 0;\n\t\n\t> li {\n\t\tbox-sizing: border-box;\n\t\tpadding: 8px 12px;\n\t\tfont-size: 12px;\n\t\tline-height: 14px;\n\t}\n}\n\n.acf-thead {\n\tborder-bottom: $wp-card-border solid 1px;\n\tcolor: #23282d;\n\t\n\t> li {\n\t\tfont-size: 14px;\n\t\tline-height: 1.4;\n\t\tfont-weight: bold;\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp38-card-border-1;\n\t}\n}\n\n.acf-tfoot {\n\tbackground: #f5f5f5;\n\tborder-top: $wp-card-border-1 solid 1px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSettings\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-settings-wrap {\n\t\n\t#poststuff {\n\t\tpadding-top: 15px;\n\t}\n\t\n\t.acf-box {\n\t\tmargin: 20px 0;\n\t}\n\t\n\ttable {\n\t\tmargin: 0;\n\t\t\n\t\t.button {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n}\n\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-popup\n*\n*--------------------------------------------------------------------------------------------*/\n\n#acf-popup {\n\tposition: fixed;\n\tz-index: 900000;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\ttext-align: center;\n\t\n\t// bg\n\t.bg {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tz-index: 0;\n\t\tbackground: rgba(0,0,0,0.25);\n\t}\n\t\n\t&:before {\n\t\tcontent: '';\n\t\tdisplay: inline-block;\n\t\theight: 100%;\n\t\tvertical-align: middle;\n\t}\n\t\n\t// box\n\t.acf-popup-box {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tz-index: 1;\n\t\tmin-width: 300px;\n\t\tmin-height: 160px;\n\t\tborder-color: #aaaaaa;\n\t\tbox-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25);\n\t\ttext-align: left;\n\t\t@include rtl();\n\t\t\n\t\t// title\n\t\t.title {\n\t\t\tmin-height: 15px;\n\t\t\tline-height: 15px;\n\t\t\t\n\t\t\t// icon\n\t\t\t.acf-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 10px;\n\t\t\t\tright: 10px;\n\t\t\t\t\n\t\t\t\t// rtl\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tright: auto;\n\t\t\t\t\tleft: 10px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t.inner {\n\t\t\tmin-height: 50px;\n\t\t\t\n\t\t\t// use margin instead of padding to allow inner elements marin to overlap and avoid large hitespace at top/bottom\n\t\t\tpadding: 0;\n\t\t\tmargin: 15px;\n\t\t}\n\t\t\n\t\t// loading\n\t\t.loading {\n\t\t\tposition: absolute;\n\t\t\ttop: 45px;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t\tz-index: 2;\n\t\t\tbackground: rgba(0,0,0,0.1);\n\t\t\tdisplay: none;\n\t\t\t\n\t\t\ti {\n\t\t\t\t@include centered();\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n\n\n// acf-submit\n.acf-submit {\n\tmargin-bottom: 0;\n\tline-height: 28px; // .button height\n\t\n\t// message\n\tspan { \n\t\tfloat: right;\n\t\tcolor: #999;\n\t\t\n\t\t&.-error {\n\t\t\tcolor: #dd4232;\n\t\t}\n\t}\n\t\n\t// button (allow margin between loading)\n\t.button {\n\t\tmargin-right: 5px;\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tupgrade notice\n*\n*--------------------------------------------------------------------------------------------*/\n\n#acf-upgrade-notice {\n\tposition: relative;\n\tbackground: #fff;\n\tborder-left: 4px solid #00a0d2;\n\tpadding: 20px;\n\t@include clearfix();\n\t\n\t.col-content {\n\t\tfloat: left;\n\t\twidth: 55%;\n\t\tpadding-left: 90px;\n\t}\n\t\n\t.col-actions {\n\t\tfloat: right;\n\t\ttext-align: center;\n\t\tpadding: 10px;\n\t}\n\t\n\timg {\n\t\tfloat: left;\n\t\twidth: 70px;\n\t\theight: 70px;\n\t\tmargin: 0 0 0 -90px;\n\t}\n\t\n\th2 {\n\t\tfont-size: 16px;\n\t\tmargin: 2px 0 6.5px;\n\t}\n\t\n\tp {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\t\n\t.button:before {\n\t\tmargin-top: 11px;\n\t}\n\t\n\t// mobile\n\t@media screen and (max-width: $sm) {\n\t\t\n\t\t.col-content,\n\t\t.col-actions {\n\t\t\tfloat: none;\n\t\t\tpadding-left: 90px;\n\t\t\twidth: auto;\n\t\t\ttext-align: left;\n\t\t}\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWelcome\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-wrap {\n\t\n\th1 {\n\t\tmargin-top: 0;\n\t\tpadding-top: 20px;\n\t}\n\t\n\t.about-text {\n\t\tmargin-top: 0.5em;\n\t\tmin-height: 50px;\n\t}\n\t\n\t.about-headline-callout {\n\t font-size: 2.4em;\n\t font-weight: 300;\n\t line-height: 1.3;\n\t margin: 1.1em 0 0.2em;\n\t text-align: center;\n\t}\n\t\n\t.feature-section {\n\t padding: 40px 0;\n\t \n\t h2 {\n\t\t margin-top: 20px;\n\t }\n\t}\n\t\n\t.changelog {\n\t\tlist-style: disc;\n\t\tpadding-left: 15px;\n\t\t\n\t\tli {\n\t\t\tmargin: 0 0 0.75em;\n\t\t}\n\t}\n\t\n\t.acf-three-col {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-between;\n\t\t\n\t\t> div {\n\t\t\tflex: 1;\n\t\t\talign-self: flex-start;\n\t\t\tmin-width: 31%;\n\t\t\tmax-width: 31%;\n\t\t\t\n\t\t\t@media screen and (max-width: $md) {\n\t\t\t\tmin-width: 48%;\n\t\t\t}\n\t\t\t\n\t\t\t@media screen and (max-width: $sm) {\n\t\t\t\tmin-width: 100%;\n\t\t\t}\n\t\t}\n\t\t\n\t\th3 .badge {\n\t\t\tdisplay: inline-block;\n\t\t\tvertical-align: top;\n\t\t\tborder-radius: 5px;\n\t\t\tbackground: #fc9700;\n\t\t\tcolor: #fff;\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 12px;\n\t\t\tpadding: 2px 5px;\n\t\t}\n\t\t\n\t\timg + h3 {\n\t\t\tmargin-top: 0.5em;\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-hl cols\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-hl[data-cols] {\n\tmargin-left: -10px;\n\tmargin-right: -10px;\n\t\n\t> li {\n\t\tpadding: 0 10px;\n\t\t\n\t\t-webkit-box-sizing: border-box;\n\t\t-moz-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n\t\n}\n\n\n/* sizes */\n.acf-hl[data-cols=\"2\"] > li { width: 50%; }\n.acf-hl[data-cols=\"3\"] > li { width: 33.333%; }\n.acf-hl[data-cols=\"4\"] > li { width: 25%; }\n\n\n/* mobile */\n@media screen and (max-width: $sm) {\n\t\n\t.acf-hl[data-cols] {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t\tmargin-top: -10px;\n\t\t\n\t\t> li {\n\t\t\twidth: 100% !important;\n\t\t\tpadding: 10px 0 0;\n\t\t}\n\t\t\n\t}\n\t\n}\n\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tmisc\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-actions {\n\ttext-align: right;\n\tz-index: 1;\n\t\n\t/* hover */\n\t&.-hover {\n\t\tposition: absolute;\n\t\tdisplay: none;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tpadding: 5px;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t&.-hover {\n\t\t\tright: auto;\n\t\t\tleft: 0;\n\t\t}\n\t}\n}\n\n\n/* ul compatibility */\nul.acf-actions {\n\tli { float: right; margin-left: 4px; }\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\n\nhtml[dir=\"rtl\"] .acf-fl { float: right; }\nhtml[dir=\"rtl\"] .acf-fr { float: left; }\n\nhtml[dir=\"rtl\"] .acf-hl > li {\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-hl > li.acf-fr {\n float: left;\n}\n\nhtml[dir=\"rtl\"] .acf-icon.logo {\n\tleft: 0;\n\tright: auto;\n}\n\n\nhtml[dir=\"rtl\"] .acf-table thead th {\n\ttext-align: right;\n\tborder-right-width: 1px;\n\tborder-left-width: 0px;\n}\n\nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td {\n\ttext-align: right;\n\tborder-right-width: 1px;\n\tborder-left-width: 0px;\n}\n\nhtml[dir=\"rtl\"] .acf-table > thead > tr > th:first-child, \nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td:first-child {\n\tborder-right-width: 0;\n}\n\nhtml[dir=\"rtl\"] .acf-table > tbody > tr > td.order + td {\n\tborder-right-color: #e1e1e1;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-postbox-columns\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-postbox-columns {\n\t@include clearfix();\n\tposition: relative;\n\tmargin-top: -11px;\n\tmargin-bottom: -12px;\n\tmargin-left: -12px;\n\tmargin-right: (280px - 12px);\n\t\n\t.acf-postbox-main,\n\t.acf-postbox-side {\n\t\t@include border-box();\n\t\tpadding: 0 12px 12px;\n\t}\n\t\n\t.acf-postbox-main {\n\t\tfloat: left;\n\t\twidth: 100%;\n\t}\n\t\n\t.acf-postbox-side {\n\t\tfloat: right;\n\t\twidth: 280px;\n\t\tmargin-right: -280px;\n\t\t\n\t\t&:before {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\tbackground: $wp-card-border-1;\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\t.acf-postbox-side:before {\n\t\t\tbackground: $wp38-card-border-1;\n\t\t}\n\t}\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n\t\n\t.acf-postbox-columns {\n\t\tmargin: 0;\n\t\t\n\t\t.acf-postbox-main,\n\t\t.acf-postbox-side {\n\t\t\tfloat: none;\n\t\t\twidth: auto;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t.acf-postbox-side {\n\t\t\tmargin-top: 1em;\n\t\t\t\n\t\t\t&:before {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-panel\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-panel {\n\tmargin-top: -1px;\n\tborder-top: 1px solid $wp-card-border-1;\n\tborder-bottom: 1px solid $wp-card-border-1;\n\t\n\t.acf-panel-title {\n\t\tmargin: 0;\n\t\tpadding: 12px;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tfont-size: inherit;\n\t\t\n\t\ti {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t\n\t.acf-panel-inside {\n\t\tmargin: 0;\n\t\tpadding: 0 12px 12px;\n\t\tdisplay: none;\n\t}\n\t\n\t/* open */\n\t&.-open {\n\t\t\n\t\t.acf-panel-inside {\n\t\t\tdisplay: block;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* inside postbox */\n\t.postbox & {\n\t\tmargin-left: -12px;\n\t\tmargin-right: -12px;\n\t}\n\t\n\t\n\t/* fields */\n\t.acf-field {\n\t\tmargin: 20px 0 0;\n\t\t\n\t\t.acf-label label {\n\t\t\tcolor: #555d66;\n\t\t\tfont-weight: normal;\n\t\t}\n\t\t\n\t\t&:first-child {\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp38-card-border-1;\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Tools\n*\n*---------------------------------------------------------------------------------------------*/\n\n#acf-admin-tools {\n\t\n\t.notice {\n\t\tmargin-top: 10px;\n\t}\n}\n\n.acf-meta-box-wrap {\n\tmargin-top: 10px;\n\t\n\t.postbox {\n\t\t@include border-box();\n\t\t\n\t\t.inside {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t\t\n\t\t.hndle {\n\t\t\tfont-size: 14px;\n\t\t\tpadding: 8px 12px;\n\t\t\tmargin: 0;\n\t\t\tline-height: 1.4;\n\t\t\t\n\t\t\t// Prevent .acf-panel border overlapping.\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t\tcursor: default;\n\t\t}\n\t\t\n\t\t.handlediv,\n\t\t.handle-order-higher,\n\t\t.handle-order-lower {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t\n\t\n\t/* acf-fields */\n\t.acf-fields {\n\t\tborder: #ebebeb solid 1px;\n\t\tbackground: #fafafa;\n\t\tborder-radius: 3px;\n\t}\n}\n\n\n/* grid */\n.acf-meta-box-wrap.-grid {\n\tmargin-left: 8px;\n\tmargin-right: 8px;\n\t\n\t.postbox {\n\t\tfloat: left;\n\t\tclear: left;\n\t\twidth: 50%;\n\t\tmargin: 0 0 16px;\n\t\t\n\t\t&:nth-child(odd) {\n\t\t\tmargin-left: -8px;\n\t\t}\n\t\t\n\t\t&:nth-child(even) {\n\t\t\tfloat: right;\n\t\t\tclear: right;\n\t\t\tmargin-right: -8px;\n\t\t}\n\t}\n}\n\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n\t\n\t.acf-meta-box-wrap.-grid {\n\t\tmargin-left: 0;\n\t\tmargin-right: 0;\n\t\t\n\t\t.postbox {\n\t\t\tmargin-left: 0 !important;\n\t\t\tmargin-right: 0 !important;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n\n/* export tool */\n#acf-admin-tool-export {\n\t\n\tp {\n\t\tmax-width: 800px;\n\t}\n\t\n\tul {\n\t\tcolumn-width: 200px;\n\t}\n\t\n\t.acf-postbox-side .button {\n\t\tmargin: 0;\n\t\twidth: 100%;\n\t}\n\t\n\ttextarea {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tmin-height: 500px;\n\t\t\n\t\tbackground: #fafafa;\n\t\tbox-shadow: none;\n\t\tpadding: 7px;\n\t\tborder-radius: 3px;\n\t}\n\t\n\t/* panel: selection */\n\t.acf-panel-selection {\n\t\t.acf-label {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Navigation\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n\tbackground: #fff;\n\tborder-bottom: 1px solid #ccd0d4;\n\tpadding-top: 10px;\n\t\n\th2 {\n\t\tfont-size: 14px;\n\t\tline-height: math.div(36, 14);\n\t\tdisplay: inline-block;\n\t\tpadding: 5px 0;\n\t\tmargin: 0 10px 0 0;\n\t\t\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t\tcolor: #babbbc;\n\t\t}\n\t}\n\t\n\t.acf-tab {\n\t\tdisplay: inline-block;\n\t\tfont-size: 14px;\n\t\tline-height: math.div(36, 14);\n\t\tpadding: 5px;\n\t\tmargin: 0 5px;\n\t\ttext-decoration: none;\n\t\tcolor: inherit;\n\t\t\n\t\t&.is-active {\n\t\t\tborder-bottom: #0071a4 solid 3px;\n\t\t\tpadding-bottom: 10px;\n\t\t}\n\t\t&:hover {\n\t\t\tcolor: #00a0d2;\n\t\t}\n\t\t&:focus {\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n\n\ta.btn-upgrade {\n\t\tdisplay: inline-flex;\n\t\tbackground: #dee3ff;\n\t\tborder: 1px solid #c6d3f8;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 0.25rem;\n\t\tpadding: 0 0.75rem;\n\t\tcursor:pointer;\n\t\tvertical-align: middle;\n\t\tmargin-top: -6px;\n\t\tmargin-left: 20px;\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\tbackground: #d1ddff;\n\t\t\tborder-color: #b9caf9;\n\t\t}\n\n\t\tp {\n\t\t\tfont-family: system-ui;\n\t\t\tfont-weight: 600;\n\t\t\tletter-spacing: 0.2;\n\t\t\tline-height: 1;\n\t\t\tfont-size: 0.625rem;\n\t\t\ttext-transform: uppercase;\n\t\t\tcolor: #425fdd;\n\t\t\tmargin-left: 0.65rem;\n\t\t}\n\t}\n\n\t// Within wpcontent.\n\t#wpcontent & {\n\t\tmargin-left: -20px;\n\t\tpadding-left: 20px;\n\t}\n\n\t// Mobile\n\t@media screen and (max-width: 600px) {\n\t\t& {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Groups\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-field-groups {\n\t\n\t// Hide tablenav top.\n\t.tablenav.top {\n\t\tdisplay: none;\n\t}\n\t\n\t// Fix margin due to hidden tablenav.\n\t.subsubsub {\n\t\tmargin-bottom: 3px;\n\t}\n\t\n\t// table.\n\t.wp-list-table {\n\t\t\n\t\t// Use border-box for total width control.\n\t\ttd, th {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\t\n\t\t// Add subtle hover background to define row.\n\t\ttr:hover {\n\t\t\tbackground: #f7f7f7;\n\t\t}\n\t\t\n\t\t// Use less specific identifier to inherit mobile styling.\n\t\t@media screen and ( min-width: 782px ) {\n\t\t\t.column-acf-count { width: 10%; }\n\t\t}\n\t\t\n\t\t.row-actions {\n\t\t\tspan.file {\n\t\t\t\tdisplay: block;\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t.acf-primary-text {\n\t\t\n\t}\n\t.acf-secondary-text {\n\t\tcolor: #a0a5aa;\n\t}\n}\n.acf-multi-dashicon {\n\tposition: relative;\n\tz-index: 1;\n\t\n\t&:before,\n\t&:after {\n\t\twidth: 18px;\n\t\theight: 18px;\n\t\tline-height: 18px;\n\t\tfont-size: 14px;\n\t\tbackground: #fff;\n\t\tborder: #7e8993 solid 1px;\n\t\tborder-radius: 2px;\n\t\tdisplay: block;\n\t}\n\t&:after {\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\ttop: -3px;\n\t\tleft: -3px;\n\t\tz-index: -1;\n\t\tbackground: #e7e7e7;\n\t\t\n\t}\n}\n\n// CSS only Tooltip.\n.acf-css-tooltip {\n\tposition: relative;\n\t&:before {\n\t\tcontent: attr(aria-label);\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tz-index: 999;\n\t\t\n\t\tbottom: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, -8px);\n\t\t\n\t\tbackground: #191e23;\n\t\tborder-radius: 2px;\n\t\tpadding: 5px 10px;\n\t\t\n\t\tcolor: #fff;\n\t font-size: 12px;\n\t line-height: 1.4em;\n\t white-space: pre;\n\t}\n &:after {\n\t content: \"\";\n\t display: none;\n\t position: absolute;\n\t z-index: 998;\n\t \n\t bottom: 100%;\n\t\tleft: 50%;\n\t\ttransform: translate(-50%, 4px);\n\t\t\n\t border: solid 6px transparent;\n\t border-top-color: #191e23;\n\t}\n\t\n\t&:hover, &:focus {\n\t\t&:before, &:after {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n// Diff modal.\n.acf-diff {\n\t\n\t.acf-diff-title {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: 40px;\n\t\tpadding: 14px 16px;\n\t\tbackground: #f3f3f3;\n\t\tborder-bottom: #dddddd solid 1px;\n\t\t\n\t\tstrong {\n\t\t\tfont-size: 14px;\n\t\t\tdisplay: block;\n\t\t}\n\n\t\t.acf-diff-title-left,\n\t\t.acf-diff-title-right {\n\t\t\twidth: 50%;\n\t\t\tfloat: left;\n\t\t}\n\t}\n\t\n\t.acf-diff-content {\n\t\tposition: absolute;\n\t\ttop: 70px;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\toverflow: auto;\n\t}\n\t\n\ttable.diff {\n\t\tborder-spacing: 0;\n\t\t\n\t\tcol.diffsplit.middle {\n\t\t\twidth: 0;\n\t\t}\n\n\t\ttd, th {\n\t\t\tpadding-top: 0.25em;\n\t\t\tpadding-bottom: 0.25em;\n\t\t}\n\t\t\n\t\t// Fix WP 5.7 conflicting CSS.\n\t\ttr td:nth-child(2) {\n\t\t\twidth: auto;\n\t\t}\n\t\t\n\t\ttd:nth-child(3) {\n\t\t\tborder-left: #dddddd solid 1px;\n\t\t}\n\t}\n\n\t// Mobile\n\t@media screen and (max-width: 600px) {\n\t\t.acf-diff-title {\n\t\t\theight: 70px;\n\t\t}\n\t\t.acf-diff-content {\n\t\t\ttop: 100px;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal {\n\tposition: fixed;\n\ttop: 30px;\n\tleft: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tz-index: 160000;\n\tbox-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);\n\tbackground: #fcfcfc;\n\t\n\t.acf-modal-title,\n\t.acf-modal-content,\n\t.acf-modal-toolbar {\n\t\tbox-sizing: border-box;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\t\n\t.acf-modal-title {\n\t\theight: 50px;\n\t\ttop: 0;\n\t\tborder-bottom: 1px solid #ddd;\n\t\t\n\t\th2 {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0 16px;\n\t\t\tline-height: 50px;\n\t\t}\n\t\t.acf-modal-close {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 0;\n\t\t\theight: 50px;\n\t\t\twidth: 50px;\n\t\t\tborder: none;\n\t\t\tborder-left: 1px solid #ddd;\n\t\t\tbackground: transparent;\n\t\t\tcursor: pointer;\n\t\t\tcolor: #666;\n\t\t\t&:hover {\n\t\t\t\tcolor: #00a0d2;\t\n\t\t\t}\n\t\t}\n\t}\n\t\n\t.acf-modal-content {\n\t\ttop: 50px;\n\t\tbottom: 60px;\n\t\tbackground: #fff;\n\t\toverflow: auto;\n\t\tpadding: 16px;\n\t}\n\t\n\t.acf-modal-feedback {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tmargin: -10px 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\ttext-align: center;\n\t\topacity: 0.75;\n\t\t\n\t\t&.error {\n\t\t\topacity: 1;\n\t\t\tcolor: #b52727;\n\t\t}\n\t}\n\t\n\t.acf-modal-toolbar {\n\t\theight: 60px;\n\t\tbottom: 0;\n\t\tpadding: 15px 16px;\n\t\tborder-top: 1px solid #ddd;\n\t\t\n\t\t.button {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t\n\t// Responsive.\n\t@media only screen and (max-width: 640px) {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t}\n\t\n}\n.acf-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground: #000;\n\topacity: 0.7;\n\tz-index: 159900;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Retina\n*\n*---------------------------------------------------------------------------------------------*/\n\n@media\nonly screen and (-webkit-min-device-pixel-ratio: 2),\nonly screen and ( min--moz-device-pixel-ratio: 2),\nonly screen and ( -o-min-device-pixel-ratio: 2/1),\nonly screen and ( min-device-pixel-ratio: 2),\nonly screen and ( min-resolution: 192dpi),\nonly screen and ( min-resolution: 2dppx) { \n\t\n\t.acf-loading,\n\t.acf-spinner {\n\t\tbackground-image: url(../../images/spinner@2x.gif);\n\t\tbackground-size: 20px 20px;\n\t}\n\t\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n* Global\n*\n*--------------------------------------------------------------------------------------------*/\n/* Horizontal List */\n.acf-hl {\n padding: 0;\n margin: 0;\n list-style: none;\n display: block;\n position: relative;\n}\n\n.acf-hl > li {\n float: left;\n display: block;\n margin: 0;\n padding: 0;\n}\n\n.acf-hl > li.acf-fr {\n float: right;\n}\n\n/* Horizontal List: Clearfix */\n.acf-hl:before, .acf-hl:after,\n.acf-bl:before, .acf-bl:after,\n.acf-cf:before, .acf-cf:after {\n content: \"\";\n display: block;\n line-height: 0;\n}\n\n.acf-hl:after,\n.acf-bl:after,\n.acf-cf:after {\n clear: both;\n}\n\n/* Block List */\n.acf-bl {\n padding: 0;\n margin: 0;\n list-style: none;\n display: block;\n position: relative;\n}\n\n.acf-bl > li {\n display: block;\n margin: 0;\n padding: 0;\n float: none;\n}\n\n/* Visibility */\n.acf-hidden {\n display: none !important;\n}\n\n.acf-empty {\n display: table-cell !important;\n}\n.acf-empty * {\n display: none !important;\n}\n\n/* Float */\n.acf-fl {\n float: left;\n}\n\n.acf-fr {\n float: right;\n}\n\n.acf-fn {\n float: none;\n}\n\n/* Align */\n.acf-al {\n text-align: left;\n}\n\n.acf-ar {\n text-align: right;\n}\n\n.acf-ac {\n text-align: center;\n}\n\n/* loading */\n.acf-loading,\n.acf-spinner {\n display: inline-block;\n height: 20px;\n width: 20px;\n vertical-align: text-top;\n background: transparent url(../../images/spinner.gif) no-repeat 50% 50%;\n}\n\n/* spinner */\n.acf-spinner {\n display: none;\n}\n\n.acf-spinner.is-active {\n display: inline-block;\n}\n\n/* WP < 4.2 */\n.spinner.is-active {\n display: inline-block;\n}\n\n/* required */\n.acf-required {\n color: #f00;\n}\n\n/* show on hover */\n.acf-soh .acf-soh-target {\n -webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n -moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n -o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;\n visibility: hidden;\n opacity: 0;\n}\n\n.acf-soh:hover .acf-soh-target {\n -webkit-transition-delay: 0s;\n -moz-transition-delay: 0s;\n -o-transition-delay: 0s;\n transition-delay: 0s;\n visibility: visible;\n opacity: 1;\n}\n\n/* show if value */\n.show-if-value {\n display: none;\n}\n\n.hide-if-value {\n display: block;\n}\n\n.has-value .show-if-value {\n display: block;\n}\n\n.has-value .hide-if-value {\n display: none;\n}\n\n/* select2 WP animation fix */\n.select2-search-choice-close {\n -webkit-transition: none;\n -moz-transition: none;\n -o-transition: none;\n transition: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* tooltip\n*\n*---------------------------------------------------------------------------------------------*/\n/* tooltip */\n.acf-tooltip {\n background: #2F353E;\n border-radius: 5px;\n color: #fff;\n padding: 5px 10px;\n position: absolute;\n font-size: 12px;\n line-height: 1.4em;\n z-index: 900000;\n /* tip */\n /* positions */\n}\n.acf-tooltip:before {\n border: solid;\n border-color: transparent;\n border-width: 6px;\n content: \"\";\n position: absolute;\n}\n.acf-tooltip.top {\n margin-top: -8px;\n}\n.acf-tooltip.top:before {\n top: 100%;\n left: 50%;\n margin-left: -6px;\n border-top-color: #2F353E;\n border-bottom-width: 0;\n}\n.acf-tooltip.right {\n margin-left: 8px;\n}\n.acf-tooltip.right:before {\n top: 50%;\n margin-top: -6px;\n right: 100%;\n border-right-color: #2F353E;\n border-left-width: 0;\n}\n.acf-tooltip.bottom {\n margin-top: 8px;\n}\n.acf-tooltip.bottom:before {\n bottom: 100%;\n left: 50%;\n margin-left: -6px;\n border-bottom-color: #2F353E;\n border-top-width: 0;\n}\n.acf-tooltip.left {\n margin-left: -8px;\n}\n.acf-tooltip.left:before {\n top: 50%;\n margin-top: -6px;\n left: 100%;\n border-left-color: #2F353E;\n border-right-width: 0;\n}\n.acf-tooltip .acf-overlay {\n z-index: -1;\n}\n\n/* confirm */\n.acf-tooltip.-confirm {\n z-index: 900001;\n}\n.acf-tooltip.-confirm a {\n text-decoration: none;\n color: #9ea3a8;\n}\n.acf-tooltip.-confirm a:hover {\n text-decoration: underline;\n}\n.acf-tooltip.-confirm a[data-event=confirm] {\n color: #F55E4F;\n}\n\n.acf-overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n cursor: default;\n}\n\n.acf-tooltip-target {\n position: relative;\n z-index: 900002;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* loading\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-loading-overlay {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n cursor: default;\n z-index: 99;\n background: rgba(249, 249, 249, 0.5);\n}\n.acf-loading-overlay i {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-icon\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-icon {\n display: inline-block;\n height: 28px;\n width: 28px;\n border: transparent solid 1px;\n border-radius: 100%;\n font-size: 20px;\n line-height: 21px;\n text-align: center;\n text-decoration: none;\n vertical-align: top;\n box-sizing: border-box;\n}\n.acf-icon:before {\n font-family: dashicons;\n display: inline-block;\n line-height: 1;\n font-weight: 400;\n font-style: normal;\n speak: none;\n text-decoration: inherit;\n text-transform: none;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 1em;\n height: 1em;\n vertical-align: middle;\n text-align: center;\n}\n\n.acf-icon.-plus:before {\n content: \"\\f543\";\n}\n\n.acf-icon.-minus:before {\n content: \"\\f460\";\n}\n\n.acf-icon.-cancel:before {\n content: \"\\f335\";\n}\n\n.acf-icon.-pencil:before {\n content: \"\\f464\";\n}\n\n.acf-icon.-location:before {\n content: \"\\f230\";\n}\n\n.acf-icon.-up:before {\n content: \"\\f343\";\n margin-top: -0.1em;\n}\n\n.acf-icon.-down:before {\n content: \"\\f347\";\n margin-top: 0.1em;\n}\n\n.acf-icon.-left:before {\n content: \"\\f341\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-right:before {\n content: \"\\f345\";\n margin-left: 0.1em;\n}\n\n.acf-icon.-sync:before {\n content: \"\\f463\";\n}\n\n.acf-icon.-globe:before {\n content: \"\\f319\";\n margin-top: 0.1em;\n margin-left: 0.1em;\n}\n\n.acf-icon.-picture:before {\n content: \"\\f128\";\n}\n\n.acf-icon.-check:before {\n content: \"\\f147\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-dot-3:before {\n content: \"\\f533\";\n margin-top: -0.1em;\n}\n\n.acf-icon.-arrow-combo:before {\n content: \"\\f156\";\n}\n\n.acf-icon.-arrow-up:before {\n content: \"\\f142\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-arrow-down:before {\n content: \"\\f140\";\n margin-left: -0.1em;\n}\n\n.acf-icon.-search:before {\n content: \"\\f179\";\n}\n\n.acf-icon.-link-ext:before {\n content: \"\\f504\";\n}\n\n.acf-icon.-duplicate {\n position: relative;\n}\n.acf-icon.-duplicate:before, .acf-icon.-duplicate:after {\n content: \"\";\n display: block;\n box-sizing: border-box;\n width: 46%;\n height: 46%;\n position: absolute;\n top: 33%;\n left: 23%;\n}\n.acf-icon.-duplicate:before {\n margin: -1px 0 0 1px;\n box-shadow: 2px -2px 0px 0px currentColor;\n}\n.acf-icon.-duplicate:after {\n border: solid 2px currentColor;\n}\n\n.acf-icon.-collapse:before {\n content: \"\\f142\";\n margin-left: -0.1em;\n}\n\n.-collapsed .acf-icon.-collapse:before {\n content: \"\\f140\";\n margin-left: -0.1em;\n}\n\nspan.acf-icon {\n color: #555d66;\n border-color: #b5bcc2;\n background-color: #fff;\n}\n\na.acf-icon {\n color: #555d66;\n border-color: #b5bcc2;\n background-color: #fff;\n position: relative;\n transition: none;\n cursor: pointer;\n}\na.acf-icon:hover {\n background: #f3f5f6;\n border-color: #0071a1;\n color: #0071a1;\n}\na.acf-icon.-minus:hover, a.acf-icon.-cancel:hover {\n background: #f7efef;\n border-color: #a10000;\n color: #dc3232;\n}\na.acf-icon:active, a.acf-icon:focus {\n outline: none;\n box-shadow: none;\n}\n\n.acf-icon.-clear {\n border-color: transparent;\n background: transparent;\n color: #444;\n}\n\n.acf-icon.light {\n border-color: transparent;\n background: #F5F5F5;\n color: #23282d;\n}\n\n.acf-icon.dark {\n border-color: transparent !important;\n background: #23282D;\n color: #eee;\n}\n\na.acf-icon.dark:hover {\n background: #191E23;\n color: #00b9eb;\n}\na.acf-icon.dark.-minus:hover, a.acf-icon.dark.-cancel:hover {\n color: #D54E21;\n}\n\n.acf-icon.grey {\n border-color: transparent !important;\n background: #b4b9be;\n color: #fff !important;\n}\n.acf-icon.grey:hover {\n background: #00A0D2;\n color: #fff;\n}\n.acf-icon.grey.-minus:hover, .acf-icon.grey.-cancel:hover {\n background: #32373C;\n}\n\n.acf-icon.small,\n.acf-icon.-small {\n width: 20px;\n height: 20px;\n line-height: 14px;\n font-size: 14px;\n}\n.acf-icon.small.-duplicate:before, .acf-icon.small.-duplicate:after,\n.acf-icon.-small.-duplicate:before,\n.acf-icon.-small.-duplicate:after {\n opacity: 0.8;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-box\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-box {\n background: #FFFFFF;\n border: 1px solid #ccd0d4;\n position: relative;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n /* title */\n /* footer */\n}\n.acf-box .title {\n border-bottom: 1px solid #ccd0d4;\n margin: 0;\n padding: 15px;\n}\n.acf-box .title h3 {\n font-size: 14px;\n line-height: 1em;\n margin: 0;\n padding: 0;\n}\n.acf-box .inner {\n padding: 15px;\n}\n.acf-box h2 {\n color: #333333;\n font-size: 26px;\n line-height: 1.25em;\n margin: 0.25em 0 0.75em;\n padding: 0;\n}\n.acf-box h3 {\n margin: 1.5em 0 0;\n}\n.acf-box p {\n margin-top: 0.5em;\n}\n.acf-box a {\n text-decoration: none;\n}\n.acf-box i.dashicons-external {\n margin-top: -1px;\n}\n.acf-box .footer {\n border-top: 1px solid #ccd0d4;\n padding: 12px;\n font-size: 13px;\n line-height: 1.5;\n}\n.acf-box .footer p {\n margin: 0;\n}\n.acf-admin-3-8 .acf-box {\n border-color: #E5E5E5;\n}\n.acf-admin-3-8 .acf-box .title,\n.acf-admin-3-8 .acf-box .footer {\n border-color: #E5E5E5;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-notice\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-notice {\n position: relative;\n display: block;\n color: #fff;\n margin: 5px 0 15px;\n padding: 3px 12px;\n background: #2a9bd9;\n border-left: #1f7db1 solid 3px;\n}\n.acf-notice p {\n font-size: 13px;\n line-height: 1.5;\n margin: 0.5em 0;\n text-shadow: none;\n color: inherit;\n}\n.acf-notice .acf-notice-dismiss {\n position: absolute;\n top: 9px;\n right: 12px;\n background: transparent !important;\n color: inherit !important;\n border-color: #fff !important;\n opacity: 0.75;\n}\n.acf-notice .acf-notice-dismiss:hover {\n opacity: 1;\n}\n.acf-notice.-dismiss {\n padding-right: 40px;\n}\n.acf-notice.-error {\n background: #d94f4f;\n border-color: #c92c2c;\n}\n.acf-notice.-success {\n background: #49ad52;\n border-color: #3a8941;\n}\n.acf-notice.-warning {\n background: #fd8d3b;\n border-color: #fc7009;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-table {\n border: #ccd0d4 solid 1px;\n background: #fff;\n border-spacing: 0;\n border-radius: 0;\n table-layout: auto;\n padding: 0;\n margin: 0;\n width: 100%;\n clear: both;\n box-sizing: content-box;\n /* defaults */\n /* thead */\n /* tbody */\n /* -clear */\n}\n.acf-table > tbody > tr > th, .acf-table > tbody > tr > td,\n.acf-table > thead > tr > th,\n.acf-table > thead > tr > td {\n padding: 8px;\n vertical-align: top;\n background: #fff;\n text-align: left;\n border-style: solid;\n font-weight: normal;\n}\n.acf-table > tbody > tr > th,\n.acf-table > thead > tr > th {\n position: relative;\n color: #333333;\n}\n.acf-table > thead > tr > th {\n border-color: #d5d9dd;\n border-width: 0 0 1px 1px;\n}\n.acf-table > thead > tr > th:first-child {\n border-left-width: 0;\n}\n.acf-table > tbody > tr {\n z-index: 1;\n}\n.acf-table > tbody > tr > td {\n border-color: #eeeeee;\n border-width: 1px 0 0 1px;\n}\n.acf-table > tbody > tr > td:first-child {\n border-left-width: 0;\n}\n.acf-table > tbody > tr:first-child > td {\n border-top-width: 0;\n}\n.acf-table.-clear {\n border: 0 none;\n}\n.acf-table.-clear > tbody > tr > td, .acf-table.-clear > tbody > tr > th,\n.acf-table.-clear > thead > tr > td,\n.acf-table.-clear > thead > tr > th {\n border: 0 none;\n padding: 4px;\n}\n\n/* remove tr */\n.acf-remove-element {\n -webkit-transition: all 0.25s ease-out;\n -moz-transition: all 0.25s ease-out;\n -o-transition: all 0.25s ease-out;\n transition: all 0.25s ease-out;\n transform: translate(50px, 0);\n opacity: 0;\n}\n\n/* fade-up */\n.acf-fade-up {\n -webkit-transition: all 0.25s ease-out;\n -moz-transition: all 0.25s ease-out;\n -o-transition: all 0.25s ease-out;\n transition: all 0.25s ease-out;\n transform: translate(0, -10px);\n opacity: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Fake table\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-thead,\n.acf-tbody,\n.acf-tfoot {\n width: 100%;\n padding: 0;\n margin: 0;\n}\n.acf-thead > li,\n.acf-tbody > li,\n.acf-tfoot > li {\n box-sizing: border-box;\n padding: 8px 12px;\n font-size: 12px;\n line-height: 14px;\n}\n\n.acf-thead {\n border-bottom: #ccd0d4 solid 1px;\n color: #23282d;\n}\n.acf-thead > li {\n font-size: 14px;\n line-height: 1.4;\n font-weight: bold;\n}\n.acf-admin-3-8 .acf-thead {\n border-color: #dfdfdf;\n}\n\n.acf-tfoot {\n background: #f5f5f5;\n border-top: #d5d9dd solid 1px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tSettings\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-settings-wrap #poststuff {\n padding-top: 15px;\n}\n.acf-settings-wrap .acf-box {\n margin: 20px 0;\n}\n.acf-settings-wrap table {\n margin: 0;\n}\n.acf-settings-wrap table .button {\n vertical-align: middle;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-popup\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-popup {\n position: fixed;\n z-index: 900000;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n text-align: center;\n}\n#acf-popup .bg {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n background: rgba(0, 0, 0, 0.25);\n}\n#acf-popup:before {\n content: \"\";\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n}\n#acf-popup .acf-popup-box {\n display: inline-block;\n vertical-align: middle;\n z-index: 1;\n min-width: 300px;\n min-height: 160px;\n border-color: #aaaaaa;\n box-shadow: 0 5px 30px -5px rgba(0, 0, 0, 0.25);\n text-align: left;\n}\nhtml[dir=rtl] #acf-popup .acf-popup-box {\n text-align: right;\n}\n#acf-popup .acf-popup-box .title {\n min-height: 15px;\n line-height: 15px;\n}\n#acf-popup .acf-popup-box .title .acf-icon {\n position: absolute;\n top: 10px;\n right: 10px;\n}\nhtml[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon {\n right: auto;\n left: 10px;\n}\n#acf-popup .acf-popup-box .inner {\n min-height: 50px;\n padding: 0;\n margin: 15px;\n}\n#acf-popup .acf-popup-box .loading {\n position: absolute;\n top: 45px;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 2;\n background: rgba(0, 0, 0, 0.1);\n display: none;\n}\n#acf-popup .acf-popup-box .loading i {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.acf-submit {\n margin-bottom: 0;\n line-height: 28px;\n}\n.acf-submit span {\n float: right;\n color: #999;\n}\n.acf-submit span.-error {\n color: #dd4232;\n}\n.acf-submit .button {\n margin-right: 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tupgrade notice\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-upgrade-notice {\n position: relative;\n background: #fff;\n border-left: 4px solid #00a0d2;\n padding: 20px;\n}\n#acf-upgrade-notice:after {\n display: block;\n clear: both;\n content: \"\";\n}\n#acf-upgrade-notice .col-content {\n float: left;\n width: 55%;\n padding-left: 90px;\n}\n#acf-upgrade-notice .col-actions {\n float: right;\n text-align: center;\n padding: 10px;\n}\n#acf-upgrade-notice img {\n float: left;\n width: 70px;\n height: 70px;\n margin: 0 0 0 -90px;\n}\n#acf-upgrade-notice h2 {\n font-size: 16px;\n margin: 2px 0 6.5px;\n}\n#acf-upgrade-notice p {\n padding: 0;\n margin: 0;\n}\n#acf-upgrade-notice .button:before {\n margin-top: 11px;\n}\n@media screen and (max-width: 640px) {\n #acf-upgrade-notice .col-content,\n#acf-upgrade-notice .col-actions {\n float: none;\n padding-left: 90px;\n width: auto;\n text-align: left;\n }\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWelcome\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-wrap h1 {\n margin-top: 0;\n padding-top: 20px;\n}\n.acf-wrap .about-text {\n margin-top: 0.5em;\n min-height: 50px;\n}\n.acf-wrap .about-headline-callout {\n font-size: 2.4em;\n font-weight: 300;\n line-height: 1.3;\n margin: 1.1em 0 0.2em;\n text-align: center;\n}\n.acf-wrap .feature-section {\n padding: 40px 0;\n}\n.acf-wrap .feature-section h2 {\n margin-top: 20px;\n}\n.acf-wrap .changelog {\n list-style: disc;\n padding-left: 15px;\n}\n.acf-wrap .changelog li {\n margin: 0 0 0.75em;\n}\n.acf-wrap .acf-three-col {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n.acf-wrap .acf-three-col > div {\n flex: 1;\n align-self: flex-start;\n min-width: 31%;\n max-width: 31%;\n}\n@media screen and (max-width: 880px) {\n .acf-wrap .acf-three-col > div {\n min-width: 48%;\n }\n}\n@media screen and (max-width: 640px) {\n .acf-wrap .acf-three-col > div {\n min-width: 100%;\n }\n}\n.acf-wrap .acf-three-col h3 .badge {\n display: inline-block;\n vertical-align: top;\n border-radius: 5px;\n background: #fc9700;\n color: #fff;\n font-weight: normal;\n font-size: 12px;\n padding: 2px 5px;\n}\n.acf-wrap .acf-three-col img + h3 {\n margin-top: 0.5em;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-hl cols\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-hl[data-cols] {\n margin-left: -10px;\n margin-right: -10px;\n}\n.acf-hl[data-cols] > li {\n padding: 0 10px;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n/* sizes */\n.acf-hl[data-cols=\"2\"] > li {\n width: 50%;\n}\n\n.acf-hl[data-cols=\"3\"] > li {\n width: 33.333%;\n}\n\n.acf-hl[data-cols=\"4\"] > li {\n width: 25%;\n}\n\n/* mobile */\n@media screen and (max-width: 640px) {\n .acf-hl[data-cols] {\n margin-left: 0;\n margin-right: 0;\n margin-top: -10px;\n }\n .acf-hl[data-cols] > li {\n width: 100% !important;\n padding: 10px 0 0;\n }\n}\n/*--------------------------------------------------------------------------------------------\n*\n*\tmisc\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-actions {\n text-align: right;\n z-index: 1;\n /* hover */\n /* rtl */\n}\n.acf-actions.-hover {\n position: absolute;\n display: none;\n top: 0;\n right: 0;\n padding: 5px;\n}\nhtml[dir=rtl] .acf-actions.-hover {\n right: auto;\n left: 0;\n}\n\n/* ul compatibility */\nul.acf-actions li {\n float: right;\n margin-left: 4px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tRTL\n*\n*--------------------------------------------------------------------------------------------*/\nhtml[dir=rtl] .acf-fl {\n float: right;\n}\n\nhtml[dir=rtl] .acf-fr {\n float: left;\n}\n\nhtml[dir=rtl] .acf-hl > li {\n float: right;\n}\n\nhtml[dir=rtl] .acf-hl > li.acf-fr {\n float: left;\n}\n\nhtml[dir=rtl] .acf-icon.logo {\n left: 0;\n right: auto;\n}\n\nhtml[dir=rtl] .acf-table thead th {\n text-align: right;\n border-right-width: 1px;\n border-left-width: 0px;\n}\n\nhtml[dir=rtl] .acf-table > tbody > tr > td {\n text-align: right;\n border-right-width: 1px;\n border-left-width: 0px;\n}\n\nhtml[dir=rtl] .acf-table > thead > tr > th:first-child,\nhtml[dir=rtl] .acf-table > tbody > tr > td:first-child {\n border-right-width: 0;\n}\n\nhtml[dir=rtl] .acf-table > tbody > tr > td.order + td {\n border-right-color: #e1e1e1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-postbox-columns\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-postbox-columns {\n position: relative;\n margin-top: -11px;\n margin-bottom: -12px;\n margin-left: -12px;\n margin-right: 268px;\n}\n.acf-postbox-columns:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-postbox-columns .acf-postbox-main,\n.acf-postbox-columns .acf-postbox-side {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 12px 12px;\n}\n.acf-postbox-columns .acf-postbox-main {\n float: left;\n width: 100%;\n}\n.acf-postbox-columns .acf-postbox-side {\n float: right;\n width: 280px;\n margin-right: -280px;\n}\n.acf-postbox-columns .acf-postbox-side:before {\n content: \"\";\n display: block;\n position: absolute;\n width: 1px;\n height: 100%;\n top: 0;\n right: 0;\n background: #d5d9dd;\n}\n.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before {\n background: #dfdfdf;\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n .acf-postbox-columns {\n margin: 0;\n }\n .acf-postbox-columns .acf-postbox-main,\n.acf-postbox-columns .acf-postbox-side {\n float: none;\n width: auto;\n margin: 0;\n padding: 0;\n }\n .acf-postbox-columns .acf-postbox-side {\n margin-top: 1em;\n }\n .acf-postbox-columns .acf-postbox-side:before {\n display: none;\n }\n}\n/*---------------------------------------------------------------------------------------------\n*\n* acf-panel\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-panel {\n margin-top: -1px;\n border-top: 1px solid #d5d9dd;\n border-bottom: 1px solid #d5d9dd;\n /* open */\n /* inside postbox */\n /* fields */\n}\n.acf-panel .acf-panel-title {\n margin: 0;\n padding: 12px;\n font-weight: bold;\n cursor: pointer;\n font-size: inherit;\n}\n.acf-panel .acf-panel-title i {\n float: right;\n}\n.acf-panel .acf-panel-inside {\n margin: 0;\n padding: 0 12px 12px;\n display: none;\n}\n.acf-panel.-open .acf-panel-inside {\n display: block;\n}\n.postbox .acf-panel {\n margin-left: -12px;\n margin-right: -12px;\n}\n.acf-panel .acf-field {\n margin: 20px 0 0;\n}\n.acf-panel .acf-field .acf-label label {\n color: #555d66;\n font-weight: normal;\n}\n.acf-panel .acf-field:first-child {\n margin-top: 0;\n}\n.acf-admin-3-8 .acf-panel {\n border-color: #dfdfdf;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Tools\n*\n*---------------------------------------------------------------------------------------------*/\n#acf-admin-tools .notice {\n margin-top: 10px;\n}\n\n.acf-meta-box-wrap {\n margin-top: 10px;\n /* acf-fields */\n}\n.acf-meta-box-wrap .postbox {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.acf-meta-box-wrap .postbox .inside {\n margin-bottom: 0;\n}\n.acf-meta-box-wrap .postbox .hndle {\n font-size: 14px;\n padding: 8px 12px;\n margin: 0;\n line-height: 1.4;\n position: relative;\n z-index: 1;\n cursor: default;\n}\n.acf-meta-box-wrap .postbox .handlediv,\n.acf-meta-box-wrap .postbox .handle-order-higher,\n.acf-meta-box-wrap .postbox .handle-order-lower {\n display: none;\n}\n.acf-meta-box-wrap .acf-fields {\n border: #ebebeb solid 1px;\n background: #fafafa;\n border-radius: 3px;\n}\n\n/* grid */\n.acf-meta-box-wrap.-grid {\n margin-left: 8px;\n margin-right: 8px;\n}\n.acf-meta-box-wrap.-grid .postbox {\n float: left;\n clear: left;\n width: 50%;\n margin: 0 0 16px;\n}\n.acf-meta-box-wrap.-grid .postbox:nth-child(odd) {\n margin-left: -8px;\n}\n.acf-meta-box-wrap.-grid .postbox:nth-child(even) {\n float: right;\n clear: right;\n margin-right: -8px;\n}\n\n/* mobile */\n@media only screen and (max-width: 850px) {\n .acf-meta-box-wrap.-grid {\n margin-left: 0;\n margin-right: 0;\n }\n .acf-meta-box-wrap.-grid .postbox {\n margin-left: 0 !important;\n margin-right: 0 !important;\n width: 100%;\n }\n}\n/* export tool */\n#acf-admin-tool-export {\n /* panel: selection */\n}\n#acf-admin-tool-export p {\n max-width: 800px;\n}\n#acf-admin-tool-export ul {\n column-width: 200px;\n}\n#acf-admin-tool-export .acf-postbox-side .button {\n margin: 0;\n width: 100%;\n}\n#acf-admin-tool-export textarea {\n display: block;\n width: 100%;\n min-height: 500px;\n background: #fafafa;\n box-shadow: none;\n padding: 7px;\n border-radius: 3px;\n}\n#acf-admin-tool-export .acf-panel-selection .acf-label {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Admin Navigation\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-toolbar {\n background: #fff;\n border-bottom: 1px solid #ccd0d4;\n padding-top: 10px;\n}\n.acf-admin-toolbar h2 {\n font-size: 14px;\n line-height: 2.5714285714;\n display: inline-block;\n padding: 5px 0;\n margin: 0 10px 0 0;\n}\n.acf-admin-toolbar h2 i {\n vertical-align: middle;\n color: #babbbc;\n}\n.acf-admin-toolbar .acf-tab {\n display: inline-block;\n font-size: 14px;\n line-height: 2.5714285714;\n padding: 5px;\n margin: 0 5px;\n text-decoration: none;\n color: inherit;\n}\n.acf-admin-toolbar .acf-tab.is-active {\n border-bottom: #0071a4 solid 3px;\n padding-bottom: 10px;\n}\n.acf-admin-toolbar .acf-tab:hover {\n color: #00a0d2;\n}\n.acf-admin-toolbar .acf-tab:focus {\n box-shadow: none;\n}\n.acf-admin-toolbar a.btn-upgrade {\n display: inline-flex;\n background: #dee3ff;\n border: 1px solid #c6d3f8;\n box-sizing: border-box;\n border-radius: 0.25rem;\n padding: 0 0.75rem;\n cursor: pointer;\n vertical-align: middle;\n margin-top: -6px;\n margin-left: 20px;\n text-decoration: none;\n}\n.acf-admin-toolbar a.btn-upgrade:hover {\n background: #d1ddff;\n border-color: #b9caf9;\n}\n.acf-admin-toolbar a.btn-upgrade p {\n font-family: system-ui;\n font-weight: 600;\n letter-spacing: 0.2;\n line-height: 1;\n font-size: 0.625rem;\n text-transform: uppercase;\n color: #425fdd;\n margin-left: 0.65rem;\n}\n#wpcontent .acf-admin-toolbar {\n margin-left: -20px;\n padding-left: 20px;\n}\n@media screen and (max-width: 600px) {\n .acf-admin-toolbar {\n display: none;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Field Groups\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-admin-field-groups .tablenav.top {\n display: none;\n}\n.acf-admin-field-groups .subsubsub {\n margin-bottom: 3px;\n}\n.acf-admin-field-groups .wp-list-table td, .acf-admin-field-groups .wp-list-table th {\n box-sizing: border-box;\n}\n.acf-admin-field-groups .wp-list-table tr:hover {\n background: #f7f7f7;\n}\n@media screen and (min-width: 782px) {\n .acf-admin-field-groups .wp-list-table .column-acf-count {\n width: 10%;\n }\n}\n.acf-admin-field-groups .wp-list-table .row-actions span.file {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.acf-admin-field-groups .acf-secondary-text {\n color: #a0a5aa;\n}\n\n.acf-multi-dashicon {\n position: relative;\n z-index: 1;\n}\n.acf-multi-dashicon:before, .acf-multi-dashicon:after {\n width: 18px;\n height: 18px;\n line-height: 18px;\n font-size: 14px;\n background: #fff;\n border: #7e8993 solid 1px;\n border-radius: 2px;\n display: block;\n}\n.acf-multi-dashicon:after {\n content: \"\";\n position: absolute;\n top: -3px;\n left: -3px;\n z-index: -1;\n background: #e7e7e7;\n}\n\n.acf-css-tooltip {\n position: relative;\n}\n.acf-css-tooltip:before {\n content: attr(aria-label);\n display: none;\n position: absolute;\n z-index: 999;\n bottom: 100%;\n left: 50%;\n transform: translate(-50%, -8px);\n background: #191e23;\n border-radius: 2px;\n padding: 5px 10px;\n color: #fff;\n font-size: 12px;\n line-height: 1.4em;\n white-space: pre;\n}\n.acf-css-tooltip:after {\n content: \"\";\n display: none;\n position: absolute;\n z-index: 998;\n bottom: 100%;\n left: 50%;\n transform: translate(-50%, 4px);\n border: solid 6px transparent;\n border-top-color: #191e23;\n}\n.acf-css-tooltip:hover:before, .acf-css-tooltip:hover:after, .acf-css-tooltip:focus:before, .acf-css-tooltip:focus:after {\n display: block;\n}\n\n.acf-diff .acf-diff-title {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 40px;\n padding: 14px 16px;\n background: #f3f3f3;\n border-bottom: #dddddd solid 1px;\n}\n.acf-diff .acf-diff-title strong {\n font-size: 14px;\n display: block;\n}\n.acf-diff .acf-diff-title .acf-diff-title-left,\n.acf-diff .acf-diff-title .acf-diff-title-right {\n width: 50%;\n float: left;\n}\n.acf-diff .acf-diff-content {\n position: absolute;\n top: 70px;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: auto;\n}\n.acf-diff table.diff {\n border-spacing: 0;\n}\n.acf-diff table.diff col.diffsplit.middle {\n width: 0;\n}\n.acf-diff table.diff td, .acf-diff table.diff th {\n padding-top: 0.25em;\n padding-bottom: 0.25em;\n}\n.acf-diff table.diff tr td:nth-child(2) {\n width: auto;\n}\n.acf-diff table.diff td:nth-child(3) {\n border-left: #dddddd solid 1px;\n}\n@media screen and (max-width: 600px) {\n .acf-diff .acf-diff-title {\n height: 70px;\n }\n .acf-diff .acf-diff-content {\n top: 100px;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Modal\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-modal {\n position: fixed;\n top: 30px;\n left: 30px;\n right: 30px;\n bottom: 30px;\n z-index: 160000;\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);\n background: #fcfcfc;\n}\n.acf-modal .acf-modal-title,\n.acf-modal .acf-modal-content,\n.acf-modal .acf-modal-toolbar {\n box-sizing: border-box;\n position: absolute;\n left: 0;\n right: 0;\n}\n.acf-modal .acf-modal-title {\n height: 50px;\n top: 0;\n border-bottom: 1px solid #ddd;\n}\n.acf-modal .acf-modal-title h2 {\n margin: 0;\n padding: 0 16px;\n line-height: 50px;\n}\n.acf-modal .acf-modal-title .acf-modal-close {\n position: absolute;\n top: 0;\n right: 0;\n height: 50px;\n width: 50px;\n border: none;\n border-left: 1px solid #ddd;\n background: transparent;\n cursor: pointer;\n color: #666;\n}\n.acf-modal .acf-modal-title .acf-modal-close:hover {\n color: #00a0d2;\n}\n.acf-modal .acf-modal-content {\n top: 50px;\n bottom: 60px;\n background: #fff;\n overflow: auto;\n padding: 16px;\n}\n.acf-modal .acf-modal-feedback {\n position: absolute;\n top: 50%;\n margin: -10px 0;\n left: 0;\n right: 0;\n text-align: center;\n opacity: 0.75;\n}\n.acf-modal .acf-modal-feedback.error {\n opacity: 1;\n color: #b52727;\n}\n.acf-modal .acf-modal-toolbar {\n height: 60px;\n bottom: 0;\n padding: 15px 16px;\n border-top: 1px solid #ddd;\n}\n.acf-modal .acf-modal-toolbar .button {\n float: right;\n}\n@media only screen and (max-width: 640px) {\n .acf-modal {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n}\n\n.acf-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: #000;\n opacity: 0.7;\n z-index: 159900;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Retina\n*\n*---------------------------------------------------------------------------------------------*/\n@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {\n .acf-loading,\n.acf-spinner {\n background-image: url(../../images/spinner@2x.gif);\n background-size: 20px 20px;\n }\n}"],"names":[],"sourceRoot":""}
assets/build/css/acf-global.min.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.acf-hl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-hl>li{float:left;display:block;margin:0;padding:0}.acf-hl>li.acf-fr{float:right}.acf-bl:after,.acf-bl:before,.acf-cf:after,.acf-cf:before,.acf-hl:after,.acf-hl:before{content:"";display:block;line-height:0}.acf-bl:after,.acf-cf:after,.acf-hl:after{clear:both}.acf-bl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-bl>li{display:block;margin:0;padding:0;float:none}.acf-hidden{display:none!important}.acf-empty{display:table-cell!important}.acf-empty *{display:none!important}.acf-fl{float:left}.acf-fr{float:right}.acf-fn{float:none}.acf-al{text-align:left}.acf-ar{text-align:right}.acf-ac{text-align:center}.acf-loading,.acf-spinner{display:inline-block;height:20px;width:20px;vertical-align:text-top;background:transparent url(../../images/spinner.gif) no-repeat 50% 50%}.acf-spinner{display:none}.acf-spinner.is-active{display:inline-block}.spinner.is-active{display:inline-block}.acf-required{color:red}.acf-soh .acf-soh-target{-webkit-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-moz-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-o-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;visibility:hidden;opacity:0}.acf-soh:hover .acf-soh-target{-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;visibility:visible;opacity:1}.show-if-value{display:none}.hide-if-value{display:block}.has-value .show-if-value{display:block}.has-value .hide-if-value{display:none}.select2-search-choice-close{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-tooltip{background:#2f353e;border-radius:5px;color:#fff;padding:5px 10px;position:absolute;font-size:12px;line-height:1.4em;z-index:900000}.acf-tooltip:before{border:solid;border-color:transparent;border-width:6px;content:"";position:absolute}.acf-tooltip.top{margin-top:-8px}.acf-tooltip.top:before{top:100%;left:50%;margin-left:-6px;border-top-color:#2f353e;border-bottom-width:0}.acf-tooltip.right{margin-left:8px}.acf-tooltip.right:before{top:50%;margin-top:-6px;right:100%;border-right-color:#2f353e;border-left-width:0}.acf-tooltip.bottom{margin-top:8px}.acf-tooltip.bottom:before{bottom:100%;left:50%;margin-left:-6px;border-bottom-color:#2f353e;border-top-width:0}.acf-tooltip.left{margin-left:-8px}.acf-tooltip.left:before{top:50%;margin-top:-6px;left:100%;border-left-color:#2f353e;border-right-width:0}.acf-tooltip .acf-overlay{z-index:-1}.acf-tooltip.-confirm{z-index:900001}.acf-tooltip.-confirm a{text-decoration:none;color:#9ea3a8}.acf-tooltip.-confirm a:hover{text-decoration:underline}.acf-tooltip.-confirm a[data-event=confirm]{color:#f55e4f}.acf-overlay{position:fixed;top:0;bottom:0;left:0;right:0;cursor:default}.acf-tooltip-target{position:relative;z-index:900002}.acf-loading-overlay{position:absolute;top:0;bottom:0;left:0;right:0;cursor:default;z-index:99;background:rgba(249,249,249,.5)}.acf-loading-overlay i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.acf-icon{display:inline-block;height:28px;width:28px;border:transparent solid 1px;border-radius:100%;font-size:20px;line-height:21px;text-align:center;text-decoration:none;vertical-align:top;box-sizing:border-box}.acf-icon:before{font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em;vertical-align:middle;text-align:center}.acf-icon.-plus:before{content:""}.acf-icon.-minus:before{content:""}.acf-icon.-cancel:before{content:""}.acf-icon.-pencil:before{content:""}.acf-icon.-location:before{content:""}.acf-icon.-up:before{content:"";margin-top:-.1em}.acf-icon.-down:before{content:"";margin-top:.1em}.acf-icon.-left:before{content:"";margin-left:-.1em}.acf-icon.-right:before{content:"";margin-left:.1em}.acf-icon.-sync:before{content:""}.acf-icon.-globe:before{content:"";margin-top:.1em;margin-left:.1em}.acf-icon.-picture:before{content:""}.acf-icon.-check:before{content:"";margin-left:-.1em}.acf-icon.-dot-3:before{content:"";margin-top:-.1em}.acf-icon.-arrow-combo:before{content:""}.acf-icon.-arrow-up:before{content:"";margin-left:-.1em}.acf-icon.-arrow-down:before{content:"";margin-left:-.1em}.acf-icon.-search:before{content:""}.acf-icon.-link-ext:before{content:""}.acf-icon.-duplicate{position:relative}.acf-icon.-duplicate:after,.acf-icon.-duplicate:before{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-duplicate:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0 0 currentColor}.acf-icon.-duplicate:after{border:solid 2px currentColor}.acf-icon.-collapse:before{content:"";margin-left:-.1em}.-collapsed .acf-icon.-collapse:before{content:"";margin-left:-.1em}span.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff}a.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff;position:relative;transition:none;cursor:pointer}a.acf-icon:hover{background:#f3f5f6;border-color:#0071a1;color:#0071a1}a.acf-icon.-cancel:hover,a.acf-icon.-minus:hover{background:#f7efef;border-color:#a10000;color:#dc3232}a.acf-icon:active,a.acf-icon:focus{outline:0;box-shadow:none}.acf-icon.-clear{border-color:transparent;background:0 0;color:#444}.acf-icon.light{border-color:transparent;background:#f5f5f5;color:#23282d}.acf-icon.dark{border-color:transparent!important;background:#23282d;color:#eee}a.acf-icon.dark:hover{background:#191e23;color:#00b9eb}a.acf-icon.dark.-cancel:hover,a.acf-icon.dark.-minus:hover{color:#d54e21}.acf-icon.grey{border-color:transparent!important;background:#b4b9be;color:#fff!important}.acf-icon.grey:hover{background:#00a0d2;color:#fff}.acf-icon.grey.-cancel:hover,.acf-icon.grey.-minus:hover{background:#32373c}.acf-icon.-small,.acf-icon.small{width:20px;height:20px;line-height:14px;font-size:14px}.acf-icon.-small.-duplicate:after,.acf-icon.-small.-duplicate:before,.acf-icon.small.-duplicate:after,.acf-icon.small.-duplicate:before{opacity:.8}.acf-box{background:#fff;border:1px solid #ccd0d4;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04)}.acf-box .title{border-bottom:1px solid #ccd0d4;margin:0;padding:15px}.acf-box .title h3{font-size:14px;line-height:1em;margin:0;padding:0}.acf-box .inner{padding:15px}.acf-box h2{color:#333;font-size:26px;line-height:1.25em;margin:.25em 0 .75em;padding:0}.acf-box h3{margin:1.5em 0 0}.acf-box p{margin-top:.5em}.acf-box a{text-decoration:none}.acf-box i.dashicons-external{margin-top:-1px}.acf-box .footer{border-top:1px solid #ccd0d4;padding:12px;font-size:13px;line-height:1.5}.acf-box .footer p{margin:0}.acf-admin-3-8 .acf-box{border-color:#e5e5e5}.acf-admin-3-8 .acf-box .footer,.acf-admin-3-8 .acf-box .title{border-color:#e5e5e5}.acf-notice{position:relative;display:block;color:#fff;margin:5px 0 15px;padding:3px 12px;background:#2a9bd9;border-left:#1f7db1 solid 3px}.acf-notice p{font-size:13px;line-height:1.5;margin:.5em 0;text-shadow:none;color:inherit}.acf-notice .acf-notice-dismiss{position:absolute;top:9px;right:12px;background:0 0!important;color:inherit!important;border-color:#fff!important;opacity:.75}.acf-notice .acf-notice-dismiss:hover{opacity:1}.acf-notice.-dismiss{padding-right:40px}.acf-notice.-error{background:#d94f4f;border-color:#c92c2c}.acf-notice.-success{background:#49ad52;border-color:#3a8941}.acf-notice.-warning{background:#fd8d3b;border-color:#fc7009}.acf-table{border:#ccd0d4 solid 1px;background:#fff;border-spacing:0;border-radius:0;table-layout:auto;padding:0;margin:0;width:100%;clear:both;box-sizing:content-box}.acf-table>tbody>tr>td,.acf-table>tbody>tr>th,.acf-table>thead>tr>td,.acf-table>thead>tr>th{padding:8px;vertical-align:top;background:#fff;text-align:left;border-style:solid;font-weight:400}.acf-table>tbody>tr>th,.acf-table>thead>tr>th{position:relative;color:#333}.acf-table>thead>tr>th{border-color:#d5d9dd;border-width:0 0 1px 1px}.acf-table>thead>tr>th:first-child{border-left-width:0}.acf-table>tbody>tr{z-index:1}.acf-table>tbody>tr>td{border-color:#eee;border-width:1px 0 0 1px}.acf-table>tbody>tr>td:first-child{border-left-width:0}.acf-table>tbody>tr:first-child>td{border-top-width:0}.acf-table.-clear{border:0 none}.acf-table.-clear>tbody>tr>td,.acf-table.-clear>tbody>tr>th,.acf-table.-clear>thead>tr>td,.acf-table.-clear>thead>tr>th{border:0 none;padding:4px}.acf-remove-element{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(50px,0);opacity:0}.acf-fade-up{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(0,-10px);opacity:0}.acf-tbody,.acf-tfoot,.acf-thead{width:100%;padding:0;margin:0}.acf-tbody>li,.acf-tfoot>li,.acf-thead>li{box-sizing:border-box;padding:8px 12px;font-size:12px;line-height:14px}.acf-thead{border-bottom:#ccd0d4 solid 1px;color:#23282d}.acf-thead>li{font-size:14px;line-height:1.4;font-weight:700}.acf-admin-3-8 .acf-thead{border-color:#dfdfdf}.acf-tfoot{background:#f5f5f5;border-top:#d5d9dd solid 1px}.acf-settings-wrap #poststuff{padding-top:15px}.acf-settings-wrap .acf-box{margin:20px 0}.acf-settings-wrap table{margin:0}.acf-settings-wrap table .button{vertical-align:middle}#acf-popup{position:fixed;z-index:900000;top:0;left:0;right:0;bottom:0;text-align:center}#acf-popup .bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:rgba(0,0,0,.25)}#acf-popup:before{content:"";display:inline-block;height:100%;vertical-align:middle}#acf-popup .acf-popup-box{display:inline-block;vertical-align:middle;z-index:1;min-width:300px;min-height:160px;border-color:#aaa;box-shadow:0 5px 30px -5px rgba(0,0,0,.25);text-align:left}html[dir=rtl] #acf-popup .acf-popup-box{text-align:right}#acf-popup .acf-popup-box .title{min-height:15px;line-height:15px}#acf-popup .acf-popup-box .title .acf-icon{position:absolute;top:10px;right:10px}html[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon{right:auto;left:10px}#acf-popup .acf-popup-box .inner{min-height:50px;padding:0;margin:15px}#acf-popup .acf-popup-box .loading{position:absolute;top:45px;left:0;right:0;bottom:0;z-index:2;background:rgba(0,0,0,.1);display:none}#acf-popup .acf-popup-box .loading i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.acf-submit{margin-bottom:0;line-height:28px}.acf-submit span{float:right;color:#999}.acf-submit span.-error{color:#dd4232}.acf-submit .button{margin-right:5px}#acf-upgrade-notice{position:relative;background:#fff;border-left:4px solid #00a0d2;padding:20px}#acf-upgrade-notice:after{display:block;clear:both;content:""}#acf-upgrade-notice .col-content{float:left;width:55%;padding-left:90px}#acf-upgrade-notice .col-actions{float:right;text-align:center;padding:10px}#acf-upgrade-notice img{float:left;width:70px;height:70px;margin:0 0 0 -90px}#acf-upgrade-notice h2{font-size:16px;margin:2px 0 6.5px}#acf-upgrade-notice p{padding:0;margin:0}#acf-upgrade-notice .button:before{margin-top:11px}@media screen and (max-width:640px){#acf-upgrade-notice .col-actions,#acf-upgrade-notice .col-content{float:none;padding-left:90px;width:auto;text-align:left}}.acf-wrap h1{margin-top:0;padding-top:20px}.acf-wrap .about-text{margin-top:.5em;min-height:50px}.acf-wrap .about-headline-callout{font-size:2.4em;font-weight:300;line-height:1.3;margin:1.1em 0 .2em;text-align:center}.acf-wrap .feature-section{padding:40px 0}.acf-wrap .feature-section h2{margin-top:20px}.acf-wrap .changelog{list-style:disc;padding-left:15px}.acf-wrap .changelog li{margin:0 0 .75em}.acf-wrap .acf-three-col{display:flex;flex-wrap:wrap;justify-content:space-between}.acf-wrap .acf-three-col>div{flex:1;align-self:flex-start;min-width:31%;max-width:31%}@media screen and (max-width:880px){.acf-wrap .acf-three-col>div{min-width:48%}}@media screen and (max-width:640px){.acf-wrap .acf-three-col>div{min-width:100%}}.acf-wrap .acf-three-col h3 .badge{display:inline-block;vertical-align:top;border-radius:5px;background:#fc9700;color:#fff;font-weight:400;font-size:12px;padding:2px 5px}.acf-wrap .acf-three-col img+h3{margin-top:.5em}.acf-hl[data-cols]{margin-left:-10px;margin-right:-10px}.acf-hl[data-cols]>li{padding:0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-hl[data-cols="2"]>li{width:50%}.acf-hl[data-cols="3"]>li{width:33.333%}.acf-hl[data-cols="4"]>li{width:25%}@media screen and (max-width:640px){.acf-hl[data-cols]{margin-left:0;margin-right:0;margin-top:-10px}.acf-hl[data-cols]>li{width:100%!important;padding:10px 0 0}}.acf-actions{text-align:right;z-index:1}.acf-actions.-hover{position:absolute;display:none;top:0;right:0;padding:5px}html[dir=rtl] .acf-actions.-hover{right:auto;left:0}ul.acf-actions li{float:right;margin-left:4px}html[dir=rtl] .acf-fl{float:right}html[dir=rtl] .acf-fr{float:left}html[dir=rtl] .acf-hl>li{float:right}html[dir=rtl] .acf-hl>li.acf-fr{float:left}html[dir=rtl] .acf-icon.logo{left:0;right:auto}html[dir=rtl] .acf-table thead th{text-align:right;border-right-width:1px;border-left-width:0}html[dir=rtl] .acf-table>tbody>tr>td{text-align:right;border-right-width:1px;border-left-width:0}html[dir=rtl] .acf-table>tbody>tr>td:first-child,html[dir=rtl] .acf-table>thead>tr>th:first-child{border-right-width:0}html[dir=rtl] .acf-table>tbody>tr>td.order+td{border-right-color:#e1e1e1}.acf-postbox-columns{position:relative;margin-top:-11px;margin-bottom:-12px;margin-left:-12px;margin-right:268px}.acf-postbox-columns:after{display:block;clear:both;content:""}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px 12px}.acf-postbox-columns .acf-postbox-main{float:left;width:100%}.acf-postbox-columns .acf-postbox-side{float:right;width:280px;margin-right:-280px}.acf-postbox-columns .acf-postbox-side:before{content:"";display:block;position:absolute;width:1px;height:100%;top:0;right:0;background:#d5d9dd}.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before{background:#dfdfdf}@media only screen and (max-width:850px){.acf-postbox-columns{margin:0}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{float:none;width:auto;margin:0;padding:0}.acf-postbox-columns .acf-postbox-side{margin-top:1em}.acf-postbox-columns .acf-postbox-side:before{display:none}}.acf-panel{margin-top:-1px;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd}.acf-panel .acf-panel-title{margin:0;padding:12px;font-weight:700;cursor:pointer;font-size:inherit}.acf-panel .acf-panel-title i{float:right}.acf-panel .acf-panel-inside{margin:0;padding:0 12px 12px;display:none}.acf-panel.-open .acf-panel-inside{display:block}.postbox .acf-panel{margin-left:-12px;margin-right:-12px}.acf-panel .acf-field{margin:20px 0 0}.acf-panel .acf-field .acf-label label{color:#555d66;font-weight:400}.acf-panel .acf-field:first-child{margin-top:0}.acf-admin-3-8 .acf-panel{border-color:#dfdfdf}#acf-admin-tools .notice{margin-top:10px}.acf-meta-box-wrap{margin-top:10px}.acf-meta-box-wrap .postbox{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-meta-box-wrap .postbox .inside{margin-bottom:0}.acf-meta-box-wrap .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;position:relative;z-index:1;cursor:default}.acf-meta-box-wrap .postbox .handle-order-higher,.acf-meta-box-wrap .postbox .handle-order-lower,.acf-meta-box-wrap .postbox .handlediv{display:none}.acf-meta-box-wrap .acf-fields{border:#ebebeb solid 1px;background:#fafafa;border-radius:3px}.acf-meta-box-wrap.-grid{margin-left:8px;margin-right:8px}.acf-meta-box-wrap.-grid .postbox{float:left;clear:left;width:50%;margin:0 0 16px}.acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:-8px}.acf-meta-box-wrap.-grid .postbox:nth-child(even){float:right;clear:right;margin-right:-8px}@media only screen and (max-width:850px){.acf-meta-box-wrap.-grid{margin-left:0;margin-right:0}.acf-meta-box-wrap.-grid .postbox{margin-left:0!important;margin-right:0!important;width:100%}}#acf-admin-tool-export p{max-width:800px}#acf-admin-tool-export ul{column-width:200px}#acf-admin-tool-export .acf-postbox-side .button{margin:0;width:100%}#acf-admin-tool-export textarea{display:block;width:100%;min-height:500px;background:#fafafa;box-shadow:none;padding:7px;border-radius:3px}#acf-admin-tool-export .acf-panel-selection .acf-label{display:none}.acf-admin-toolbar{background:#fff;border-bottom:1px solid #ccd0d4;padding-top:10px}.acf-admin-toolbar h2{font-size:14px;line-height:2.5714285714;display:inline-block;padding:5px 0;margin:0 10px 0 0}.acf-admin-toolbar h2 i{vertical-align:middle;color:#babbbc}.acf-admin-toolbar .acf-tab{display:inline-block;font-size:14px;line-height:2.5714285714;padding:5px;margin:0 5px;text-decoration:none;color:inherit}.acf-admin-toolbar .acf-tab.is-active{border-bottom:#0071a4 solid 3px;padding-bottom:10px}.acf-admin-toolbar .acf-tab:hover{color:#00a0d2}.acf-admin-toolbar .acf-tab:focus{box-shadow:none}.acf-admin-toolbar a.btn-upgrade{display:inline-flex;background:#dee3ff;border:1px solid #c6d3f8;box-sizing:border-box;border-radius:.25rem;padding:0 .75rem;cursor:pointer;vertical-align:middle;margin-top:-6px;margin-left:20px;text-decoration:none}.acf-admin-toolbar a.btn-upgrade:hover{background:#d1ddff;border-color:#b9caf9}.acf-admin-toolbar a.btn-upgrade p{font-family:system-ui;font-weight:600;letter-spacing:.2;line-height:1;font-size:.625rem;text-transform:uppercase;color:#425fdd;margin-left:.65rem}#wpcontent .acf-admin-toolbar{margin-left:-20px;padding-left:20px}@media screen and (max-width:600px){.acf-admin-toolbar{display:none}}.acf-admin-field-groups .tablenav.top{display:none}.acf-admin-field-groups .subsubsub{margin-bottom:3px}.acf-admin-field-groups .wp-list-table td,.acf-admin-field-groups .wp-list-table th{box-sizing:border-box}.acf-admin-field-groups .wp-list-table tr:hover{background:#f7f7f7}@media screen and (min-width:782px){.acf-admin-field-groups .wp-list-table .column-acf-count{width:10%}}.acf-admin-field-groups .wp-list-table .row-actions span.file{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acf-admin-field-groups .acf-secondary-text{color:#a0a5aa}.acf-multi-dashicon{position:relative;z-index:1}.acf-multi-dashicon:after,.acf-multi-dashicon:before{width:18px;height:18px;line-height:18px;font-size:14px;background:#fff;border:#7e8993 solid 1px;border-radius:2px;display:block}.acf-multi-dashicon:after{content:"";position:absolute;top:-3px;left:-3px;z-index:-1;background:#e7e7e7}.acf-css-tooltip{position:relative}.acf-css-tooltip:before{content:attr(aria-label);display:none;position:absolute;z-index:999;bottom:100%;left:50%;transform:translate(-50%,-8px);background:#191e23;border-radius:2px;padding:5px 10px;color:#fff;font-size:12px;line-height:1.4em;white-space:pre}.acf-css-tooltip:after{content:"";display:none;position:absolute;z-index:998;bottom:100%;left:50%;transform:translate(-50%,4px);border:solid 6px transparent;border-top-color:#191e23}.acf-css-tooltip:focus:after,.acf-css-tooltip:focus:before,.acf-css-tooltip:hover:after,.acf-css-tooltip:hover:before{display:block}.acf-diff .acf-diff-title{position:absolute;top:0;left:0;right:0;height:40px;padding:14px 16px;background:#f3f3f3;border-bottom:#ddd solid 1px}.acf-diff .acf-diff-title strong{font-size:14px;display:block}.acf-diff .acf-diff-title .acf-diff-title-left,.acf-diff .acf-diff-title .acf-diff-title-right{width:50%;float:left}.acf-diff .acf-diff-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow:auto}.acf-diff table.diff{border-spacing:0}.acf-diff table.diff col.diffsplit.middle{width:0}.acf-diff table.diff td,.acf-diff table.diff th{padding-top:.25em;padding-bottom:.25em}.acf-diff table.diff tr td:nth-child(2){width:auto}.acf-diff table.diff td:nth-child(3){border-left:#ddd solid 1px}@media screen and (max-width:600px){.acf-diff .acf-diff-title{height:70px}.acf-diff .acf-diff-content{top:100px}}.acf-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000;box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc}.acf-modal .acf-modal-content,.acf-modal .acf-modal-title,.acf-modal .acf-modal-toolbar{box-sizing:border-box;position:absolute;left:0;right:0}.acf-modal .acf-modal-title{height:50px;top:0;border-bottom:1px solid #ddd}.acf-modal .acf-modal-title h2{margin:0;padding:0 16px;line-height:50px}.acf-modal .acf-modal-title .acf-modal-close{position:absolute;top:0;right:0;height:50px;width:50px;border:none;border-left:1px solid #ddd;background:0 0;cursor:pointer;color:#666}.acf-modal .acf-modal-title .acf-modal-close:hover{color:#00a0d2}.acf-modal .acf-modal-content{top:50px;bottom:60px;background:#fff;overflow:auto;padding:16px}.acf-modal .acf-modal-feedback{position:absolute;top:50%;margin:-10px 0;left:0;right:0;text-align:center;opacity:.75}.acf-modal .acf-modal-feedback.error{opacity:1;color:#b52727}.acf-modal .acf-modal-toolbar{height:60px;bottom:0;padding:15px 16px;border-top:1px solid #ddd}.acf-modal .acf-modal-toolbar .button{float:right}@media only screen and (max-width:640px){.acf-modal{top:0;left:0;right:0;bottom:0}}.acf-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;z-index:159900}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.acf-loading,.acf-spinner{background-image:url(../../images/spinner@2x.gif);background-size:20px 20px}}
1
+ .acf-hl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-hl>li{float:left;display:block;margin:0;padding:0}.acf-hl>li.acf-fr{float:right}.acf-hl:before,.acf-hl:after,.acf-bl:before,.acf-bl:after,.acf-cf:before,.acf-cf:after{content:"";display:block;line-height:0}.acf-hl:after,.acf-bl:after,.acf-cf:after{clear:both}.acf-bl{padding:0;margin:0;list-style:none;display:block;position:relative}.acf-bl>li{display:block;margin:0;padding:0;float:none}.acf-hidden{display:none !important}.acf-empty{display:table-cell !important}.acf-empty *{display:none !important}.acf-fl{float:left}.acf-fr{float:right}.acf-fn{float:none}.acf-al{text-align:left}.acf-ar{text-align:right}.acf-ac{text-align:center}.acf-loading,.acf-spinner{display:inline-block;height:20px;width:20px;vertical-align:text-top;background:transparent url(../../images/spinner.gif) no-repeat 50% 50%}.acf-spinner{display:none}.acf-spinner.is-active{display:inline-block}.spinner.is-active{display:inline-block}.acf-required{color:red}.acf-soh .acf-soh-target{-webkit-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-moz-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;-o-transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;transition:opacity .25s 0s ease-in-out,visibility 0s linear .25s;visibility:hidden;opacity:0}.acf-soh:hover .acf-soh-target{-webkit-transition-delay:0s;-moz-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s;visibility:visible;opacity:1}.show-if-value{display:none}.hide-if-value{display:block}.has-value .show-if-value{display:block}.has-value .hide-if-value{display:none}.select2-search-choice-close{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.acf-tooltip{background:#2f353e;border-radius:5px;color:#fff;padding:5px 10px;position:absolute;font-size:12px;line-height:1.4em;z-index:900000}.acf-tooltip:before{border:solid;border-color:transparent;border-width:6px;content:"";position:absolute}.acf-tooltip.top{margin-top:-8px}.acf-tooltip.top:before{top:100%;left:50%;margin-left:-6px;border-top-color:#2f353e;border-bottom-width:0}.acf-tooltip.right{margin-left:8px}.acf-tooltip.right:before{top:50%;margin-top:-6px;right:100%;border-right-color:#2f353e;border-left-width:0}.acf-tooltip.bottom{margin-top:8px}.acf-tooltip.bottom:before{bottom:100%;left:50%;margin-left:-6px;border-bottom-color:#2f353e;border-top-width:0}.acf-tooltip.left{margin-left:-8px}.acf-tooltip.left:before{top:50%;margin-top:-6px;left:100%;border-left-color:#2f353e;border-right-width:0}.acf-tooltip .acf-overlay{z-index:-1}.acf-tooltip.-confirm{z-index:900001}.acf-tooltip.-confirm a{text-decoration:none;color:#9ea3a8}.acf-tooltip.-confirm a:hover{text-decoration:underline}.acf-tooltip.-confirm a[data-event=confirm]{color:#f55e4f}.acf-overlay{position:fixed;top:0;bottom:0;left:0;right:0;cursor:default}.acf-tooltip-target{position:relative;z-index:900002}.acf-loading-overlay{position:absolute;top:0;bottom:0;left:0;right:0;cursor:default;z-index:99;background:rgba(249,249,249,.5)}.acf-loading-overlay i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-icon{display:inline-block;height:28px;width:28px;border:transparent solid 1px;border-radius:100%;font-size:20px;line-height:21px;text-align:center;text-decoration:none;vertical-align:top;box-sizing:border-box}.acf-icon:before{font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em;vertical-align:middle;text-align:center}.acf-icon.-plus:before{content:""}.acf-icon.-minus:before{content:""}.acf-icon.-cancel:before{content:""}.acf-icon.-pencil:before{content:""}.acf-icon.-location:before{content:""}.acf-icon.-up:before{content:"";margin-top:-0.1em}.acf-icon.-down:before{content:"";margin-top:.1em}.acf-icon.-left:before{content:"";margin-left:-0.1em}.acf-icon.-right:before{content:"";margin-left:.1em}.acf-icon.-sync:before{content:""}.acf-icon.-globe:before{content:"";margin-top:.1em;margin-left:.1em}.acf-icon.-picture:before{content:""}.acf-icon.-check:before{content:"";margin-left:-0.1em}.acf-icon.-dot-3:before{content:"";margin-top:-0.1em}.acf-icon.-arrow-combo:before{content:""}.acf-icon.-arrow-up:before{content:"";margin-left:-0.1em}.acf-icon.-arrow-down:before{content:"";margin-left:-0.1em}.acf-icon.-search:before{content:""}.acf-icon.-link-ext:before{content:""}.acf-icon.-duplicate{position:relative}.acf-icon.-duplicate:before,.acf-icon.-duplicate:after{content:"";display:block;box-sizing:border-box;width:46%;height:46%;position:absolute;top:33%;left:23%}.acf-icon.-duplicate:before{margin:-1px 0 0 1px;box-shadow:2px -2px 0px 0px currentColor}.acf-icon.-duplicate:after{border:solid 2px currentColor}.acf-icon.-collapse:before{content:"";margin-left:-0.1em}.-collapsed .acf-icon.-collapse:before{content:"";margin-left:-0.1em}span.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff}a.acf-icon{color:#555d66;border-color:#b5bcc2;background-color:#fff;position:relative;transition:none;cursor:pointer}a.acf-icon:hover{background:#f3f5f6;border-color:#0071a1;color:#0071a1}a.acf-icon.-minus:hover,a.acf-icon.-cancel:hover{background:#f7efef;border-color:#a10000;color:#dc3232}a.acf-icon:active,a.acf-icon:focus{outline:none;box-shadow:none}.acf-icon.-clear{border-color:transparent;background:transparent;color:#444}.acf-icon.light{border-color:transparent;background:#f5f5f5;color:#23282d}.acf-icon.dark{border-color:transparent !important;background:#23282d;color:#eee}a.acf-icon.dark:hover{background:#191e23;color:#00b9eb}a.acf-icon.dark.-minus:hover,a.acf-icon.dark.-cancel:hover{color:#d54e21}.acf-icon.grey{border-color:transparent !important;background:#b4b9be;color:#fff !important}.acf-icon.grey:hover{background:#00a0d2;color:#fff}.acf-icon.grey.-minus:hover,.acf-icon.grey.-cancel:hover{background:#32373c}.acf-icon.small,.acf-icon.-small{width:20px;height:20px;line-height:14px;font-size:14px}.acf-icon.small.-duplicate:before,.acf-icon.small.-duplicate:after,.acf-icon.-small.-duplicate:before,.acf-icon.-small.-duplicate:after{opacity:.8}.acf-box{background:#fff;border:1px solid #ccd0d4;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.04)}.acf-box .title{border-bottom:1px solid #ccd0d4;margin:0;padding:15px}.acf-box .title h3{font-size:14px;line-height:1em;margin:0;padding:0}.acf-box .inner{padding:15px}.acf-box h2{color:#333;font-size:26px;line-height:1.25em;margin:.25em 0 .75em;padding:0}.acf-box h3{margin:1.5em 0 0}.acf-box p{margin-top:.5em}.acf-box a{text-decoration:none}.acf-box i.dashicons-external{margin-top:-1px}.acf-box .footer{border-top:1px solid #ccd0d4;padding:12px;font-size:13px;line-height:1.5}.acf-box .footer p{margin:0}.acf-admin-3-8 .acf-box{border-color:#e5e5e5}.acf-admin-3-8 .acf-box .title,.acf-admin-3-8 .acf-box .footer{border-color:#e5e5e5}.acf-notice{position:relative;display:block;color:#fff;margin:5px 0 15px;padding:3px 12px;background:#2a9bd9;border-left:#1f7db1 solid 3px}.acf-notice p{font-size:13px;line-height:1.5;margin:.5em 0;text-shadow:none;color:inherit}.acf-notice .acf-notice-dismiss{position:absolute;top:9px;right:12px;background:transparent !important;color:inherit !important;border-color:#fff !important;opacity:.75}.acf-notice .acf-notice-dismiss:hover{opacity:1}.acf-notice.-dismiss{padding-right:40px}.acf-notice.-error{background:#d94f4f;border-color:#c92c2c}.acf-notice.-success{background:#49ad52;border-color:#3a8941}.acf-notice.-warning{background:#fd8d3b;border-color:#fc7009}.acf-table{border:#ccd0d4 solid 1px;background:#fff;border-spacing:0;border-radius:0;table-layout:auto;padding:0;margin:0;width:100%;clear:both;box-sizing:content-box}.acf-table>tbody>tr>th,.acf-table>tbody>tr>td,.acf-table>thead>tr>th,.acf-table>thead>tr>td{padding:8px;vertical-align:top;background:#fff;text-align:left;border-style:solid;font-weight:normal}.acf-table>tbody>tr>th,.acf-table>thead>tr>th{position:relative;color:#333}.acf-table>thead>tr>th{border-color:#d5d9dd;border-width:0 0 1px 1px}.acf-table>thead>tr>th:first-child{border-left-width:0}.acf-table>tbody>tr{z-index:1}.acf-table>tbody>tr>td{border-color:#eee;border-width:1px 0 0 1px}.acf-table>tbody>tr>td:first-child{border-left-width:0}.acf-table>tbody>tr:first-child>td{border-top-width:0}.acf-table.-clear{border:0 none}.acf-table.-clear>tbody>tr>td,.acf-table.-clear>tbody>tr>th,.acf-table.-clear>thead>tr>td,.acf-table.-clear>thead>tr>th{border:0 none;padding:4px}.acf-remove-element{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(50px, 0);opacity:0}.acf-fade-up{-webkit-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;transform:translate(0, -10px);opacity:0}.acf-thead,.acf-tbody,.acf-tfoot{width:100%;padding:0;margin:0}.acf-thead>li,.acf-tbody>li,.acf-tfoot>li{box-sizing:border-box;padding:8px 12px;font-size:12px;line-height:14px}.acf-thead{border-bottom:#ccd0d4 solid 1px;color:#23282d}.acf-thead>li{font-size:14px;line-height:1.4;font-weight:bold}.acf-admin-3-8 .acf-thead{border-color:#dfdfdf}.acf-tfoot{background:#f5f5f5;border-top:#d5d9dd solid 1px}.acf-settings-wrap #poststuff{padding-top:15px}.acf-settings-wrap .acf-box{margin:20px 0}.acf-settings-wrap table{margin:0}.acf-settings-wrap table .button{vertical-align:middle}#acf-popup{position:fixed;z-index:900000;top:0;left:0;right:0;bottom:0;text-align:center}#acf-popup .bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:rgba(0,0,0,.25)}#acf-popup:before{content:"";display:inline-block;height:100%;vertical-align:middle}#acf-popup .acf-popup-box{display:inline-block;vertical-align:middle;z-index:1;min-width:300px;min-height:160px;border-color:#aaa;box-shadow:0 5px 30px -5px rgba(0,0,0,.25);text-align:left}html[dir=rtl] #acf-popup .acf-popup-box{text-align:right}#acf-popup .acf-popup-box .title{min-height:15px;line-height:15px}#acf-popup .acf-popup-box .title .acf-icon{position:absolute;top:10px;right:10px}html[dir=rtl] #acf-popup .acf-popup-box .title .acf-icon{right:auto;left:10px}#acf-popup .acf-popup-box .inner{min-height:50px;padding:0;margin:15px}#acf-popup .acf-popup-box .loading{position:absolute;top:45px;left:0;right:0;bottom:0;z-index:2;background:rgba(0,0,0,.1);display:none}#acf-popup .acf-popup-box .loading i{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.acf-submit{margin-bottom:0;line-height:28px}.acf-submit span{float:right;color:#999}.acf-submit span.-error{color:#dd4232}.acf-submit .button{margin-right:5px}#acf-upgrade-notice{position:relative;background:#fff;border-left:4px solid #00a0d2;padding:20px}#acf-upgrade-notice:after{display:block;clear:both;content:""}#acf-upgrade-notice .col-content{float:left;width:55%;padding-left:90px}#acf-upgrade-notice .col-actions{float:right;text-align:center;padding:10px}#acf-upgrade-notice img{float:left;width:70px;height:70px;margin:0 0 0 -90px}#acf-upgrade-notice h2{font-size:16px;margin:2px 0 6.5px}#acf-upgrade-notice p{padding:0;margin:0}#acf-upgrade-notice .button:before{margin-top:11px}@media screen and (max-width: 640px){#acf-upgrade-notice .col-content,#acf-upgrade-notice .col-actions{float:none;padding-left:90px;width:auto;text-align:left}}.acf-wrap h1{margin-top:0;padding-top:20px}.acf-wrap .about-text{margin-top:.5em;min-height:50px}.acf-wrap .about-headline-callout{font-size:2.4em;font-weight:300;line-height:1.3;margin:1.1em 0 .2em;text-align:center}.acf-wrap .feature-section{padding:40px 0}.acf-wrap .feature-section h2{margin-top:20px}.acf-wrap .changelog{list-style:disc;padding-left:15px}.acf-wrap .changelog li{margin:0 0 .75em}.acf-wrap .acf-three-col{display:flex;flex-wrap:wrap;justify-content:space-between}.acf-wrap .acf-three-col>div{flex:1;align-self:flex-start;min-width:31%;max-width:31%}@media screen and (max-width: 880px){.acf-wrap .acf-three-col>div{min-width:48%}}@media screen and (max-width: 640px){.acf-wrap .acf-three-col>div{min-width:100%}}.acf-wrap .acf-three-col h3 .badge{display:inline-block;vertical-align:top;border-radius:5px;background:#fc9700;color:#fff;font-weight:normal;font-size:12px;padding:2px 5px}.acf-wrap .acf-three-col img+h3{margin-top:.5em}.acf-hl[data-cols]{margin-left:-10px;margin-right:-10px}.acf-hl[data-cols]>li{padding:0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-hl[data-cols="2"]>li{width:50%}.acf-hl[data-cols="3"]>li{width:33.333%}.acf-hl[data-cols="4"]>li{width:25%}@media screen and (max-width: 640px){.acf-hl[data-cols]{margin-left:0;margin-right:0;margin-top:-10px}.acf-hl[data-cols]>li{width:100% !important;padding:10px 0 0}}.acf-actions{text-align:right;z-index:1}.acf-actions.-hover{position:absolute;display:none;top:0;right:0;padding:5px}html[dir=rtl] .acf-actions.-hover{right:auto;left:0}ul.acf-actions li{float:right;margin-left:4px}html[dir=rtl] .acf-fl{float:right}html[dir=rtl] .acf-fr{float:left}html[dir=rtl] .acf-hl>li{float:right}html[dir=rtl] .acf-hl>li.acf-fr{float:left}html[dir=rtl] .acf-icon.logo{left:0;right:auto}html[dir=rtl] .acf-table thead th{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>tbody>tr>td{text-align:right;border-right-width:1px;border-left-width:0px}html[dir=rtl] .acf-table>thead>tr>th:first-child,html[dir=rtl] .acf-table>tbody>tr>td:first-child{border-right-width:0}html[dir=rtl] .acf-table>tbody>tr>td.order+td{border-right-color:#e1e1e1}.acf-postbox-columns{position:relative;margin-top:-11px;margin-bottom:-12px;margin-left:-12px;margin-right:268px}.acf-postbox-columns:after{display:block;clear:both;content:""}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 12px 12px}.acf-postbox-columns .acf-postbox-main{float:left;width:100%}.acf-postbox-columns .acf-postbox-side{float:right;width:280px;margin-right:-280px}.acf-postbox-columns .acf-postbox-side:before{content:"";display:block;position:absolute;width:1px;height:100%;top:0;right:0;background:#d5d9dd}.acf-admin-3-8 .acf-postbox-columns .acf-postbox-side:before{background:#dfdfdf}@media only screen and (max-width: 850px){.acf-postbox-columns{margin:0}.acf-postbox-columns .acf-postbox-main,.acf-postbox-columns .acf-postbox-side{float:none;width:auto;margin:0;padding:0}.acf-postbox-columns .acf-postbox-side{margin-top:1em}.acf-postbox-columns .acf-postbox-side:before{display:none}}.acf-panel{margin-top:-1px;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd}.acf-panel .acf-panel-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit}.acf-panel .acf-panel-title i{float:right}.acf-panel .acf-panel-inside{margin:0;padding:0 12px 12px;display:none}.acf-panel.-open .acf-panel-inside{display:block}.postbox .acf-panel{margin-left:-12px;margin-right:-12px}.acf-panel .acf-field{margin:20px 0 0}.acf-panel .acf-field .acf-label label{color:#555d66;font-weight:normal}.acf-panel .acf-field:first-child{margin-top:0}.acf-admin-3-8 .acf-panel{border-color:#dfdfdf}#acf-admin-tools .notice{margin-top:10px}.acf-meta-box-wrap{margin-top:10px}.acf-meta-box-wrap .postbox{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.acf-meta-box-wrap .postbox .inside{margin-bottom:0}.acf-meta-box-wrap .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;position:relative;z-index:1;cursor:default}.acf-meta-box-wrap .postbox .handlediv,.acf-meta-box-wrap .postbox .handle-order-higher,.acf-meta-box-wrap .postbox .handle-order-lower{display:none}.acf-meta-box-wrap .acf-fields{border:#ebebeb solid 1px;background:#fafafa;border-radius:3px}.acf-meta-box-wrap.-grid{margin-left:8px;margin-right:8px}.acf-meta-box-wrap.-grid .postbox{float:left;clear:left;width:50%;margin:0 0 16px}.acf-meta-box-wrap.-grid .postbox:nth-child(odd){margin-left:-8px}.acf-meta-box-wrap.-grid .postbox:nth-child(even){float:right;clear:right;margin-right:-8px}@media only screen and (max-width: 850px){.acf-meta-box-wrap.-grid{margin-left:0;margin-right:0}.acf-meta-box-wrap.-grid .postbox{margin-left:0 !important;margin-right:0 !important;width:100%}}#acf-admin-tool-export p{max-width:800px}#acf-admin-tool-export ul{column-width:200px}#acf-admin-tool-export .acf-postbox-side .button{margin:0;width:100%}#acf-admin-tool-export textarea{display:block;width:100%;min-height:500px;background:#fafafa;box-shadow:none;padding:7px;border-radius:3px}#acf-admin-tool-export .acf-panel-selection .acf-label{display:none}.acf-admin-toolbar{background:#fff;border-bottom:1px solid #ccd0d4;padding-top:10px}.acf-admin-toolbar h2{font-size:14px;line-height:2.5714285714;display:inline-block;padding:5px 0;margin:0 10px 0 0}.acf-admin-toolbar h2 i{vertical-align:middle;color:#babbbc}.acf-admin-toolbar .acf-tab{display:inline-block;font-size:14px;line-height:2.5714285714;padding:5px;margin:0 5px;text-decoration:none;color:inherit}.acf-admin-toolbar .acf-tab.is-active{border-bottom:#0071a4 solid 3px;padding-bottom:10px}.acf-admin-toolbar .acf-tab:hover{color:#00a0d2}.acf-admin-toolbar .acf-tab:focus{box-shadow:none}.acf-admin-toolbar a.btn-upgrade{display:inline-flex;background:#dee3ff;border:1px solid #c6d3f8;box-sizing:border-box;border-radius:.25rem;padding:0 .75rem;cursor:pointer;vertical-align:middle;margin-top:-6px;margin-left:20px;text-decoration:none}.acf-admin-toolbar a.btn-upgrade:hover{background:#d1ddff;border-color:#b9caf9}.acf-admin-toolbar a.btn-upgrade p{font-family:system-ui;font-weight:600;letter-spacing:.2;line-height:1;font-size:.625rem;text-transform:uppercase;color:#425fdd;margin-left:.65rem}#wpcontent .acf-admin-toolbar{margin-left:-20px;padding-left:20px}@media screen and (max-width: 600px){.acf-admin-toolbar{display:none}}.acf-admin-field-groups .tablenav.top{display:none}.acf-admin-field-groups .subsubsub{margin-bottom:3px}.acf-admin-field-groups .wp-list-table td,.acf-admin-field-groups .wp-list-table th{box-sizing:border-box}.acf-admin-field-groups .wp-list-table tr:hover{background:#f7f7f7}@media screen and (min-width: 782px){.acf-admin-field-groups .wp-list-table .column-acf-count{width:10%}}.acf-admin-field-groups .wp-list-table .row-actions span.file{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.acf-admin-field-groups .acf-secondary-text{color:#a0a5aa}.acf-multi-dashicon{position:relative;z-index:1}.acf-multi-dashicon:before,.acf-multi-dashicon:after{width:18px;height:18px;line-height:18px;font-size:14px;background:#fff;border:#7e8993 solid 1px;border-radius:2px;display:block}.acf-multi-dashicon:after{content:"";position:absolute;top:-3px;left:-3px;z-index:-1;background:#e7e7e7}.acf-css-tooltip{position:relative}.acf-css-tooltip:before{content:attr(aria-label);display:none;position:absolute;z-index:999;bottom:100%;left:50%;transform:translate(-50%, -8px);background:#191e23;border-radius:2px;padding:5px 10px;color:#fff;font-size:12px;line-height:1.4em;white-space:pre}.acf-css-tooltip:after{content:"";display:none;position:absolute;z-index:998;bottom:100%;left:50%;transform:translate(-50%, 4px);border:solid 6px transparent;border-top-color:#191e23}.acf-css-tooltip:hover:before,.acf-css-tooltip:hover:after,.acf-css-tooltip:focus:before,.acf-css-tooltip:focus:after{display:block}.acf-diff .acf-diff-title{position:absolute;top:0;left:0;right:0;height:40px;padding:14px 16px;background:#f3f3f3;border-bottom:#ddd solid 1px}.acf-diff .acf-diff-title strong{font-size:14px;display:block}.acf-diff .acf-diff-title .acf-diff-title-left,.acf-diff .acf-diff-title .acf-diff-title-right{width:50%;float:left}.acf-diff .acf-diff-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow:auto}.acf-diff table.diff{border-spacing:0}.acf-diff table.diff col.diffsplit.middle{width:0}.acf-diff table.diff td,.acf-diff table.diff th{padding-top:.25em;padding-bottom:.25em}.acf-diff table.diff tr td:nth-child(2){width:auto}.acf-diff table.diff td:nth-child(3){border-left:#ddd solid 1px}@media screen and (max-width: 600px){.acf-diff .acf-diff-title{height:70px}.acf-diff .acf-diff-content{top:100px}}.acf-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000;box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc}.acf-modal .acf-modal-title,.acf-modal .acf-modal-content,.acf-modal .acf-modal-toolbar{box-sizing:border-box;position:absolute;left:0;right:0}.acf-modal .acf-modal-title{height:50px;top:0;border-bottom:1px solid #ddd}.acf-modal .acf-modal-title h2{margin:0;padding:0 16px;line-height:50px}.acf-modal .acf-modal-title .acf-modal-close{position:absolute;top:0;right:0;height:50px;width:50px;border:none;border-left:1px solid #ddd;background:transparent;cursor:pointer;color:#666}.acf-modal .acf-modal-title .acf-modal-close:hover{color:#00a0d2}.acf-modal .acf-modal-content{top:50px;bottom:60px;background:#fff;overflow:auto;padding:16px}.acf-modal .acf-modal-feedback{position:absolute;top:50%;margin:-10px 0;left:0;right:0;text-align:center;opacity:.75}.acf-modal .acf-modal-feedback.error{opacity:1;color:#b52727}.acf-modal .acf-modal-toolbar{height:60px;bottom:0;padding:15px 16px;border-top:1px solid #ddd}.acf-modal .acf-modal-toolbar .button{float:right}@media only screen and (max-width: 640px){.acf-modal{top:0;left:0;right:0;bottom:0}}.acf-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;z-index:159900}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.acf-loading,.acf-spinner{background-image:url(../../images/spinner@2x.gif);background-size:20px 20px}}
assets/build/css/acf-input.css CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  /*--------------------------------------------------------------------------------------------
2
  *
3
  * Vars
@@ -2929,4 +2932,6 @@ body.is-dragging-metaboxes #acf_after_title-sortables {
2929
  display: flow-root;
2930
  min-height: 60px;
2931
  margin-bottom: 3px !important;
2932
- }
 
 
1
+ /*!****************************************************************************************************************************************************************************************************************!*\
2
+ !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-input.scss ***!
3
+ \****************************************************************************************************************************************************************************************************************/
4
  /*--------------------------------------------------------------------------------------------
5
  *
6
  * Vars
2932
  display: flow-root;
2933
  min-height: 60px;
2934
  margin-bottom: 3px !important;
2935
+ }
2936
+
2937
+ /*# sourceMappingURL=acf-input.css.map*/
assets/build/css/acf-input.css.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /******/ (function() { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/
4
+ /******/
5
+ /******/ })()
6
+ ;
assets/build/css/acf-input.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"acf-input.css","mappings":";;;AAAA;;;;8FAAA;AAMA;AAOA;AAQA;ACrBA;;;;8FAAA;ACAA;;;;8FAAA;AAMA;;;EAGC;EACA;EACA;EACA;ACaD;;ADVA;EACC;EAIA;ACUD;ADPC;EACC;EACA;EACA;ACSF;ADLC;EACC;EACA;ACOF;ADLE;EACI;EACA;EACA;EACH;ACOH;ADJE;EACC;ACMH;ADDC;EACC;ACGF;ADDE;EACC;ACGH;ADEC;EACC;EACA;EACA;EACA;ACAF;ADGE;EACC;EACA;EACA;ACDH;ADKE;EACC;EACA;EACA;ACHH;ADOE;EACC;EACA;EACA;ACLH;ADUU;EACR;ACRF;;ADaA;EACC;EACA;EAuBD;;;;;;;GAAA;ACzBA;ADKC;EACC;ACHF;ADOC;EACC;ACLF;ADOE;EACC;EACA;ACLH;ADUU;EACR;ACRF;;ADwBA;EACC;EACA;ACrBD;ADwBC;EACC;EACA;ACtBF;;AD0BA;EACC;ACvBD;;AD2BA;;;;8FAAA;AAMA;EACC;ACzBD;AFxHC;EACC;EACA;EACA;AE0HF;AD0BC;EACC;EACA;ACxBF;AD4BC;EACC;EACA;EACA,kBFxJc;EEyJd;AC1BF;AD6BE;EACC;EACA;AC3BH;ADgCU;EACR;AC9BF;;ADoCA;;;;8FAAA;AAMA;EACC;EACA;EACA;AClCD;ADqCC;EACC;ACnCF;ADuCC;EACC;ACrCF;ADyCC;EACC;ACvCF;;AD4CA;;;;8FAAA;AAMA;EACC;AC1CD;AF3KC;EACC;EACA;EACA;AE6KF;AD2CC;EACC;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACzCL;AD6CC;EACC;EACA;EACA;EACA;AC3CF;AD+CC;EACC;EACA;EACA;EACA;AC7CF;ADiDC;EACC;EACA;EACA;EACA;AC/CF;ADsDE;EACC;EACA;EACA;ACpDH;ADwDE;EACC;ACtDH;AD0DE;EACC;ACxDH;AD8DE;EACC;AC5DH;AD8DE;EACC;EACA;AC5DH;AD8DE;EACC;AC5DH;ADiEC;EAGC;IACC;ECjED;EDqEA;IACC;IACA;ECnED;EDuEA;IACC;ECrED;AACF;;ADyEA;AACA;EACC;EACA;ACtED;ADyEC;EACC;ACvEF;AD2EC;EACC;ACzEF;AD6EC;EACC;AC3EF;;ADgFA;;;;8FAAA;AASC;EACC,kBF/UG;EEgVH;EACA;EACG;ACjFL;ADqFC;EACC,kBFvVG;EEwVH;EACA;ACnFF;;ADuFA;EACC;EACA;ACpFD;;ADwFA;;;;8FAAA;AAMA;EACC;ACtFD;ADyFC;EACC;EAAsB;EACtB;EAAuB;ACrFzB;ADyFC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACvFF;ADwFE;EACC;ACtFH;AD6FE;;EACC;AC1FH;ADgGE;EACC;EACA;EACA;EACA;AC9FH;AD+FG;EACC;AC7FJ;ADmGC;EACC;EACA;ACjGF;;ADsGA;EACC;ACnGD;;ADsGA;AACA;EACC;EACA;EACA;EAGA;EAQA;AC5GD;ADqGC;;;EAGC;ACnGF;ADwGC;EACC;EAA2B;EAC3B;EACA;ACrGF;ADuGE;EACC;ACrGH;;AD2GA;AACA;EAEC;EAMA;AC9GD;ADyGC;EACC;ACvGF;AD4GC;EATD;IAWE;EC1GA;ED2GA;IAEC;EC1GD;AACF;;AD8GA;;;;+FAAA;AAOC;;;;;;;;;;;;;;;EAeI;EACH;EACA;EACA;EACG;EACA;AC7GL;AFvWC;;;;;;;;;;;;;;;ECwdE;AChGH;ADmGC;EACC;ACjGF;;ADsGA;EACC;ACnGD;;ADuGA;;;;+FAAA;AAKA;;;EAGC;ACpGD;;ADuGA;;EAEC;EACA;EACA;EACA;EACA;EACA;ACpGD;AFpZC;;EC4fC;EACA,qBFngBkB;EEogBlB;ACpGF;;ADwGA;EACC;EACA;EACA;ACrGD;;ADwGA;EACC;EACA;EACA;ACrGD;;ADwGA;EACC;EACA;ACrGD;ADsGC;EACC;ACpGF;ADsGC;EACC;ACpGF;ADsGC;EACC;ACpGF;;ADwGA;AACA;EACC;EACA;EACA;EAEA;ACtGD;;ADyGA;EACC;EACA;EACA;EACA;ACtGD;;ADyGA;EACC;ACtGD;;ADyGA;EACC;ACtGD;;ADyGA;EACC;ACtGD;;AD0GA;;;;+FAAA;AAOC;EACC,qBF7kBgB;AGoelB;AFxdC;ECmkBE,qBFllBc;AG0ejB;AD2GC;EACC;EACA;ACzGF;;AD8GA;;;;+FAAA;AAQC;EACC;EACA;EACA;EACA;EACA;AC9GF;ADiHC;EACC;AC/GF;ADkHC;EACC;AChHF;;ADqHA;;;;+FAAA;AAMA;EAgEC;EAQA;ACzLD;ADmHC;EACC;EACG;EACA;EACA;ACjHL;ADmHK;EACF;EACA;EACA;EACA;EACA;EAEA;EAaC;AC9HJ;ADkHI;EACC;EACA;EACA;EACA;AChHL;ADkHK;EACC;AChHN;ADsHI;EACC;EACA;EACA;ACpHL;ADwHE;EACC;ACtHH;ADyHE;EACC;EACA;EACA;EACA;ACvHH;AD2HC;EACI;ACzHL;AD2HK;EACF;EACA;EACA;ACzHH;AD4HE;EACC;AC1HH;ADiIC;EAEC;EACA;AChIF;ADqIC;EACC;EACA;ACnIF;;ADwIA;AAGC;EACI;ACvIL;AD0IC;EACI;ACxIL;AD2IC;EACI;EACA;ACzIL;;AD8IA;AACA;EAEC;EAMA;ACjJD;AD4IC;EACC;AC1IF;AD+IC;EASC;ACrJF;AD8IE;EACC;EACA;EACA;AC5IH;ADmJG;EACC;EACA;ACjJJ;;AD4JA;;;;+FAAA;AAQC;EACC;AC5JF;ADgKC;EACC,qBF5wBgB;AG8mBlB;AFlmBC;ECowBE;AC/JH;ADwKE;EACC;ACtKH;ADuKG;EACC;ACrKJ;AD0KE;EACC;ACxKH;AD4KE;EACC;EACA;EAGA;EACA;EACA;EACA;AC5KH;AD+KG;EACC;EACA;EACA;EACA;AC7KJ;AD+KI;EACA;AC7KJ;ADkLG;EACC;EACA;EACA;AChLJ;ADqLE;EACC;EACA;ACnLH;AD6LC;EACC;AC3LF;AD4LE;EACC;AC1LH;;ADiMC;EACC;AC9LF;ADiME;EACC;EACA;AC/LH;;ADoMA;;;;+FAAA;AAQC;EACC;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;ACrMF;ADuME;EACC;ACrMH;AD2ME;EACC;ACzMH;AD2ME;EACC;ACzMH;AD2ME;EACC;ACzMH;AD+ME;EACC;AC7MH;;ADkNA;EACC;AC/MD;;ADiNA;EACC;AC9MD;;ADiNA;;;;+FAAA;AAMA;;EAEC;EACA;EACA;EACA;EAqCA;EAUA;AC5PD;AD+MC;;EACC;EACA;EACA;EACA;EACA;EAmBA;AC9NF;AD6ME;;EACC;AC1MH;AD6ME;;;;EAEC;EACA;ACzMH;AD4ME;;EACC;EACA;EACA;ACzMH;AD8ME;;EACC;AC3MH;AD8ME;;EACC;AC3MH;ADmNE;;EACC;EACA;AChNH;ADwNE;;;;EAEC;EACA;ACpNH;;AD8NA;;;;+FAAA;AAMA;EACC;EA8BA;EA2BA;ACnRD;AD4NC;EACC;EACA;EACA;EACA;EACA;EACA;AC1NF;AD4NE;EACC;EACA;EACA;EACA;AC1NH;AD6NE;EACC;EACA;EACA;EACA;AC3NH;AD+NC;EACC;AC7NF;ADkOC;EACC;EACA;EACA;EACA;AChOF;ADkOE;EACC;EACA;EACA;EACA;AChOH;ADmOG;EACC;ACjOJ;ADkOI;EAAoB;AC/NxB;ADiOG;EACC;AC/NJ;ADgOI;EAAoB;AC7NxB;AD+NG;EAAe;AC5NlB;ADkOC;EACC;EACA;EACA;AChOF;ADkOE;EACC;AChOH;ADmOG;EAAgB;AChOnB;ADiOG;EAAe;AC9NlB;AD+NG;EAAe;AC5NlB;ADmOE;EACC,qBF3jCc;AG01BjB;ADkOG;EACC;AChOJ;ADkOG;EACC;AChOJ;;ADwOA;;;;+FAAA;AAQC;EACC;ACxOF;;AD+OA;;;;+FAAA;AAKA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EA8CA;EAWA;EAiBA;ACpTD;AD4OC;EACC;EACA;EACA;EAEA;EACA;EAEA;EACA;AC5OF;AD8OE;EACC;AC5OH;ADgPC;EACC;EACA;AC9OF;ADqPC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;ACrPF;ADyPC;EAEC;EACA;EACA;ACxPF;ADyPE;EACC;ACvPH;AD4PC;EACC;EACA;EAQA;ACjQF;AD2PE;EACC;EACA;EACA;ACzPH;AD6PE;EACC;AC3PH;ADgQC;EACC;AC9PF;AFz6BC;EC4qCC,qBF3rCe;AG27BjB;ADiQE;EACC,qBF7rCc;AG87BjB;ADkQE;EAEC;ACjQH;ADkQG;EACC;AChQJ;ADoQE;EACC;AClQH;ADmQG;EACC;ACjQJ;ADmQG;EACC;ACjQJ;;ADwQA;AACA;EACC;EACA;EACA;ACrQD;;ADyQA;AAGC;EACC;EACA;EACA;ACxQF;;AD8QA;;;;2EAAA;AAMA;EACC;EACA;EACA;AC5QD;AD8QC;EACC;EACA;AC5QF;AD8QE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC5QH;AD+QE;EACC;EACA;EACA;EACA;AC7QH;ADiRE;EACC;AC/QH;ADmRC;EACC;ACjRF;ADqRC;EACC;ACnRF;ADwRE;EACC;ACtRH;ADwRE;;EAEC;ACtRH;AD4RE;EACC;AC1RH;AD4RE;EACC;AC1RH;AD4RE;EACC;AC1RH;ADgSE;EACC;AC9RH;ADgSE;;EAEC;AC9RH;ADkSE;EACC;AChSH;ADoSE;EACC;AClSH;ADwSE;EACC;ACtSH;ADwSE;EACC;ACtSH;;AD8SA;AACA;EACC;EACA;AC3SD;;AD8SA;EACC;AC3SD;;AD8SA;EACC;AC3SD;;AD6SA;EACC;EACA;AC1SD;;AD8SA;EACC;AC3SD;;AD+SA;;;;2EAAA;AAMA;EACC;EACA;EAiDA;EAsGA;AClcD;AD8SC;EAEC;EACA;EAgCA;AC5UF;AFpmCC;EACC;EACA;EACA;AEsmCF;ADySE;EACC;EACA;EACA;EACA;EACA;EACA;ACvSH;ADwSG;EACC;ACtSJ;AD0SG;EACC;EACA;EAAa;ACvSjB;ADySI;EAEC;EACA;ACxSL;AD2SG;EACC;EACA;EACA;EACA;ACzSJ;AD+SG;EAAU;AC5Sb;AD+SG;EAAU;AC5Sb;AD6SG;EAAkB;AC1SrB;ADgTC;EACC;EACA;EACA;EACA;AC9SF;ADgTE;;;EAGC;EACA;EACA;EACA;EACA;AC9SH;ADiTE;EACC;AC/SH;ADkTE;EACC;EA+BA;EAeA;AC5VH;ADgTG;EACC;EACA;AC9SJ;ADiTG;EACC;EACA;EACA;EACA;EACA;AC/SJ;ADiTI;EACC;EACA;EACA;EACA;AC/SL;ADkTI;EACC;AChTL;ADkTK;EACC;EACA;AChTN;ADsTG;EACC;EACA;ACpTJ;ADsTI;EACC;ACpTL;ADsTK;EACC;ACpTN;AD2TG;EACC;ACzTJ;AD2TI;EACC;EACA;EACA;ACzTL;AD2TK;EACC;ACzTN;AD2TM;EACC;ACzTP;ADgUE;EACC;AC9TH;ADgUG;;;EAGC;AC9TJ;ADuUC;EAEC;EASA;EAWA;ACxVF;AFhuCC;EACC;EACA;EACA;AEkuCF;ADiUE;;EAEC;EACA;EACA;AC/TH;ADmUE;EACC;ACjUH;ADmUG;EACC;ACjUJ;AD0UG;EACC;EACA;EACA;EACA;EAEA;ACzUJ;AD0UI;EACC;EACA;ACxUL;AD6UG;EACC;AC3UJ;AD8UG;EACC;AC5UJ;AD8UI;EACC;AC5UL;;ADwVA;AAKE;EACC;ACzVH;AD4VE;EACC;AC1VH;;ADgWA;;;;2EAAA;AAWE;EACC;EACA;EACA;EACA;EACA;EACA;ACnWH;ADsWE;EACI;EACA;EACA;ACpWN;ADwWC;EACC;ACtWF;ADyWC;EACC;EACA;ACvWF;AD0WC;EACC;ACxWF;AD2WC;EACC,qBFloDe;EEmoDf;ACzWF;;AD8WA;EACC;AC3WD;;AD8WA;;;;+FAAA;AAMA;EACC;AC5WD;;ADgXA;EACC;AC7WD;;ADiXA;EACC;EACA;AC9WD;;ADkXA;EACC;EACA;AC/WD;ADiXC;EACI;AC/WL;ADiXK;EACF;EACA;EAEA;EACA;EACG;EACA;EAEA;EACA;EACA;EACA;EACA;ACjXN;ADmXM;EACF;ACjXJ;ADoXG;EACC;EACA;AClXJ;ADqXG;EACC;ACnXJ;AD0XE;EACC;ACxXH;AD6XE;EACC;EACA;EACG;EACA;EACA;EACA;AC3XN;;ADkYA;EACC;AC/XD;ADkYC;EACC;EACA;EACA;EAGA;EACA;AClYF;ADoYE;EACC;EACA,qBF3uDc;AGy2CjB;ADoYG;EACC;AClYJ;ADsYE;EACC;ACpYH;AFh2CC;ECyuDE,qBFjvDkB;AG22CrB;AD4YC;EACC;AC1YF;;ADoZC;EACC;EAEA;EAMA;ACvZF;ADkZE;EAJD;IAKE;EC/YD;AACF;ADmZE;EACC;EACA;EAEA;AClZH;ADmZG;EALD;IAME;EChZF;AACF;;AD0ZC;EACC;EACA;EACA;EACA;EACA;EAAuB;EACvB;ACtZF;ADyZE;EACC;EACA;ACvZH;ADyZG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACvZJ;ADyZI;EACC;ACvZL;AD2ZG;EACC;EACA;EACA;EACA;ACzZJ;AD8ZE;EACC;EACA;AC5ZH;AD8ZG;EACC;EACA;AC5ZJ;ADkaC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AChaF;ADyaG;EACC;ACvaJ;;AD8aA;AACA;EACC;EACA;EAEA;EAeA;AC1bD;AD4aC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AC1aF;AD+aC;EACC;AC7aF;AD+aE;EACC;EACA;EACA;EACA;AC7aH;ADmbC;EACC;EAEA;AClbF;ADmbE;EACC;ACjbH;ADobE;EACC;EACA;EACA;AClbH;ADqbE;EACC;ACnbH;ADqbG;EACC;ACnbJ;ADsbG;EACC;ACpbJ;AD2bC;EACC;ACzbF;;AD+bA;EACC;AC5bD;AD+bC;EACC;EACA;EACA;EACA;AC7bF;AD+bE;EACC;AC7bH;AD+bG;EACC;AC7bJ;ADicE;EACC;AC/bH;;ADqcA;AAIC;EACC;ACrcF;ADucE;EACC;ACrcH;AD0cC;EACC;EACA;EACA,kBFt+DG;EEu+DH,mBFv+DG;AG+hDL;AD0cE;EACC;EACA,qBFp+Dc;AG4hDjB;AD0cG;EACC;EACA,qBFx+Da;AGgiDjB;AD0cI;EACC;ACxcL;AD4cG;EACC;AC1cJ;ADkdE;EACC;EACA;AChdH;ADmdE;EACC;ACjdH;ADmdG;EACC;EACA;EACA;ACjdJ;ADodG;EACC;ACldJ;;AD8dE;;EAAI;ACzdN;AD0dE;;;EAAsB;ACrdxB;;ADydA;EACC;ACtdD;;AD2dA;AACA;EACC;ACxdD;;AD2dA;EACC;EACA;ACxdD;;AD2dA;EACC;ACxdD;;AD6dA;AACA;EACC;AC1dD;;AD6dA;EACC;AC1dD;;AD6dA;EACC;AC1dD;;AD8dA;AACA;EACC;EACA;AC3dD;;AD+dA;AAGA;EACC;AC9dD;;ADieA;AACC;EACC;AC9dF;;ADkeA;;;;8FAAA;AAMA;EACC;EACA;EACA;ACheD;ADkeC;EACC;EACA;EACA;ACheF;ADkeE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACheH;ADmeE;EACC;ACjeH;ADqeC;EACC;EACA;EACA;ACneF;ADqeE;EACC;EACA;ACneH;ADseE;EACC;EACA;EACA;EACA;ACpeH;ADueE;EDzoED;EACA;EACA;EACA;ECwoEE;EAEA;EACA;EACA;EACA;ACneH;ADseE;EACC;ACpeH;ADueE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACreH;ADueG;EACC;EACA;EACA;ACreJ;AD4eE;EACC;AC1eH;AD6eE;EACC;AC3eH;AD8eE;EACC;AC5eH;;ADkfA;;;;8FAAA;AAMA;EAEC;EAQA;EAiCA;EAMA;AC7hBD;AFjuDC;EACC;EACA;EACA;AEmuDF;AD4eC;EACC;AC1eF;AD+eC;EACC;EACA;EAuBA;ACngBF;AD8eE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;AC9eH;AD+eG;EACC;EACA;AC7eJ;ADmfE;EACC;ACjfH;ADufC;EACC;ACrfF;AD4fE;EACC;AC1fH;;ADkgBA;;;;8FAAA;AAMA;EACC;EA8CA;EAMA;ACljBD;ADggBC;EACC;AC9fF;ADigBC;EACC;EACA;EACA;EACA;AC/fF;ADkgBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AChgBF;ADkgBE;EACC;EACA;EACA;EACA;AChgBH;ADogBC;EACC;EACA;AClgBF;ADogBE;EACC;EACA;EACA;EACA;AClgBH;ADqgBE;EACC;ACngBH;ADwgBC;EACC;ACtgBF;AD6gBE;EACC;EACA;EACA;EACA;AC3gBH;AD8gBE;EACC;EACA;AC5gBH;;ADmhBA;;;;+FAAA;AAMA;EACC;ACjhBD;ADmhBC;EACC;EACA;ACjhBF;;ADshBA;AACA;EACC;EACA;EACA;EACA;ACnhBD;;ADshBA;EACC;EACA;EACA;EACA;ACnhBD;;ADuhBA;;;;+FAAA;AAMA;EAeC;ACniBD;ADshBC;EACC;ACphBF;ADshBE;EACC;ACphBH;ADwhBC;EACC;ACthBF;AD2hBC;EACC;EACA;EACA;EACA;EACA;ACzhBF;;AD+hBA;;;;+FAAA;AAMA;EACC;EAmBA;EAQA;ACtjBD;AD6hBC;EACC;EACA;EACA;EACA;AC3hBF;AD8hBC;EACC;EACA;AC5hBF;AD8hBE;EACC;AC5hBH;ADmiBE;EACC;ACjiBH;ADwiBE;EACC;EACA;ACtiBH;;AD6iBA;;;;+FAAA;AAMA;EAmCC;AC7kBD;AD4iBC;;EAEC;EACA;EACA;EACA;AC1iBF;AD6iBC;EACC;AC3iBF;AD8iBC;EACC;EACA;EACA;EACA;EACA;AC5iBF;AD8iBE;EACC;AC5iBH;ADijBC;EACC;EACA;EACA;EACA;AC/iBF;ADsjBE;EACC;EACA;ACpjBH;ADujBE;EAAc;ACpjBhB;ADqjBE;EAAe;ACljBjB;;ADyjBA;;;;+FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;ACvjBD;AD0jBC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;ACxjBF;AD0jBE;EACC;ACxjBH;AD2jBE;EACC;EACA;EACA;EACA;ACzjBH;AD4jBE;EACC;AC1jBH;AD6jBE;EACC;AC3jBH;AD+jBE;EACC;EACA;EACA;EACA;EACA;EACA;AC7jBH;ADikBC;EACC;EACA;EACA;AC/jBF;ADokBE;EACC;AClkBH;;ADwkBA;EACC;EACA;EACA,qBFljFkB;AG6+DnB;ADukBC;EACC;EACA;EACA;EACA;ACrkBF;ADwkBC;EACC;EACA;EACA;ACtkBF;ADwkBE;EACC;ACtkBH;ADwkBG;EACC;ACtkBJ;;AD6kBA;AAEC;EACC;AC3kBF;AD8kBC;EACC;EACA;EACA;EACA;AC5kBF;AD+kBC;EACC;AC7kBF;;ADklBA;AACA;EACC;EACA;AC/kBD;ADilBC;EACC;AC/kBF;;ADolBA;AACA;EACC;ACjlBD;ADmlBC;EACC;EACA;ACjlBF;ADolBC;EACC;ACllBF;;ADulBA;AACA;EACC;EACA;ACplBD;;ADwlBA;EACC;EACA;ACrlBD;ADulBC;EACC;ACrlBF;;AD2lBA;AACA;EACC;ACxlBD;AD0lBC;EACC;ACxlBF;;AD6lBA;AACA;EACC,iBFlqFiB;EEmqFjB,kBFnqFiB;EEoqFjB;AC1lBD;;AD8lBA;AAMA;AACA;;;;;;;;;CAAA;AAYA;AACA;EACC;EACA;AClmBD;ADomBC;EACC;AClmBF;ADqmBC;EACC;ACnmBF;;AD6mBC;EACC;AC1mBF;AD8mBC;EACC;AC5mBF;ADgnBC;EACC;AC9mBF;;ADmnBA;;;;+FAAA;AAYG;;EAEC;ACvnBJ;AD0nBI;;EAEC;ACxnBL;AD8nBE;EACC;EACA;AC5nBH;AD8nBG;EACC;EACA;EACA;EACA;EAGA;EACA;EACA;AC9nBJ;ADioBI;EACC;AC/nBL;ADgoBK;EACC;AC9nBN;ADmoBI;EACC;EACA;EACA;ACjoBL;ADmoBK;EACC;ACjoBN;ADooBK;EACC;EACA;ACloBN;ADmoBM;EACC;ACjoBP;ADsoBM;EACC;ACpoBP;;AC9qEA;;;;8FAAA;AAMA;EAEC;EAkCA;EAYA;ADmoED;AChrEC;EAEC;EAkBA;ADgqEF;ACjrEE;EACC;EACG;EAEA;ADkrEN;ACjrEG;EACC;ADmrEJ;AChrEM;EACF;EACA;ADkrEJ;AC3qEE;EACC;EAEA;AD4qEH;AC3qEG;EACC;AD6qEJ;ACrqEC;EACC;EAEA;ADsqEF;ACrqEE;EACC;ADuqEH;AChqEC;EACC;ADkqEF;;AC7pEA;;EAGC;EAgBA;ADgpED;AC/pEC;;;;;;;;;;;;;;EAOI;ADwqEL;ACrqEC;;EACC;ADwqEF;ACnqEC;;;;;;;;;;;;;;;;EAQI;AD6qEL;;ACvqEC;EACC;AD0qEF;ACvqEC;EACC;EAWF;;;;;;;;GAAA;ADuqEA;AChrEE;EACC;ADkrEH;AChrEG;EACC;EACA;ADkrEJ;ACnqEC;EACC;ADqqEF;;AChqEA;;;;8FAAA;AAOA;EACC;ADiqED;AC7pEE;EACC;AD+pEH;AC7pEG;EACC;EACA;AD+pEJ;;ACxpEA;;EAEC;EACA;EACA;AD2pED;;ACppEC;EACC;ADupEF;ACrpEE;EACC;ADupEH;ACppEE;EACC;EACA;EACA;ADspEH;ACnpEE;EACC;ADqpEH;;AChpEA;EACC;ADmpED;AC/oEE;EACC;ADipEH;;AC3oEA;;;;8FAAA;AAMA;EACI;EACA;AD6oEJ;;ACzoEA;;;;8FAAA;AAMA;EACC;EACA;AD2oED;;ACpoEE;EACC;ADuoEH;ACroEG;EACC;EACA;ADuoEJ;;ACjoEA;;;;8FAAA;AAMA;EACC;EACG;ADmoEJ;AChoEC;EACC;EACA;ADkoEF;AChoEE;EAAO;ADmoET;AC/nEC;EACC;EACA;ADioEF;;AC7nEA;EACC;EACA;ADgoED;AC9nEC;EACC;EACA;ADgoEF;AC9nEE;EACC;ADgoEH;AC/nEG;EACC;EACA;ADioEJ;;AC3nEA;;;;+FAAA;AAQC;EACC;AD2nEF;ACxnEC;;;;;EAKC;AD0nEF;ACvnEC;EACC;ADynEF;ACvnEE;EACC;ADynEH;ACvnEG;EACC;EACA;ADynEJ;ACvnEI;EACC;ADynEL;ACpnEE;EACC;ADsnEH;;AE96EA;;;;+FAAA;AAMA;AAGC;EACC;EACA;AF86EF;AE56EE;EACC;AF86EH;AE36EE;EACC;AF66EH;AE16EE;EACC;AF46EH;;AEp6EA;AACA;EACC;AFu6ED;AEr6EC;EACC;EACA;EACA;EACA;EACG;EACA;EACA;AFu6EL;AEr6EK;EACC;EACH;EACA;EACG;EACA;AFu6EN;AEn6EC;EACC;EACA;EACA;EACG;EACA;AFq6EL;AEl6EC;EACC;AFo6EF;;AE/5EA;AACA;EACC;EACG;EACA;EACA;EACA;AFk6EJ;AEh6EI;EACF;EACG;EACA;EACA;EACA;EACA;AFk6EL;AE/5EC;EACC;EACG;EACA;EACA;EACA;AFi6EL;;AE55EA;AAGC;EACC;AF65EF;AE15EC;EACC;EACA;EACA;AF45EF;;AEt5EA;AACA;EAEC;EAOA;EAMA;EASA;EAUA;AF43ED;AE35EC;;EAEC;AF65EF;AEx5EC;EACC;AF05EF;AEr5EC;EACC;EACA;EACA;EACA;AFu5EF;AEh5EE;EACC;AFk5EH;AE34EC;EAnCD;IAqCE;IAWA;EFm4EA;EE74EA;;IAEC;IACA;IACA;IACA;IACA;EF+4ED;EE14EA;;;IAGC;IACG;IACA;IACA;EF44EJ;AACF;;AEn4EA;;;;+FAAA;AAMA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AFq4ED;AEl4EC;EACC;EACA;EACA;AFo4EF;AEl4EC;EACC;AFo4EF;AEh4EC;EAAW;AFm4EZ;AEl4EC;EAAa;AFq4Ed;AEl4EC;EAzBD;IA0BE;EFq4EA;AACF;;AEj4EA;AACA;EAEC;AFm4ED;AEj4EE;EAAW;AFo4Eb;AEn4EE;EAAa;AFs4Ef;AEj4EC;;EACoC;AFo4ErC;AEn4EC;EAAiB;AFs4ElB;AE/3EG;EACC;EACA;AFi4EJ;AE/3EI;EACC;EACA;AFi4EL;AE73EG;EACC;AF+3EJ;AE13EE;;;EAGC;EACA;AF43EH;AEx3EE;;;;;EAKC;AF03EH;AEr3EC;EAGC;IAAsC;EFs3EtC;EEr3EA;IAAe;EFw3Ef;EEv3EA;IAAiB;IAAa;IAA4B;EF43E1D;EEr3EE;IACC;IACA;IACA;EFu3EH;EEp3EE;IACC;IACA;IACA;EFs3EH;AACF;AE/2EC;EAOG;IACC;EF22EH;AACF;;AEn2EA;;;;+FAAA;AAMA;EAEC;AFo2ED;AEl2EE;;EAEC;AFo2EH;;AE91EA;;;;+FAAA;AAaA;;;;+FAAA;AAMA;EAEC;EACA;EACA;EACA;EACA;EAGA;EASA;EAWA;EAMA;EAOA;EA4DA;EASA;AFqvED;AE11EC;;;;EAII;AF41EL;AEv1EC;;;;EAIC;EACA;EACA;AFy1EF;AEp1EC;EACI;AFs1EL;AEj1EC;EACI;EACA;AFm1EL;AE90EC;EAEC;EAEA;EAmCA;EAcA;AF+xEF;AE/0EE;EAEC;EAEA;EAMA;EAQA;AFm0EH;AEh1EG;EACC;AFk1EJ;AE70EG;EACC;EACA;EACA;EACA;AF+0EJ;AE30EG;EACC;AF60EJ;AE10EG;EACC;AF40EJ;AE10EI;EACC;AF40EL;AEl0EG;EACC;AFo0EJ;AEl0EI;EACC;AFo0EL;AE5zEE;EAA6B;AF+zE/B;AEzzEC;EAvGD;IAwGE;IACA;IACA;IACA;EF4zEA;AACF;AExzEC;EAhHD;IAiHE;IACA;IACA;IACA;EF2zEA;AACF;AEzzEC;EACC;IACI;EF2zEJ;AACF;;AGjxFA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;AHmxFD;AGlxFC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AHoxFF;;AG/wFA;EACC;AHkxFD;AG/wFC;EACC;AHixFF;AGhxFE;EACC;AHkxFH;;AG5wFA;EACC;AH+wFD;;AG3wFA;EACC;AH8wFD;AG7wFC;EACC;EACA;AH+wFF;;AG5wFA;EACC;EACA;AH+wFD;AG9wFC;EACC;AHgxFF;;AIj0FC;EACC;AJo0FF;AIn0FE;EACC;AJq0FH;AI/zFE;EACC;AJi0FH;AI5zFC;EACC;AJ8zFF;AI3zFG;EACC;AJ6zFJ;AI5zFI;EACC;AJ8zFL;AI1zFI;;EAEC;AJ4zFL;AIxzFI;EACC;EACA;AJ0zFL;AIvzFG;EACC;AJyzFJ;AIpzFE;EACC;AJszFH;AIpzFE;EACC;AJszFH;AIjzFC;EACC;AJmzFF;;AI9yFA;EACC;EACA;EACA;EACA;AJizFD,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_variables.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_mixins.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_fields.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/acf-input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_forms.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_media.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_input.scss","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/sass/_postbox.scss"],"sourcesContent":["/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n\n/* colors */\n$acf_blue: #2a9bd9;\n$acf_notice: #2a9bd9;\n$acf_error: #d94f4f;\n$acf_success: #49ad52;\n$acf_warning: #fd8d3b;\n\n/* acf-field */\n$field_padding: 15px 12px;\n$field_padding_x: 12px;\n$field_padding_y: 15px;\n$fp: 15px 12px;\n$fy: 15px;\n$fx: 12px;\n\n/* responsive */\n$md: 880px;\n$sm: 640px;\n\n// Admin.\n$wp-card-border: #ccd0d4;\t\t\t// Card border.\n$wp-card-border-1: #d5d9dd;\t\t\t// Card inner border 1: Structural (darker).\n$wp-card-border-2: #eeeeee;\t\t\t// Card inner border 2: Fields (lighter).\n$wp-input-border: #7e8993;\t\t\t// Input border.\n\n// Admin 3.8\n$wp38-card-border: #E5E5E5;\t\t\t// Card border.\n$wp38-card-border-1: #dfdfdf;\t\t// Card inner border 1: Structural (darker).\n$wp38-card-border-2: #eeeeee;\t\t// Card inner border 2: Fields (lighter).\n$wp38-input-border: #dddddd;\t\t// Input border.","/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n@mixin clearfix() {\n\t&:after {\n\t\tdisplay: block;\n\t\tclear: both;\n\t\tcontent: \"\";\n\t}\n}\n\n@mixin border-box() {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n}\n\n@mixin centered() {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n}\n\n@mixin animate( $properties: 'all' ) {\n\t-webkit-transition: $properties 0.3s ease; // Safari 3.2+, Chrome\n -moz-transition: $properties 0.3s ease; \t// Firefox 4-15\n -o-transition: $properties 0.3s ease; \t\t// Opera 10.5–12.00\n transition: $properties 0.3s ease; \t\t// Firefox 16+, Opera 12.50+\n}\n\n@mixin rtl() {\n\thtml[dir=\"rtl\"] & {\n\t\ttext-align: right;\n\t\t@content;\n\t}\n}\n\n@mixin wp-admin( $version: '3-8' ) {\n\t.acf-admin-#{$version} & {\n\t\t@content;\n\t}\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tacf-field\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-field,\n.acf-field .acf-label,\n.acf-field .acf-input {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tposition: relative;\n}\n\n.acf-field {\n\tmargin: 15px 0;\n\t\n\t// clear is important as it will avoid any layout issues with floating fields\n\t// do not delete (you have tried this)\n\tclear: both;\n\t\n\t// description\n\tp.description {\n\t\tdisplay: block;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\t\n\t// label\n\t.acf-label {\n\t\tvertical-align: top;\n\t\tmargin: 0 0 10px;\n\t\t\n\t\tlabel {\n\t\t display: block;\n\t\t font-weight: bold;\n\t\t margin: 0 0 3px;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t&:empty {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n\t\n\t// input\n\t.acf-input {\n\t\tvertical-align: top;\n\t\t\n\t\t> p.description {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n\t\n\t// notice\n\t.acf-notice {\n\t\tmargin: 0 0 15px;\n\t\tbackground: #edf2ff;\n\t\tcolor: #0c6ca0;\n\t\tborder-color: #2183b9;\n\n\t\t// error\n\t\t&.-error {\n\t\t\tbackground: #ffe6e6;\n\t\t\tcolor: #cc2727;\n\t\t\tborder-color: #d12626;\n\t\t}\n\t\t\n\t\t// success\n\t\t&.-success {\n\t\t\tbackground: #eefbe8;\n\t\t\tcolor: #0e7b17;\n\t\t\tborder-color: #32a23b;\n\t\t}\n\t\t\n\t\t// warning\n\t\t&.-warning {\n\t\t\tbackground: #fff3e6;\n\t\t\tcolor: #bd4b0e;\n\t\t\tborder-color: #d16226;\n\t\t}\n\t}\n\t\n\t// table\n\t@at-root td#{&}, tr#{&} {\n\t\tmargin: 0;\n\t}\n}\n\n// width\n.acf-field[data-width] {\n\tfloat: left;\n\tclear: none;\n\t\n\t// next\n\t+ .acf-field[data-width] {\n\t\tborder-left: 1px solid #eeeeee;\t\n\t}\n\t\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\tfloat: right;\n\t\t\n\t\t+ .acf-field[data-width] {\n\t\t\tborder-left: none;\n\t\t\tborder-right: 1px solid #eeeeee;\t\n\t\t}\n\t}\n\t\n\t// table\n\t@at-root td#{&}, tr#{&} {\n\t\tfloat: none;\n\t}\n\t\n\t// mobile\n/*\n\t@media screen and (max-width: $sm) {\n\t\tfloat: none;\n\t\twidth: auto;\n\t\tborder-left-width: 0;\n\t\tborder-right-width: 0;\n\t}\n*/\n}\n\n\n// float helpers\n.acf-field.-c0 {\n\tclear: both;\n\tborder-left-width: 0 !important;\n\t\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\tborder-left-width: 1px !important;\n\t\tborder-right-width: 0 !important;\n\t}\n}\n\n.acf-field.-r0 {\n\tborder-top-width: 0 !important;\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields {\n\tposition: relative;\n\t\n\t// clearifx\n\t@include clearfix();\n\t\n\t// border\n\t&.-border {\n\t\tborder: $wp-card-border solid 1px;\n\t\tbackground: #fff;\n\t}\n\t\n\t// field\n\t> .acf-field {\n\t\tposition: relative;\n\t\tmargin: 0;\n\t\tpadding: $field_padding;\n\t\tborder-top: #EEEEEE solid 1px;\n\t\t\n\t\t// first\n\t\t&:first-child {\n\t\t\tborder-top: none;\n\t\t\tmargin-top: 0;\n\t\t}\n\t}\n\t\n\t// table\n\t@at-root td#{&} {\n\t\tpadding: 0 !important;\n\t}\n}\n\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (clear)\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields.-clear > .acf-field {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 15px 0;\n\t\n\t// width\n\t&[data-width] {\n\t\tborder: none !important;\n\t}\n\t\n\t// label\n\t> .acf-label {\n\t\tpadding: 0;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\tpadding: 0;\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (left)\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-fields.-left > .acf-field {\n\tpadding: $fy 0;\n\t\n\t// clearifx\n\t@include clearfix();\n\t\n\t// sidebar\n\t&:before {\n\t\tcontent: \"\";\n\t display: block;\n\t position: absolute;\n\t z-index: 0;\n\t background: #F9F9F9;\n\t border-color: #E1E1E1;\n\t border-style: solid;\n\t border-width: 0 1px 0 0;\n\t top: 0;\n\t bottom: 0;\n\t left: 0;\n\t width: 20%;\n\t}\n\t\n\t// width\n\t&[data-width] {\n\t\tfloat: none;\n\t\twidth: auto !important;\n\t\tborder-left-width: 0 !important;\n\t\tborder-right-width: 0 !important;\n\t}\n\t\n\t// label\n\t> .acf-label {\n\t\tfloat: left;\n\t\twidth: 20%;\n\t\tmargin: 0;\n\t\tpadding: 0 $fx;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\tfloat: left;\n\t\twidth: 80%;\n\t\tmargin: 0;\n\t\tpadding: 0 $fx;\n\t}\n\t\n\t// rtl\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\t// sidebar\n\t\t&:before {\n\t\t\tborder-width: 0 0 0 1px;\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t}\n\t\t\n\t\t// label\n\t\t> .acf-label {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t\t// input\n\t\t> .acf-input {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t\n\t// In sidebar.\n\t#side-sortables & {\n\t\t&:before { \n\t\t\tdisplay: none;\n\t\t}\n\t\t> .acf-label {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\t\t> .acf-input {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\t\n\t// mobile\n\t@media screen and (max-width: $sm) {\n\t\t\n\t\t// sidebar\n\t\t&:before { \n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t// label\n\t\t> .acf-label {\n\t\t\twidth: 100%;\n\t\t\tmargin-bottom: 10px;\n\t\t}\n\t\t\n\t\t// input\n\t\t> .acf-input {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n/* clear + left */\n.acf-fields.-clear.-left > .acf-field {\n\tpadding: 0;\n\tborder: none;\n\t\n\t// sidebar\n\t&:before {\n\t\tdisplay: none;\n\t}\n\t\n\t// label\n\t> .acf-label {\n\t\tpadding: 0;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\tpadding: 0;\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-table tr.acf-field {\n\t\n\t// label\n\t> td.acf-label {\n\t\tpadding: $fp;\n\t\tmargin: 0;\n\t\tbackground: #F9F9F9;\n\t width: 20%;\n\t}\n\t\n\t// input\n\t> td.acf-input {\n\t\tpadding: $fp;\n\t\tmargin: 0;\n\t\tborder-left-color: #E1E1E1;\n\t}\n}\n\n.acf-sortable-tr-helper {\n\tposition: relative !important;\n\tdisplay: table-row !important;\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-postbox\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-postbox {\n\tposition: relative;\n\t\n\t// inside\n\t> .inside {\n\t\tmargin: 0 !important; /* override WP style - do not delete - you have tried this before */\n\t\tpadding: 0 !important; /* override WP style - do not delete - you have tried this before */\n\t}\n\n\t// Edit cog.\n\t.acf-hndle-cog {\n\t\tcolor: #72777c;\n\t\tfont-size: 16px;\n\t\tline-height: 36px;\n\t\theight: 36px; // Mimic WP 5.5\n\t\twidth: 1.62rem; // Mimic WP 5.5\n\t\tposition: relative;\n\t\tdisplay: none;\n\t\t&:hover {\n\t\t\tcolor: #191e23;\n\t\t}\n\t}\n\n\t// Show on hover.\n\t> .hndle:hover,\n\t> .postbox-header:hover {\n\t\t.acf-hndle-cog {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t// WP < 5.5 styling\n\t> .hndle {\n\t\t.acf-hndle-cog {\n\t\t\theight: 20px;\n\t\t\tline-height: 20px;\n\t\t\tfloat: right;\n\t\t\twidth: auto;\n\t\t\t&:hover {\n\t\t\t\tcolor: #777777;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// replace\n\t.acf-replace-with-fields {\n\t\tpadding: 15px;\n\t\ttext-align: center;\n\t}\n}\n\n// Correct margin around #acf_after_title\n#post-body-content #acf_after_title-sortables {\n\tmargin: 20px 0 -20px;\n}\n\n/* seamless */\n.acf-postbox.seamless {\n\tborder: 0 none;\n\tbackground: transparent;\n\tbox-shadow: none;\n\t\n\t\n\t/* hide hndle */\n\t> .postbox-header,\n\t> .hndle,\n\t> .handlediv {\n\t\tdisplay: none !important;\n\t}\n\t\n\t\n\t/* inside */\n\t> .inside {\n\t\tdisplay: block !important; /* stop metabox from hiding when closed */\n\t\tmargin-left: -$field_padding_x !important;\n\t\tmargin-right: -$field_padding_x !important;\n\t\t\n\t\t> .acf-field {\n\t\t\tborder-color: transparent;\n\t\t}\n\t}\n}\n\n\n/* seamless (left) */\n.acf-postbox.seamless > .acf-fields.-left {\n\t\n\t/* hide sidebar bg */\n\t> .acf-field:before { \n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* mobile */\n\t@media screen and (max-width: 782px) {\n\t\t\n\t\t/* remove padding */\n\t\t& > .acf-field > .acf-label,\n\t\t& > .acf-field > .acf-input {\n\t\t\tpadding: 0;\t\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Inputs\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field {\n\tinput[type=\"text\"],\n\tinput[type=\"password\"],\n\tinput[type=\"date\"],\n\tinput[type=\"datetime\"],\n\tinput[type=\"datetime-local\"],\n\tinput[type=\"email\"],\n\tinput[type=\"month\"],\n\tinput[type=\"number\"],\n\tinput[type=\"search\"],\n\tinput[type=\"tel\"],\n\tinput[type=\"time\"],\n\tinput[type=\"url\"],\n\tinput[type=\"week\"],\n\ttextarea,\n\tselect {\n\t width: 100%;\n\t\tpadding: 4px 8px;\n\t\tmargin: 0;\n\t\tbox-sizing: border-box;\n\t font-size: 14px;\n\t line-height: 1.4;\n\t \n\t // WP Admin 3.8\n\t\t@include wp-admin('3-8') {\n\t\t\tpadding: 3px 5px;\n\t\t}\n\t}\n\ttextarea {\n\t\tresize: vertical;\n\t}\n}\n\n// Fix extra padding in Firefox.\nbody.acf-browser-firefox .acf-field select {\n\tpadding: 4px 5px;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Text\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-input-prepend,\n.acf-input-append,\n.acf-input-wrap {\n\tbox-sizing: border-box;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n\tfont-size: 14px;\n\tline-height: 1.4;\n\tpadding: 4px 8px;\n\tbackground: #f5f5f5;\n\tborder: $wp-input-border solid 1px;\n\tmin-height: 30px;\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tpadding: 3px 5px;\n\t\tborder-color: $wp38-input-border;\n\t\tmin-height: 28px;\n\t}\n}\n\n.acf-input-prepend {\n\tfloat: left;\n\tborder-right-width: 0;\n\tborder-radius: 3px 0 0 3px;\n}\n\n.acf-input-append {\n\tfloat: right;\n\tborder-left-width: 0;\n\tborder-radius: 0 3px 3px 0;\n}\n\n.acf-input-wrap {\n\tposition: relative;\n\toverflow: hidden;\n\t.acf-is-prepended {\n\t\tborder-radius: 0 3px 3px 0 !important;\n\t}\n\t.acf-is-appended {\n\t\tborder-radius: 3px 0 0 3px !important;\n\t}\n\t.acf-is-prepended.acf-is-appended {\n\t\tborder-radius: 0 !important;\n\t}\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .acf-input-prepend {\n\tborder-left-width: 0;\n\tborder-right-width: 1px;\n\tborder-radius: 0 3px 3px 0;\n\t\n\tfloat: right;\n}\n\nhtml[dir=\"rtl\"] .acf-input-append {\n\tborder-left-width: 1px;\n\tborder-right-width: 0;\n\tborder-radius: 3px 0 0 3px;\n\tfloat: left;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-prepended {\n\tborder-radius: 3px 0 0 3px !important;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-appended {\n\tborder-radius: 0 3px 3px 0 !important;\n}\n\nhtml[dir=\"rtl\"] input.acf-is-prepended.acf-is-appended {\n\tborder-radius: 0 !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Color Picker\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-color-picker {\n\t.wp-color-result {\n\t\tborder-color: $wp-input-border;\n\t\t@include wp-admin('3-8') {\n\t\t\tborder-color: $wp-card-border;\n\t\t}\n\t}\n\t.wp-picker-active {\n\t\tposition: relative;\n\t\tz-index: 1;\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Url\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-url {\n\t\n\ti {\n\t\tposition: absolute;\n\t\ttop: 5px;\n\t\tleft: 5px;\n\t\topacity: 0.5;\n\t\tcolor: #7e8993;\n\t}\n\t\n\tinput[type=\"url\"] {\n\t\tpadding-left: 27px !important;\n\t}\n\t\n\t&.-valid i {\n\t\topacity: 1;\n\t}\n\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v3)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.select2-container.-acf {\n\t\n\t.select2-choices {\n\t\tbackground: #fff;\n\t border-color: #ddd;\n\t box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;\n\t min-height: 31px;\n\t \n\t .select2-search-choice {\n\t\t\tmargin: 5px 0 5px 5px;\n\t\t\tpadding: 3px 5px 3px 18px;\n\t\t\tborder-color: #bbb;\n\t\t\tbackground: #f9f9f9;\n\t\t\tbox-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;\n\t\t\t\n\t\t\t/* sortable item*/\n\t\t\t &.ui-sortable-helper {\n\t\t\t\t background: #5897fb;\n\t\t\t\t border-color: darken(#5897fb, 5%);\n\t\t\t\t color: #fff;\n\t\t\t\t box-shadow: 0 0 3px rgba(0,0,0,0.1);\n\t\t\t\t \n\t\t\t\t a {\n\t\t\t\t\t visibility: hidden;\n\t\t\t\t }\n\t\t\t }\n\t\t\t \n\t\t\t \n\t\t\t /* sortable shadow */\n\t\t\t &.ui-sortable-placeholder {\n\t\t\t\t background-color: #f7f7f7;\n\t\t\t\t border-color: #f7f7f7;\n\t\t\t\t visibility: visible !important;\n\t\t\t }\n\t\t}\n\t\t\n\t\t.select2-search-choice-focus {\n\t\t\tborder-color: #999;\n\t\t}\n\t\t\n\t\t.select2-search-field input {\n\t\t\theight: 31px;\n\t\t\tline-height: 22px;\n\t\t\tmargin: 0;\n\t\t\tpadding: 5px 5px 5px 7px;\n\t\t}\n\t}\n\t\n\t.select2-choice {\n\t border-color: #BBBBBB;\n\t \n\t .select2-arrow {\n\t\t\tbackground: transparent;\n\t\t\tborder-left-color: #DFDFDF;\n\t\t\tpadding-left: 1px;\n\t\t}\n\t\t\n\t\t.select2-result-description { \n\t\t\tdisplay: none;\t\n\t\t}\n\t}\n\t\n\t\n\t\n\t/* open */\n\t&.select2-container-active .select2-choices,\n\t&.select2-dropdown-open .select2-choices {\n\t\tborder-color: #5B9DD9;\n\t\tborder-radius: 3px 3px 0 0;\n\t}\n\t\n\t\n\t/* single open */\n\t&.select2-dropdown-open .select2-choice {\n\t\tbackground: #fff;\n\t\tborder-color: #5B9DD9;\n\t}\n\t\n}\n\n/* rtl */\nhtml[dir=\"rtl\"] .select2-container.-acf {\n\t\n\t.select2-search-choice-close {\n\t left: 24px;\n\t}\n\t\n\t.select2-choice > .select2-chosen {\n\t margin-left: 42px;\n\t}\n\t\n\t.select2-choice .select2-arrow {\n\t padding-left: 0;\n\t padding-right: 1px; \n\t}\n}\n\n\n/* description */\n.select2-drop {\n\t\n\t/* search*/\n\t.select2-search {\n\t\tpadding: 4px 4px 0;\n\t}\n\t\n\t\n\t/* result */\n\t.select2-result {\n\t\n\t\t.select2-result-description {\n\t\t\tcolor: #999;\n\t\t\tfont-size: 12px;\n\t\t\tmargin-left: 5px;\n\t\t}\n\t\t\n\t\t\n\t\t/* hover*/\n\t\t&.select2-highlighted {\n\t\t\t\n\t\t\t.select2-result-description {\n\t\t\t\tcolor: #fff;\n\t\t\t\topacity: 0.75;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\n\t}\n\t\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v4)\n*\n*---------------------------------------------------------------------------------------------*/\n.select2-container.-acf {\n\t\n\t// Reset WP default style.\n\tli{\n\t\tmargin-bottom: 0;\n\t}\n\t\n\t// Customize border color to match WP admin.\n\t.select2-selection {\n\t\tborder-color: $wp-input-border;\n\t\t\n\t\t// WP Admin 3.8\n\t\t@include wp-admin('3-8') {\n\t\t\tborder-color: #aaa;\n\t\t}\n\t}\n\t\n\t// Multiple wrap.\n\t.select2-selection--multiple {\n\t\t\n\t\t// If no value, increase hidden search input full width.\n\t\t// Overrides calculated px width issues.\n\t\t.select2-search--inline:first-child {\n\t\t\tfloat: none;\n\t\t\tinput { \n\t\t\t\twidth: 100% !important;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// ul: Remove padding because li already has margin-right.\n\t\t.select2-selection__rendered {\n\t\t\tpadding-right: 0;\n\t\t}\n\t\t\n\t\t// li\n\t\t.select2-selection__choice {\n\t\t\tbackground-color: #f7f7f7;\n\t\t\tborder-color: #cccccc;\n\t\t\t\n\t\t\t// Allow choice to wrap multiple lines.\n\t\t\tmax-width: 100%;\n\t\t\toverflow: hidden;\n\t\t\tword-wrap: normal !important;\n\t\t\twhite-space: normal;\n\t\t\t\n\t\t\t// Sortable.\n\t\t\t&.ui-sortable-helper {\n\t\t\t\tbackground: #5897fb;\n\t\t\t\tborder-color: darken(#5897fb, 5%);\n\t\t\t\tcolor: #fff;\n\t\t\t\tbox-shadow: 0 0 3px rgba(0,0,0,0.1);\n\t\t\t\t\n\t\t\t\tspan {\n\t\t\t\tvisibility: hidden;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Sortable shadow\n\t\t\t&.ui-sortable-placeholder {\n\t\t\t\tbackground-color: #f7f7f7;\n\t\t\t\tborder-color: #f7f7f7;\n\t\t\t\tvisibility: visible !important;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// search\n\t\t.select2-search__field {\n\t\t\tbox-shadow: none !important;\n\t\t\tmin-height: 0;\n\t\t}\n\t}\n\t\n\t// Single choice.\n\t.select2-selection--single {\n\t\t\n\t}\n\t\n\t// Fix single select pushing out repeater field table width.\n\t.acf-row & .select2-selection--single {\n\t\toverflow: hidden;\n\t\t.select2-selection__rendered {\n\t\t\twhite-space: normal;\n\t\t}\n\t}\n}\n\n// z-index helper.\n.select2-container {\n\t.select2-dropdown {\n\t\tz-index: 900000;\n\t\t\n\t\t// Reset input height.\n\t\t.select2-search__field {\n\t\t\tline-height: 1.4;\n\t\t\tmin-height: 0;\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Link\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-link {\n\t\n\t.link-wrap {\n\t\tdisplay: none;\n\t\tborder: $wp-card-border solid 1px;\n\t\tborder-radius: 3px;\n\t\tpadding: 5px;\n\t\tline-height: 26px;\n\t\tbackground: #fff;\n\t\t\n\t\tword-wrap: break-word;\n\t\tword-break: break-all;\n\t\t\n\t\t.link-title {\n\t\t\tpadding: 0 5px;\n\t\t}\n\t}\n\t\n\t// Has value.\n\t&.-value {\n\t\t.button {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-link-ext {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.link-wrap {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\t\n\t// Is external.\n\t&.-external {\n\t\t.acf-icon.-link-ext {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n\n#wp-link-backdrop { \n\tz-index: 900000 !important;\n}\n#wp-link-wrap { \n\tz-index: 900001 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Radio\n*\n*---------------------------------------------------------------------------------------------*/\n\nul.acf-radio-list,\nul.acf-checkbox-list {\n\tbackground: transparent;\n\tposition: relative;\n\tpadding: 1px;\n\tmargin: 0;\n\t\n\tli {\n\t\tfont-size: 13px;\n\t\tline-height: 22px;\n\t\tmargin: 0;\n\t\tposition: relative;\n\t\tword-wrap: break-word;\n\t\t\n\t\tlabel {\n\t\t\tdisplay: inline;\n\t\t}\n\n\t\tinput[type=\"checkbox\"],\n\t\tinput[type=\"radio\"] {\n\t\t\tmargin: -1px 4px 0 0;\n\t\t\tvertical-align: middle;\n\t\t}\n\t\t\n\t\tinput[type=\"text\"] {\n\t\t\twidth: auto;\n\t\t\tvertical-align: middle;\n\t\t\tmargin: 2px 0;\n\t\t}\n\t\t\n\t\t\n\t\t/* attachment sidebar fix*/\n\t\tspan {\n\t\t\tfloat: none;\n\t\t}\n\t\t\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\t\n\t\n\t/* hl */\n\t&.acf-hl {\n\t\t\n\t\tli {\n\t\t\tmargin-right: 20px;\n\t\t\tclear: none;\n\t\t}\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\tinput[type=\"checkbox\"],\n\t\tinput[type=\"radio\"] {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 0;\n\t\t}\n\t}\n\t\n\t\n\t\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Button Group\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-button-group {\n\tdisplay: inline-block;\n\t\n\tlabel {\n\t\tdisplay: inline-block;\n\t\tborder: $wp-input-border solid 1px;\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\tpadding: 5px 10px;\n\t\tbackground: #fff;\n\t\t\n\t\t&:hover {\n\t\t\tcolor: #016087;\n\t\t\tbackground: #f3f5f6;\n\t\t\tborder-color: #0071a1;\n\t\t\tz-index: 2;\n\t\t}\n\t\t\n\t\t&.selected {\n\t\t\tborder-color: #007cba;\n\t\t\tbackground: lighten(#007cba, 5%);\n\t\t\tcolor: #fff;\n\t\t\tz-index: 2;\n\t\t}\n\t}\n\t\n\tinput {\n\t\tdisplay: none !important;\n\t}\n\t\n\t\n\t/* default (horizontal) */\n\t& {\n\t\tpadding-left: 1px;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: nowrap;\n\t\t\n\t\tlabel {\n\t\t\tmargin: 0 0 0 -1px;\n\t\t\tflex: 1;\n\t\t\ttext-align: center;\n\t\t\twhite-space: nowrap;\n\t\t\n\t\t\t// corners\n\t\t\t&:first-child { \n\t\t\t\tborder-radius: 3px 0 0 3px;\n\t\t\t\thtml[dir=\"rtl\"] & { border-radius: 0 3px 3px 0; }\n\t\t\t}\n\t\t\t&:last-child { \n\t\t\t\tborder-radius: 0 3px 3px 0;\n\t\t\t\thtml[dir=\"rtl\"] & { border-radius: 3px 0 0 3px; }\n\t\t\t}\n\t\t\t&:only-child { border-radius: 3px; }\n\t\t}\n\t}\n\t\n\t\n\t/* vertical */\n\t&.-vertical {\n\t\tpadding-left: 0;\n\t\tpadding-top: 1px;\n\t\tflex-direction: column;\n\t\t\n\t\tlabel {\n\t\t\tmargin: -1px 0 0 0;\n\t\t\t\n\t\t\t// corners\n\t\t\t&:first-child { border-radius: 3px 3px 0 0; }\n\t\t\t&:last-child { border-radius: 0 0 3px 3px; }\n\t\t\t&:only-child { border-radius: 3px; }\n\t\t\t\n\t\t}\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tlabel {\n\t\t\tborder-color: $wp-card-border;\n\t\t\t&:hover {\n\t\t\t\tborder-color: #0071a1;\n\t\t\t}\n\t\t\t&.selected {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Checkbox\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-checkbox-list {\n\t\n\t.button {\n\t\tmargin: 10px 0 0;\n\t}\n\t\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* True / False\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-switch {\n\tdisplay: inline-block;\n\tborder-radius: 5px;\n\tcursor: pointer;\n\tposition: relative;\n\tbackground: #f5f5f5;\n\theight: 30px;\n\tvertical-align: middle;\n\tborder: $wp-input-border solid 1px;\n\t\n\t-webkit-transition: background 0.25s ease;\n\t-moz-transition: background 0.25s ease;\n\t-o-transition: background 0.25s ease;\n\ttransition: background 0.25s ease;\n\t\n\tspan {\n\t\tdisplay: inline-block;\n\t\tfloat: left;\n\t\ttext-align: center;\n\t\t\n\t\tfont-size: 13px;\n\t\tline-height: 22px;\n\t\t\n\t\tpadding: 4px 10px;\n\t\tmin-width: 15px;\n\t\t\n\t\ti {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\t\n\t.acf-switch-on {\n\t\tcolor: #fff;\n\t\ttext-shadow: #007cba 0 1px 0;\n\t}\n\t\n\t.acf-switch-off {\n\t\t\n\t}\n\t\n\t.acf-switch-slider {\n\t\tposition: absolute;\n\t\ttop: 2px;\n\t\tleft: 2px;\n\t\tbottom: 2px;\n\t\tright: 50%;\n\t\tz-index: 1;\n\t\tbackground: #fff;\n\t\tborder-radius: 3px;\n\t\tborder: $wp-input-border solid 1px;\n\t\t\n\t\t-webkit-transition: all 0.25s ease;\n\t\t-moz-transition: all 0.25s ease;\n\t\t-o-transition: all 0.25s ease;\n\t\ttransition: all 0.25s ease;\n\t\t\n\t\ttransition-property: left, right;\n\t}\n\t\n\t/* hover */\n\t&:hover,\n\t&.-focus {\n\t\tborder-color: #0071a1;\n\t\tbackground: #f3f5f6;\n\t\tcolor: #016087;\n\t\t.acf-switch-slider{\n\t\t\tborder-color: #0071a1;\n\t\t}\n\t}\n\t\n\t/* active */\n\t&.-on {\n\t\tbackground: #0d99d5;\n\t\tborder-color: #007cba;\n\t\t\n\t\t.acf-switch-slider {\n\t\t\tleft: 50%;\n\t\t\tright: 2px;\n\t\t\tborder-color: #007cba;\n\t\t}\n\t\t\n\t\t/* hover */\n\t\t&:hover {\n\t\t\tborder-color: #007cba;\n\t\t}\n\t}\n\t\n\t/* message */\n\t+ span {\n\t\tmargin-left: 6px;\n\t}\n\t\n\t// WP Admin 3.8\n\t@include wp-admin('3-8') {\n\t\tborder-color: $wp-card-border;\n\t\t.acf-switch-slider {\n\t\t\tborder-color: $wp-card-border;\n\t\t}\n\t\t\n\t\t&:hover,\n\t\t&.-focus {\n\t\t\tborder-color: #0071a1;\n\t\t\t.acf-switch-slider{\n\t\t\t\tborder-color: #0071a1;\n\t\t\t}\n\t\t}\n\t\t\n\t\t&.-on {\n\t\t\tborder-color: #007cba;\n\t\t\t.acf-switch-slider {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t\t&:hover {\n\t\t\t\tborder-color: #007cba;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* checkbox */\n.acf-switch-input {\n\topacity: 0;\n\tposition: absolute;\n\tmargin: 0;\n}\n\n\n/* in media modal */\n.compat-item .acf-true-false {\n\t\n\t.message {\n\t\tfloat: none;\n\t\tpadding: 0;\n\t\tvertical-align: middle;\n\t}\n\t\n}\n\n\n/*--------------------------------------------------------------------------\n*\n*\tGoogle Map\n*\t\n*-------------------------------------------------------------------------*/\n\n.acf-google-map {\n\tposition: relative;\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\t\n\t.title {\n\t\tposition: relative;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\t\n\t\t.search {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 30px;\n\t\t\theight: 40px;\n\t\t\tpadding: 5px 10px;\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\tborder-radius: 0;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: text;\n\t\t}\n\t\t\n\t\t.acf-loading {\n\t\t\tposition: absolute;\n\t\t\ttop: 10px;\n\t\t\tright: 11px;\n\t\t\tdisplay: none;\n\t\t}\n\t\t\n\t\t// Avoid icons disapearing when click/blur events conflict.\n\t\t.acf-icon:active {\n\t\t\tdisplay: inline-block !important;\n\t\t}\n\t}\n\t\n\t.canvas {\n\t\theight: 400px;\n\t}\n\t\n\t// Show actions on hover.\n\t&:hover .title .acf-actions { \n\t\tdisplay: block;\n\t}\n\t\n\t// Default state (show locate, hide search and cancel).\n\t.title {\n\t\t.acf-icon.-location {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t.acf-icon.-cancel,\n\t\t.acf-icon.-search {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\t\n\t// Has value (hide locate, show cancel).\n\t&.-value .title { \n\t\t.search {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t.acf-icon.-location {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-cancel {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\t\n\t// Is searching (hide locate, show search and cancel).\n\t&.-searching .title {\n\t\t.acf-icon.-location {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.acf-icon.-cancel,\n\t\t.acf-icon.-search {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t\n\t\t// Show actions.\n\t\t.acf-actions { \n\t\t\tdisplay: block;\n\t\t}\n\t\t\n\t\t// Change search font-weght.\n\t\t.search {\n\t\t\tfont-weight: normal !important;\n\t\t}\n\t}\n\t\n\t// Loading.\n\t&.-loading .title {\n\t\ta {\n\t\t\tdisplay: none !important;\n\t\t}\n\t\ti {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\t\n}\n\n\n\n/* autocomplete */\n.pac-container {\n\tborder-width: 1px 0;\n\tbox-shadow: none;\n}\n\n.pac-container:after {\n\tdisplay: none;\n}\n\n.pac-container .pac-item:first-child {\n\tborder-top: 0 none;\n}\n.pac-container .pac-item {\n\tpadding: 5px 10px;\n\tcursor: pointer;\n}\n\n\nhtml[dir=\"rtl\"] .pac-container .pac-item {\n\ttext-align: right;\n}\n\t\n\t\n/*--------------------------------------------------------------------------\n*\n*\tRelationship\n*\t\n*-------------------------------------------------------------------------*/\n\n.acf-relationship {\n\tbackground: #fff;\n\tborder: $wp-card-border solid 1px;\n\t\n\t// Filters.\n\t.filters {\n\t\t@include clearfix();\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\tbackground: #fff;\n\t\t\n\t\t.filter {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tfloat: left;\n\t\t\twidth: 100%;\n\t\t\tbox-sizing: border-box;\n\t\t\tpadding: 7px 7px 7px 0;\n\t\t\t&:first-child {\n\t\t\t\tpadding-left: 7px;\n\t\t\t}\n\n\t\t\t// inputs\n\t\t\tinput, select {\n\t\t\t\tmargin: 0;\n\t\t\t\tfloat: none; /* potential fix for media popup? */\n\t\t\t\t\n\t\t\t\t&:focus,\n\t\t\t\t&:active {\n\t\t\t\t\toutline: none;\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t}\n\t\t\t}\n\t\t\tinput {\n\t\t\t\tborder-color: transparent;\n\t\t\t\tbox-shadow: none;\n\t\t\t\tpadding-left: 3px;\n\t\t\t\tpadding-right: 3px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* widths */\n\t\t&.-f2 {\n\t\t\t.filter { width: 50%; }\n\t\t}\n\t\t&.-f3 {\n\t\t\t.filter { width: 25%; }\n\t\t\t.filter.-search { width: 50%; }\n\t\t}\n\t}\n\t\n\t\n\t/* list */\n\t.list {\n\t\tmargin: 0;\n\t\tpadding: 5px;\n\t\theight: 160px;\n\t\toverflow: auto;\n\t\t\n\t\t.acf-rel-label,\n\t\t.acf-rel-item,\n\t\tp {\n\t\t\tpadding: 5px;\n\t\t\tmargin: 0;\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\tmin-height: 18px;\n\t\t}\n\t\t\n\t\t.acf-rel-label {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t\n\t\t.acf-rel-item {\n\t\t\tcursor: pointer;\n\t\t\t\n\t\t\tb {\n\t\t\t\ttext-decoration: underline;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t\t\n\t\t\t.thumbnail {\n\t\t\t\tbackground: darken(#f9f9f9, 10%);\n\t\t\t\twidth: 22px;\n\t\t\t\theight: 22px;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin: -2px 5px 0 0;\n\t\t\t\t\n\t\t\t\timg {\n\t\t\t\t\tmax-width: 22px;\n\t\t\t\t\tmax-height: 22px;\n\t\t\t\t\tmargin: 0 auto;\n\t\t\t\t\tdisplay: block;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t&.-icon {\n\t\t\t\t\tbackground: #fff;\n\t\t\t\t\t\n\t\t\t\t\timg {\n\t\t\t\t\t\tmax-height: 20px;\n\t\t\t\t\t\tmargin-top: 1px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t/* hover */\n\t\t\t&:hover {\n\t\t\t\tbackground: #3875D7;\n\t\t\t\tcolor: #fff;\n\t\t\t\t\n\t\t\t\t.thumbnail {\n\t\t\t\t\tbackground: lighten(#3875D7, 25%);\n\t\t\t\t\t\n\t\t\t\t\t&.-icon {\n\t\t\t\t\t\tbackground: #fff;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t/* disabled */\n\t\t\t&.disabled {\n\t\t\t\topacity: 0.5;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t\tcolor: #333;\n\t\t\t\t\tcursor: default;\n\t\t\t\t\t\n\t\t\t\t\t.thumbnail {\n\t\t\t\t\t\tbackground: darken(#f9f9f9, 10%);\n\t\t\t\t\t\t\n\t\t\t\t\t\t&.-icon {\n\t\t\t\t\t\t\tbackground: #fff;\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\tul {\n\t\t\tpadding-bottom: 5px;\n\t\t\t\n\t\t\t.acf-rel-label,\n\t\t\t.acf-rel-item,\n\t\t\tp {\n\t\t\t\tpadding-left: 20px;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* selection (bottom) */\n\t.selection {\n\t\t@include clearfix();\n\t\tposition: relative;\n\t\t\n\t\t.values,\n\t\t.choices {\n\t\t\twidth: 50%;\n\t\t\tbackground: #fff;\n\t\t\tfloat: left\n\t\t}\n\t\t\n\t\t/* choices */\n\t\t.choices {\n\t\t\tbackground: #F9F9F9;\n\t\t\t\n\t\t\t.list {\n\t\t\t\tborder-right: #DFDFDF solid 1px;\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t\n\t\t/* values */\n\t\t.values {\n\t\t\t\n\t\t\t.acf-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 4px;\n\t\t\t\tright: 7px;\n\t\t\t\tdisplay: none;\n\t\t\t\t\n\t\t\t\t/* rtl */\n\t\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\t\tright: auto;\n\t\t\t\t\tleft: 7px;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t.acf-rel-item:hover .acf-icon {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.acf-rel-item {\n\t\t\t\tcursor: move;\n\t\t\t\t\n\t\t\t\tb {\n\t\t\t\t\ttext-decoration: none;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\n\n}\n\n/* menu item fix */\n.menu-item {\n\t\n\t.acf-relationship {\n\t\t\n\t\tul {\n\t\t\twidth: auto;\n\t\t}\n\t\t\n\t\tli {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n\n/*--------------------------------------------------------------------------\n*\n*\tWYSIWYG\n*\t\n*-------------------------------------------------------------------------*/\n\n.acf-editor-wrap {\n\t\n\t// Delay.\n\t&.delay {\n\t\t\n\t\t.acf-editor-toolbar {\n\t\t\tcontent: \"\";\n\t\t\tdisplay: block;\n\t\t\tbackground: #f5f5f5;\n\t\t\tborder-bottom: #dddddd solid 1px;\n\t\t\tcolor: #555d66;\n\t\t\tpadding: 10px;\n\t\t}\n\t\t\n\t\t.wp-editor-area {\n\t\t padding: 10px;\n\t\t border: none;\n\t\t color: inherit !important; // Fixes white text bug.\n\t\t}\n\t}\n\t\n\tiframe{ \n\t\tmin-height: 200px;\n\t}\n\t\n\t.wp-editor-container{ \n\t\tborder: 1px solid $wp-card-border;\n\t\tbox-shadow: none !important;\n\t}\n\t\n\t.wp-editor-tabs {\n\t\tbox-sizing: content-box;\n\t}\n\t\n\t.wp-switch-editor {\n\t\tborder-color: $wp-card-border;\n\t\tborder-bottom-color: transparent;\n\t}\n}\n\n// Full Screen Mode.\n#mce_fullscreen_container {\n\tz-index: 900000 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTab\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-tab {\n\tdisplay: none !important;\n}\n\n// class to hide fields\n.hidden-by-tab {\n\tdisplay: none !important;\n}\n\n// ensure floating fields do not disturb tab wrap\n.acf-tab-wrap {\n\tclear: both;\n\tz-index: 1;\n}\n\n// tab group\n.acf-tab-group {\n\tborder-bottom: #ccc solid 1px;\n\tpadding: 10px 10px 0;\n\t\n\tli {\n\t margin: 0 0.5em 0 0;\n\t \n\t a {\n\t\t\tpadding: 5px 10px;\n\t\t\tdisplay: block;\n\t\t\t\n\t\t\tcolor: #555;\n\t\t\tfont-size: 14px;\n\t\t font-weight: 600;\n\t\t line-height: 24px;\n\t\t \n\t\t border: #ccc solid 1px;\n\t\t border-bottom: 0 none;\n\t\t text-decoration: none;\n\t\t background: #e5e5e5;\n\t\t transition: none;\n\t\t \n\t\t &:hover {\n\t\t\t\tbackground: #FFF;\n\t\t\t}\n\t\t\t\n\t\t\t&:focus {\n\t\t\t\toutline: none;\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\t\t\t\n\t\t\t&:empty {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t// rtl\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tmargin: 0 0 0 0.5em;\n\t\t}\n\t\t\n\t\t\n\t\t// active\n\t\t&.active a {\n\t\t\tbackground: #F1F1F1;\n\t\t\tcolor: #000;\n\t\t padding-bottom: 6px;\n\t\t margin-bottom: -1px;\n\t\t position: relative;\n\t\t z-index: 1;\n\t\t}\n\t}\n}\n\n\n// inside acf-fields\n.acf-fields > .acf-tab-wrap {\n\tbackground: #F9F9F9;\n\t\n\t// group\n\t.acf-tab-group {\n\t\tposition: relative;\n\t\tborder-top: $wp-card-border solid 1px;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\t\n\t\t// Pull next element (field) up and underneith.\n\t\tz-index: 2;\n\t\tmargin-bottom: -1px;\n\t\t\n\t\tli a {\n\t\t\tbackground: #f1f1f1;\n\t\t\tborder-color: $wp-card-border;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tbackground: #FFF;\n\t\t\t}\n\t\t}\n\t\t\t\n\t\tli.active a {\n\t\t\tbackground: #FFFFFF;\n\t\t}\n\t\t\n\t\t// WP Admin 3.8\n\t\t@include wp-admin('3-8') {\n\t\t\tborder-color: $wp38-card-border-1;\n\t\t}\n\t}\n\t\n\t// first child\n\t// fixes issue causing double border-top due to WP postbox .handlediv\n\t&:first-child .acf-tab-group {\n\t\tborder-top: none;\n\t}\n\t\n}\n\n\n// inside acf-fields.-left \n.acf-fields.-left > .acf-tab-wrap {\n\t\n\t// group\n\t.acf-tab-group {\n\t\tpadding-left: 20%;\n\t\t\n\t\t/* mobile */\n\t\t@media screen and (max-width: $sm) {\n\t\t\tpadding-left: 10px;\n\t\t}\n\t\t\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding-left: 0;\n\t\t\tpadding-right: 20%;\n\t\t\t\n\t\t\t/* mobile */\n\t\t\t@media screen and (max-width: 850px) {\n\t\t\t\tpadding-right: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n// left\n.acf-tab-wrap.-left {\n\t\n\t// group\n\t.acf-tab-group {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\twidth: 20%;\n\t\tborder: 0 none;\n\t\tpadding: 0 !important; /* important overrides 'left aligned labels' */\n\t\tmargin: 1px 0 0;\n\t\t\n\t\t// li\n\t\tli {\n\t\t\tfloat: none;\n\t\t\tmargin: -1px 0 0;\n\t\t\t\n\t\t\ta {\n\t\t\t\tborder: 1px solid #ededed;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: 18px;\n\t\t\t\tcolor: #0073aa;\n\t\t\t\tpadding: 10px;\n\t\t\t\tmargin: 0;\n\t\t\t\tfont-weight: normal;\n\t\t\t\tborder-width: 1px 0;\n\t\t\t\tborder-radius: 0;\n\t\t\t\tbackground: transparent;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\tcolor: #00a0d2;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t&.active a {\n\t\t\t\tborder-color:#DFDFDF;\n\t\t\t\tcolor: #000;\n\t\t\t\tmargin-right: -1px;\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// rtl\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tmargin-right: 0; \n\t\t\t\tmargin-left: -1px;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// space before field\n\t.acf-field + &:before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tz-index: 1;\n\t\theight: 10px;\n\t\tborder-top: #DFDFDF solid 1px;\n\t\tborder-bottom: #DFDFDF solid 1px;\n\t\tmargin-bottom: -1px;\n\t}\n\t\n\t\n\t// first child has negative margin issues\n\t&:first-child {\n\t\t\n\t\t.acf-tab-group {\n\t\t\t\n\t\t\tli:first-child a {\n\t\t\t\tborder-top: none;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* sidebar */\n.acf-fields.-sidebar {\n\tpadding: 0 0 0 20% !important;\n\tposition: relative;\n\t\n\t/* before */\n\t&:before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 20%;\n\t\tbottom: 0;\n\t\tborder-right: #DFDFDF solid 1px;\n\t\tbackground: #F9F9F9;\n\t\tz-index: 1;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\tpadding: 0 20% 0 0 !important;\n\t\t\n\t\t&:before {\n\t\t\tborder-left: #DFDFDF solid 1px;\n\t\t\tborder-right-width: 0;\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t}\n\t}\n\t\n\t\n\t// left\n\t&.-left {\n\t\tpadding: 0 0 0 180px !important;\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding: 0 180px 0 0 !important;\n\t\t}\n\t\t\n\t\t&:before {\n\t\t\tbackground: #F1F1F1;\n\t\t\tborder-color: #dfdfdf;\n\t\t\twidth: 180px;\n\t\t}\n\t\t\n\t\t> .acf-tab-wrap.-left .acf-tab-group {\n\t\t\twidth: 180px;\n\t\t\t\n\t\t\tli a {\n\t\t\t\tborder-color: #e4e4e4;\n\t\t\t}\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tbackground: #F9F9F9;\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\t\n\t// fix double border\n\t> .acf-field-tab + .acf-field {\n\t\tborder-top: none;\n\t}\t\n}\n\n\n// clear\n.acf-fields.-clear > .acf-tab-wrap {\n\tbackground: transparent;\n\t\n\t// group\n\t.acf-tab-group {\n\t\tmargin-top: 0;\n\t\tborder-top: none;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\t\n\t\tli a {\n\t\t\tbackground: #e5e5e5;\n\t\t\t\n\t\t\t&:hover {\n\t\t\t\tbackground: #fff;\n\t\t\t}\n\t\t}\n\t\t\n\t\tli.active a {\n\t\t\tbackground: #f1f1f1;\n\t\t}\n\t}\n}\n\n\n/* seamless */\n.acf-postbox.seamless {\n\t\n\t// sidebar\n\t> .acf-fields.-sidebar {\n\t\tmargin-left: 0 !important;\n\t\t\n\t\t&:before {\n\t\t\tbackground: transparent;\n\t\t}\n\t}\n\t\n\t// default\n\t> .acf-fields > .acf-tab-wrap {\n\t\tbackground: transparent;\n\t\tmargin-bottom: 10px;\n\t\tpadding-left: $fx;\n\t\tpadding-right: $fx;\n\t\t\n\t\t.acf-tab-group {\n\t\t\tborder-top: 0 none;\n\t\t\tborder-color: $wp-card-border;\n\t\t\t\n\t\t\tli a {\n\t\t\t\tbackground: #e5e5e5;\n\t\t\t\tborder-color: $wp-card-border;\n\t\t\t\t\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: #fff;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tbackground: #f1f1f1;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// left tabs\n\t> .acf-fields > .acf-tab-wrap.-left {\n\t\t\n\t\t&:before {\n\t\t\tborder-top: none;\n\t\t\theight: auto;\n\t\t}\n\t\t\n\t\t.acf-tab-group {\n\t\t\tmargin-bottom: 0;\n\t\t\t\n\t\t\tli a {\n\t\t\t\tborder-width: 1px 0 1px 1px !important;\n\t\t\t\tborder-color: #cccccc;\n\t\t\t\tbackground: #e5e5e5;\n\t\t\t}\n\t\t\t\n\t\t\tli.active a {\n\t\t\t\tbackground: #f1f1f1;\n\t\t\t}\n\t\t}\n\t\t\n\t}\n}\n\n\n// menu\n.menu-edit, \n.widget {\n\t.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li {\n\t\ta { background: #f1f1f1; }\n\t\ta:hover, &.active a { background: #fff; }\n\t}\n}\n\n.compat-item .acf-tab-wrap td {\n\tdisplay: block;\n}\n\n\n\n/* within gallery sidebar */\n.acf-gallery-side .acf-tab-wrap {\n\tborder-top: 0 none !important;\n}\n\n.acf-gallery-side .acf-tab-wrap .acf-tab-group {\n\tmargin: 10px 0 !important;\n\tpadding: 0 !important;\n}\n\n.acf-gallery-side .acf-tab-group li.active a {\n\tbackground: #F9F9F9 !important;\n}\n\n\n\n/* withing widget */\n.widget .acf-tab-group {\n\tborder-bottom-color: #e8e8e8;\n}\n\n.widget .acf-tab-group li a {\n\tbackground: #F1F1F1;\n}\n\n.widget .acf-tab-group li.active a {\n\tbackground: #fff;\n}\n\n\n/* media popup (edit image) */\n.media-modal.acf-expanded .compat-attachment-fields > tbody > tr.acf-tab-wrap .acf-tab-group {\n\tpadding-left: 23%;\n\tborder-bottom-color: #DDDDDD;\n}\n\n\n/* table */\n\n\n.form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n\tpadding: 0 5px 0 210px;\n}\n\n/* rtl */\n\thtml[dir=\"rtl\"] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n\t\tpadding: 0 210px 0 5px;\n\t}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\toembed\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-oembed {\n\tposition: relative;\n\tborder: $wp-card-border solid 1px;\n\tbackground: #fff;\n\t\n\t.title {\n\t\tposition: relative;\n\t\tborder-bottom: $wp-card-border solid 1px;\n\t\tpadding: 5px 10px;\n\t\t\n\t\t.input-search {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 14px;\n\t\t\tline-height: 30px;\n\t\t\theight: 30px;\n\t\t\tpadding: 0;\n\t\t\tborder: 0 none;\n\t\t\tbox-shadow: none;\n\t\t\tborder-radius: 0;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: text;\n\t\t}\n\t\t\n\t\t.acf-actions {\n\t\t\tpadding: 6px;\n\t\t}\n\t}\n\t\n\t.canvas {\n\t\tposition: relative;\n\t\tmin-height: 250px;\n\t\tbackground: #F9F9F9;\n\t\t\n\t\t.canvas-media {\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t\n\t\tiframe {\n\t\t\tdisplay: block;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t\t\n\t\t.acf-icon.-picture {\n\t\t\t@include centered();\n\t\t\tz-index: 0;\n\t\t\t\n\t\t\theight: 42px;\n\t\t\twidth: 42px;\n\t\t\tfont-size: 42px;\n\t\t\tcolor: #999;\n\t\t}\n\t\t\n\t\t.acf-loading-overlay {\n\t\t\tbackground: rgba(255,255,255,0.9);\n\t\t}\n\t\t\n\t\t.canvas-error {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 0%;\n\t\t\tright: 0%;\n\t\t\tmargin: -9px 0 0 0;\n\t\t\ttext-align: center;\n\t\t\tdisplay: none;\n\t\t\t\n\t\t\tp {\n\t\t\t\tpadding: 8px;\n\t\t\t\tmargin: 0;\n\t\t\t\tdisplay: inline;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// has value\n\t&.has-value {\n\t\t.canvas {\n\t\t\tmin-height: 50px;\n\t\t}\n\t\t\n\t\t.input-search {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t\n\t\t.title:hover .acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tImage\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-image-uploader {\n\t@include clearfix();\n\tposition: relative;\n\t\n\t\n\tp {\n\t\tmargin: 0;\n\t}\n\t\n\t\n\t/* image wrap*/\n\t.image-wrap {\n\t\tposition: relative;\n\t\tfloat: left;\n\t\t\n\t\timg {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\t\t\tdisplay: block;\n\t\t\tmin-width: 30px;\n\t\t\tmin-height: 30px;\n\t\t\tbackground: #f1f1f1;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\t\n\t\t\t\n\t\t\t/* svg */\n\t\t\t&[src$=\".svg\"] {\n\t\t\t\tmin-height: 100px;\n\t\t\t\tmin-width: 100px;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\t/* hover */\n\t\t&:hover .acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\t\n\t\n\t/* input */\n\tinput.button {\n\t\twidth: auto;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\t.image-wrap {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t}\n\t\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tFile\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-file-uploader {\n\tposition: relative;\n\t\n\tp {\n\t\tmargin: 0;\n\t}\n\t\n\t.file-wrap {\n\t\tborder: $wp-card-border solid 1px;\n\t\tmin-height: 84px;\n\t\tposition: relative;\n\t\tbackground: #fff;\n\t}\n\t\n\t.file-icon {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\tpadding: 10px;\n\t\tbackground: #F1F1F1;\n\t\tborder-right: $wp-card-border-1 solid 1px;\n\t\t\n\t\timg {\n\t\t\tdisplay: block;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tmax-width: 48px;\n\t\t}\n\t}\n\t\n\t.file-info {\n\t\tpadding: 10px;\n\t\tmargin-left: 69px;\n\t\t\n\t\tp {\n\t\t\tmargin: 0 0 2px;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4em;\n\t\t\tword-break: break-all;\n\t\t}\n\t\t\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t}\n\t}\n\t\n\t/* hover */\n\t&:hover .acf-actions {\n\t\tdisplay: block;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & { \n\t\t\n\t\t.file-icon {\n\t\t\tleft: auto;\n\t\t\tright: 0;\n\t\t\tborder-left: #E5E5E5 solid 1px;\n\t\t\tborder-right: none;\n\t\t}\n\t\t\n\t\t.file-info {\n\t\t\tmargin-right: 69px;\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tDate Picker\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-ui-datepicker .ui-datepicker {\n\tz-index: 900000 !important;\n\t\n\t.ui-widget-header a {\n\t\tcursor: pointer;\n\t\ttransition: none;\n\t}\n}\n\n\n/* fix highlight state overriding hover / active */\n.acf-ui-datepicker .ui-state-highlight.ui-state-hover {\n\tborder: 1px solid #98b7e8 !important;\n\tbackground: #98b7e8 !important;\n\tfont-weight: normal !important;\n\tcolor: #ffffff !important;\n}\n\n.acf-ui-datepicker .ui-state-highlight.ui-state-active {\n\tborder: 1px solid #3875d7 !important;\n\tbackground: #3875d7 !important; \n\tfont-weight: normal !important;\n\tcolor: #ffffff !important;\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tSeparator field\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-field-separator {\n\t\n\t.acf-label {\n\t\tmargin-bottom: 0;\n\t\t\n\t\tlabel {\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\t\n\t.acf-input {\n\t\tdisplay: none;\n\t}\n\t\n\t\n\t/* fields */\n\t.acf-fields > & {\n\t\tbackground: #f9f9f9;\n\t\tborder-bottom: 1px solid #dfdfdf;\n\t\tborder-top: 1px solid #dfdfdf;\n\t\tmargin-bottom: -1px;\n\t\tz-index: 2;\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTaxonomy\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-taxonomy-field {\n\tposition: relative;\n\t\n\t.categorychecklist-holder {\n\t\tborder: $wp-card-border solid 1px;\n\t\tborder-radius: 3px;\n\t\tmax-height: 200px;\n\t\toverflow: auto;\n\t}\n\t\n\t.acf-checkbox-list {\n\t\tmargin: 0;\n\t\tpadding: 10px;\n\t\t\n\t\tul.children {\n\t\t\tpadding-left: 18px;\n\t\t}\n\t}\n\t\n\t\n\t/* hover */\n\t&:hover {\n\t\t.acf-actions {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\t\n\t\n\t/* select */\n\t&[data-ftype=\"select\"] {\n\t\t.acf-actions {\n\t\t\tpadding: 0;\n\t\t\tmargin: -9px;\n\t\t}\n\t}\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tRange\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-range-wrap {\n\t\n\t.acf-append,\n\t.acf-prepend {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tline-height: 28px;\n\t\tmargin: 0 7px 0 0;\n\t}\n\t\n\t.acf-append {\n\t\tmargin: 0 0 0 7px;\n\t}\n\t\n\tinput[type=\"range\"] {\n\t\tdisplay: inline-block;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tvertical-align: middle;\n\t\theight: 28px;\n\t\t\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t}\n\t\t\n\t}\n\t\n\tinput[type=\"number\"] {\n\t\tdisplay: inline-block;\n\t\tmin-width: 3em;\n\t\tmargin-left: 10px;\n\t\tvertical-align: middle;\n\t}\n\t\n\t\n\t/* rtl */\n\thtml[dir=\"rtl\"] & {\n\t\t\n\t\tinput[type=\"number\"] {\n\t\t\tmargin-right: 10px;\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t\n\t\t.acf-append { margin: 0 7px 0 0; }\n\t\t.acf-prepend { margin: 0 0 0 7px; }\n\t\t\n\t}\n\t\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-accordion\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-accordion {\n\tmargin: -1px 0;\n\tpadding: 0;\n\tbackground: #fff;\n\tborder-top: 1px solid $wp-card-border-1;\n\tborder-bottom: 1px solid $wp-card-border-1;\n\tz-index: 1; // Display above following field.\n\t\n\t// Title.\n\t.acf-accordion-title {\n\t\tmargin: 0;\n\t\tpadding: 12px;\n\t\tfont-weight: bold;\n\t\tcursor: pointer;\n\t\tfont-size: inherit;\n\t\tfont-size: 13px;\n\t\tline-height: 1.4em;\n\t\t\n\t\t&:hover {\n\t\t\tbackground: #f3f4f5;\n\t\t}\n\t\t\n\t\tlabel {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4em;\n\t\t}\n\t\t\n\t\tp {\n\t\t\tfont-weight: normal;\n\t\t}\n\t\t\n\t\t.acf-accordion-icon {\n\t\t\tfloat: right;\n\t\t}\n\t\t\n\t\t// Gutenberg uses SVG.\n\t\tsvg.acf-accordion-icon {\n\t\t\tposition: absolute;\n\t\t\tright: 10px;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t\tcolor: #191e23;\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n\t\n\t.acf-accordion-content {\n\t\tmargin: 0;\n\t\tpadding: 0 12px 12px;\n\t\tdisplay: none;\n\t}\n\t\n\t// Open.\n\t&.-open {\n\t\t> .acf-accordion-content {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n\n// Field specific overrides\n.acf-field.acf-accordion {\n\tmargin: -1px 0;\n\tpadding: 0 !important; // !important needed to avoid Gutenberg sidebar issues.\n\tborder-color: $wp-card-border-1;\n\t\n\t.acf-label.acf-accordion-title {\n\t\tpadding: 12px;\n\t\twidth: auto;\n\t\tfloat: none;\n\t\twidth: auto;\n\t}\n\t\n\t.acf-input.acf-accordion-content {\n\t\tpadding: 0;\n\t\tfloat: none;\n\t\twidth: auto;\n\t\t\n\t\t> .acf-fields {\n\t\t\tborder-top: $wp-card-border-2 solid 1px;\n\t\t\t\n\t\t\t&.-clear {\n\t\t\t\tpadding: 0 $fx $fy;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* field specific (left) */\n.acf-fields.-left > .acf-field.acf-accordion {\n\t&:before {\n\t\tdisplay: none;\n\t}\n\t\n\t.acf-accordion-title {\n\t\twidth: auto;\n\t\tmargin: 0 !important;\n\t\tpadding: 12px;\n\t\tfloat: none !important;\t\n\t}\n\t\n\t.acf-accordion-content {\n\t\tpadding: 0 !important;\n\t}\n}\n\n\n/* field specific (clear) */\n.acf-fields.-clear > .acf-field.acf-accordion {\n\tborder: #cccccc solid 1px;\n\tbackground: transparent;\n\t\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -16px;\n\t}\n}\n\n\n/* table */\ntr.acf-field.acf-accordion {\n\tbackground: transparent;\n\t\n\t> .acf-input {\n\t\tpadding: 0 !important;\n\t\tborder: #cccccc solid 1px;\n\t}\n\t\n\t.acf-accordion-content {\n\t\tpadding: 0 12px 12px;\n\t}\n}\n\n\n/* #addtag */\n#addtag div.acf-field.error {\n\tborder: 0 none;\n\tpadding: 8px 0;\t\n}\n\n\n#addtag > .acf-field.acf-accordion {\n\tpadding-right: 0;\n\tmargin-right: 5%;\n\t\n\t+ p.submit {\n\t\tmargin-top: 0;\n\t}\n}\n\n\n\n/* border */\ntr.acf-accordion {\n\tmargin: 15px 0 !important;\n\t\n\t+ tr.acf-accordion {\n\t\tmargin-top: -16px !important;\n\t}\n}\n\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields > .acf-accordion {\n\tmargin-left: $field_padding_x;\n\tmargin-right: $field_padding_x;\n\tborder: $wp-card-border solid 1px;\n}\n\n\n/* rtl */\nhtml[dir=\"rtl\"] .acf-accordion {\n\t\n}\n\n\n/* menu item */\n/*\n.menu-item-settings > .field-acf > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin: 10px -13px 10px -11px;\n\t\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n*/\n\n\n/* widget */\n.widget .widget-content > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin-bottom: 10px;\n\t\n\t.acf-accordion-title {\n\t\tmargin-bottom: 0;\n\t}\n\t\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n\n\n\n// media modal\n.media-modal .compat-attachment-fields .acf-field.acf-accordion {\n\t\n\t// siblings\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -1px;\n\t}\n\t\n\t// input\n\t> .acf-input {\n\t\twidth: 100%;\n\t}\n\t\n\t// table\n\t.compat-attachment-fields > tbody > tr > td {\n\t\tpadding-bottom: 5px;\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tBlock Editor\n*\n*---------------------------------------------------------------------------------------------*/\n.block-editor {\n\t\n\t// Sidebar\n\t.edit-post-sidebar {\n\n\t\t// Remove metabox hndle border to simulate component panel.\n\t\t.acf-postbox {\n\t\t\t> .postbox-header,\n\t\t\t> .hndle {\n\t\t\t\tborder-bottom-width: 0 !important;\n\t\t\t}\n\t\t\t&.closed {\n\t\t\t\t>.postbox-header,\n\t\t\t\t> .hndle {\n\t\t\t\t\tborder-bottom-width: 1px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Field wrap. \n\t\t.acf-fields {\n\t\t\tmin-height: 1px;\n\t\t\toverflow: auto; // Fixes margin-collapse issue in WP 5.3.\n\n\t\t\t> .acf-field {\n\t\t\t\tborder-width: 0;\n\t\t\t\tborder-color: #e2e4e7;\n\t\t\t\tmargin: 16px;\n\t\t\t\tpadding: 0;\n\t\t\t\t\n\t\t\t\t// Force full width.\n\t\t\t\twidth: auto !important;\n\t\t\t\tmin-height: 0 !important;\n\t\t\t\tfloat: none !important;\n\t\t\t\t\n\t\t\t\t// Field labels.\n\t\t\t\t> .acf-label {\n\t\t\t\t\tmargin-bottom: 5px;\n\t\t\t\t\tlabel {\n\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Accordions.\n\t\t\t\t&.acf-accordion {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tborder-top-width: 1px;\n\t\t\t\t\t\n\t\t\t\t\t&:first-child {\n\t\t\t\t\t\tborder-top-width: 0;\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t.acf-accordion-title {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\tpadding: 15px;\n\t\t\t\t\t\tlabel {\n\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t.acf-accordion-content {\n\t\t\t\t\t\t> .acf-fields {\n\t\t\t\t\t\t\tborder-top-width: 0;\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","/*--------------------------------------------------------------------------------------------\n*\n*\tVars\n*\n*--------------------------------------------------------------------------------------------*/\n/* colors */\n/* acf-field */\n/* responsive */\n/*--------------------------------------------------------------------------------------------\n*\n* Mixins\n*\n*--------------------------------------------------------------------------------------------*/\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-field\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-field,\n.acf-field .acf-label,\n.acf-field .acf-input {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n position: relative;\n}\n\n.acf-field {\n margin: 15px 0;\n clear: both;\n}\n.acf-field p.description {\n display: block;\n margin: 0;\n padding: 0;\n}\n.acf-field .acf-label {\n vertical-align: top;\n margin: 0 0 10px;\n}\n.acf-field .acf-label label {\n display: block;\n font-weight: bold;\n margin: 0 0 3px;\n padding: 0;\n}\n.acf-field .acf-label:empty {\n margin-bottom: 0;\n}\n.acf-field .acf-input {\n vertical-align: top;\n}\n.acf-field .acf-input > p.description {\n margin-top: 5px;\n}\n.acf-field .acf-notice {\n margin: 0 0 15px;\n background: #edf2ff;\n color: #0c6ca0;\n border-color: #2183b9;\n}\n.acf-field .acf-notice.-error {\n background: #ffe6e6;\n color: #cc2727;\n border-color: #d12626;\n}\n.acf-field .acf-notice.-success {\n background: #eefbe8;\n color: #0e7b17;\n border-color: #32a23b;\n}\n.acf-field .acf-notice.-warning {\n background: #fff3e6;\n color: #bd4b0e;\n border-color: #d16226;\n}\ntd.acf-field, tr.acf-field {\n margin: 0;\n}\n\n.acf-field[data-width] {\n float: left;\n clear: none;\n /*\n \t@media screen and (max-width: $sm) {\n \t\tfloat: none;\n \t\twidth: auto;\n \t\tborder-left-width: 0;\n \t\tborder-right-width: 0;\n \t}\n */\n}\n.acf-field[data-width] + .acf-field[data-width] {\n border-left: 1px solid #eeeeee;\n}\nhtml[dir=rtl] .acf-field[data-width] {\n float: right;\n}\nhtml[dir=rtl] .acf-field[data-width] + .acf-field[data-width] {\n border-left: none;\n border-right: 1px solid #eeeeee;\n}\ntd.acf-field[data-width], tr.acf-field[data-width] {\n float: none;\n}\n\n.acf-field.-c0 {\n clear: both;\n border-left-width: 0 !important;\n}\nhtml[dir=rtl] .acf-field.-c0 {\n border-left-width: 1px !important;\n border-right-width: 0 !important;\n}\n\n.acf-field.-r0 {\n border-top-width: 0 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields {\n position: relative;\n}\n.acf-fields:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-fields.-border {\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-fields > .acf-field {\n position: relative;\n margin: 0;\n padding: 15px 12px;\n border-top: #EEEEEE solid 1px;\n}\n.acf-fields > .acf-field:first-child {\n border-top: none;\n margin-top: 0;\n}\ntd.acf-fields {\n padding: 0 !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (clear)\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields.-clear > .acf-field {\n border: none;\n padding: 0;\n margin: 15px 0;\n}\n.acf-fields.-clear > .acf-field[data-width] {\n border: none !important;\n}\n.acf-fields.-clear > .acf-field > .acf-label {\n padding: 0;\n}\n.acf-fields.-clear > .acf-field > .acf-input {\n padding: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-fields (left)\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-fields.-left > .acf-field {\n padding: 15px 0;\n}\n.acf-fields.-left > .acf-field:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-fields.-left > .acf-field:before {\n content: \"\";\n display: block;\n position: absolute;\n z-index: 0;\n background: #F9F9F9;\n border-color: #E1E1E1;\n border-style: solid;\n border-width: 0 1px 0 0;\n top: 0;\n bottom: 0;\n left: 0;\n width: 20%;\n}\n.acf-fields.-left > .acf-field[data-width] {\n float: none;\n width: auto !important;\n border-left-width: 0 !important;\n border-right-width: 0 !important;\n}\n.acf-fields.-left > .acf-field > .acf-label {\n float: left;\n width: 20%;\n margin: 0;\n padding: 0 12px;\n}\n.acf-fields.-left > .acf-field > .acf-input {\n float: left;\n width: 80%;\n margin: 0;\n padding: 0 12px;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field:before {\n border-width: 0 0 0 1px;\n left: auto;\n right: 0;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field > .acf-label {\n float: right;\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-field > .acf-input {\n float: right;\n}\n#side-sortables .acf-fields.-left > .acf-field:before {\n display: none;\n}\n#side-sortables .acf-fields.-left > .acf-field > .acf-label {\n width: 100%;\n margin-bottom: 10px;\n}\n#side-sortables .acf-fields.-left > .acf-field > .acf-input {\n width: 100%;\n}\n@media screen and (max-width: 640px) {\n .acf-fields.-left > .acf-field:before {\n display: none;\n }\n .acf-fields.-left > .acf-field > .acf-label {\n width: 100%;\n margin-bottom: 10px;\n }\n .acf-fields.-left > .acf-field > .acf-input {\n width: 100%;\n }\n}\n\n/* clear + left */\n.acf-fields.-clear.-left > .acf-field {\n padding: 0;\n border: none;\n}\n.acf-fields.-clear.-left > .acf-field:before {\n display: none;\n}\n.acf-fields.-clear.-left > .acf-field > .acf-label {\n padding: 0;\n}\n.acf-fields.-clear.-left > .acf-field > .acf-input {\n padding: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-table\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-table tr.acf-field > td.acf-label {\n padding: 15px 12px;\n margin: 0;\n background: #F9F9F9;\n width: 20%;\n}\n.acf-table tr.acf-field > td.acf-input {\n padding: 15px 12px;\n margin: 0;\n border-left-color: #E1E1E1;\n}\n\n.acf-sortable-tr-helper {\n position: relative !important;\n display: table-row !important;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tacf-postbox\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-postbox {\n position: relative;\n}\n.acf-postbox > .inside {\n margin: 0 !important;\n /* override WP style - do not delete - you have tried this before */\n padding: 0 !important;\n /* override WP style - do not delete - you have tried this before */\n}\n.acf-postbox .acf-hndle-cog {\n color: #72777c;\n font-size: 16px;\n line-height: 36px;\n height: 36px;\n width: 1.62rem;\n position: relative;\n display: none;\n}\n.acf-postbox .acf-hndle-cog:hover {\n color: #191e23;\n}\n.acf-postbox > .hndle:hover .acf-hndle-cog,\n.acf-postbox > .postbox-header:hover .acf-hndle-cog {\n display: inline-block;\n}\n.acf-postbox > .hndle .acf-hndle-cog {\n height: 20px;\n line-height: 20px;\n float: right;\n width: auto;\n}\n.acf-postbox > .hndle .acf-hndle-cog:hover {\n color: #777777;\n}\n.acf-postbox .acf-replace-with-fields {\n padding: 15px;\n text-align: center;\n}\n\n#post-body-content #acf_after_title-sortables {\n margin: 20px 0 -20px;\n}\n\n/* seamless */\n.acf-postbox.seamless {\n border: 0 none;\n background: transparent;\n box-shadow: none;\n /* hide hndle */\n /* inside */\n}\n.acf-postbox.seamless > .postbox-header,\n.acf-postbox.seamless > .hndle,\n.acf-postbox.seamless > .handlediv {\n display: none !important;\n}\n.acf-postbox.seamless > .inside {\n display: block !important;\n /* stop metabox from hiding when closed */\n margin-left: -12px !important;\n margin-right: -12px !important;\n}\n.acf-postbox.seamless > .inside > .acf-field {\n border-color: transparent;\n}\n\n/* seamless (left) */\n.acf-postbox.seamless > .acf-fields.-left {\n /* hide sidebar bg */\n /* mobile */\n}\n.acf-postbox.seamless > .acf-fields.-left > .acf-field:before {\n display: none;\n}\n@media screen and (max-width: 782px) {\n .acf-postbox.seamless > .acf-fields.-left {\n /* remove padding */\n }\n .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-label, .acf-postbox.seamless > .acf-fields.-left > .acf-field > .acf-input {\n padding: 0;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Inputs\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-field input[type=text],\n.acf-field input[type=password],\n.acf-field input[type=date],\n.acf-field input[type=datetime],\n.acf-field input[type=datetime-local],\n.acf-field input[type=email],\n.acf-field input[type=month],\n.acf-field input[type=number],\n.acf-field input[type=search],\n.acf-field input[type=tel],\n.acf-field input[type=time],\n.acf-field input[type=url],\n.acf-field input[type=week],\n.acf-field textarea,\n.acf-field select {\n width: 100%;\n padding: 4px 8px;\n margin: 0;\n box-sizing: border-box;\n font-size: 14px;\n line-height: 1.4;\n}\n.acf-admin-3-8 .acf-field input[type=text],\n.acf-admin-3-8 .acf-field input[type=password],\n.acf-admin-3-8 .acf-field input[type=date],\n.acf-admin-3-8 .acf-field input[type=datetime],\n.acf-admin-3-8 .acf-field input[type=datetime-local],\n.acf-admin-3-8 .acf-field input[type=email],\n.acf-admin-3-8 .acf-field input[type=month],\n.acf-admin-3-8 .acf-field input[type=number],\n.acf-admin-3-8 .acf-field input[type=search],\n.acf-admin-3-8 .acf-field input[type=tel],\n.acf-admin-3-8 .acf-field input[type=time],\n.acf-admin-3-8 .acf-field input[type=url],\n.acf-admin-3-8 .acf-field input[type=week],\n.acf-admin-3-8 .acf-field textarea,\n.acf-admin-3-8 .acf-field select {\n padding: 3px 5px;\n}\n.acf-field textarea {\n resize: vertical;\n}\n\nbody.acf-browser-firefox .acf-field select {\n padding: 4px 5px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Text\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-input-prepend,\n.acf-input-append,\n.acf-input-wrap {\n box-sizing: border-box;\n}\n\n.acf-input-prepend,\n.acf-input-append {\n font-size: 14px;\n line-height: 1.4;\n padding: 4px 8px;\n background: #f5f5f5;\n border: #7e8993 solid 1px;\n min-height: 30px;\n}\n.acf-admin-3-8 .acf-input-prepend,\n.acf-admin-3-8 .acf-input-append {\n padding: 3px 5px;\n border-color: #dddddd;\n min-height: 28px;\n}\n\n.acf-input-prepend {\n float: left;\n border-right-width: 0;\n border-radius: 3px 0 0 3px;\n}\n\n.acf-input-append {\n float: right;\n border-left-width: 0;\n border-radius: 0 3px 3px 0;\n}\n\n.acf-input-wrap {\n position: relative;\n overflow: hidden;\n}\n.acf-input-wrap .acf-is-prepended {\n border-radius: 0 3px 3px 0 !important;\n}\n.acf-input-wrap .acf-is-appended {\n border-radius: 3px 0 0 3px !important;\n}\n.acf-input-wrap .acf-is-prepended.acf-is-appended {\n border-radius: 0 !important;\n}\n\n/* rtl */\nhtml[dir=rtl] .acf-input-prepend {\n border-left-width: 0;\n border-right-width: 1px;\n border-radius: 0 3px 3px 0;\n float: right;\n}\n\nhtml[dir=rtl] .acf-input-append {\n border-left-width: 1px;\n border-right-width: 0;\n border-radius: 3px 0 0 3px;\n float: left;\n}\n\nhtml[dir=rtl] input.acf-is-prepended {\n border-radius: 3px 0 0 3px !important;\n}\n\nhtml[dir=rtl] input.acf-is-appended {\n border-radius: 0 3px 3px 0 !important;\n}\n\nhtml[dir=rtl] input.acf-is-prepended.acf-is-appended {\n border-radius: 0 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Color Picker\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-color-picker .wp-color-result {\n border-color: #7e8993;\n}\n.acf-admin-3-8 .acf-color-picker .wp-color-result {\n border-color: #ccd0d4;\n}\n.acf-color-picker .wp-picker-active {\n position: relative;\n z-index: 1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Url\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-url i {\n position: absolute;\n top: 5px;\n left: 5px;\n opacity: 0.5;\n color: #7e8993;\n}\n.acf-url input[type=url] {\n padding-left: 27px !important;\n}\n.acf-url.-valid i {\n opacity: 1;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v3)\n*\n*---------------------------------------------------------------------------------------------*/\n.select2-container.-acf {\n /* open */\n /* single open */\n}\n.select2-container.-acf .select2-choices {\n background: #fff;\n border-color: #ddd;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.07) inset;\n min-height: 31px;\n}\n.select2-container.-acf .select2-choices .select2-search-choice {\n margin: 5px 0 5px 5px;\n padding: 3px 5px 3px 18px;\n border-color: #bbb;\n background: #f9f9f9;\n box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset;\n /* sortable item*/\n /* sortable shadow */\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper {\n background: #5897fb;\n border-color: #3f87fa;\n color: #fff;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a {\n visibility: hidden;\n}\n.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder {\n background-color: #f7f7f7;\n border-color: #f7f7f7;\n visibility: visible !important;\n}\n.select2-container.-acf .select2-choices .select2-search-choice-focus {\n border-color: #999;\n}\n.select2-container.-acf .select2-choices .select2-search-field input {\n height: 31px;\n line-height: 22px;\n margin: 0;\n padding: 5px 5px 5px 7px;\n}\n.select2-container.-acf .select2-choice {\n border-color: #BBBBBB;\n}\n.select2-container.-acf .select2-choice .select2-arrow {\n background: transparent;\n border-left-color: #DFDFDF;\n padding-left: 1px;\n}\n.select2-container.-acf .select2-choice .select2-result-description {\n display: none;\n}\n.select2-container.-acf.select2-container-active .select2-choices, .select2-container.-acf.select2-dropdown-open .select2-choices {\n border-color: #5B9DD9;\n border-radius: 3px 3px 0 0;\n}\n.select2-container.-acf.select2-dropdown-open .select2-choice {\n background: #fff;\n border-color: #5B9DD9;\n}\n\n/* rtl */\nhtml[dir=rtl] .select2-container.-acf .select2-search-choice-close {\n left: 24px;\n}\nhtml[dir=rtl] .select2-container.-acf .select2-choice > .select2-chosen {\n margin-left: 42px;\n}\nhtml[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow {\n padding-left: 0;\n padding-right: 1px;\n}\n\n/* description */\n.select2-drop {\n /* search*/\n /* result */\n}\n.select2-drop .select2-search {\n padding: 4px 4px 0;\n}\n.select2-drop .select2-result {\n /* hover*/\n}\n.select2-drop .select2-result .select2-result-description {\n color: #999;\n font-size: 12px;\n margin-left: 5px;\n}\n.select2-drop .select2-result.select2-highlighted .select2-result-description {\n color: #fff;\n opacity: 0.75;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Select2 (v4)\n*\n*---------------------------------------------------------------------------------------------*/\n.select2-container.-acf li {\n margin-bottom: 0;\n}\n.select2-container.-acf .select2-selection {\n border-color: #7e8993;\n}\n.acf-admin-3-8 .select2-container.-acf .select2-selection {\n border-color: #aaa;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child {\n float: none;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input {\n width: 100% !important;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__rendered {\n padding-right: 0;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice {\n background-color: #f7f7f7;\n border-color: #cccccc;\n max-width: 100%;\n overflow: hidden;\n word-wrap: normal !important;\n white-space: normal;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper {\n background: #5897fb;\n border-color: #3f87fa;\n color: #fff;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span {\n visibility: hidden;\n}\n.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder {\n background-color: #f7f7f7;\n border-color: #f7f7f7;\n visibility: visible !important;\n}\n.select2-container.-acf .select2-selection--multiple .select2-search__field {\n box-shadow: none !important;\n min-height: 0;\n}\n.acf-row .select2-container.-acf .select2-selection--single {\n overflow: hidden;\n}\n.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered {\n white-space: normal;\n}\n\n.select2-container .select2-dropdown {\n z-index: 900000;\n}\n.select2-container .select2-dropdown .select2-search__field {\n line-height: 1.4;\n min-height: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Link\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-link .link-wrap {\n display: none;\n border: #ccd0d4 solid 1px;\n border-radius: 3px;\n padding: 5px;\n line-height: 26px;\n background: #fff;\n word-wrap: break-word;\n word-break: break-all;\n}\n.acf-link .link-wrap .link-title {\n padding: 0 5px;\n}\n.acf-link.-value .button {\n display: none;\n}\n.acf-link.-value .acf-icon.-link-ext {\n display: none;\n}\n.acf-link.-value .link-wrap {\n display: inline-block;\n}\n.acf-link.-external .acf-icon.-link-ext {\n display: inline-block;\n}\n\n#wp-link-backdrop {\n z-index: 900000 !important;\n}\n\n#wp-link-wrap {\n z-index: 900001 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Radio\n*\n*---------------------------------------------------------------------------------------------*/\nul.acf-radio-list,\nul.acf-checkbox-list {\n background: transparent;\n position: relative;\n padding: 1px;\n margin: 0;\n /* hl */\n /* rtl */\n}\nul.acf-radio-list li,\nul.acf-checkbox-list li {\n font-size: 13px;\n line-height: 22px;\n margin: 0;\n position: relative;\n word-wrap: break-word;\n /* attachment sidebar fix*/\n}\nul.acf-radio-list li label,\nul.acf-checkbox-list li label {\n display: inline;\n}\nul.acf-radio-list li input[type=checkbox],\nul.acf-radio-list li input[type=radio],\nul.acf-checkbox-list li input[type=checkbox],\nul.acf-checkbox-list li input[type=radio] {\n margin: -1px 4px 0 0;\n vertical-align: middle;\n}\nul.acf-radio-list li input[type=text],\nul.acf-checkbox-list li input[type=text] {\n width: auto;\n vertical-align: middle;\n margin: 2px 0;\n}\nul.acf-radio-list li span,\nul.acf-checkbox-list li span {\n float: none;\n}\nul.acf-radio-list li i,\nul.acf-checkbox-list li i {\n vertical-align: middle;\n}\nul.acf-radio-list.acf-hl li,\nul.acf-checkbox-list.acf-hl li {\n margin-right: 20px;\n clear: none;\n}\nhtml[dir=rtl] ul.acf-radio-list input[type=checkbox],\nhtml[dir=rtl] ul.acf-radio-list input[type=radio],\nhtml[dir=rtl] ul.acf-checkbox-list input[type=checkbox],\nhtml[dir=rtl] ul.acf-checkbox-list input[type=radio] {\n margin-left: 4px;\n margin-right: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Button Group\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-button-group {\n display: inline-block;\n /* default (horizontal) */\n /* vertical */\n}\n.acf-button-group label {\n display: inline-block;\n border: #7e8993 solid 1px;\n position: relative;\n z-index: 1;\n padding: 5px 10px;\n background: #fff;\n}\n.acf-button-group label:hover {\n color: #016087;\n background: #f3f5f6;\n border-color: #0071a1;\n z-index: 2;\n}\n.acf-button-group label.selected {\n border-color: #007cba;\n background: #008dd4;\n color: #fff;\n z-index: 2;\n}\n.acf-button-group input {\n display: none !important;\n}\n.acf-button-group {\n padding-left: 1px;\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n.acf-button-group label {\n margin: 0 0 0 -1px;\n flex: 1;\n text-align: center;\n white-space: nowrap;\n}\n.acf-button-group label:first-child {\n border-radius: 3px 0 0 3px;\n}\nhtml[dir=rtl] .acf-button-group label:first-child {\n border-radius: 0 3px 3px 0;\n}\n.acf-button-group label:last-child {\n border-radius: 0 3px 3px 0;\n}\nhtml[dir=rtl] .acf-button-group label:last-child {\n border-radius: 3px 0 0 3px;\n}\n.acf-button-group label:only-child {\n border-radius: 3px;\n}\n.acf-button-group.-vertical {\n padding-left: 0;\n padding-top: 1px;\n flex-direction: column;\n}\n.acf-button-group.-vertical label {\n margin: -1px 0 0 0;\n}\n.acf-button-group.-vertical label:first-child {\n border-radius: 3px 3px 0 0;\n}\n.acf-button-group.-vertical label:last-child {\n border-radius: 0 0 3px 3px;\n}\n.acf-button-group.-vertical label:only-child {\n border-radius: 3px;\n}\n.acf-admin-3-8 .acf-button-group label {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-button-group label:hover {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-button-group label.selected {\n border-color: #007cba;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Checkbox\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-checkbox-list .button {\n margin: 10px 0 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* True / False\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-switch {\n display: inline-block;\n border-radius: 5px;\n cursor: pointer;\n position: relative;\n background: #f5f5f5;\n height: 30px;\n vertical-align: middle;\n border: #7e8993 solid 1px;\n -webkit-transition: background 0.25s ease;\n -moz-transition: background 0.25s ease;\n -o-transition: background 0.25s ease;\n transition: background 0.25s ease;\n /* hover */\n /* active */\n /* message */\n}\n.acf-switch span {\n display: inline-block;\n float: left;\n text-align: center;\n font-size: 13px;\n line-height: 22px;\n padding: 4px 10px;\n min-width: 15px;\n}\n.acf-switch span i {\n vertical-align: middle;\n}\n.acf-switch .acf-switch-on {\n color: #fff;\n text-shadow: #007cba 0 1px 0;\n}\n.acf-switch .acf-switch-slider {\n position: absolute;\n top: 2px;\n left: 2px;\n bottom: 2px;\n right: 50%;\n z-index: 1;\n background: #fff;\n border-radius: 3px;\n border: #7e8993 solid 1px;\n -webkit-transition: all 0.25s ease;\n -moz-transition: all 0.25s ease;\n -o-transition: all 0.25s ease;\n transition: all 0.25s ease;\n transition-property: left, right;\n}\n.acf-switch:hover, .acf-switch.-focus {\n border-color: #0071a1;\n background: #f3f5f6;\n color: #016087;\n}\n.acf-switch:hover .acf-switch-slider, .acf-switch.-focus .acf-switch-slider {\n border-color: #0071a1;\n}\n.acf-switch.-on {\n background: #0d99d5;\n border-color: #007cba;\n /* hover */\n}\n.acf-switch.-on .acf-switch-slider {\n left: 50%;\n right: 2px;\n border-color: #007cba;\n}\n.acf-switch.-on:hover {\n border-color: #007cba;\n}\n.acf-switch + span {\n margin-left: 6px;\n}\n.acf-admin-3-8 .acf-switch {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-switch .acf-switch-slider {\n border-color: #ccd0d4;\n}\n.acf-admin-3-8 .acf-switch:hover, .acf-admin-3-8 .acf-switch.-focus {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-switch:hover .acf-switch-slider, .acf-admin-3-8 .acf-switch.-focus .acf-switch-slider {\n border-color: #0071a1;\n}\n.acf-admin-3-8 .acf-switch.-on {\n border-color: #007cba;\n}\n.acf-admin-3-8 .acf-switch.-on .acf-switch-slider {\n border-color: #007cba;\n}\n.acf-admin-3-8 .acf-switch.-on:hover {\n border-color: #007cba;\n}\n\n/* checkbox */\n.acf-switch-input {\n opacity: 0;\n position: absolute;\n margin: 0;\n}\n\n/* in media modal */\n.compat-item .acf-true-false .message {\n float: none;\n padding: 0;\n vertical-align: middle;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tGoogle Map\n*\t\n*-------------------------------------------------------------------------*/\n.acf-google-map {\n position: relative;\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-google-map .title {\n position: relative;\n border-bottom: #ccd0d4 solid 1px;\n}\n.acf-google-map .title .search {\n margin: 0;\n font-size: 14px;\n line-height: 30px;\n height: 40px;\n padding: 5px 10px;\n border: 0 none;\n box-shadow: none;\n border-radius: 0;\n font-family: inherit;\n cursor: text;\n}\n.acf-google-map .title .acf-loading {\n position: absolute;\n top: 10px;\n right: 11px;\n display: none;\n}\n.acf-google-map .title .acf-icon:active {\n display: inline-block !important;\n}\n.acf-google-map .canvas {\n height: 400px;\n}\n.acf-google-map:hover .title .acf-actions {\n display: block;\n}\n.acf-google-map .title .acf-icon.-location {\n display: inline-block;\n}\n.acf-google-map .title .acf-icon.-cancel,\n.acf-google-map .title .acf-icon.-search {\n display: none;\n}\n.acf-google-map.-value .title .search {\n font-weight: bold;\n}\n.acf-google-map.-value .title .acf-icon.-location {\n display: none;\n}\n.acf-google-map.-value .title .acf-icon.-cancel {\n display: inline-block;\n}\n.acf-google-map.-searching .title .acf-icon.-location {\n display: none;\n}\n.acf-google-map.-searching .title .acf-icon.-cancel,\n.acf-google-map.-searching .title .acf-icon.-search {\n display: inline-block;\n}\n.acf-google-map.-searching .title .acf-actions {\n display: block;\n}\n.acf-google-map.-searching .title .search {\n font-weight: normal !important;\n}\n.acf-google-map.-loading .title a {\n display: none !important;\n}\n.acf-google-map.-loading .title i {\n display: inline-block;\n}\n\n/* autocomplete */\n.pac-container {\n border-width: 1px 0;\n box-shadow: none;\n}\n\n.pac-container:after {\n display: none;\n}\n\n.pac-container .pac-item:first-child {\n border-top: 0 none;\n}\n\n.pac-container .pac-item {\n padding: 5px 10px;\n cursor: pointer;\n}\n\nhtml[dir=rtl] .pac-container .pac-item {\n text-align: right;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tRelationship\n*\t\n*-------------------------------------------------------------------------*/\n.acf-relationship {\n background: #fff;\n border: #ccd0d4 solid 1px;\n /* list */\n /* selection (bottom) */\n}\n.acf-relationship .filters {\n border-bottom: #ccd0d4 solid 1px;\n background: #fff;\n /* widths */\n}\n.acf-relationship .filters:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-relationship .filters .filter {\n margin: 0;\n padding: 0;\n float: left;\n width: 100%;\n box-sizing: border-box;\n padding: 7px 7px 7px 0;\n}\n.acf-relationship .filters .filter:first-child {\n padding-left: 7px;\n}\n.acf-relationship .filters .filter input, .acf-relationship .filters .filter select {\n margin: 0;\n float: none;\n /* potential fix for media popup? */\n}\n.acf-relationship .filters .filter input:focus, .acf-relationship .filters .filter input:active, .acf-relationship .filters .filter select:focus, .acf-relationship .filters .filter select:active {\n outline: none;\n box-shadow: none;\n}\n.acf-relationship .filters .filter input {\n border-color: transparent;\n box-shadow: none;\n padding-left: 3px;\n padding-right: 3px;\n}\n.acf-relationship .filters.-f2 .filter {\n width: 50%;\n}\n.acf-relationship .filters.-f3 .filter {\n width: 25%;\n}\n.acf-relationship .filters.-f3 .filter.-search {\n width: 50%;\n}\n.acf-relationship .list {\n margin: 0;\n padding: 5px;\n height: 160px;\n overflow: auto;\n}\n.acf-relationship .list .acf-rel-label,\n.acf-relationship .list .acf-rel-item,\n.acf-relationship .list p {\n padding: 5px;\n margin: 0;\n display: block;\n position: relative;\n min-height: 18px;\n}\n.acf-relationship .list .acf-rel-label {\n font-weight: bold;\n}\n.acf-relationship .list .acf-rel-item {\n cursor: pointer;\n /* hover */\n /* disabled */\n}\n.acf-relationship .list .acf-rel-item b {\n text-decoration: underline;\n font-weight: normal;\n}\n.acf-relationship .list .acf-rel-item .thumbnail {\n background: #e0e0e0;\n width: 22px;\n height: 22px;\n float: left;\n margin: -2px 5px 0 0;\n}\n.acf-relationship .list .acf-rel-item .thumbnail img {\n max-width: 22px;\n max-height: 22px;\n margin: 0 auto;\n display: block;\n}\n.acf-relationship .list .acf-rel-item .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list .acf-rel-item .thumbnail.-icon img {\n max-height: 20px;\n margin-top: 1px;\n}\n.acf-relationship .list .acf-rel-item:hover {\n background: #3875D7;\n color: #fff;\n}\n.acf-relationship .list .acf-rel-item:hover .thumbnail {\n background: #a2bfec;\n}\n.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list .acf-rel-item.disabled {\n opacity: 0.5;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover {\n background: transparent;\n color: #333;\n cursor: default;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail {\n background: #e0e0e0;\n}\n.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon {\n background: #fff;\n}\n.acf-relationship .list ul {\n padding-bottom: 5px;\n}\n.acf-relationship .list ul .acf-rel-label,\n.acf-relationship .list ul .acf-rel-item,\n.acf-relationship .list ul p {\n padding-left: 20px;\n}\n.acf-relationship .selection {\n position: relative;\n /* choices */\n /* values */\n}\n.acf-relationship .selection:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-relationship .selection .values,\n.acf-relationship .selection .choices {\n width: 50%;\n background: #fff;\n float: left;\n}\n.acf-relationship .selection .choices {\n background: #F9F9F9;\n}\n.acf-relationship .selection .choices .list {\n border-right: #DFDFDF solid 1px;\n}\n.acf-relationship .selection .values .acf-icon {\n position: absolute;\n top: 4px;\n right: 7px;\n display: none;\n /* rtl */\n}\nhtml[dir=rtl] .acf-relationship .selection .values .acf-icon {\n right: auto;\n left: 7px;\n}\n.acf-relationship .selection .values .acf-rel-item:hover .acf-icon {\n display: block;\n}\n.acf-relationship .selection .values .acf-rel-item {\n cursor: move;\n}\n.acf-relationship .selection .values .acf-rel-item b {\n text-decoration: none;\n}\n\n/* menu item fix */\n.menu-item .acf-relationship ul {\n width: auto;\n}\n.menu-item .acf-relationship li {\n display: block;\n}\n\n/*--------------------------------------------------------------------------\n*\n*\tWYSIWYG\n*\t\n*-------------------------------------------------------------------------*/\n.acf-editor-wrap.delay .acf-editor-toolbar {\n content: \"\";\n display: block;\n background: #f5f5f5;\n border-bottom: #dddddd solid 1px;\n color: #555d66;\n padding: 10px;\n}\n.acf-editor-wrap.delay .wp-editor-area {\n padding: 10px;\n border: none;\n color: inherit !important;\n}\n.acf-editor-wrap iframe {\n min-height: 200px;\n}\n.acf-editor-wrap .wp-editor-container {\n border: 1px solid #ccd0d4;\n box-shadow: none !important;\n}\n.acf-editor-wrap .wp-editor-tabs {\n box-sizing: content-box;\n}\n.acf-editor-wrap .wp-switch-editor {\n border-color: #ccd0d4;\n border-bottom-color: transparent;\n}\n\n#mce_fullscreen_container {\n z-index: 900000 !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTab\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-field-tab {\n display: none !important;\n}\n\n.hidden-by-tab {\n display: none !important;\n}\n\n.acf-tab-wrap {\n clear: both;\n z-index: 1;\n}\n\n.acf-tab-group {\n border-bottom: #ccc solid 1px;\n padding: 10px 10px 0;\n}\n.acf-tab-group li {\n margin: 0 0.5em 0 0;\n}\n.acf-tab-group li a {\n padding: 5px 10px;\n display: block;\n color: #555;\n font-size: 14px;\n font-weight: 600;\n line-height: 24px;\n border: #ccc solid 1px;\n border-bottom: 0 none;\n text-decoration: none;\n background: #e5e5e5;\n transition: none;\n}\n.acf-tab-group li a:hover {\n background: #FFF;\n}\n.acf-tab-group li a:focus {\n outline: none;\n box-shadow: none;\n}\n.acf-tab-group li a:empty {\n display: none;\n}\nhtml[dir=rtl] .acf-tab-group li {\n margin: 0 0 0 0.5em;\n}\n.acf-tab-group li.active a {\n background: #F1F1F1;\n color: #000;\n padding-bottom: 6px;\n margin-bottom: -1px;\n position: relative;\n z-index: 1;\n}\n\n.acf-fields > .acf-tab-wrap {\n background: #F9F9F9;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group {\n position: relative;\n border-top: #ccd0d4 solid 1px;\n border-bottom: #ccd0d4 solid 1px;\n z-index: 2;\n margin-bottom: -1px;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background: #f1f1f1;\n border-color: #ccd0d4;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #FFF;\n}\n.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background: #FFFFFF;\n}\n.acf-admin-3-8 .acf-fields > .acf-tab-wrap .acf-tab-group {\n border-color: #dfdfdf;\n}\n.acf-fields > .acf-tab-wrap:first-child .acf-tab-group {\n border-top: none;\n}\n\n.acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 20%;\n /* mobile */\n /* rtl */\n}\n@media screen and (max-width: 640px) {\n .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 10px;\n }\n}\nhtml[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-left: 0;\n padding-right: 20%;\n /* mobile */\n}\n@media screen and (max-width: 850px) {\n html[dir=rtl] .acf-fields.-left > .acf-tab-wrap .acf-tab-group {\n padding-right: 10px;\n }\n}\n\n.acf-tab-wrap.-left .acf-tab-group {\n position: absolute;\n left: 0;\n width: 20%;\n border: 0 none;\n padding: 0 !important;\n /* important overrides 'left aligned labels' */\n margin: 1px 0 0;\n}\n.acf-tab-wrap.-left .acf-tab-group li {\n float: none;\n margin: -1px 0 0;\n}\n.acf-tab-wrap.-left .acf-tab-group li a {\n border: 1px solid #ededed;\n font-size: 13px;\n line-height: 18px;\n color: #0073aa;\n padding: 10px;\n margin: 0;\n font-weight: normal;\n border-width: 1px 0;\n border-radius: 0;\n background: transparent;\n}\n.acf-tab-wrap.-left .acf-tab-group li a:hover {\n color: #00a0d2;\n}\n.acf-tab-wrap.-left .acf-tab-group li.active a {\n border-color: #DFDFDF;\n color: #000;\n margin-right: -1px;\n background: #fff;\n}\nhtml[dir=rtl] .acf-tab-wrap.-left .acf-tab-group {\n left: auto;\n right: 0;\n}\nhtml[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a {\n margin-right: 0;\n margin-left: -1px;\n}\n.acf-field + .acf-tab-wrap.-left:before {\n content: \"\";\n display: block;\n position: relative;\n z-index: 1;\n height: 10px;\n border-top: #DFDFDF solid 1px;\n border-bottom: #DFDFDF solid 1px;\n margin-bottom: -1px;\n}\n.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a {\n border-top: none;\n}\n\n/* sidebar */\n.acf-fields.-sidebar {\n padding: 0 0 0 20% !important;\n position: relative;\n /* before */\n /* rtl */\n}\n.acf-fields.-sidebar:before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 20%;\n bottom: 0;\n border-right: #DFDFDF solid 1px;\n background: #F9F9F9;\n z-index: 1;\n}\nhtml[dir=rtl] .acf-fields.-sidebar {\n padding: 0 20% 0 0 !important;\n}\nhtml[dir=rtl] .acf-fields.-sidebar:before {\n border-left: #DFDFDF solid 1px;\n border-right-width: 0;\n left: auto;\n right: 0;\n}\n.acf-fields.-sidebar.-left {\n padding: 0 0 0 180px !important;\n /* rtl */\n}\nhtml[dir=rtl] .acf-fields.-sidebar.-left {\n padding: 0 180px 0 0 !important;\n}\n.acf-fields.-sidebar.-left:before {\n background: #F1F1F1;\n border-color: #dfdfdf;\n width: 180px;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group {\n width: 180px;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a {\n border-color: #e4e4e4;\n}\n.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background: #F9F9F9;\n}\n.acf-fields.-sidebar > .acf-field-tab + .acf-field {\n border-top: none;\n}\n\n.acf-fields.-clear > .acf-tab-wrap {\n background: transparent;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group {\n margin-top: 0;\n border-top: none;\n padding-left: 0;\n padding-right: 0;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a {\n background: #e5e5e5;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #fff;\n}\n.acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields.-sidebar {\n margin-left: 0 !important;\n}\n.acf-postbox.seamless > .acf-fields.-sidebar:before {\n background: transparent;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap {\n background: transparent;\n margin-bottom: 10px;\n padding-left: 12px;\n padding-right: 12px;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group {\n border-top: 0 none;\n border-color: #ccd0d4;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a {\n background: #e5e5e5;\n border-color: #ccd0d4;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {\n background: #fff;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left:before {\n border-top: none;\n height: auto;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group {\n margin-bottom: 0;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li a {\n border-width: 1px 0 1px 1px !important;\n border-color: #cccccc;\n background: #e5e5e5;\n}\n.acf-postbox.seamless > .acf-fields > .acf-tab-wrap.-left .acf-tab-group li.active a {\n background: #f1f1f1;\n}\n\n.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a {\n background: #f1f1f1;\n}\n.menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover, .menu-edit .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li a:hover,\n.widget .acf-fields.-clear > .acf-tab-wrap .acf-tab-group li.active a {\n background: #fff;\n}\n\n.compat-item .acf-tab-wrap td {\n display: block;\n}\n\n/* within gallery sidebar */\n.acf-gallery-side .acf-tab-wrap {\n border-top: 0 none !important;\n}\n\n.acf-gallery-side .acf-tab-wrap .acf-tab-group {\n margin: 10px 0 !important;\n padding: 0 !important;\n}\n\n.acf-gallery-side .acf-tab-group li.active a {\n background: #F9F9F9 !important;\n}\n\n/* withing widget */\n.widget .acf-tab-group {\n border-bottom-color: #e8e8e8;\n}\n\n.widget .acf-tab-group li a {\n background: #F1F1F1;\n}\n\n.widget .acf-tab-group li.active a {\n background: #fff;\n}\n\n/* media popup (edit image) */\n.media-modal.acf-expanded .compat-attachment-fields > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding-left: 23%;\n border-bottom-color: #DDDDDD;\n}\n\n/* table */\n.form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding: 0 5px 0 210px;\n}\n\n/* rtl */\nhtml[dir=rtl] .form-table > tbody > tr.acf-tab-wrap .acf-tab-group {\n padding: 0 210px 0 5px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\toembed\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-oembed {\n position: relative;\n border: #ccd0d4 solid 1px;\n background: #fff;\n}\n.acf-oembed .title {\n position: relative;\n border-bottom: #ccd0d4 solid 1px;\n padding: 5px 10px;\n}\n.acf-oembed .title .input-search {\n margin: 0;\n font-size: 14px;\n line-height: 30px;\n height: 30px;\n padding: 0;\n border: 0 none;\n box-shadow: none;\n border-radius: 0;\n font-family: inherit;\n cursor: text;\n}\n.acf-oembed .title .acf-actions {\n padding: 6px;\n}\n.acf-oembed .canvas {\n position: relative;\n min-height: 250px;\n background: #F9F9F9;\n}\n.acf-oembed .canvas .canvas-media {\n position: relative;\n z-index: 1;\n}\n.acf-oembed .canvas iframe {\n display: block;\n margin: 0;\n padding: 0;\n width: 100%;\n}\n.acf-oembed .canvas .acf-icon.-picture {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 0;\n height: 42px;\n width: 42px;\n font-size: 42px;\n color: #999;\n}\n.acf-oembed .canvas .acf-loading-overlay {\n background: rgba(255, 255, 255, 0.9);\n}\n.acf-oembed .canvas .canvas-error {\n position: absolute;\n top: 50%;\n left: 0%;\n right: 0%;\n margin: -9px 0 0 0;\n text-align: center;\n display: none;\n}\n.acf-oembed .canvas .canvas-error p {\n padding: 8px;\n margin: 0;\n display: inline;\n}\n.acf-oembed.has-value .canvas {\n min-height: 50px;\n}\n.acf-oembed.has-value .input-search {\n font-weight: bold;\n}\n.acf-oembed.has-value .title:hover .acf-actions {\n display: block;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tImage\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-image-uploader {\n position: relative;\n /* image wrap*/\n /* input */\n /* rtl */\n}\n.acf-image-uploader:after {\n display: block;\n clear: both;\n content: \"\";\n}\n.acf-image-uploader p {\n margin: 0;\n}\n.acf-image-uploader .image-wrap {\n position: relative;\n float: left;\n /* hover */\n}\n.acf-image-uploader .image-wrap img {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n display: block;\n min-width: 30px;\n min-height: 30px;\n background: #f1f1f1;\n margin: 0;\n padding: 0;\n /* svg */\n}\n.acf-image-uploader .image-wrap img[src$=\".svg\"] {\n min-height: 100px;\n min-width: 100px;\n}\n.acf-image-uploader .image-wrap:hover .acf-actions {\n display: block;\n}\n.acf-image-uploader input.button {\n width: auto;\n}\nhtml[dir=rtl] .acf-image-uploader .image-wrap {\n float: right;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tFile\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-file-uploader {\n position: relative;\n /* hover */\n /* rtl */\n}\n.acf-file-uploader p {\n margin: 0;\n}\n.acf-file-uploader .file-wrap {\n border: #ccd0d4 solid 1px;\n min-height: 84px;\n position: relative;\n background: #fff;\n}\n.acf-file-uploader .file-icon {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n padding: 10px;\n background: #F1F1F1;\n border-right: #d5d9dd solid 1px;\n}\n.acf-file-uploader .file-icon img {\n display: block;\n padding: 0;\n margin: 0;\n max-width: 48px;\n}\n.acf-file-uploader .file-info {\n padding: 10px;\n margin-left: 69px;\n}\n.acf-file-uploader .file-info p {\n margin: 0 0 2px;\n font-size: 13px;\n line-height: 1.4em;\n word-break: break-all;\n}\n.acf-file-uploader .file-info a {\n text-decoration: none;\n}\n.acf-file-uploader:hover .acf-actions {\n display: block;\n}\nhtml[dir=rtl] .acf-file-uploader .file-icon {\n left: auto;\n right: 0;\n border-left: #E5E5E5 solid 1px;\n border-right: none;\n}\nhtml[dir=rtl] .acf-file-uploader .file-info {\n margin-right: 69px;\n margin-left: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tDate Picker\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-ui-datepicker .ui-datepicker {\n z-index: 900000 !important;\n}\n.acf-ui-datepicker .ui-datepicker .ui-widget-header a {\n cursor: pointer;\n transition: none;\n}\n\n/* fix highlight state overriding hover / active */\n.acf-ui-datepicker .ui-state-highlight.ui-state-hover {\n border: 1px solid #98b7e8 !important;\n background: #98b7e8 !important;\n font-weight: normal !important;\n color: #ffffff !important;\n}\n\n.acf-ui-datepicker .ui-state-highlight.ui-state-active {\n border: 1px solid #3875d7 !important;\n background: #3875d7 !important;\n font-weight: normal !important;\n color: #ffffff !important;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tSeparator field\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-field-separator {\n /* fields */\n}\n.acf-field-separator .acf-label {\n margin-bottom: 0;\n}\n.acf-field-separator .acf-label label {\n font-weight: normal;\n}\n.acf-field-separator .acf-input {\n display: none;\n}\n.acf-fields > .acf-field-separator {\n background: #f9f9f9;\n border-bottom: 1px solid #dfdfdf;\n border-top: 1px solid #dfdfdf;\n margin-bottom: -1px;\n z-index: 2;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tTaxonomy\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-taxonomy-field {\n position: relative;\n /* hover */\n /* select */\n}\n.acf-taxonomy-field .categorychecklist-holder {\n border: #ccd0d4 solid 1px;\n border-radius: 3px;\n max-height: 200px;\n overflow: auto;\n}\n.acf-taxonomy-field .acf-checkbox-list {\n margin: 0;\n padding: 10px;\n}\n.acf-taxonomy-field .acf-checkbox-list ul.children {\n padding-left: 18px;\n}\n.acf-taxonomy-field:hover .acf-actions {\n display: block;\n}\n.acf-taxonomy-field[data-ftype=select] .acf-actions {\n padding: 0;\n margin: -9px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tRange\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-range-wrap {\n /* rtl */\n}\n.acf-range-wrap .acf-append,\n.acf-range-wrap .acf-prepend {\n display: inline-block;\n vertical-align: middle;\n line-height: 28px;\n margin: 0 7px 0 0;\n}\n.acf-range-wrap .acf-append {\n margin: 0 0 0 7px;\n}\n.acf-range-wrap input[type=range] {\n display: inline-block;\n padding: 0;\n margin: 0;\n vertical-align: middle;\n height: 28px;\n}\n.acf-range-wrap input[type=range]:focus {\n outline: none;\n}\n.acf-range-wrap input[type=number] {\n display: inline-block;\n min-width: 3em;\n margin-left: 10px;\n vertical-align: middle;\n}\nhtml[dir=rtl] .acf-range-wrap input[type=number] {\n margin-right: 10px;\n margin-left: 0;\n}\nhtml[dir=rtl] .acf-range-wrap .acf-append {\n margin: 0 7px 0 0;\n}\nhtml[dir=rtl] .acf-range-wrap .acf-prepend {\n margin: 0 0 0 7px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* acf-accordion\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-accordion {\n margin: -1px 0;\n padding: 0;\n background: #fff;\n border-top: 1px solid #d5d9dd;\n border-bottom: 1px solid #d5d9dd;\n z-index: 1;\n}\n.acf-accordion .acf-accordion-title {\n margin: 0;\n padding: 12px;\n font-weight: bold;\n cursor: pointer;\n font-size: inherit;\n font-size: 13px;\n line-height: 1.4em;\n}\n.acf-accordion .acf-accordion-title:hover {\n background: #f3f4f5;\n}\n.acf-accordion .acf-accordion-title label {\n margin: 0;\n padding: 0;\n font-size: 13px;\n line-height: 1.4em;\n}\n.acf-accordion .acf-accordion-title p {\n font-weight: normal;\n}\n.acf-accordion .acf-accordion-title .acf-accordion-icon {\n float: right;\n}\n.acf-accordion .acf-accordion-title svg.acf-accordion-icon {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n color: #191e23;\n fill: currentColor;\n}\n.acf-accordion .acf-accordion-content {\n margin: 0;\n padding: 0 12px 12px;\n display: none;\n}\n.acf-accordion.-open > .acf-accordion-content {\n display: block;\n}\n\n.acf-field.acf-accordion {\n margin: -1px 0;\n padding: 0 !important;\n border-color: #d5d9dd;\n}\n.acf-field.acf-accordion .acf-label.acf-accordion-title {\n padding: 12px;\n width: auto;\n float: none;\n width: auto;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content {\n padding: 0;\n float: none;\n width: auto;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields {\n border-top: #eeeeee solid 1px;\n}\n.acf-field.acf-accordion .acf-input.acf-accordion-content > .acf-fields.-clear {\n padding: 0 12px 15px;\n}\n\n/* field specific (left) */\n.acf-fields.-left > .acf-field.acf-accordion:before {\n display: none;\n}\n.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-title {\n width: auto;\n margin: 0 !important;\n padding: 12px;\n float: none !important;\n}\n.acf-fields.-left > .acf-field.acf-accordion .acf-accordion-content {\n padding: 0 !important;\n}\n\n/* field specific (clear) */\n.acf-fields.-clear > .acf-field.acf-accordion {\n border: #cccccc solid 1px;\n background: transparent;\n}\n.acf-fields.-clear > .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -16px;\n}\n\n/* table */\ntr.acf-field.acf-accordion {\n background: transparent;\n}\ntr.acf-field.acf-accordion > .acf-input {\n padding: 0 !important;\n border: #cccccc solid 1px;\n}\ntr.acf-field.acf-accordion .acf-accordion-content {\n padding: 0 12px 12px;\n}\n\n/* #addtag */\n#addtag div.acf-field.error {\n border: 0 none;\n padding: 8px 0;\n}\n\n#addtag > .acf-field.acf-accordion {\n padding-right: 0;\n margin-right: 5%;\n}\n#addtag > .acf-field.acf-accordion + p.submit {\n margin-top: 0;\n}\n\n/* border */\ntr.acf-accordion {\n margin: 15px 0 !important;\n}\ntr.acf-accordion + tr.acf-accordion {\n margin-top: -16px !important;\n}\n\n/* seamless */\n.acf-postbox.seamless > .acf-fields > .acf-accordion {\n margin-left: 12px;\n margin-right: 12px;\n border: #ccd0d4 solid 1px;\n}\n\n/* rtl */\n/* menu item */\n/*\n.menu-item-settings > .field-acf > .acf-field.acf-accordion {\n\tborder: #dfdfdf solid 1px;\n\tmargin: 10px -13px 10px -11px;\n\n\t+ .acf-field.acf-accordion {\n\t\tmargin-top: -11px;\n\t}\n}\n*/\n/* widget */\n.widget .widget-content > .acf-field.acf-accordion {\n border: #dfdfdf solid 1px;\n margin-bottom: 10px;\n}\n.widget .widget-content > .acf-field.acf-accordion .acf-accordion-title {\n margin-bottom: 0;\n}\n.widget .widget-content > .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -11px;\n}\n\n.media-modal .compat-attachment-fields .acf-field.acf-accordion + .acf-field.acf-accordion {\n margin-top: -1px;\n}\n.media-modal .compat-attachment-fields .acf-field.acf-accordion > .acf-input {\n width: 100%;\n}\n.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields > tbody > tr > td {\n padding-bottom: 5px;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n*\tBlock Editor\n*\n*---------------------------------------------------------------------------------------------*/\n.block-editor .edit-post-sidebar .acf-postbox > .postbox-header,\n.block-editor .edit-post-sidebar .acf-postbox > .hndle {\n border-bottom-width: 0 !important;\n}\n.block-editor .edit-post-sidebar .acf-postbox.closed > .postbox-header,\n.block-editor .edit-post-sidebar .acf-postbox.closed > .hndle {\n border-bottom-width: 1px !important;\n}\n.block-editor .edit-post-sidebar .acf-fields {\n min-height: 1px;\n overflow: auto;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field {\n border-width: 0;\n border-color: #e2e4e7;\n margin: 16px;\n padding: 0;\n width: auto !important;\n min-height: 0 !important;\n float: none !important;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label {\n margin-bottom: 5px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field > .acf-label label {\n font-weight: normal;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion {\n padding: 0;\n margin: 0;\n border-top-width: 1px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion:first-child {\n border-top-width: 0;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title {\n margin: 0;\n padding: 15px;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-title label {\n font-weight: bold;\n}\n.block-editor .edit-post-sidebar .acf-fields > .acf-field.acf-accordion .acf-accordion-content > .acf-fields {\n border-top-width: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tUser\n*\n*--------------------------------------------------------------------------------------------*/\n.form-table > tbody {\n /* field */\n /* tab wrap */\n /* misc */\n}\n.form-table > tbody > .acf-field {\n /* label */\n /* input */\n}\n.form-table > tbody > .acf-field > .acf-label {\n padding: 20px 10px 20px 0;\n width: 210px;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-field > .acf-label {\n padding: 20px 0 20px 10px;\n}\n.form-table > tbody > .acf-field > .acf-label label {\n font-size: 14px;\n color: #23282d;\n}\n.form-table > tbody > .acf-field > .acf-input {\n padding: 15px 10px;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-field > .acf-input {\n padding: 15px 10px 15px 5%;\n}\n.form-table > tbody > .acf-tab-wrap td {\n padding: 15px 5% 15px 0;\n /* rtl */\n}\nhtml[dir=rtl] .form-table > tbody > .acf-tab-wrap td {\n padding: 15px 0 15px 5%;\n}\n.form-table > tbody .form-table th.acf-th {\n width: auto;\n}\n\n#your-profile,\n#createuser {\n /* override for user css */\n /* allow sub fields to display correctly */\n}\n#your-profile .acf-field input[type=text],\n#your-profile .acf-field input[type=password],\n#your-profile .acf-field input[type=number],\n#your-profile .acf-field input[type=search],\n#your-profile .acf-field input[type=email],\n#your-profile .acf-field input[type=url],\n#your-profile .acf-field select,\n#createuser .acf-field input[type=text],\n#createuser .acf-field input[type=password],\n#createuser .acf-field input[type=number],\n#createuser .acf-field input[type=search],\n#createuser .acf-field input[type=email],\n#createuser .acf-field input[type=url],\n#createuser .acf-field select {\n max-width: 25em;\n}\n#your-profile .acf-field textarea,\n#createuser .acf-field textarea {\n max-width: 500px;\n}\n#your-profile .acf-field .acf-field input[type=text],\n#your-profile .acf-field .acf-field input[type=password],\n#your-profile .acf-field .acf-field input[type=number],\n#your-profile .acf-field .acf-field input[type=search],\n#your-profile .acf-field .acf-field input[type=email],\n#your-profile .acf-field .acf-field input[type=url],\n#your-profile .acf-field .acf-field textarea,\n#your-profile .acf-field .acf-field select,\n#createuser .acf-field .acf-field input[type=text],\n#createuser .acf-field .acf-field input[type=password],\n#createuser .acf-field .acf-field input[type=number],\n#createuser .acf-field .acf-field input[type=search],\n#createuser .acf-field .acf-field input[type=email],\n#createuser .acf-field .acf-field input[type=url],\n#createuser .acf-field .acf-field textarea,\n#createuser .acf-field .acf-field select {\n max-width: none;\n}\n\n#registerform h2 {\n margin: 1em 0;\n}\n#registerform .acf-field {\n margin-top: 0;\n /*\n \t\t.acf-input {\n \t\t\tinput {\n \t\t\t\tfont-size: 24px;\n \t\t\t\tpadding: 5px;\n \t\t\t\theight: auto;\n \t\t\t}\n \t\t}\n */\n}\n#registerform .acf-field .acf-label {\n margin-bottom: 0;\n}\n#registerform .acf-field .acf-label label {\n font-weight: normal;\n line-height: 1.5;\n}\n#registerform p.submit {\n text-align: right;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tTerm\n*\n*--------------------------------------------------------------------------------------------*/\n#acf-term-fields {\n padding-right: 5%;\n}\n#acf-term-fields > .acf-field > .acf-label {\n margin: 0;\n}\n#acf-term-fields > .acf-field > .acf-label label {\n font-size: 12px;\n font-weight: normal;\n}\n\np.submit .spinner,\np.submit .acf-spinner {\n vertical-align: top;\n float: none;\n margin: 4px 4px 0;\n}\n\n#edittag .acf-fields.-left > .acf-field {\n padding-left: 220px;\n}\n#edittag .acf-fields.-left > .acf-field:before {\n width: 209px;\n}\n#edittag .acf-fields.-left > .acf-field > .acf-label {\n width: 220px;\n margin-left: -220px;\n padding: 0 10px;\n}\n#edittag .acf-fields.-left > .acf-field > .acf-input {\n padding: 0;\n}\n\n#edittag > .acf-fields.-left {\n width: 96%;\n}\n#edittag > .acf-fields.-left > .acf-field > .acf-label {\n padding-left: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tComment\n*\n*--------------------------------------------------------------------------------------------*/\n.editcomment td:first-child {\n white-space: nowrap;\n width: 131px;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWidget\n*\n*--------------------------------------------------------------------------------------------*/\n#widgets-right .widget .acf-field .description {\n padding-left: 0;\n padding-right: 0;\n}\n\n.acf-widget-fields > .acf-field .acf-label {\n margin-bottom: 5px;\n}\n.acf-widget-fields > .acf-field .acf-label label {\n font-weight: normal;\n margin: 0;\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tNav Menu\n*\n*--------------------------------------------------------------------------------------------*/\n.acf-menu-settings {\n border-top: 1px solid #eee;\n margin-top: 2em;\n}\n.acf-menu-settings.-seamless {\n border-top: none;\n margin-top: 15px;\n}\n.acf-menu-settings.-seamless > h2 {\n display: none;\n}\n.acf-menu-settings .list li {\n display: block;\n margin-bottom: 0;\n}\n\n.acf-fields.acf-menu-item-fields {\n clear: both;\n padding-top: 1px;\n}\n.acf-fields.acf-menu-item-fields > .acf-field {\n margin: 5px 0;\n padding-right: 10px;\n}\n.acf-fields.acf-menu-item-fields > .acf-field .acf-label {\n margin-bottom: 0;\n}\n.acf-fields.acf-menu-item-fields > .acf-field .acf-label label {\n font-style: italic;\n font-weight: normal;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Attachment Form (single)\n*\n*---------------------------------------------------------------------------------------------*/\n#post .compat-attachment-fields .compat-field-acf-form-data {\n display: none;\n}\n#post .compat-attachment-fields,\n#post .compat-attachment-fields > tbody,\n#post .compat-attachment-fields > tbody > tr,\n#post .compat-attachment-fields > tbody > tr > th,\n#post .compat-attachment-fields > tbody > tr > td {\n display: block;\n}\n#post .compat-attachment-fields > tbody > .acf-field {\n margin: 15px 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label {\n margin: 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label label {\n margin: 0;\n padding: 0;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-label label p {\n margin: 0 0 3px !important;\n}\n#post .compat-attachment-fields > tbody > .acf-field > .acf-input {\n margin: 0;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n/* WP sets tables to act as divs. ACF uses tables, so these muct be reset */\n.media-modal .compat-attachment-fields td.acf-input table {\n display: table;\n table-layout: auto;\n}\n.media-modal .compat-attachment-fields td.acf-input table tbody {\n display: table-row-group;\n}\n.media-modal .compat-attachment-fields td.acf-input table tr {\n display: table-row;\n}\n.media-modal .compat-attachment-fields td.acf-input table td, .media-modal .compat-attachment-fields td.acf-input table th {\n display: table-cell;\n}\n\n/* field widths floats */\n.media-modal .compat-attachment-fields > tbody > .acf-field {\n margin: 5px 0;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label {\n min-width: 30%;\n margin: 0;\n padding: 0;\n float: left;\n text-align: right;\n display: block;\n float: left;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label > label {\n padding-top: 6px;\n margin: 0;\n color: #666666;\n font-weight: 400;\n line-height: 16px;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input {\n width: 65%;\n margin: 0;\n padding: 0;\n float: right;\n display: block;\n}\n.media-modal .compat-attachment-fields > tbody > .acf-field p.description {\n margin: 0;\n}\n\n/* restricted selection (copy of WP .upload-errors)*/\n.acf-selection-error {\n background: #ffebe8;\n border: 1px solid #c00;\n border-radius: 3px;\n padding: 8px;\n margin: 20px 0 0;\n}\n.acf-selection-error .selection-error-label {\n background: #CC0000;\n border-radius: 3px;\n color: #fff;\n font-weight: bold;\n margin-right: 8px;\n padding: 2px 4px;\n}\n.acf-selection-error .selection-error-message {\n color: #b44;\n display: block;\n padding-top: 8px;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n/* disabled attachment */\n.media-modal .attachment.acf-disabled .thumbnail {\n opacity: 0.25 !important;\n}\n.media-modal .attachment.acf-disabled .attachment-preview:before {\n background: rgba(0, 0, 0, 0.15);\n z-index: 1;\n position: relative;\n}\n\n/* misc */\n.media-modal {\n /* compat-item */\n /* allow line breaks in upload error */\n /* fix required span */\n /* sidebar */\n /* mobile md */\n}\n.media-modal .compat-field-acf-form-data,\n.media-modal .compat-field-acf-blank {\n display: none !important;\n}\n.media-modal .upload-error-message {\n white-space: pre-wrap;\n}\n.media-modal .acf-required {\n padding: 0 !important;\n margin: 0 !important;\n float: none !important;\n color: #f00 !important;\n}\n.media-modal .media-sidebar .compat-item {\n padding-bottom: 20px;\n}\n@media (max-width: 900px) {\n .media-modal {\n /* label */\n /* field */\n }\n .media-modal .setting span,\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-label {\n width: 98%;\n float: none;\n text-align: left;\n min-height: 0;\n padding: 0;\n }\n .media-modal .setting input,\n.media-modal .setting textarea,\n.media-modal .compat-attachment-fields > tbody > .acf-field > .acf-input {\n float: none;\n height: auto;\n max-width: none;\n width: 98%;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model (expand details)\n*\n*---------------------------------------------------------------------------------------------*/\n.media-modal .acf-expand-details {\n float: right;\n padding: 8px 10px;\n margin-right: 6px;\n font-size: 13px;\n height: 18px;\n line-height: 18px;\n color: #666;\n text-decoration: none;\n}\n.media-modal .acf-expand-details:focus, .media-modal .acf-expand-details:active {\n outline: 0 none;\n box-shadow: none;\n color: #666;\n}\n.media-modal .acf-expand-details:hover {\n color: #000;\n}\n.media-modal .acf-expand-details .is-open {\n display: none;\n}\n.media-modal .acf-expand-details .is-closed {\n display: block;\n}\n@media (max-width: 640px) {\n .media-modal .acf-expand-details {\n display: none;\n }\n}\n\n/* expanded */\n.media-modal.acf-expanded {\n /* toggle */\n}\n.media-modal.acf-expanded .acf-expand-details .is-open {\n display: block;\n}\n.media-modal.acf-expanded .acf-expand-details .is-closed {\n display: none;\n}\n.media-modal.acf-expanded .attachments-browser .media-toolbar,\n.media-modal.acf-expanded .attachments-browser .attachments {\n right: 740px;\n}\n.media-modal.acf-expanded .media-sidebar {\n width: 708px;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail {\n float: left;\n max-height: none;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img {\n max-width: 100%;\n max-height: 200px;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .details {\n float: right;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,\n.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-label {\n min-width: 20%;\n margin-right: 0;\n}\n.media-modal.acf-expanded .media-sidebar .attachment-info .details,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,\n.media-modal.acf-expanded .media-sidebar .attachment-details .setting + .description,\n.media-modal.acf-expanded .media-sidebar .compat-attachment-fields > tbody > .acf-field > .acf-input {\n min-width: 77%;\n}\n@media (max-width: 900px) {\n .media-modal.acf-expanded .attachments-browser .media-toolbar {\n display: none;\n }\n .media-modal.acf-expanded .attachments {\n display: none;\n }\n .media-modal.acf-expanded .media-sidebar {\n width: auto;\n max-width: none !important;\n bottom: 0 !important;\n }\n .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail {\n min-width: 0;\n max-width: none;\n width: 30%;\n }\n .media-modal.acf-expanded .media-sidebar .attachment-info .details {\n min-width: 0;\n max-width: none;\n width: 67%;\n }\n}\n@media (max-width: 640px) {\n .media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail, .media-modal.acf-expanded .media-sidebar .attachment-info .details {\n width: 100%;\n }\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-media-modal {\n /* hide embed settings */\n}\n.acf-media-modal .media-embed .setting.align,\n.acf-media-modal .media-embed .setting.link-to {\n display: none;\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Select Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Edit Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n.acf-media-modal.-edit {\n /* resize modal */\n left: 15%;\n right: 15%;\n top: 100px;\n bottom: 100px;\n /* hide elements */\n /* full width */\n /* tidy up incorrect distance */\n /* title box shadow (to match media grid) */\n /* sidebar */\n /* mobile md */\n /* mobile sm */\n}\n.acf-media-modal.-edit .media-frame-menu,\n.acf-media-modal.-edit .media-frame-router,\n.acf-media-modal.-edit .media-frame-content .attachments,\n.acf-media-modal.-edit .media-frame-content .media-toolbar {\n display: none;\n}\n.acf-media-modal.-edit .media-frame-title,\n.acf-media-modal.-edit .media-frame-content,\n.acf-media-modal.-edit .media-frame-toolbar,\n.acf-media-modal.-edit .media-sidebar {\n width: auto;\n left: 0;\n right: 0;\n}\n.acf-media-modal.-edit .media-frame-content {\n top: 50px;\n}\n.acf-media-modal.-edit .media-frame-title {\n border-bottom: 1px solid #DFDFDF;\n box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1);\n}\n.acf-media-modal.-edit .media-sidebar {\n padding: 0 16px;\n /* WP details */\n /* ACF fields */\n /* WP required message */\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details {\n overflow: visible;\n /* hide 'Attachment Details' heading */\n /* remove overflow */\n /* move thumbnail */\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details > h3, .acf-media-modal.-edit .media-sidebar .attachment-details > h2 {\n display: none;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info {\n background: #fff;\n border-bottom: #dddddd solid 1px;\n padding: 16px;\n margin: 0 -16px 16px;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail {\n margin: 0 16px 0 0;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .setting {\n margin: 0 0 5px;\n}\n.acf-media-modal.-edit .media-sidebar .attachment-details .setting span {\n margin: 0;\n}\n.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field {\n margin: 0 0 5px;\n}\n.acf-media-modal.-edit .media-sidebar .compat-attachment-fields > tbody > .acf-field p.description {\n margin-top: 3px;\n}\n.acf-media-modal.-edit .media-sidebar .media-types-required-info {\n display: none;\n}\n@media (max-width: 900px) {\n .acf-media-modal.-edit {\n top: 30px;\n right: 30px;\n bottom: 30px;\n left: 30px;\n }\n}\n@media (max-width: 640px) {\n .acf-media-modal.-edit {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n}\n@media (max-width: 480px) {\n .acf-media-modal.-edit .media-frame-content {\n top: 40px;\n }\n}\n\n.acf-temp-remove {\n position: relative;\n opacity: 1;\n -webkit-transition: all 0.25s ease;\n -moz-transition: all 0.25s ease;\n -o-transition: all 0.25s ease;\n transition: all 0.25s ease;\n overflow: hidden;\n /* overlay prevents hover */\n}\n.acf-temp-remove:after {\n display: block;\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 99;\n}\n\n.hidden-by-conditional-logic {\n display: none !important;\n}\n.hidden-by-conditional-logic.appear-empty {\n display: table-cell !important;\n}\n.hidden-by-conditional-logic.appear-empty .acf-input {\n display: none !important;\n}\n\n.acf-postbox.acf-hidden {\n display: none !important;\n}\n\n.acf-attention {\n transition: border 0.25s ease-out;\n}\n.acf-attention.-focused {\n border: #23282d solid 1px !important;\n transition: none;\n}\n\ntr.acf-attention {\n transition: box-shadow 0.25s ease-out;\n position: relative;\n}\ntr.acf-attention.-focused {\n box-shadow: #23282d 0 0 0px 1px !important;\n}\n\n#editor .edit-post-layout__metaboxes {\n padding: 0;\n}\n#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area {\n margin: 0;\n}\n#editor .metabox-location-side .postbox-container {\n float: none;\n}\n#editor .postbox {\n color: #444;\n}\n#editor .postbox > .postbox-header .hndle {\n border-bottom: none;\n}\n#editor .postbox > .postbox-header .hndle:hover {\n background: transparent;\n}\n#editor .postbox > .postbox-header .handle-actions .handle-order-higher,\n#editor .postbox > .postbox-header .handle-actions .handle-order-lower {\n width: 1.62rem;\n}\n#editor .postbox > .postbox-header .handle-actions .acf-hndle-cog {\n height: 44px;\n line-height: 44px;\n}\n#editor .postbox > .postbox-header:hover {\n background: #f0f0f0;\n}\n#editor .postbox:last-child.closed > .postbox-header {\n border-bottom: none;\n}\n#editor .postbox:last-child > .inside {\n border-bottom: none;\n}\n#editor .block-editor-writing-flow__click-redirect {\n min-height: 50px;\n}\n\nbody.is-dragging-metaboxes #acf_after_title-sortables {\n outline: 3px dashed #646970;\n display: flow-root;\n min-height: 60px;\n margin-bottom: 3px !important;\n}","/*--------------------------------------------------------------------------------------------\n*\n*\tUser\n*\n*--------------------------------------------------------------------------------------------*/\n\n.form-table > tbody {\n\t\n\t/* field */\n\t> .acf-field {\n\t\t\n\t\t/* label */\n\t\t> .acf-label {\n\t\t\tpadding: 20px 10px 20px 0;\n\t\t width: 210px;\n\t\t \n\t\t /* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tpadding: 20px 0 20px 10px;\n\t\t\t}\n\t\t\t\n\t\t label {\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: #23282d;\n\t\t\t}\n\t\t \n\t\t}\n\t\t\n\t\t\n\t\t/* input */\n\t\t> .acf-input {\n\t\t\tpadding: 15px 10px;\n\t\t\t\n\t\t\t/* rtl */\n\t\t\thtml[dir=\"rtl\"] & {\n\t\t\t\tpadding: 15px 10px 15px 5%;\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* tab wrap */\n\t> .acf-tab-wrap td {\n\t\tpadding: 15px 5% 15px 0;\n\t\t\n\t\t/* rtl */\n\t\thtml[dir=\"rtl\"] & {\n\t\t\tpadding: 15px 0 15px 5%;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* misc */\n\t.form-table th.acf-th {\n\t\twidth: auto;\n\t}\n\t\n}\n\n#your-profile,\n#createuser {\n\t\n\t/* override for user css */\n\t.acf-field input[type=\"text\"],\n\t.acf-field input[type=\"password\"],\n\t.acf-field input[type=\"number\"],\n\t.acf-field input[type=\"search\"],\n\t.acf-field input[type=\"email\"],\n\t.acf-field input[type=\"url\"],\n\t.acf-field select {\n\t max-width: 25em;\n\t}\n\t\n\t.acf-field textarea {\n\t\tmax-width: 500px;\n\t}\n\t\n\t\n\t/* allow sub fields to display correctly */\n\t.acf-field .acf-field input[type=\"text\"],\n\t.acf-field .acf-field input[type=\"password\"],\n\t.acf-field .acf-field input[type=\"number\"],\n\t.acf-field .acf-field input[type=\"search\"],\n\t.acf-field .acf-field input[type=\"email\"],\n\t.acf-field .acf-field input[type=\"url\"],\n\t.acf-field .acf-field textarea,\n\t.acf-field .acf-field select {\n\t max-width: none;\n\t}\n}\n\n#registerform {\n\t\n\th2 {\n\t\tmargin: 1em 0;\n\t}\n\t\n\t.acf-field {\n\t\tmargin-top: 0;\n\t\t\n\t\t.acf-label {\n\t\t\tmargin-bottom: 0;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tline-height: 1.5;\n\t\t\t}\n\t\t}\n\t\t\n/*\n\t\t.acf-input {\n\t\t\tinput {\n\t\t\t\tfont-size: 24px;\n\t\t\t\tpadding: 5px;\n\t\t\t\theight: auto;\n\t\t\t}\n\t\t}\n*/\n\t}\n\t\n\tp.submit {\n\t\ttext-align: right;\n\t}\n\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tTerm\n*\n*--------------------------------------------------------------------------------------------*/\n\n// add term\n#acf-term-fields {\n\tpadding-right: 5%;\n\t\n\t> .acf-field {\n\t\t\n\t\t> .acf-label {\n\t\t\tmargin: 0;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t}\n\t\n}\n\np.submit .spinner,\np.submit .acf-spinner {\n\tvertical-align: top;\n\tfloat: none;\n\tmargin: 4px 4px 0;\n}\n\n\n// edit term\n#edittag .acf-fields.-left {\n\t\n\t> .acf-field {\n\t\tpadding-left: 220px;\n\t\t\n\t\t&:before {\n\t\t\twidth: 209px;\n\t\t}\n\t\t\n\t\t> .acf-label {\n\t\t\twidth: 220px;\n\t\t\tmargin-left: -220px;\n\t\t\tpadding: 0 10px;\n\t\t}\n\t\t\n\t\t> .acf-input {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n#edittag > .acf-fields.-left {\n\twidth: 96%;\n\t\n\t> .acf-field { \n\t\t\n\t\t> .acf-label {\n\t\t\tpadding-left: 0;\n\t\t}\n\t}\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tComment\n*\n*--------------------------------------------------------------------------------------------*/\n\n.editcomment td:first-child {\n white-space: nowrap;\n width: 131px;\n}\n\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tWidget\n*\n*--------------------------------------------------------------------------------------------*/\n\n#widgets-right .widget .acf-field .description {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\n.acf-widget-fields {\n\t\n\t> .acf-field {\n\t\t\n\t\t.acf-label {\n\t\t\tmargin-bottom: 5px;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tfont-weight: normal;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*--------------------------------------------------------------------------------------------\n*\n*\tNav Menu\n*\n*--------------------------------------------------------------------------------------------*/\n\n.acf-menu-settings {\n\tborder-top: 1px solid #eee;\n margin-top: 2em;\n\t\n\t// seamless\n\t&.-seamless {\n\t\tborder-top: none;\n\t\tmargin-top: 15px;\n\t\t\n\t\t> h2 { display: none; }\n\t}\n\t\n\t// Fix relationship conflict.\n\t.list li {\n\t\tdisplay: block;\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.acf-fields.acf-menu-item-fields {\n\tclear: both;\n\tpadding-top: 1px; // Fixes margin overlap.\n\t\n\t> .acf-field {\n\t\tmargin: 5px 0;\n\t\tpadding-right: 10px;\n\t\t\n\t\t.acf-label {\n\t\t\tmargin-bottom: 0;\n\t\t\tlabel {\n\t\t\t\tfont-style: italic;\n\t\t\t\tfont-weight: normal;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*---------------------------------------------------------------------------------------------\n*\n* Attachment Form (single)\n*\n*---------------------------------------------------------------------------------------------*/\n\n#post .compat-attachment-fields {\n\t\n\t.compat-field-acf-form-data {\n\t\tdisplay: none;\n\t}\n\t\n\t&,\n\t> tbody,\n\t> tbody > tr,\n\t> tbody > tr > th,\n\t> tbody > tr > td {\n\t\tdisplay: block;\n\t}\n\t\n\t> tbody > .acf-field {\n\t\tmargin: 15px 0;\n\t\t\n\t\t> .acf-label {\n\t\t\tmargin: 0;\n\t\t\t\n\t\t\tlabel {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0;\n\t\t\t\t\n\t\t\t\tp {\n\t\t\t\t\tmargin: 0 0 3px !important;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t> .acf-input {\n\t\t\tmargin: 0;\n\t\t}\n\t} \n}\n\n\n\n","/*---------------------------------------------------------------------------------------------\n*\n* Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n\n/* WP sets tables to act as divs. ACF uses tables, so these muct be reset */\n.media-modal .compat-attachment-fields td.acf-input {\n\t\n\ttable {\n\t\tdisplay: table;\n\t\ttable-layout: auto;\n\t\t\n\t\ttbody {\n\t\t\tdisplay: table-row-group;\n\t\t}\n\t\t\n\t\ttr {\n\t\t\tdisplay: table-row;\n\t\t}\n\t\t\n\t\ttd, th {\n\t\t\tdisplay: table-cell;\n\t\t}\n\t\t\n\t}\n\t\n}\n\n\n/* field widths floats */\n.media-modal .compat-attachment-fields > tbody > .acf-field {\n\tmargin: 5px 0;\n\t\n\t> .acf-label {\n\t\tmin-width: 30%;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tfloat: left;\n\t text-align: right;\n\t display: block;\n\t float: left;\n\t \n\t > label {\n\t\t padding-top: 6px;\n\t\t\tmargin: 0;\n\t\t\tcolor: #666666;\n\t\t font-weight: 400;\n\t\t line-height: 16px;\n\t }\n\t}\n\t\n\t> .acf-input {\n\t\twidth: 65%;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t float: right;\n\t display: block;\n\t}\n\t\n\tp.description {\n\t\tmargin: 0;\n\t}\n}\n\n\n/* restricted selection (copy of WP .upload-errors)*/\n.acf-selection-error {\n\tbackground: #ffebe8;\n border: 1px solid #c00;\n border-radius: 3px;\n padding: 8px;\n margin: 20px 0 0;\n \n .selection-error-label {\n\t\tbackground: #CC0000;\n\t border-radius: 3px;\n\t color: #fff;\n\t font-weight: bold;\n\t margin-right: 8px;\n\t padding: 2px 4px;\n\t}\n\t\n\t.selection-error-message {\n\t\tcolor: #b44;\n\t display: block;\n\t padding-top: 8px;\n\t word-wrap: break-word;\n\t white-space: pre-wrap;\n\t}\n}\n\n\n/* disabled attachment */\n.media-modal .attachment.acf-disabled {\n\t\n\t.thumbnail {\n\t\topacity: 0.25 !important;\n\t}\n\t\t\n\t.attachment-preview:before {\n\t\tbackground: rgba(0,0,0,0.15);\n\t\tz-index: 1;\n\t\tposition: relative;\n\t}\n\n}\n\n\n/* misc */\n.media-modal {\n\t\n\t/* compat-item */\n\t.compat-field-acf-form-data,\n\t.compat-field-acf-blank {\n\t\tdisplay: none !important;\n\t}\n\t\n\t\n\t/* allow line breaks in upload error */\n\t.upload-error-message {\n\t\twhite-space: pre-wrap;\n\t}\n\t\n\t\n\t/* fix required span */\n\t.acf-required {\n\t\tpadding: 0 !important;\n\t\tmargin: 0 !important;\n\t\tfloat: none !important;\n\t\tcolor: #f00 !important;\n\t}\n\t\n\t\n\t/* sidebar */\n\t.media-sidebar {\n\t\t\n\t\t.compat-item{\n\t\t\tpadding-bottom: 20px;\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t/* mobile md */\n\t@media (max-width: 900px) {\n\t\t\n\t\t/* label */\n\t\t.setting span, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-label {\n\t\t\twidth: 98%;\n\t\t\tfloat: none;\n\t\t\ttext-align: left;\n\t\t\tmin-height: 0;\n\t\t\tpadding: 0;\n\t\t}\n\t\t\n\t\t\n\t\t/* field */\n\t\t.setting input, \n\t\t.setting textarea, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-input {\n\t\t\tfloat: none;\n\t\t height: auto;\n\t\t max-width: none;\n\t\t width: 98%;\n\t\t}\n\n\t}\n\n\t\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* Media Model (expand details)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.media-modal .acf-expand-details {\n\tfloat: right;\n\tpadding: 8px 10px;\n\tmargin-right: 6px;\n\tfont-size: 13px;\n\theight: 18px;\n\tline-height: 18px;\n\tcolor: #666;\n\ttext-decoration: none;\n\n\t// States.\n\t&:focus, &:active {\n\t\toutline: 0 none;\n\t\tbox-shadow: none;\n\t\tcolor: #666;\n\t}\n\t&:hover {\n\t\tcolor: #000;\n\t}\n\t\n\t// Open & close.\n\t.is-open { display: none; }\n\t.is-closed { display: block; }\n\t\n\t// Hide on mobile.\n\t@media (max-width: $sm) {\n\t\tdisplay: none;\n\t}\n}\n\n\n/* expanded */\n.media-modal.acf-expanded {\n\t\n\t/* toggle */\n\t.acf-expand-details {\n\t\t.is-open { display: block; }\n\t\t.is-closed { display: none; }\n\t\t\n\t}\n\t\n\t// Components.\n\t.attachments-browser .media-toolbar, \n\t.attachments-browser .attachments { right: 740px; }\n\t.media-sidebar { width: 708px; }\n\t\n\t// Sidebar.\n\t.media-sidebar {\n\t\t\n\t\t// Attachment info.\n\t\t.attachment-info {\n\t\t\t.thumbnail {\n\t\t\t\tfloat: left;\n\t\t\t\tmax-height: none;\n\n\t\t\t\timg {\n\t\t\t\t\tmax-width: 100%;\n\t\t\t\t\tmax-height: 200px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t.details {\n\t\t\t\tfloat: right;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Label\n\t\t.attachment-info .thumbnail,\n\t\t.attachment-details .setting .name, \n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-label {\n\t\t\tmin-width: 20%;\n\t\t\tmargin-right: 0;\n\t\t}\n\t\t\n\t\t// Input\n\t\t.attachment-info .details,\n\t\t.attachment-details .setting input, \n\t\t.attachment-details .setting textarea,\n\t\t.attachment-details .setting + .description,\n\t\t.compat-attachment-fields > tbody > .acf-field > .acf-input {\n\t\t\tmin-width: 77%;\n\t\t}\n\t}\n\t\n\t// Screen: Medium.\n\t@media (max-width: 900px) {\n\t\t\n\t\t// Components.\n\t\t.attachments-browser .media-toolbar { display: none; }\n\t\t.attachments { display: none; }\n\t\t.media-sidebar { width: auto; max-width: none !important; bottom: 0 !important; }\n\t\t\n\t\t// Sidebar.\n\t\t.media-sidebar {\n\t\t\t\n\t\t\t// Attachment info.\n\t\t\t.attachment-info {\n\t\t\t\t.thumbnail {\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tmax-width: none;\n\t\t\t\t\twidth: 30%;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t.details {\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tmax-width: none;\n\t\t\t\t\twidth: 67%;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\t\n\t\t}\n\t}\n\t\n\t// Screen: small.\n\t@media (max-width: 640px) {\n\t\t\n\t\t// Sidebar.\n\t\t.media-sidebar {\n\t\t\t\n\t\t\t// Attachment info.\n\t\t\t.attachment-info {\n\t\t\t\t.thumbnail, .details {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\t}\n}\n\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal {\n\t\n\t/* hide embed settings */\n\t.media-embed {\n\t\t.setting.align,\n\t\t.setting.link-to {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Select Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal.-select {\n\t\n\t\n\t\n}\n\n\n/*---------------------------------------------------------------------------------------------\n*\n* ACF Media Model (Edit Mode)\n*\n*---------------------------------------------------------------------------------------------*/\n\n.acf-media-modal.-edit {\n\t\n\t/* resize modal */\n\tleft: 15%;\n\tright: 15%;\n\ttop: 100px;\n\tbottom: 100px;\n\t\n\t\n\t/* hide elements */\n\t.media-frame-menu,\n\t.media-frame-router,\n\t.media-frame-content .attachments,\n\t.media-frame-content .media-toolbar {\n\t display: none;\n\t}\n\t\n\t\n\t/* full width */\n\t.media-frame-title,\n\t.media-frame-content,\n\t.media-frame-toolbar,\n\t.media-sidebar {\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\t\n\t\n\t/* tidy up incorrect distance */\n\t.media-frame-content {\n\t top: 50px;\n\t}\n\t\n\t\n\t/* title box shadow (to match media grid) */\n\t.media-frame-title {\n\t border-bottom: 1px solid #DFDFDF;\n\t box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1);\n\t}\n\t\n\t\n\t/* sidebar */\n\t.media-sidebar {\n\t\t\n\t\tpadding: 0 16px;\n\t\t\n\t\t/* WP details */\n\t\t.attachment-details {\n\t\t\t\n\t\t\toverflow: visible;\n\t\t\t\n\t\t\t/* hide 'Attachment Details' heading */\n\t\t\t> h3, > h2 {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t/* remove overflow */\n\t\t\t.attachment-info {\n\t\t\t\tbackground: #fff;\n\t\t\t\tborder-bottom: #dddddd solid 1px;\n\t\t\t\tpadding: 16px;\n\t\t\t\tmargin: 0 -16px 16px;\n\t\t\t}\n\t\t\t\n\t\t\t/* move thumbnail */\n\t\t\t.thumbnail {\n\t\t\t\tmargin: 0 16px 0 0;\n\t\t\t}\n\t\t\t\n\t\t\t.setting {\n\t\t\t\tmargin: 0 0 5px;\n\t\t\t\t\n\t\t\t\tspan {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* ACF fields */\n\t\t.compat-attachment-fields {\n\t\t\t\n\t\t\t> tbody > .acf-field {\n\t\t\t\tmargin: 0 0 5px;\n\t\t\t\t\n\t\t\t\tp.description {\n\t\t\t\t\tmargin-top: 3px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t/* WP required message */\n\t\t.media-types-required-info { display: none; }\n\t\t\n\t}\n\t\n\t\n\t/* mobile md */\n\t@media (max-width: 900px) {\n\t\ttop: 30px;\n\t\tright: 30px;\n\t\tbottom: 30px;\n\t\tleft: 30px;\n\t}\n\t\n\t\n\t/* mobile sm */\n\t@media (max-width: 640px) {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t}\n\t\n\t@media (max-width: 480px) {\n\t\t.media-frame-content {\n\t\t top: 40px;\n\t\t}\n\t}\n}\n","// Temp remove.\n.acf-temp-remove {\n\tposition: relative;\n\topacity: 1;\n\t-webkit-transition: all 0.25s ease;\n\t-moz-transition: all 0.25s ease;\n\t-o-transition: all 0.25s ease;\n\ttransition: all 0.25s ease;\n\toverflow: hidden;\n\t\n\t/* overlay prevents hover */\n\t&:after {\n\t\tdisplay: block;\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tz-index: 99;\n\t}\n}\n\n// Conditional Logic.\n.hidden-by-conditional-logic {\n\tdisplay: none !important;\n\t\n\t// Table cells may \"appear empty\".\n\t&.appear-empty {\n\t\tdisplay: table-cell !important;\n\t\t.acf-input {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n}\n\n// Compat support for \"Tabify\" plugin.\n.acf-postbox.acf-hidden {\n\tdisplay: none !important;\n}\n\n// Focus Attention.\n.acf-attention {\n\ttransition: border 0.250s ease-out;\n\t&.-focused {\n\t\tborder: #23282d solid 1px !important;\n\t\ttransition: none;\n\t}\n}\ntr.acf-attention {\n\ttransition: box-shadow 0.250s ease-out;\n\tposition: relative;\n\t&.-focused {\n\t\tbox-shadow: #23282d 0 0 0px 1px !important;\n\t}\n}","// Gutenberg specific styles.\n#editor {\n\t\n\t// Postbox container.\n\t.edit-post-layout__metaboxes {\n\t\tpadding: 0;\n\t\t.edit-post-meta-boxes-area {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\n\t// Sidebar postbox container.\n\t.metabox-location-side {\n\t\t.postbox-container {\n\t\t\tfloat: none;\n\t\t}\n\t}\n\t\n\t// Alter postbox to look like panel component.\n\t.postbox {\n\t\tcolor: #444;\n\t\t\n\t\t> .postbox-header {\n\t\t\t.hndle {\n\t\t\t\tborder-bottom: none;\n\t\t\t\t&:hover {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.handle-actions {\n\t\t\t\t.handle-order-higher,\n\t\t\t\t.handle-order-lower {\n\t\t\t\t\twidth: 1.62rem;\n\t\t\t\t}\n\n\t\t\t\t// Fix \"Edit\" icon height.\n\t\t\t\t.acf-hndle-cog {\n\t\t\t\t\theight: 44px;\n\t\t\t\t\tline-height: 44px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&:hover {\n\t\t\t\tbackground: #f0f0f0;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Hide bottom border of last postbox.\n\t\t&:last-child.closed > .postbox-header {\n\t\t\tborder-bottom: none;\n\t\t}\n\t\t&:last-child > .inside {\n\t\t\tborder-bottom: none;\n\t\t}\n\t}\n\n\t// Prevent metaboxes being forced offscreen.\n\t.block-editor-writing-flow__click-redirect {\n\t\tmin-height: 50px;\n\t}\n}\n\n// Fix to display \"High\" metabox area when dragging metaboxes.\nbody.is-dragging-metaboxes #acf_after_title-sortables{\n\toutline: 3px dashed #646970;\n\tdisplay: flow-root;\n\tmin-height: 60px;\n\tmargin-bottom: 3px !important\n}"],"names":[],"sourceRoot":""}
assets/build/css/acf-input.min.css CHANGED
@@ -1 +1 @@
1
- .acf-field,.acf-field .acf-input,.acf-field .acf-label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative}.acf-field{margin:15px 0;clear:both}.acf-field p.description{display:block;margin:0;padding:0}.acf-field .acf-label{vertical-align:top;margin:0 0 10px}.acf-field .acf-label label{display:block;font-weight:700;margin:0 0 3px;padding:0}.acf-field .acf-label:empty{margin-bottom:0}.acf-field .acf-input{vertical-align:top}.acf-field .acf-input>p.description{margin-top:5px}.acf-field .acf-notice{margin:0 0 15px;background:#edf2ff;color:#0c6ca0;border-color:#2183b9}.acf-field .acf-notice.-error{background:#ffe6e6;color:#cc2727;border-color:#d12626}.acf-field .acf-notice.-success{background:#eefbe8;color:#0e7b17;border-color:#32a23b}.acf-field .acf-notice.-warning{background:#fff3e6;color:#bd4b0e;border-color:#d16226}td.acf-field,tr.acf-field{margin:0}.acf-field[data-width]{float:left;clear:none}.acf-field[data-width]+.acf-field[data-width]{border-left:1px solid #eee}html[dir=rtl] .acf-field[data-width]{float:right}html[dir=rtl] .acf-field[data-width]+.acf-field[data-width]{border-left:none;border-right:1px solid #eee}td.acf-field[data-width],tr.acf-field[data-width]{float:none}.acf-field.-c0{clear:both;border-left-width:0!important}html[dir=rtl] .acf-field.-c0{border-left-width:1px!important;border-right-width:0!important}.acf-field.-r0{border-top-width:0!important}.acf-fields{position:relative}.acf-fields:after{display:block;clear:both;content:""}.acf-fields.-border{border:#ccd0d4 solid 1px;background:#fff}.acf-fields>.acf-field{position:relative;margin:0;padding:15px 12px;border-top:#eee solid 1px}.acf-fields>.acf-field:first-child{border-top:none;margin-top:0}td.acf-fields{padding:0!important}.acf-fields.-clear>.acf-field{border:none;padding:0;margin:15px 0}.acf-fields.-clear>.acf-field[data-width]{border:none!important}.acf-fields.-clear>.acf-field>.acf-label{padding:0}.acf-fields.-clear>.acf-field>.acf-input{padding:0}.acf-fields.-left>.acf-field{padding:15px 0}.acf-fields.-left>.acf-field:after{display:block;clear:both;content:""}.acf-fields.-left>.acf-field:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acf-fields.-left>.acf-field[data-width]{float:none;width:auto!important;border-left-width:0!important;border-right-width:0!important}.acf-fields.-left>.acf-field>.acf-label{float:left;width:20%;margin:0;padding:0 12px}.acf-fields.-left>.acf-field>.acf-input{float:left;width:80%;margin:0;padding:0 12px}html[dir=rtl] .acf-fields.-left>.acf-field:before{border-width:0 0 0 1px;left:auto;right:0}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-label{float:right}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-input{float:right}#side-sortables .acf-fields.-left>.acf-field:before{display:none}#side-sortables .acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}#side-sortables .acf-fields.-left>.acf-field>.acf-input{width:100%}@media screen and (max-width:640px){.acf-fields.-left>.acf-field:before{display:none}.acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}.acf-fields.-left>.acf-field>.acf-input{width:100%}}.acf-fields.-clear.-left>.acf-field{padding:0;border:none}.acf-fields.-clear.-left>.acf-field:before{display:none}.acf-fields.-clear.-left>.acf-field>.acf-label{padding:0}.acf-fields.-clear.-left>.acf-field>.acf-input{padding:0}.acf-table tr.acf-field>td.acf-label{padding:15px 12px;margin:0;background:#f9f9f9;width:20%}.acf-table tr.acf-field>td.acf-input{padding:15px 12px;margin:0;border-left-color:#e1e1e1}.acf-sortable-tr-helper{position:relative!important;display:table-row!important}.acf-postbox{position:relative}.acf-postbox>.inside{margin:0!important;padding:0!important}.acf-postbox .acf-hndle-cog{color:#72777c;font-size:16px;line-height:36px;height:36px;width:1.62rem;position:relative;display:none}.acf-postbox .acf-hndle-cog:hover{color:#191e23}.acf-postbox>.hndle:hover .acf-hndle-cog,.acf-postbox>.postbox-header:hover .acf-hndle-cog{display:inline-block}.acf-postbox>.hndle .acf-hndle-cog{height:20px;line-height:20px;float:right;width:auto}.acf-postbox>.hndle .acf-hndle-cog:hover{color:#777}.acf-postbox .acf-replace-with-fields{padding:15px;text-align:center}#post-body-content #acf_after_title-sortables{margin:20px 0 -20px}.acf-postbox.seamless{border:0 none;background:0 0;box-shadow:none}.acf-postbox.seamless>.handlediv,.acf-postbox.seamless>.hndle,.acf-postbox.seamless>.postbox-header{display:none!important}.acf-postbox.seamless>.inside{display:block!important;margin-left:-12px!important;margin-right:-12px!important}.acf-postbox.seamless>.inside>.acf-field{border-color:transparent}.acf-postbox.seamless>.acf-fields.-left>.acf-field:before{display:none}@media screen and (max-width:782px){.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-input,.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-label{padding:0}}.acf-field input[type=date],.acf-field input[type=datetime-local],.acf-field input[type=datetime],.acf-field input[type=email],.acf-field input[type=month],.acf-field input[type=number],.acf-field input[type=password],.acf-field input[type=search],.acf-field input[type=tel],.acf-field input[type=text],.acf-field input[type=time],.acf-field input[type=url],.acf-field input[type=week],.acf-field select,.acf-field textarea{width:100%;padding:4px 8px;margin:0;box-sizing:border-box;font-size:14px;line-height:1.4}.acf-admin-3-8 .acf-field input[type=date],.acf-admin-3-8 .acf-field input[type=datetime-local],.acf-admin-3-8 .acf-field input[type=datetime],.acf-admin-3-8 .acf-field input[type=email],.acf-admin-3-8 .acf-field input[type=month],.acf-admin-3-8 .acf-field input[type=number],.acf-admin-3-8 .acf-field input[type=password],.acf-admin-3-8 .acf-field input[type=search],.acf-admin-3-8 .acf-field input[type=tel],.acf-admin-3-8 .acf-field input[type=text],.acf-admin-3-8 .acf-field input[type=time],.acf-admin-3-8 .acf-field input[type=url],.acf-admin-3-8 .acf-field input[type=week],.acf-admin-3-8 .acf-field select,.acf-admin-3-8 .acf-field textarea{padding:3px 5px}.acf-field textarea{resize:vertical}body.acf-browser-firefox .acf-field select{padding:4px 5px}.acf-input-append,.acf-input-prepend,.acf-input-wrap{box-sizing:border-box}.acf-input-append,.acf-input-prepend{font-size:14px;line-height:1.4;padding:4px 8px;background:#f5f5f5;border:#7e8993 solid 1px;min-height:30px}.acf-admin-3-8 .acf-input-append,.acf-admin-3-8 .acf-input-prepend{padding:3px 5px;border-color:#ddd;min-height:28px}.acf-input-prepend{float:left;border-right-width:0;border-radius:3px 0 0 3px}.acf-input-append{float:right;border-left-width:0;border-radius:0 3px 3px 0}.acf-input-wrap{position:relative;overflow:hidden}.acf-input-wrap .acf-is-prepended{border-radius:0 3px 3px 0!important}.acf-input-wrap .acf-is-appended{border-radius:3px 0 0 3px!important}.acf-input-wrap .acf-is-prepended.acf-is-appended{border-radius:0!important}html[dir=rtl] .acf-input-prepend{border-left-width:0;border-right-width:1px;border-radius:0 3px 3px 0;float:right}html[dir=rtl] .acf-input-append{border-left-width:1px;border-right-width:0;border-radius:3px 0 0 3px;float:left}html[dir=rtl] input.acf-is-prepended{border-radius:3px 0 0 3px!important}html[dir=rtl] input.acf-is-appended{border-radius:0 3px 3px 0!important}html[dir=rtl] input.acf-is-prepended.acf-is-appended{border-radius:0!important}.acf-color-picker .wp-color-result{border-color:#7e8993}.acf-admin-3-8 .acf-color-picker .wp-color-result{border-color:#ccd0d4}.acf-color-picker .wp-picker-active{position:relative;z-index:1}.acf-url i{position:absolute;top:5px;left:5px;opacity:.5;color:#7e8993}.acf-url input[type=url]{padding-left:27px!important}.acf-url.-valid i{opacity:1}.select2-container.-acf .select2-choices{background:#fff;border-color:#ddd;box-shadow:0 1px 2px rgba(0,0,0,.07) inset;min-height:31px}.select2-container.-acf .select2-choices .select2-search-choice{margin:5px 0 5px 5px;padding:3px 5px 3px 18px;border-color:#bbb;background:#f9f9f9;box-shadow:0 1px 0 rgba(255,255,255,.25) inset}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a{visibility:hidden}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible!important}.select2-container.-acf .select2-choices .select2-search-choice-focus{border-color:#999}.select2-container.-acf .select2-choices .select2-search-field input{height:31px;line-height:22px;margin:0;padding:5px 5px 5px 7px}.select2-container.-acf .select2-choice{border-color:#bbb}.select2-container.-acf .select2-choice .select2-arrow{background:0 0;border-left-color:#dfdfdf;padding-left:1px}.select2-container.-acf .select2-choice .select2-result-description{display:none}.select2-container.-acf.select2-container-active .select2-choices,.select2-container.-acf.select2-dropdown-open .select2-choices{border-color:#5b9dd9;border-radius:3px 3px 0 0}.select2-container.-acf.select2-dropdown-open .select2-choice{background:#fff;border-color:#5b9dd9}html[dir=rtl] .select2-container.-acf .select2-search-choice-close{left:24px}html[dir=rtl] .select2-container.-acf .select2-choice>.select2-chosen{margin-left:42px}html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow{padding-left:0;padding-right:1px}.select2-drop .select2-search{padding:4px 4px 0}.select2-drop .select2-result .select2-result-description{color:#999;font-size:12px;margin-left:5px}.select2-drop .select2-result.select2-highlighted .select2-result-description{color:#fff;opacity:.75}.select2-container.-acf li{margin-bottom:0}.select2-container.-acf .select2-selection{border-color:#7e8993}.acf-admin-3-8 .select2-container.-acf .select2-selection{border-color:#aaa}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child{float:none}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input{width:100%!important}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered{padding-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice{background-color:#f7f7f7;border-color:#ccc;max-width:100%;overflow:hidden;word-wrap:normal!important;white-space:normal}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span{visibility:hidden}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible!important}.select2-container.-acf .select2-selection--multiple .select2-search__field{box-shadow:none!important;min-height:0}.acf-row .select2-container.-acf .select2-selection--single{overflow:hidden}.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered{white-space:normal}.select2-container .select2-dropdown{z-index:900000}.select2-container .select2-dropdown .select2-search__field{line-height:1.4;min-height:0}.acf-link .link-wrap{display:none;border:#ccd0d4 solid 1px;border-radius:3px;padding:5px;line-height:26px;background:#fff;word-wrap:break-word;word-break:break-all}.acf-link .link-wrap .link-title{padding:0 5px}.acf-link.-value .button{display:none}.acf-link.-value .acf-icon.-link-ext{display:none}.acf-link.-value .link-wrap{display:inline-block}.acf-link.-external .acf-icon.-link-ext{display:inline-block}#wp-link-backdrop{z-index:900000!important}#wp-link-wrap{z-index:900001!important}ul.acf-checkbox-list,ul.acf-radio-list{background:0 0;position:relative;padding:1px;margin:0}ul.acf-checkbox-list li,ul.acf-radio-list li{font-size:13px;line-height:22px;margin:0;position:relative;word-wrap:break-word}ul.acf-checkbox-list li label,ul.acf-radio-list li label{display:inline}ul.acf-checkbox-list li input[type=checkbox],ul.acf-checkbox-list li input[type=radio],ul.acf-radio-list li input[type=checkbox],ul.acf-radio-list li input[type=radio]{margin:-1px 4px 0 0;vertical-align:middle}ul.acf-checkbox-list li input[type=text],ul.acf-radio-list li input[type=text]{width:auto;vertical-align:middle;margin:2px 0}ul.acf-checkbox-list li span,ul.acf-radio-list li span{float:none}ul.acf-checkbox-list li i,ul.acf-radio-list li i{vertical-align:middle}ul.acf-checkbox-list.acf-hl li,ul.acf-radio-list.acf-hl li{margin-right:20px;clear:none}html[dir=rtl] ul.acf-checkbox-list input[type=checkbox],html[dir=rtl] ul.acf-checkbox-list input[type=radio],html[dir=rtl] ul.acf-radio-list input[type=checkbox],html[dir=rtl] ul.acf-radio-list input[type=radio]{margin-left:4px;margin-right:0}.acf-button-group{display:inline-block}.acf-button-group label{display:inline-block;border:#7e8993 solid 1px;position:relative;z-index:1;padding:5px 10px;background:#fff}.acf-button-group label:hover{color:#016087;background:#f3f5f6;border-color:#0071a1;z-index:2}.acf-button-group label.selected{border-color:#007cba;background:#008dd4;color:#fff;z-index:2}.acf-button-group input{display:none!important}.acf-button-group{padding-left:1px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.acf-button-group label{margin:0 0 0 -1px;flex:1;text-align:center;white-space:nowrap}.acf-button-group label:first-child{border-radius:3px 0 0 3px}html[dir=rtl] .acf-button-group label:first-child{border-radius:0 3px 3px 0}.acf-button-group label:last-child{border-radius:0 3px 3px 0}html[dir=rtl] .acf-button-group label:last-child{border-radius:3px 0 0 3px}.acf-button-group label:only-child{border-radius:3px}.acf-button-group.-vertical{padding-left:0;padding-top:1px;flex-direction:column}.acf-button-group.-vertical label{margin:-1px 0 0 0}.acf-button-group.-vertical label:first-child{border-radius:3px 3px 0 0}.acf-button-group.-vertical label:last-child{border-radius:0 0 3px 3px}.acf-button-group.-vertical label:only-child{border-radius:3px}.acf-admin-3-8 .acf-button-group label{border-color:#ccd0d4}.acf-admin-3-8 .acf-button-group label:hover{border-color:#0071a1}.acf-admin-3-8 .acf-button-group label.selected{border-color:#007cba}.acf-checkbox-list .button{margin:10px 0 0}.acf-switch{display:inline-block;border-radius:5px;cursor:pointer;position:relative;background:#f5f5f5;height:30px;vertical-align:middle;border:#7e8993 solid 1px;-webkit-transition:background .25s ease;-moz-transition:background .25s ease;-o-transition:background .25s ease;transition:background .25s ease}.acf-switch span{display:inline-block;float:left;text-align:center;font-size:13px;line-height:22px;padding:4px 10px;min-width:15px}.acf-switch span i{vertical-align:middle}.acf-switch .acf-switch-on{color:#fff;text-shadow:#007cba 0 1px 0}.acf-switch .acf-switch-slider{position:absolute;top:2px;left:2px;bottom:2px;right:50%;z-index:1;background:#fff;border-radius:3px;border:#7e8993 solid 1px;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;transition-property:left,right}.acf-switch.-focus,.acf-switch:hover{border-color:#0071a1;background:#f3f5f6;color:#016087}.acf-switch.-focus .acf-switch-slider,.acf-switch:hover .acf-switch-slider{border-color:#0071a1}.acf-switch.-on{background:#0d99d5;border-color:#007cba}.acf-switch.-on .acf-switch-slider{left:50%;right:2px;border-color:#007cba}.acf-switch.-on:hover{border-color:#007cba}.acf-switch+span{margin-left:6px}.acf-admin-3-8 .acf-switch{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch .acf-switch-slider{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch.-focus,.acf-admin-3-8 .acf-switch:hover{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-focus .acf-switch-slider,.acf-admin-3-8 .acf-switch:hover .acf-switch-slider{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-on{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on .acf-switch-slider{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on:hover{border-color:#007cba}.acf-switch-input{opacity:0;position:absolute;margin:0}.compat-item .acf-true-false .message{float:none;padding:0;vertical-align:middle}.acf-google-map{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-google-map .title{position:relative;border-bottom:#ccd0d4 solid 1px}.acf-google-map .title .search{margin:0;font-size:14px;line-height:30px;height:40px;padding:5px 10px;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-google-map .title .acf-loading{position:absolute;top:10px;right:11px;display:none}.acf-google-map .title .acf-icon:active{display:inline-block!important}.acf-google-map .canvas{height:400px}.acf-google-map:hover .title .acf-actions{display:block}.acf-google-map .title .acf-icon.-location{display:inline-block}.acf-google-map .title .acf-icon.-cancel,.acf-google-map .title .acf-icon.-search{display:none}.acf-google-map.-value .title .search{font-weight:700}.acf-google-map.-value .title .acf-icon.-location{display:none}.acf-google-map.-value .title .acf-icon.-cancel{display:inline-block}.acf-google-map.-searching .title .acf-icon.-location{display:none}.acf-google-map.-searching .title .acf-icon.-cancel,.acf-google-map.-searching .title .acf-icon.-search{display:inline-block}.acf-google-map.-searching .title .acf-actions{display:block}.acf-google-map.-searching .title .search{font-weight:400!important}.acf-google-map.-loading .title a{display:none!important}.acf-google-map.-loading .title i{display:inline-block}.pac-container{border-width:1px 0;box-shadow:none}.pac-container:after{display:none}.pac-container .pac-item:first-child{border-top:0 none}.pac-container .pac-item{padding:5px 10px;cursor:pointer}html[dir=rtl] .pac-container .pac-item{text-align:right}.acf-relationship{background:#fff;border:#ccd0d4 solid 1px}.acf-relationship .filters{border-bottom:#ccd0d4 solid 1px;background:#fff}.acf-relationship .filters:after{display:block;clear:both;content:""}.acf-relationship .filters .filter{margin:0;padding:0;float:left;width:100%;box-sizing:border-box;padding:7px 7px 7px 0}.acf-relationship .filters .filter:first-child{padding-left:7px}.acf-relationship .filters .filter input,.acf-relationship .filters .filter select{margin:0;float:none}.acf-relationship .filters .filter input:active,.acf-relationship .filters .filter input:focus,.acf-relationship .filters .filter select:active,.acf-relationship .filters .filter select:focus{outline:0;box-shadow:none}.acf-relationship .filters .filter input{border-color:transparent;box-shadow:none;padding-left:3px;padding-right:3px}.acf-relationship .filters.-f2 .filter{width:50%}.acf-relationship .filters.-f3 .filter{width:25%}.acf-relationship .filters.-f3 .filter.-search{width:50%}.acf-relationship .list{margin:0;padding:5px;height:160px;overflow:auto}.acf-relationship .list .acf-rel-item,.acf-relationship .list .acf-rel-label,.acf-relationship .list p{padding:5px;margin:0;display:block;position:relative;min-height:18px}.acf-relationship .list .acf-rel-label{font-weight:700}.acf-relationship .list .acf-rel-item{cursor:pointer}.acf-relationship .list .acf-rel-item b{text-decoration:underline;font-weight:400}.acf-relationship .list .acf-rel-item .thumbnail{background:#e0e0e0;width:22px;height:22px;float:left;margin:-2px 5px 0 0}.acf-relationship .list .acf-rel-item .thumbnail img{max-width:22px;max-height:22px;margin:0 auto;display:block}.acf-relationship .list .acf-rel-item .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item .thumbnail.-icon img{max-height:20px;margin-top:1px}.acf-relationship .list .acf-rel-item:hover{background:#3875d7;color:#fff}.acf-relationship .list .acf-rel-item:hover .thumbnail{background:#a2bfec}.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item.disabled{opacity:.5}.acf-relationship .list .acf-rel-item.disabled:hover{background:0 0;color:#333;cursor:default}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail{background:#e0e0e0}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon{background:#fff}.acf-relationship .list ul{padding-bottom:5px}.acf-relationship .list ul .acf-rel-item,.acf-relationship .list ul .acf-rel-label,.acf-relationship .list ul p{padding-left:20px}.acf-relationship .selection{position:relative}.acf-relationship .selection:after{display:block;clear:both;content:""}.acf-relationship .selection .choices,.acf-relationship .selection .values{width:50%;background:#fff;float:left}.acf-relationship .selection .choices{background:#f9f9f9}.acf-relationship .selection .choices .list{border-right:#dfdfdf solid 1px}.acf-relationship .selection .values .acf-icon{position:absolute;top:4px;right:7px;display:none}html[dir=rtl] .acf-relationship .selection .values .acf-icon{right:auto;left:7px}.acf-relationship .selection .values .acf-rel-item:hover .acf-icon{display:block}.acf-relationship .selection .values .acf-rel-item{cursor:move}.acf-relationship .selection .values .acf-rel-item b{text-decoration:none}.menu-item .acf-relationship ul{width:auto}.menu-item .acf-relationship li{display:block}.acf-editor-wrap.delay .acf-editor-toolbar{content:"";display:block;background:#f5f5f5;border-bottom:#ddd solid 1px;color:#555d66;padding:10px}.acf-editor-wrap.delay .wp-editor-area{padding:10px;border:none;color:inherit!important}.acf-editor-wrap iframe{min-height:200px}.acf-editor-wrap .wp-editor-container{border:1px solid #ccd0d4;box-shadow:none!important}.acf-editor-wrap .wp-editor-tabs{box-sizing:content-box}.acf-editor-wrap .wp-switch-editor{border-color:#ccd0d4;border-bottom-color:transparent}#mce_fullscreen_container{z-index:900000!important}.acf-field-tab{display:none!important}.hidden-by-tab{display:none!important}.acf-tab-wrap{clear:both;z-index:1}.acf-tab-group{border-bottom:#ccc solid 1px;padding:10px 10px 0}.acf-tab-group li{margin:0 .5em 0 0}.acf-tab-group li a{padding:5px 10px;display:block;color:#555;font-size:14px;font-weight:600;line-height:24px;border:#ccc solid 1px;border-bottom:0 none;text-decoration:none;background:#e5e5e5;transition:none}.acf-tab-group li a:hover{background:#fff}.acf-tab-group li a:focus{outline:0;box-shadow:none}.acf-tab-group li a:empty{display:none}html[dir=rtl] .acf-tab-group li{margin:0 0 0 .5em}.acf-tab-group li.active a{background:#f1f1f1;color:#000;padding-bottom:6px;margin-bottom:-1px;position:relative;z-index:1}.acf-fields>.acf-tab-wrap{background:#f9f9f9}.acf-fields>.acf-tab-wrap .acf-tab-group{position:relative;border-top:#ccd0d4 solid 1px;border-bottom:#ccd0d4 solid 1px;z-index:2;margin-bottom:-1px}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1;border-color:#ccd0d4}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.acf-admin-3-8 .acf-fields>.acf-tab-wrap .acf-tab-group{border-color:#dfdfdf}.acf-fields>.acf-tab-wrap:first-child .acf-tab-group{border-top:none}.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:20%}@media screen and (max-width:640px){.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:10px}}html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:0;padding-right:20%}@media screen and (max-width:850px){html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-right:10px}}.acf-tab-wrap.-left .acf-tab-group{position:absolute;left:0;width:20%;border:0 none;padding:0!important;margin:1px 0 0}.acf-tab-wrap.-left .acf-tab-group li{float:none;margin:-1px 0 0}.acf-tab-wrap.-left .acf-tab-group li a{border:1px solid #ededed;font-size:13px;line-height:18px;color:#0073aa;padding:10px;margin:0;font-weight:400;border-width:1px 0;border-radius:0;background:0 0}.acf-tab-wrap.-left .acf-tab-group li a:hover{color:#00a0d2}.acf-tab-wrap.-left .acf-tab-group li.active a{border-color:#dfdfdf;color:#000;margin-right:-1px;background:#fff}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group{left:auto;right:0}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a{margin-right:0;margin-left:-1px}.acf-field+.acf-tab-wrap.-left:before{content:"";display:block;position:relative;z-index:1;height:10px;border-top:#dfdfdf solid 1px;border-bottom:#dfdfdf solid 1px;margin-bottom:-1px}.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a{border-top:none}.acf-fields.-sidebar{padding:0 0 0 20%!important;position:relative}.acf-fields.-sidebar:before{content:"";display:block;position:absolute;top:0;left:0;width:20%;bottom:0;border-right:#dfdfdf solid 1px;background:#f9f9f9;z-index:1}html[dir=rtl] .acf-fields.-sidebar{padding:0 20% 0 0!important}html[dir=rtl] .acf-fields.-sidebar:before{border-left:#dfdfdf solid 1px;border-right-width:0;left:auto;right:0}.acf-fields.-sidebar.-left{padding:0 0 0 180px!important}html[dir=rtl] .acf-fields.-sidebar.-left{padding:0 180px 0 0!important}.acf-fields.-sidebar.-left:before{background:#f1f1f1;border-color:#dfdfdf;width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group{width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{border-color:#e4e4e4}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f9f9f9}.acf-fields.-sidebar>.acf-field-tab+.acf-field{border-top:none}.acf-fields.-clear>.acf-tab-wrap{background:0 0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group{margin-top:0;border-top:none;padding-left:0;padding-right:0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields.-sidebar{margin-left:0!important}.acf-postbox.seamless>.acf-fields.-sidebar:before{background:0 0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap{background:0 0;margin-bottom:10px;padding-left:12px;padding-right:12px}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group{border-top:0 none;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left:before{border-top:none;height:auto}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group{margin-bottom:0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li a{border-width:1px 0 1px 1px!important;border-color:#ccc;background:#e5e5e5}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.compat-item .acf-tab-wrap td{display:block}.acf-gallery-side .acf-tab-wrap{border-top:0 none!important}.acf-gallery-side .acf-tab-wrap .acf-tab-group{margin:10px 0!important;padding:0!important}.acf-gallery-side .acf-tab-group li.active a{background:#f9f9f9!important}.widget .acf-tab-group{border-bottom-color:#e8e8e8}.widget .acf-tab-group li a{background:#f1f1f1}.widget .acf-tab-group li.active a{background:#fff}.media-modal.acf-expanded .compat-attachment-fields>tbody>tr.acf-tab-wrap .acf-tab-group{padding-left:23%;border-bottom-color:#ddd}.form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 5px 0 210px}html[dir=rtl] .form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 210px 0 5px}.acf-oembed{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-oembed .title{position:relative;border-bottom:#ccd0d4 solid 1px;padding:5px 10px}.acf-oembed .title .input-search{margin:0;font-size:14px;line-height:30px;height:30px;padding:0;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-oembed .title .acf-actions{padding:6px}.acf-oembed .canvas{position:relative;min-height:250px;background:#f9f9f9}.acf-oembed .canvas .canvas-media{position:relative;z-index:1}.acf-oembed .canvas iframe{display:block;margin:0;padding:0;width:100%}.acf-oembed .canvas .acf-icon.-picture{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;height:42px;width:42px;font-size:42px;color:#999}.acf-oembed .canvas .acf-loading-overlay{background:rgba(255,255,255,.9)}.acf-oembed .canvas .canvas-error{position:absolute;top:50%;left:0;right:0;margin:-9px 0 0 0;text-align:center;display:none}.acf-oembed .canvas .canvas-error p{padding:8px;margin:0;display:inline}.acf-oembed.has-value .canvas{min-height:50px}.acf-oembed.has-value .input-search{font-weight:700}.acf-oembed.has-value .title:hover .acf-actions{display:block}.acf-image-uploader{position:relative}.acf-image-uploader:after{display:block;clear:both;content:""}.acf-image-uploader p{margin:0}.acf-image-uploader .image-wrap{position:relative;float:left}.acf-image-uploader .image-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;min-width:30px;min-height:30px;background:#f1f1f1;margin:0;padding:0}.acf-image-uploader .image-wrap img[src$=".svg"]{min-height:100px;min-width:100px}.acf-image-uploader .image-wrap:hover .acf-actions{display:block}.acf-image-uploader input.button{width:auto}html[dir=rtl] .acf-image-uploader .image-wrap{float:right}.acf-file-uploader{position:relative}.acf-file-uploader p{margin:0}.acf-file-uploader .file-wrap{border:#ccd0d4 solid 1px;min-height:84px;position:relative;background:#fff}.acf-file-uploader .file-icon{position:absolute;top:0;left:0;bottom:0;padding:10px;background:#f1f1f1;border-right:#d5d9dd solid 1px}.acf-file-uploader .file-icon img{display:block;padding:0;margin:0;max-width:48px}.acf-file-uploader .file-info{padding:10px;margin-left:69px}.acf-file-uploader .file-info p{margin:0 0 2px;font-size:13px;line-height:1.4em;word-break:break-all}.acf-file-uploader .file-info a{text-decoration:none}.acf-file-uploader:hover .acf-actions{display:block}html[dir=rtl] .acf-file-uploader .file-icon{left:auto;right:0;border-left:#e5e5e5 solid 1px;border-right:none}html[dir=rtl] .acf-file-uploader .file-info{margin-right:69px;margin-left:0}.acf-ui-datepicker .ui-datepicker{z-index:900000!important}.acf-ui-datepicker .ui-datepicker .ui-widget-header a{cursor:pointer;transition:none}.acf-ui-datepicker .ui-state-highlight.ui-state-hover{border:1px solid #98b7e8!important;background:#98b7e8!important;font-weight:400!important;color:#fff!important}.acf-ui-datepicker .ui-state-highlight.ui-state-active{border:1px solid #3875d7!important;background:#3875d7!important;font-weight:400!important;color:#fff!important}.acf-field-separator .acf-label{margin-bottom:0}.acf-field-separator .acf-label label{font-weight:400}.acf-field-separator .acf-input{display:none}.acf-fields>.acf-field-separator{background:#f9f9f9;border-bottom:1px solid #dfdfdf;border-top:1px solid #dfdfdf;margin-bottom:-1px;z-index:2}.acf-taxonomy-field{position:relative}.acf-taxonomy-field .categorychecklist-holder{border:#ccd0d4 solid 1px;border-radius:3px;max-height:200px;overflow:auto}.acf-taxonomy-field .acf-checkbox-list{margin:0;padding:10px}.acf-taxonomy-field .acf-checkbox-list ul.children{padding-left:18px}.acf-taxonomy-field:hover .acf-actions{display:block}.acf-taxonomy-field[data-ftype=select] .acf-actions{padding:0;margin:-9px}.acf-range-wrap .acf-append,.acf-range-wrap .acf-prepend{display:inline-block;vertical-align:middle;line-height:28px;margin:0 7px 0 0}.acf-range-wrap .acf-append{margin:0 0 0 7px}.acf-range-wrap input[type=range]{display:inline-block;padding:0;margin:0;vertical-align:middle;height:28px}.acf-range-wrap input[type=range]:focus{outline:0}.acf-range-wrap input[type=number]{display:inline-block;min-width:3em;margin-left:10px;vertical-align:middle}html[dir=rtl] .acf-range-wrap input[type=number]{margin-right:10px;margin-left:0}html[dir=rtl] .acf-range-wrap .acf-append{margin:0 7px 0 0}html[dir=rtl] .acf-range-wrap .acf-prepend{margin:0 0 0 7px}.acf-accordion{margin:-1px 0;padding:0;background:#fff;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd;z-index:1}.acf-accordion .acf-accordion-title{margin:0;padding:12px;font-weight:700;cursor:pointer;font-size:inherit;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title:hover{background:#f3f4f5}.acf-accordion .acf-accordion-title label{margin:0;padding:0;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title p{font-weight:400}.acf-accordion .acf-accordion-title .acf-accordion-icon{float:right}.acf-accordion .acf-accordion-title svg.acf-accordion-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#191e23;fill:currentColor}.acf-accordion .acf-accordion-content{margin:0;padding:0 12px 12px;display:none}.acf-accordion.-open>.acf-accordion-content{display:block}.acf-field.acf-accordion{margin:-1px 0;padding:0!important;border-color:#d5d9dd}.acf-field.acf-accordion .acf-label.acf-accordion-title{padding:12px;width:auto;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content{padding:0;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields{border-top:#eee solid 1px}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields.-clear{padding:0 12px 15px}.acf-fields.-left>.acf-field.acf-accordion:before{display:none}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-title{width:auto;margin:0!important;padding:12px;float:none!important}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-content{padding:0!important}.acf-fields.-clear>.acf-field.acf-accordion{border:#ccc solid 1px;background:0 0}.acf-fields.-clear>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-16px}tr.acf-field.acf-accordion{background:0 0}tr.acf-field.acf-accordion>.acf-input{padding:0!important;border:#ccc solid 1px}tr.acf-field.acf-accordion .acf-accordion-content{padding:0 12px 12px}#addtag div.acf-field.error{border:0 none;padding:8px 0}#addtag>.acf-field.acf-accordion{padding-right:0;margin-right:5%}#addtag>.acf-field.acf-accordion+p.submit{margin-top:0}tr.acf-accordion{margin:15px 0!important}tr.acf-accordion+tr.acf-accordion{margin-top:-16px!important}.acf-postbox.seamless>.acf-fields>.acf-accordion{margin-left:12px;margin-right:12px;border:#ccd0d4 solid 1px}.widget .widget-content>.acf-field.acf-accordion{border:#dfdfdf solid 1px;margin-bottom:10px}.widget .widget-content>.acf-field.acf-accordion .acf-accordion-title{margin-bottom:0}.widget .widget-content>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-11px}.media-modal .compat-attachment-fields .acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-1px}.media-modal .compat-attachment-fields .acf-field.acf-accordion>.acf-input{width:100%}.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields>tbody>tr>td{padding-bottom:5px}.block-editor .edit-post-sidebar .acf-postbox>.hndle,.block-editor .edit-post-sidebar .acf-postbox>.postbox-header{border-bottom-width:0!important}.block-editor .edit-post-sidebar .acf-postbox.closed>.hndle,.block-editor .edit-post-sidebar .acf-postbox.closed>.postbox-header{border-bottom-width:1px!important}.block-editor .edit-post-sidebar .acf-fields{min-height:1px;overflow:auto}.block-editor .edit-post-sidebar .acf-fields>.acf-field{border-width:0;border-color:#e2e4e7;margin:16px;padding:0;width:auto!important;min-height:0!important;float:none!important}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label{margin-bottom:5px}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label label{font-weight:400}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion{padding:0;margin:0;border-top-width:1px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion:first-child{border-top-width:0}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title{margin:0;padding:15px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title label{font-weight:700}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-top-width:0}.form-table>tbody>.acf-field>.acf-label{padding:20px 10px 20px 0;width:210px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-label{padding:20px 0 20px 10px}.form-table>tbody>.acf-field>.acf-label label{font-size:14px;color:#23282d}.form-table>tbody>.acf-field>.acf-input{padding:15px 10px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-input{padding:15px 10px 15px 5%}.form-table>tbody>.acf-tab-wrap td{padding:15px 5% 15px 0}html[dir=rtl] .form-table>tbody>.acf-tab-wrap td{padding:15px 0 15px 5%}.form-table>tbody .form-table th.acf-th{width:auto}#createuser .acf-field input[type=email],#createuser .acf-field input[type=number],#createuser .acf-field input[type=password],#createuser .acf-field input[type=search],#createuser .acf-field input[type=text],#createuser .acf-field input[type=url],#createuser .acf-field select,#your-profile .acf-field input[type=email],#your-profile .acf-field input[type=number],#your-profile .acf-field input[type=password],#your-profile .acf-field input[type=search],#your-profile .acf-field input[type=text],#your-profile .acf-field input[type=url],#your-profile .acf-field select{max-width:25em}#createuser .acf-field textarea,#your-profile .acf-field textarea{max-width:500px}#createuser .acf-field .acf-field input[type=email],#createuser .acf-field .acf-field input[type=number],#createuser .acf-field .acf-field input[type=password],#createuser .acf-field .acf-field input[type=search],#createuser .acf-field .acf-field input[type=text],#createuser .acf-field .acf-field input[type=url],#createuser .acf-field .acf-field select,#createuser .acf-field .acf-field textarea,#your-profile .acf-field .acf-field input[type=email],#your-profile .acf-field .acf-field input[type=number],#your-profile .acf-field .acf-field input[type=password],#your-profile .acf-field .acf-field input[type=search],#your-profile .acf-field .acf-field input[type=text],#your-profile .acf-field .acf-field input[type=url],#your-profile .acf-field .acf-field select,#your-profile .acf-field .acf-field textarea{max-width:none}#registerform h2{margin:1em 0}#registerform .acf-field{margin-top:0}#registerform .acf-field .acf-label{margin-bottom:0}#registerform .acf-field .acf-label label{font-weight:400;line-height:1.5}#registerform p.submit{text-align:right}#acf-term-fields{padding-right:5%}#acf-term-fields>.acf-field>.acf-label{margin:0}#acf-term-fields>.acf-field>.acf-label label{font-size:12px;font-weight:400}p.submit .acf-spinner,p.submit .spinner{vertical-align:top;float:none;margin:4px 4px 0}#edittag .acf-fields.-left>.acf-field{padding-left:220px}#edittag .acf-fields.-left>.acf-field:before{width:209px}#edittag .acf-fields.-left>.acf-field>.acf-label{width:220px;margin-left:-220px;padding:0 10px}#edittag .acf-fields.-left>.acf-field>.acf-input{padding:0}#edittag>.acf-fields.-left{width:96%}#edittag>.acf-fields.-left>.acf-field>.acf-label{padding-left:0}.editcomment td:first-child{white-space:nowrap;width:131px}#widgets-right .widget .acf-field .description{padding-left:0;padding-right:0}.acf-widget-fields>.acf-field .acf-label{margin-bottom:5px}.acf-widget-fields>.acf-field .acf-label label{font-weight:400;margin:0}.acf-menu-settings{border-top:1px solid #eee;margin-top:2em}.acf-menu-settings.-seamless{border-top:none;margin-top:15px}.acf-menu-settings.-seamless>h2{display:none}.acf-menu-settings .list li{display:block;margin-bottom:0}.acf-fields.acf-menu-item-fields{clear:both;padding-top:1px}.acf-fields.acf-menu-item-fields>.acf-field{margin:5px 0;padding-right:10px}.acf-fields.acf-menu-item-fields>.acf-field .acf-label{margin-bottom:0}.acf-fields.acf-menu-item-fields>.acf-field .acf-label label{font-style:italic;font-weight:400}#post .compat-attachment-fields .compat-field-acf-form-data{display:none}#post .compat-attachment-fields,#post .compat-attachment-fields>tbody,#post .compat-attachment-fields>tbody>tr,#post .compat-attachment-fields>tbody>tr>td,#post .compat-attachment-fields>tbody>tr>th{display:block}#post .compat-attachment-fields>tbody>.acf-field{margin:15px 0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label{margin:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label{margin:0;padding:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label p{margin:0 0 3px!important}#post .compat-attachment-fields>tbody>.acf-field>.acf-input{margin:0}.media-modal .compat-attachment-fields td.acf-input table{display:table;table-layout:auto}.media-modal .compat-attachment-fields td.acf-input table tbody{display:table-row-group}.media-modal .compat-attachment-fields td.acf-input table tr{display:table-row}.media-modal .compat-attachment-fields td.acf-input table td,.media-modal .compat-attachment-fields td.acf-input table th{display:table-cell}.media-modal .compat-attachment-fields>tbody>.acf-field{margin:5px 0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:30%;margin:0;padding:0;float:left;text-align:right;display:block;float:left}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label>label{padding-top:6px;margin:0;color:#666;font-weight:400;line-height:16px}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{width:65%;margin:0;padding:0;float:right;display:block}.media-modal .compat-attachment-fields>tbody>.acf-field p.description{margin:0}.acf-selection-error{background:#ffebe8;border:1px solid #c00;border-radius:3px;padding:8px;margin:20px 0 0}.acf-selection-error .selection-error-label{background:#c00;border-radius:3px;color:#fff;font-weight:700;margin-right:8px;padding:2px 4px}.acf-selection-error .selection-error-message{color:#b44;display:block;padding-top:8px;word-wrap:break-word;white-space:pre-wrap}.media-modal .attachment.acf-disabled .thumbnail{opacity:.25!important}.media-modal .attachment.acf-disabled .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.media-modal .compat-field-acf-blank,.media-modal .compat-field-acf-form-data{display:none!important}.media-modal .upload-error-message{white-space:pre-wrap}.media-modal .acf-required{padding:0!important;margin:0!important;float:none!important;color:red!important}.media-modal .media-sidebar .compat-item{padding-bottom:20px}@media (max-width:900px){.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label,.media-modal .setting span{width:98%;float:none;text-align:left;min-height:0;padding:0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input,.media-modal .setting input,.media-modal .setting textarea{float:none;height:auto;max-width:none;width:98%}}.media-modal .acf-expand-details{float:right;padding:8px 10px;margin-right:6px;font-size:13px;height:18px;line-height:18px;color:#666;text-decoration:none}.media-modal .acf-expand-details:active,.media-modal .acf-expand-details:focus{outline:0 none;box-shadow:none;color:#666}.media-modal .acf-expand-details:hover{color:#000}.media-modal .acf-expand-details .is-open{display:none}.media-modal .acf-expand-details .is-closed{display:block}@media (max-width:640px){.media-modal .acf-expand-details{display:none}}.media-modal.acf-expanded .acf-expand-details .is-open{display:block}.media-modal.acf-expanded .acf-expand-details .is-closed{display:none}.media-modal.acf-expanded .attachments-browser .attachments,.media-modal.acf-expanded .attachments-browser .media-toolbar{right:740px}.media-modal.acf-expanded .media-sidebar{width:708px}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{float:left;max-height:none}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img{max-width:100%;max-height:200px}.media-modal.acf-expanded .media-sidebar .attachment-info .details{float:right}.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:20%;margin-right:0}.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,.media-modal.acf-expanded .media-sidebar .attachment-details .setting+.description,.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-input{min-width:77%}@media (max-width:900px){.media-modal.acf-expanded .attachments-browser .media-toolbar{display:none}.media-modal.acf-expanded .attachments{display:none}.media-modal.acf-expanded .media-sidebar{width:auto;max-width:none!important;bottom:0!important}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{min-width:0;max-width:none;width:30%}.media-modal.acf-expanded .media-sidebar .attachment-info .details{min-width:0;max-width:none;width:67%}}@media (max-width:640px){.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{width:100%}}.acf-media-modal .media-embed .setting.align,.acf-media-modal .media-embed .setting.link-to{display:none}.acf-media-modal.-edit{left:15%;right:15%;top:100px;bottom:100px}.acf-media-modal.-edit .media-frame-content .attachments,.acf-media-modal.-edit .media-frame-content .media-toolbar,.acf-media-modal.-edit .media-frame-menu,.acf-media-modal.-edit .media-frame-router{display:none}.acf-media-modal.-edit .media-frame-content,.acf-media-modal.-edit .media-frame-title,.acf-media-modal.-edit .media-frame-toolbar,.acf-media-modal.-edit .media-sidebar{width:auto;left:0;right:0}.acf-media-modal.-edit .media-frame-content{top:50px}.acf-media-modal.-edit .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.acf-media-modal.-edit .media-sidebar{padding:0 16px}.acf-media-modal.-edit .media-sidebar .attachment-details{overflow:visible}.acf-media-modal.-edit .media-sidebar .attachment-details>h2,.acf-media-modal.-edit .media-sidebar .attachment-details>h3{display:none}.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info{background:#fff;border-bottom:#ddd solid 1px;padding:16px;margin:0 -16px 16px}.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail{margin:0 16px 0 0}.acf-media-modal.-edit .media-sidebar .attachment-details .setting{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .attachment-details .setting span{margin:0}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field p.description{margin-top:3px}.acf-media-modal.-edit .media-sidebar .media-types-required-info{display:none}@media (max-width:900px){.acf-media-modal.-edit{top:30px;right:30px;bottom:30px;left:30px}}@media (max-width:640px){.acf-media-modal.-edit{top:0;right:0;bottom:0;left:0}}@media (max-width:480px){.acf-media-modal.-edit .media-frame-content{top:40px}}.acf-temp-remove{position:relative;opacity:1;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;overflow:hidden}.acf-temp-remove:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:99}.hidden-by-conditional-logic{display:none!important}.hidden-by-conditional-logic.appear-empty{display:table-cell!important}.hidden-by-conditional-logic.appear-empty .acf-input{display:none!important}.acf-postbox.acf-hidden{display:none!important}.acf-attention{transition:border .25s ease-out}.acf-attention.-focused{border:#23282d solid 1px!important;transition:none}tr.acf-attention{transition:box-shadow .25s ease-out;position:relative}tr.acf-attention.-focused{box-shadow:#23282d 0 0 0 1px!important}#editor .edit-post-layout__metaboxes{padding:0}#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area{margin:0}#editor .metabox-location-side .postbox-container{float:none}#editor .postbox{color:#444}#editor .postbox>.postbox-header .hndle{border-bottom:none}#editor .postbox>.postbox-header .hndle:hover{background:0 0}#editor .postbox>.postbox-header .handle-actions .handle-order-higher,#editor .postbox>.postbox-header .handle-actions .handle-order-lower{width:1.62rem}#editor .postbox>.postbox-header .handle-actions .acf-hndle-cog{height:44px;line-height:44px}#editor .postbox>.postbox-header:hover{background:#f0f0f0}#editor .postbox:last-child.closed>.postbox-header{border-bottom:none}#editor .postbox:last-child>.inside{border-bottom:none}#editor .block-editor-writing-flow__click-redirect{min-height:50px}body.is-dragging-metaboxes #acf_after_title-sortables{outline:3px dashed #646970;display:flow-root;min-height:60px;margin-bottom:3px!important}
1
+ .acf-field,.acf-field .acf-label,.acf-field .acf-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative}.acf-field{margin:15px 0;clear:both}.acf-field p.description{display:block;margin:0;padding:0}.acf-field .acf-label{vertical-align:top;margin:0 0 10px}.acf-field .acf-label label{display:block;font-weight:bold;margin:0 0 3px;padding:0}.acf-field .acf-label:empty{margin-bottom:0}.acf-field .acf-input{vertical-align:top}.acf-field .acf-input>p.description{margin-top:5px}.acf-field .acf-notice{margin:0 0 15px;background:#edf2ff;color:#0c6ca0;border-color:#2183b9}.acf-field .acf-notice.-error{background:#ffe6e6;color:#cc2727;border-color:#d12626}.acf-field .acf-notice.-success{background:#eefbe8;color:#0e7b17;border-color:#32a23b}.acf-field .acf-notice.-warning{background:#fff3e6;color:#bd4b0e;border-color:#d16226}td.acf-field,tr.acf-field{margin:0}.acf-field[data-width]{float:left;clear:none}.acf-field[data-width]+.acf-field[data-width]{border-left:1px solid #eee}html[dir=rtl] .acf-field[data-width]{float:right}html[dir=rtl] .acf-field[data-width]+.acf-field[data-width]{border-left:none;border-right:1px solid #eee}td.acf-field[data-width],tr.acf-field[data-width]{float:none}.acf-field.-c0{clear:both;border-left-width:0 !important}html[dir=rtl] .acf-field.-c0{border-left-width:1px !important;border-right-width:0 !important}.acf-field.-r0{border-top-width:0 !important}.acf-fields{position:relative}.acf-fields:after{display:block;clear:both;content:""}.acf-fields.-border{border:#ccd0d4 solid 1px;background:#fff}.acf-fields>.acf-field{position:relative;margin:0;padding:15px 12px;border-top:#eee solid 1px}.acf-fields>.acf-field:first-child{border-top:none;margin-top:0}td.acf-fields{padding:0 !important}.acf-fields.-clear>.acf-field{border:none;padding:0;margin:15px 0}.acf-fields.-clear>.acf-field[data-width]{border:none !important}.acf-fields.-clear>.acf-field>.acf-label{padding:0}.acf-fields.-clear>.acf-field>.acf-input{padding:0}.acf-fields.-left>.acf-field{padding:15px 0}.acf-fields.-left>.acf-field:after{display:block;clear:both;content:""}.acf-fields.-left>.acf-field:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acf-fields.-left>.acf-field[data-width]{float:none;width:auto !important;border-left-width:0 !important;border-right-width:0 !important}.acf-fields.-left>.acf-field>.acf-label{float:left;width:20%;margin:0;padding:0 12px}.acf-fields.-left>.acf-field>.acf-input{float:left;width:80%;margin:0;padding:0 12px}html[dir=rtl] .acf-fields.-left>.acf-field:before{border-width:0 0 0 1px;left:auto;right:0}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-label{float:right}html[dir=rtl] .acf-fields.-left>.acf-field>.acf-input{float:right}#side-sortables .acf-fields.-left>.acf-field:before{display:none}#side-sortables .acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}#side-sortables .acf-fields.-left>.acf-field>.acf-input{width:100%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-field:before{display:none}.acf-fields.-left>.acf-field>.acf-label{width:100%;margin-bottom:10px}.acf-fields.-left>.acf-field>.acf-input{width:100%}}.acf-fields.-clear.-left>.acf-field{padding:0;border:none}.acf-fields.-clear.-left>.acf-field:before{display:none}.acf-fields.-clear.-left>.acf-field>.acf-label{padding:0}.acf-fields.-clear.-left>.acf-field>.acf-input{padding:0}.acf-table tr.acf-field>td.acf-label{padding:15px 12px;margin:0;background:#f9f9f9;width:20%}.acf-table tr.acf-field>td.acf-input{padding:15px 12px;margin:0;border-left-color:#e1e1e1}.acf-sortable-tr-helper{position:relative !important;display:table-row !important}.acf-postbox{position:relative}.acf-postbox>.inside{margin:0 !important;padding:0 !important}.acf-postbox .acf-hndle-cog{color:#72777c;font-size:16px;line-height:36px;height:36px;width:1.62rem;position:relative;display:none}.acf-postbox .acf-hndle-cog:hover{color:#191e23}.acf-postbox>.hndle:hover .acf-hndle-cog,.acf-postbox>.postbox-header:hover .acf-hndle-cog{display:inline-block}.acf-postbox>.hndle .acf-hndle-cog{height:20px;line-height:20px;float:right;width:auto}.acf-postbox>.hndle .acf-hndle-cog:hover{color:#777}.acf-postbox .acf-replace-with-fields{padding:15px;text-align:center}#post-body-content #acf_after_title-sortables{margin:20px 0 -20px}.acf-postbox.seamless{border:0 none;background:transparent;box-shadow:none}.acf-postbox.seamless>.postbox-header,.acf-postbox.seamless>.hndle,.acf-postbox.seamless>.handlediv{display:none !important}.acf-postbox.seamless>.inside{display:block !important;margin-left:-12px !important;margin-right:-12px !important}.acf-postbox.seamless>.inside>.acf-field{border-color:transparent}.acf-postbox.seamless>.acf-fields.-left>.acf-field:before{display:none}@media screen and (max-width: 782px){.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-label,.acf-postbox.seamless>.acf-fields.-left>.acf-field>.acf-input{padding:0}}.acf-field input[type=text],.acf-field input[type=password],.acf-field input[type=date],.acf-field input[type=datetime],.acf-field input[type=datetime-local],.acf-field input[type=email],.acf-field input[type=month],.acf-field input[type=number],.acf-field input[type=search],.acf-field input[type=tel],.acf-field input[type=time],.acf-field input[type=url],.acf-field input[type=week],.acf-field textarea,.acf-field select{width:100%;padding:4px 8px;margin:0;box-sizing:border-box;font-size:14px;line-height:1.4}.acf-admin-3-8 .acf-field input[type=text],.acf-admin-3-8 .acf-field input[type=password],.acf-admin-3-8 .acf-field input[type=date],.acf-admin-3-8 .acf-field input[type=datetime],.acf-admin-3-8 .acf-field input[type=datetime-local],.acf-admin-3-8 .acf-field input[type=email],.acf-admin-3-8 .acf-field input[type=month],.acf-admin-3-8 .acf-field input[type=number],.acf-admin-3-8 .acf-field input[type=search],.acf-admin-3-8 .acf-field input[type=tel],.acf-admin-3-8 .acf-field input[type=time],.acf-admin-3-8 .acf-field input[type=url],.acf-admin-3-8 .acf-field input[type=week],.acf-admin-3-8 .acf-field textarea,.acf-admin-3-8 .acf-field select{padding:3px 5px}.acf-field textarea{resize:vertical}body.acf-browser-firefox .acf-field select{padding:4px 5px}.acf-input-prepend,.acf-input-append,.acf-input-wrap{box-sizing:border-box}.acf-input-prepend,.acf-input-append{font-size:14px;line-height:1.4;padding:4px 8px;background:#f5f5f5;border:#7e8993 solid 1px;min-height:30px}.acf-admin-3-8 .acf-input-prepend,.acf-admin-3-8 .acf-input-append{padding:3px 5px;border-color:#ddd;min-height:28px}.acf-input-prepend{float:left;border-right-width:0;border-radius:3px 0 0 3px}.acf-input-append{float:right;border-left-width:0;border-radius:0 3px 3px 0}.acf-input-wrap{position:relative;overflow:hidden}.acf-input-wrap .acf-is-prepended{border-radius:0 3px 3px 0 !important}.acf-input-wrap .acf-is-appended{border-radius:3px 0 0 3px !important}.acf-input-wrap .acf-is-prepended.acf-is-appended{border-radius:0 !important}html[dir=rtl] .acf-input-prepend{border-left-width:0;border-right-width:1px;border-radius:0 3px 3px 0;float:right}html[dir=rtl] .acf-input-append{border-left-width:1px;border-right-width:0;border-radius:3px 0 0 3px;float:left}html[dir=rtl] input.acf-is-prepended{border-radius:3px 0 0 3px !important}html[dir=rtl] input.acf-is-appended{border-radius:0 3px 3px 0 !important}html[dir=rtl] input.acf-is-prepended.acf-is-appended{border-radius:0 !important}.acf-color-picker .wp-color-result{border-color:#7e8993}.acf-admin-3-8 .acf-color-picker .wp-color-result{border-color:#ccd0d4}.acf-color-picker .wp-picker-active{position:relative;z-index:1}.acf-url i{position:absolute;top:5px;left:5px;opacity:.5;color:#7e8993}.acf-url input[type=url]{padding-left:27px !important}.acf-url.-valid i{opacity:1}.select2-container.-acf .select2-choices{background:#fff;border-color:#ddd;box-shadow:0 1px 2px rgba(0,0,0,.07) inset;min-height:31px}.select2-container.-acf .select2-choices .select2-search-choice{margin:5px 0 5px 5px;padding:3px 5px 3px 18px;border-color:#bbb;background:#f9f9f9;box-shadow:0 1px 0 rgba(255,255,255,.25) inset}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-helper a{visibility:hidden}.select2-container.-acf .select2-choices .select2-search-choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible !important}.select2-container.-acf .select2-choices .select2-search-choice-focus{border-color:#999}.select2-container.-acf .select2-choices .select2-search-field input{height:31px;line-height:22px;margin:0;padding:5px 5px 5px 7px}.select2-container.-acf .select2-choice{border-color:#bbb}.select2-container.-acf .select2-choice .select2-arrow{background:transparent;border-left-color:#dfdfdf;padding-left:1px}.select2-container.-acf .select2-choice .select2-result-description{display:none}.select2-container.-acf.select2-container-active .select2-choices,.select2-container.-acf.select2-dropdown-open .select2-choices{border-color:#5b9dd9;border-radius:3px 3px 0 0}.select2-container.-acf.select2-dropdown-open .select2-choice{background:#fff;border-color:#5b9dd9}html[dir=rtl] .select2-container.-acf .select2-search-choice-close{left:24px}html[dir=rtl] .select2-container.-acf .select2-choice>.select2-chosen{margin-left:42px}html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow{padding-left:0;padding-right:1px}.select2-drop .select2-search{padding:4px 4px 0}.select2-drop .select2-result .select2-result-description{color:#999;font-size:12px;margin-left:5px}.select2-drop .select2-result.select2-highlighted .select2-result-description{color:#fff;opacity:.75}.select2-container.-acf li{margin-bottom:0}.select2-container.-acf .select2-selection{border-color:#7e8993}.acf-admin-3-8 .select2-container.-acf .select2-selection{border-color:#aaa}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child{float:none}.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input{width:100% !important}.select2-container.-acf .select2-selection--multiple .select2-selection__rendered{padding-right:0}.select2-container.-acf .select2-selection--multiple .select2-selection__choice{background-color:#f7f7f7;border-color:#ccc;max-width:100%;overflow:hidden;word-wrap:normal !important;white-space:normal}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper{background:#5897fb;border-color:#3f87fa;color:#fff;box-shadow:0 0 3px rgba(0,0,0,.1)}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span{visibility:hidden}.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder{background-color:#f7f7f7;border-color:#f7f7f7;visibility:visible !important}.select2-container.-acf .select2-selection--multiple .select2-search__field{box-shadow:none !important;min-height:0}.acf-row .select2-container.-acf .select2-selection--single{overflow:hidden}.acf-row .select2-container.-acf .select2-selection--single .select2-selection__rendered{white-space:normal}.select2-container .select2-dropdown{z-index:900000}.select2-container .select2-dropdown .select2-search__field{line-height:1.4;min-height:0}.acf-link .link-wrap{display:none;border:#ccd0d4 solid 1px;border-radius:3px;padding:5px;line-height:26px;background:#fff;word-wrap:break-word;word-break:break-all}.acf-link .link-wrap .link-title{padding:0 5px}.acf-link.-value .button{display:none}.acf-link.-value .acf-icon.-link-ext{display:none}.acf-link.-value .link-wrap{display:inline-block}.acf-link.-external .acf-icon.-link-ext{display:inline-block}#wp-link-backdrop{z-index:900000 !important}#wp-link-wrap{z-index:900001 !important}ul.acf-radio-list,ul.acf-checkbox-list{background:transparent;position:relative;padding:1px;margin:0}ul.acf-radio-list li,ul.acf-checkbox-list li{font-size:13px;line-height:22px;margin:0;position:relative;word-wrap:break-word}ul.acf-radio-list li label,ul.acf-checkbox-list li label{display:inline}ul.acf-radio-list li input[type=checkbox],ul.acf-radio-list li input[type=radio],ul.acf-checkbox-list li input[type=checkbox],ul.acf-checkbox-list li input[type=radio]{margin:-1px 4px 0 0;vertical-align:middle}ul.acf-radio-list li input[type=text],ul.acf-checkbox-list li input[type=text]{width:auto;vertical-align:middle;margin:2px 0}ul.acf-radio-list li span,ul.acf-checkbox-list li span{float:none}ul.acf-radio-list li i,ul.acf-checkbox-list li i{vertical-align:middle}ul.acf-radio-list.acf-hl li,ul.acf-checkbox-list.acf-hl li{margin-right:20px;clear:none}html[dir=rtl] ul.acf-radio-list input[type=checkbox],html[dir=rtl] ul.acf-radio-list input[type=radio],html[dir=rtl] ul.acf-checkbox-list input[type=checkbox],html[dir=rtl] ul.acf-checkbox-list input[type=radio]{margin-left:4px;margin-right:0}.acf-button-group{display:inline-block}.acf-button-group label{display:inline-block;border:#7e8993 solid 1px;position:relative;z-index:1;padding:5px 10px;background:#fff}.acf-button-group label:hover{color:#016087;background:#f3f5f6;border-color:#0071a1;z-index:2}.acf-button-group label.selected{border-color:#007cba;background:#008dd4;color:#fff;z-index:2}.acf-button-group input{display:none !important}.acf-button-group{padding-left:1px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}.acf-button-group label{margin:0 0 0 -1px;flex:1;text-align:center;white-space:nowrap}.acf-button-group label:first-child{border-radius:3px 0 0 3px}html[dir=rtl] .acf-button-group label:first-child{border-radius:0 3px 3px 0}.acf-button-group label:last-child{border-radius:0 3px 3px 0}html[dir=rtl] .acf-button-group label:last-child{border-radius:3px 0 0 3px}.acf-button-group label:only-child{border-radius:3px}.acf-button-group.-vertical{padding-left:0;padding-top:1px;flex-direction:column}.acf-button-group.-vertical label{margin:-1px 0 0 0}.acf-button-group.-vertical label:first-child{border-radius:3px 3px 0 0}.acf-button-group.-vertical label:last-child{border-radius:0 0 3px 3px}.acf-button-group.-vertical label:only-child{border-radius:3px}.acf-admin-3-8 .acf-button-group label{border-color:#ccd0d4}.acf-admin-3-8 .acf-button-group label:hover{border-color:#0071a1}.acf-admin-3-8 .acf-button-group label.selected{border-color:#007cba}.acf-checkbox-list .button{margin:10px 0 0}.acf-switch{display:inline-block;border-radius:5px;cursor:pointer;position:relative;background:#f5f5f5;height:30px;vertical-align:middle;border:#7e8993 solid 1px;-webkit-transition:background .25s ease;-moz-transition:background .25s ease;-o-transition:background .25s ease;transition:background .25s ease}.acf-switch span{display:inline-block;float:left;text-align:center;font-size:13px;line-height:22px;padding:4px 10px;min-width:15px}.acf-switch span i{vertical-align:middle}.acf-switch .acf-switch-on{color:#fff;text-shadow:#007cba 0 1px 0}.acf-switch .acf-switch-slider{position:absolute;top:2px;left:2px;bottom:2px;right:50%;z-index:1;background:#fff;border-radius:3px;border:#7e8993 solid 1px;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;transition-property:left,right}.acf-switch:hover,.acf-switch.-focus{border-color:#0071a1;background:#f3f5f6;color:#016087}.acf-switch:hover .acf-switch-slider,.acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-switch.-on{background:#0d99d5;border-color:#007cba}.acf-switch.-on .acf-switch-slider{left:50%;right:2px;border-color:#007cba}.acf-switch.-on:hover{border-color:#007cba}.acf-switch+span{margin-left:6px}.acf-admin-3-8 .acf-switch{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch .acf-switch-slider{border-color:#ccd0d4}.acf-admin-3-8 .acf-switch:hover,.acf-admin-3-8 .acf-switch.-focus{border-color:#0071a1}.acf-admin-3-8 .acf-switch:hover .acf-switch-slider,.acf-admin-3-8 .acf-switch.-focus .acf-switch-slider{border-color:#0071a1}.acf-admin-3-8 .acf-switch.-on{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on .acf-switch-slider{border-color:#007cba}.acf-admin-3-8 .acf-switch.-on:hover{border-color:#007cba}.acf-switch-input{opacity:0;position:absolute;margin:0}.compat-item .acf-true-false .message{float:none;padding:0;vertical-align:middle}.acf-google-map{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-google-map .title{position:relative;border-bottom:#ccd0d4 solid 1px}.acf-google-map .title .search{margin:0;font-size:14px;line-height:30px;height:40px;padding:5px 10px;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-google-map .title .acf-loading{position:absolute;top:10px;right:11px;display:none}.acf-google-map .title .acf-icon:active{display:inline-block !important}.acf-google-map .canvas{height:400px}.acf-google-map:hover .title .acf-actions{display:block}.acf-google-map .title .acf-icon.-location{display:inline-block}.acf-google-map .title .acf-icon.-cancel,.acf-google-map .title .acf-icon.-search{display:none}.acf-google-map.-value .title .search{font-weight:bold}.acf-google-map.-value .title .acf-icon.-location{display:none}.acf-google-map.-value .title .acf-icon.-cancel{display:inline-block}.acf-google-map.-searching .title .acf-icon.-location{display:none}.acf-google-map.-searching .title .acf-icon.-cancel,.acf-google-map.-searching .title .acf-icon.-search{display:inline-block}.acf-google-map.-searching .title .acf-actions{display:block}.acf-google-map.-searching .title .search{font-weight:normal !important}.acf-google-map.-loading .title a{display:none !important}.acf-google-map.-loading .title i{display:inline-block}.pac-container{border-width:1px 0;box-shadow:none}.pac-container:after{display:none}.pac-container .pac-item:first-child{border-top:0 none}.pac-container .pac-item{padding:5px 10px;cursor:pointer}html[dir=rtl] .pac-container .pac-item{text-align:right}.acf-relationship{background:#fff;border:#ccd0d4 solid 1px}.acf-relationship .filters{border-bottom:#ccd0d4 solid 1px;background:#fff}.acf-relationship .filters:after{display:block;clear:both;content:""}.acf-relationship .filters .filter{margin:0;padding:0;float:left;width:100%;box-sizing:border-box;padding:7px 7px 7px 0}.acf-relationship .filters .filter:first-child{padding-left:7px}.acf-relationship .filters .filter input,.acf-relationship .filters .filter select{margin:0;float:none}.acf-relationship .filters .filter input:focus,.acf-relationship .filters .filter input:active,.acf-relationship .filters .filter select:focus,.acf-relationship .filters .filter select:active{outline:none;box-shadow:none}.acf-relationship .filters .filter input{border-color:transparent;box-shadow:none;padding-left:3px;padding-right:3px}.acf-relationship .filters.-f2 .filter{width:50%}.acf-relationship .filters.-f3 .filter{width:25%}.acf-relationship .filters.-f3 .filter.-search{width:50%}.acf-relationship .list{margin:0;padding:5px;height:160px;overflow:auto}.acf-relationship .list .acf-rel-label,.acf-relationship .list .acf-rel-item,.acf-relationship .list p{padding:5px;margin:0;display:block;position:relative;min-height:18px}.acf-relationship .list .acf-rel-label{font-weight:bold}.acf-relationship .list .acf-rel-item{cursor:pointer}.acf-relationship .list .acf-rel-item b{text-decoration:underline;font-weight:normal}.acf-relationship .list .acf-rel-item .thumbnail{background:#e0e0e0;width:22px;height:22px;float:left;margin:-2px 5px 0 0}.acf-relationship .list .acf-rel-item .thumbnail img{max-width:22px;max-height:22px;margin:0 auto;display:block}.acf-relationship .list .acf-rel-item .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item .thumbnail.-icon img{max-height:20px;margin-top:1px}.acf-relationship .list .acf-rel-item:hover{background:#3875d7;color:#fff}.acf-relationship .list .acf-rel-item:hover .thumbnail{background:#a2bfec}.acf-relationship .list .acf-rel-item:hover .thumbnail.-icon{background:#fff}.acf-relationship .list .acf-rel-item.disabled{opacity:.5}.acf-relationship .list .acf-rel-item.disabled:hover{background:transparent;color:#333;cursor:default}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail{background:#e0e0e0}.acf-relationship .list .acf-rel-item.disabled:hover .thumbnail.-icon{background:#fff}.acf-relationship .list ul{padding-bottom:5px}.acf-relationship .list ul .acf-rel-label,.acf-relationship .list ul .acf-rel-item,.acf-relationship .list ul p{padding-left:20px}.acf-relationship .selection{position:relative}.acf-relationship .selection:after{display:block;clear:both;content:""}.acf-relationship .selection .values,.acf-relationship .selection .choices{width:50%;background:#fff;float:left}.acf-relationship .selection .choices{background:#f9f9f9}.acf-relationship .selection .choices .list{border-right:#dfdfdf solid 1px}.acf-relationship .selection .values .acf-icon{position:absolute;top:4px;right:7px;display:none}html[dir=rtl] .acf-relationship .selection .values .acf-icon{right:auto;left:7px}.acf-relationship .selection .values .acf-rel-item:hover .acf-icon{display:block}.acf-relationship .selection .values .acf-rel-item{cursor:move}.acf-relationship .selection .values .acf-rel-item b{text-decoration:none}.menu-item .acf-relationship ul{width:auto}.menu-item .acf-relationship li{display:block}.acf-editor-wrap.delay .acf-editor-toolbar{content:"";display:block;background:#f5f5f5;border-bottom:#ddd solid 1px;color:#555d66;padding:10px}.acf-editor-wrap.delay .wp-editor-area{padding:10px;border:none;color:inherit !important}.acf-editor-wrap iframe{min-height:200px}.acf-editor-wrap .wp-editor-container{border:1px solid #ccd0d4;box-shadow:none !important}.acf-editor-wrap .wp-editor-tabs{box-sizing:content-box}.acf-editor-wrap .wp-switch-editor{border-color:#ccd0d4;border-bottom-color:transparent}#mce_fullscreen_container{z-index:900000 !important}.acf-field-tab{display:none !important}.hidden-by-tab{display:none !important}.acf-tab-wrap{clear:both;z-index:1}.acf-tab-group{border-bottom:#ccc solid 1px;padding:10px 10px 0}.acf-tab-group li{margin:0 .5em 0 0}.acf-tab-group li a{padding:5px 10px;display:block;color:#555;font-size:14px;font-weight:600;line-height:24px;border:#ccc solid 1px;border-bottom:0 none;text-decoration:none;background:#e5e5e5;transition:none}.acf-tab-group li a:hover{background:#fff}.acf-tab-group li a:focus{outline:none;box-shadow:none}.acf-tab-group li a:empty{display:none}html[dir=rtl] .acf-tab-group li{margin:0 0 0 .5em}.acf-tab-group li.active a{background:#f1f1f1;color:#000;padding-bottom:6px;margin-bottom:-1px;position:relative;z-index:1}.acf-fields>.acf-tab-wrap{background:#f9f9f9}.acf-fields>.acf-tab-wrap .acf-tab-group{position:relative;border-top:#ccd0d4 solid 1px;border-bottom:#ccd0d4 solid 1px;z-index:2;margin-bottom:-1px}.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1;border-color:#ccd0d4}.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.acf-admin-3-8 .acf-fields>.acf-tab-wrap .acf-tab-group{border-color:#dfdfdf}.acf-fields>.acf-tab-wrap:first-child .acf-tab-group{border-top:none}.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:20%}@media screen and (max-width: 640px){.acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:10px}}html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-left:0;padding-right:20%}@media screen and (max-width: 850px){html[dir=rtl] .acf-fields.-left>.acf-tab-wrap .acf-tab-group{padding-right:10px}}.acf-tab-wrap.-left .acf-tab-group{position:absolute;left:0;width:20%;border:0 none;padding:0 !important;margin:1px 0 0}.acf-tab-wrap.-left .acf-tab-group li{float:none;margin:-1px 0 0}.acf-tab-wrap.-left .acf-tab-group li a{border:1px solid #ededed;font-size:13px;line-height:18px;color:#0073aa;padding:10px;margin:0;font-weight:normal;border-width:1px 0;border-radius:0;background:transparent}.acf-tab-wrap.-left .acf-tab-group li a:hover{color:#00a0d2}.acf-tab-wrap.-left .acf-tab-group li.active a{border-color:#dfdfdf;color:#000;margin-right:-1px;background:#fff}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group{left:auto;right:0}html[dir=rtl] .acf-tab-wrap.-left .acf-tab-group li.active a{margin-right:0;margin-left:-1px}.acf-field+.acf-tab-wrap.-left:before{content:"";display:block;position:relative;z-index:1;height:10px;border-top:#dfdfdf solid 1px;border-bottom:#dfdfdf solid 1px;margin-bottom:-1px}.acf-tab-wrap.-left:first-child .acf-tab-group li:first-child a{border-top:none}.acf-fields.-sidebar{padding:0 0 0 20% !important;position:relative}.acf-fields.-sidebar:before{content:"";display:block;position:absolute;top:0;left:0;width:20%;bottom:0;border-right:#dfdfdf solid 1px;background:#f9f9f9;z-index:1}html[dir=rtl] .acf-fields.-sidebar{padding:0 20% 0 0 !important}html[dir=rtl] .acf-fields.-sidebar:before{border-left:#dfdfdf solid 1px;border-right-width:0;left:auto;right:0}.acf-fields.-sidebar.-left{padding:0 0 0 180px !important}html[dir=rtl] .acf-fields.-sidebar.-left{padding:0 180px 0 0 !important}.acf-fields.-sidebar.-left:before{background:#f1f1f1;border-color:#dfdfdf;width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group{width:180px}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li a{border-color:#e4e4e4}.acf-fields.-sidebar.-left>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f9f9f9}.acf-fields.-sidebar>.acf-field-tab+.acf-field{border-top:none}.acf-fields.-clear>.acf-tab-wrap{background:transparent}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group{margin-top:0;border-top:none;padding-left:0;padding-right:0}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields.-sidebar{margin-left:0 !important}.acf-postbox.seamless>.acf-fields.-sidebar:before{background:transparent}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap{background:transparent;margin-bottom:10px;padding-left:12px;padding-right:12px}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group{border-top:0 none;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a{background:#e5e5e5;border-color:#ccd0d4}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li a:hover{background:#fff}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap .acf-tab-group li.active a{background:#f1f1f1}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left:before{border-top:none;height:auto}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group{margin-bottom:0}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li a{border-width:1px 0 1px 1px !important;border-color:#ccc;background:#e5e5e5}.acf-postbox.seamless>.acf-fields>.acf-tab-wrap.-left .acf-tab-group li.active a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a{background:#f1f1f1}.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.menu-edit .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li a:hover,.widget .acf-fields.-clear>.acf-tab-wrap .acf-tab-group li.active a{background:#fff}.compat-item .acf-tab-wrap td{display:block}.acf-gallery-side .acf-tab-wrap{border-top:0 none !important}.acf-gallery-side .acf-tab-wrap .acf-tab-group{margin:10px 0 !important;padding:0 !important}.acf-gallery-side .acf-tab-group li.active a{background:#f9f9f9 !important}.widget .acf-tab-group{border-bottom-color:#e8e8e8}.widget .acf-tab-group li a{background:#f1f1f1}.widget .acf-tab-group li.active a{background:#fff}.media-modal.acf-expanded .compat-attachment-fields>tbody>tr.acf-tab-wrap .acf-tab-group{padding-left:23%;border-bottom-color:#ddd}.form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 5px 0 210px}html[dir=rtl] .form-table>tbody>tr.acf-tab-wrap .acf-tab-group{padding:0 210px 0 5px}.acf-oembed{position:relative;border:#ccd0d4 solid 1px;background:#fff}.acf-oembed .title{position:relative;border-bottom:#ccd0d4 solid 1px;padding:5px 10px}.acf-oembed .title .input-search{margin:0;font-size:14px;line-height:30px;height:30px;padding:0;border:0 none;box-shadow:none;border-radius:0;font-family:inherit;cursor:text}.acf-oembed .title .acf-actions{padding:6px}.acf-oembed .canvas{position:relative;min-height:250px;background:#f9f9f9}.acf-oembed .canvas .canvas-media{position:relative;z-index:1}.acf-oembed .canvas iframe{display:block;margin:0;padding:0;width:100%}.acf-oembed .canvas .acf-icon.-picture{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:0;height:42px;width:42px;font-size:42px;color:#999}.acf-oembed .canvas .acf-loading-overlay{background:rgba(255,255,255,.9)}.acf-oembed .canvas .canvas-error{position:absolute;top:50%;left:0%;right:0%;margin:-9px 0 0 0;text-align:center;display:none}.acf-oembed .canvas .canvas-error p{padding:8px;margin:0;display:inline}.acf-oembed.has-value .canvas{min-height:50px}.acf-oembed.has-value .input-search{font-weight:bold}.acf-oembed.has-value .title:hover .acf-actions{display:block}.acf-image-uploader{position:relative}.acf-image-uploader:after{display:block;clear:both;content:""}.acf-image-uploader p{margin:0}.acf-image-uploader .image-wrap{position:relative;float:left}.acf-image-uploader .image-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;min-width:30px;min-height:30px;background:#f1f1f1;margin:0;padding:0}.acf-image-uploader .image-wrap img[src$=".svg"]{min-height:100px;min-width:100px}.acf-image-uploader .image-wrap:hover .acf-actions{display:block}.acf-image-uploader input.button{width:auto}html[dir=rtl] .acf-image-uploader .image-wrap{float:right}.acf-file-uploader{position:relative}.acf-file-uploader p{margin:0}.acf-file-uploader .file-wrap{border:#ccd0d4 solid 1px;min-height:84px;position:relative;background:#fff}.acf-file-uploader .file-icon{position:absolute;top:0;left:0;bottom:0;padding:10px;background:#f1f1f1;border-right:#d5d9dd solid 1px}.acf-file-uploader .file-icon img{display:block;padding:0;margin:0;max-width:48px}.acf-file-uploader .file-info{padding:10px;margin-left:69px}.acf-file-uploader .file-info p{margin:0 0 2px;font-size:13px;line-height:1.4em;word-break:break-all}.acf-file-uploader .file-info a{text-decoration:none}.acf-file-uploader:hover .acf-actions{display:block}html[dir=rtl] .acf-file-uploader .file-icon{left:auto;right:0;border-left:#e5e5e5 solid 1px;border-right:none}html[dir=rtl] .acf-file-uploader .file-info{margin-right:69px;margin-left:0}.acf-ui-datepicker .ui-datepicker{z-index:900000 !important}.acf-ui-datepicker .ui-datepicker .ui-widget-header a{cursor:pointer;transition:none}.acf-ui-datepicker .ui-state-highlight.ui-state-hover{border:1px solid #98b7e8 !important;background:#98b7e8 !important;font-weight:normal !important;color:#fff !important}.acf-ui-datepicker .ui-state-highlight.ui-state-active{border:1px solid #3875d7 !important;background:#3875d7 !important;font-weight:normal !important;color:#fff !important}.acf-field-separator .acf-label{margin-bottom:0}.acf-field-separator .acf-label label{font-weight:normal}.acf-field-separator .acf-input{display:none}.acf-fields>.acf-field-separator{background:#f9f9f9;border-bottom:1px solid #dfdfdf;border-top:1px solid #dfdfdf;margin-bottom:-1px;z-index:2}.acf-taxonomy-field{position:relative}.acf-taxonomy-field .categorychecklist-holder{border:#ccd0d4 solid 1px;border-radius:3px;max-height:200px;overflow:auto}.acf-taxonomy-field .acf-checkbox-list{margin:0;padding:10px}.acf-taxonomy-field .acf-checkbox-list ul.children{padding-left:18px}.acf-taxonomy-field:hover .acf-actions{display:block}.acf-taxonomy-field[data-ftype=select] .acf-actions{padding:0;margin:-9px}.acf-range-wrap .acf-append,.acf-range-wrap .acf-prepend{display:inline-block;vertical-align:middle;line-height:28px;margin:0 7px 0 0}.acf-range-wrap .acf-append{margin:0 0 0 7px}.acf-range-wrap input[type=range]{display:inline-block;padding:0;margin:0;vertical-align:middle;height:28px}.acf-range-wrap input[type=range]:focus{outline:none}.acf-range-wrap input[type=number]{display:inline-block;min-width:3em;margin-left:10px;vertical-align:middle}html[dir=rtl] .acf-range-wrap input[type=number]{margin-right:10px;margin-left:0}html[dir=rtl] .acf-range-wrap .acf-append{margin:0 7px 0 0}html[dir=rtl] .acf-range-wrap .acf-prepend{margin:0 0 0 7px}.acf-accordion{margin:-1px 0;padding:0;background:#fff;border-top:1px solid #d5d9dd;border-bottom:1px solid #d5d9dd;z-index:1}.acf-accordion .acf-accordion-title{margin:0;padding:12px;font-weight:bold;cursor:pointer;font-size:inherit;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title:hover{background:#f3f4f5}.acf-accordion .acf-accordion-title label{margin:0;padding:0;font-size:13px;line-height:1.4em}.acf-accordion .acf-accordion-title p{font-weight:normal}.acf-accordion .acf-accordion-title .acf-accordion-icon{float:right}.acf-accordion .acf-accordion-title svg.acf-accordion-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#191e23;fill:currentColor}.acf-accordion .acf-accordion-content{margin:0;padding:0 12px 12px;display:none}.acf-accordion.-open>.acf-accordion-content{display:block}.acf-field.acf-accordion{margin:-1px 0;padding:0 !important;border-color:#d5d9dd}.acf-field.acf-accordion .acf-label.acf-accordion-title{padding:12px;width:auto;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content{padding:0;float:none;width:auto}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields{border-top:#eee solid 1px}.acf-field.acf-accordion .acf-input.acf-accordion-content>.acf-fields.-clear{padding:0 12px 15px}.acf-fields.-left>.acf-field.acf-accordion:before{display:none}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-title{width:auto;margin:0 !important;padding:12px;float:none !important}.acf-fields.-left>.acf-field.acf-accordion .acf-accordion-content{padding:0 !important}.acf-fields.-clear>.acf-field.acf-accordion{border:#ccc solid 1px;background:transparent}.acf-fields.-clear>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-16px}tr.acf-field.acf-accordion{background:transparent}tr.acf-field.acf-accordion>.acf-input{padding:0 !important;border:#ccc solid 1px}tr.acf-field.acf-accordion .acf-accordion-content{padding:0 12px 12px}#addtag div.acf-field.error{border:0 none;padding:8px 0}#addtag>.acf-field.acf-accordion{padding-right:0;margin-right:5%}#addtag>.acf-field.acf-accordion+p.submit{margin-top:0}tr.acf-accordion{margin:15px 0 !important}tr.acf-accordion+tr.acf-accordion{margin-top:-16px !important}.acf-postbox.seamless>.acf-fields>.acf-accordion{margin-left:12px;margin-right:12px;border:#ccd0d4 solid 1px}.widget .widget-content>.acf-field.acf-accordion{border:#dfdfdf solid 1px;margin-bottom:10px}.widget .widget-content>.acf-field.acf-accordion .acf-accordion-title{margin-bottom:0}.widget .widget-content>.acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-11px}.media-modal .compat-attachment-fields .acf-field.acf-accordion+.acf-field.acf-accordion{margin-top:-1px}.media-modal .compat-attachment-fields .acf-field.acf-accordion>.acf-input{width:100%}.media-modal .compat-attachment-fields .acf-field.acf-accordion .compat-attachment-fields>tbody>tr>td{padding-bottom:5px}.block-editor .edit-post-sidebar .acf-postbox>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox>.hndle{border-bottom-width:0 !important}.block-editor .edit-post-sidebar .acf-postbox.closed>.postbox-header,.block-editor .edit-post-sidebar .acf-postbox.closed>.hndle{border-bottom-width:1px !important}.block-editor .edit-post-sidebar .acf-fields{min-height:1px;overflow:auto}.block-editor .edit-post-sidebar .acf-fields>.acf-field{border-width:0;border-color:#e2e4e7;margin:16px;padding:0;width:auto !important;min-height:0 !important;float:none !important}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label{margin-bottom:5px}.block-editor .edit-post-sidebar .acf-fields>.acf-field>.acf-label label{font-weight:normal}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion{padding:0;margin:0;border-top-width:1px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion:first-child{border-top-width:0}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title{margin:0;padding:15px}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-title label{font-weight:bold}.block-editor .edit-post-sidebar .acf-fields>.acf-field.acf-accordion .acf-accordion-content>.acf-fields{border-top-width:0}.form-table>tbody>.acf-field>.acf-label{padding:20px 10px 20px 0;width:210px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-label{padding:20px 0 20px 10px}.form-table>tbody>.acf-field>.acf-label label{font-size:14px;color:#23282d}.form-table>tbody>.acf-field>.acf-input{padding:15px 10px}html[dir=rtl] .form-table>tbody>.acf-field>.acf-input{padding:15px 10px 15px 5%}.form-table>tbody>.acf-tab-wrap td{padding:15px 5% 15px 0}html[dir=rtl] .form-table>tbody>.acf-tab-wrap td{padding:15px 0 15px 5%}.form-table>tbody .form-table th.acf-th{width:auto}#your-profile .acf-field input[type=text],#your-profile .acf-field input[type=password],#your-profile .acf-field input[type=number],#your-profile .acf-field input[type=search],#your-profile .acf-field input[type=email],#your-profile .acf-field input[type=url],#your-profile .acf-field select,#createuser .acf-field input[type=text],#createuser .acf-field input[type=password],#createuser .acf-field input[type=number],#createuser .acf-field input[type=search],#createuser .acf-field input[type=email],#createuser .acf-field input[type=url],#createuser .acf-field select{max-width:25em}#your-profile .acf-field textarea,#createuser .acf-field textarea{max-width:500px}#your-profile .acf-field .acf-field input[type=text],#your-profile .acf-field .acf-field input[type=password],#your-profile .acf-field .acf-field input[type=number],#your-profile .acf-field .acf-field input[type=search],#your-profile .acf-field .acf-field input[type=email],#your-profile .acf-field .acf-field input[type=url],#your-profile .acf-field .acf-field textarea,#your-profile .acf-field .acf-field select,#createuser .acf-field .acf-field input[type=text],#createuser .acf-field .acf-field input[type=password],#createuser .acf-field .acf-field input[type=number],#createuser .acf-field .acf-field input[type=search],#createuser .acf-field .acf-field input[type=email],#createuser .acf-field .acf-field input[type=url],#createuser .acf-field .acf-field textarea,#createuser .acf-field .acf-field select{max-width:none}#registerform h2{margin:1em 0}#registerform .acf-field{margin-top:0}#registerform .acf-field .acf-label{margin-bottom:0}#registerform .acf-field .acf-label label{font-weight:normal;line-height:1.5}#registerform p.submit{text-align:right}#acf-term-fields{padding-right:5%}#acf-term-fields>.acf-field>.acf-label{margin:0}#acf-term-fields>.acf-field>.acf-label label{font-size:12px;font-weight:normal}p.submit .spinner,p.submit .acf-spinner{vertical-align:top;float:none;margin:4px 4px 0}#edittag .acf-fields.-left>.acf-field{padding-left:220px}#edittag .acf-fields.-left>.acf-field:before{width:209px}#edittag .acf-fields.-left>.acf-field>.acf-label{width:220px;margin-left:-220px;padding:0 10px}#edittag .acf-fields.-left>.acf-field>.acf-input{padding:0}#edittag>.acf-fields.-left{width:96%}#edittag>.acf-fields.-left>.acf-field>.acf-label{padding-left:0}.editcomment td:first-child{white-space:nowrap;width:131px}#widgets-right .widget .acf-field .description{padding-left:0;padding-right:0}.acf-widget-fields>.acf-field .acf-label{margin-bottom:5px}.acf-widget-fields>.acf-field .acf-label label{font-weight:normal;margin:0}.acf-menu-settings{border-top:1px solid #eee;margin-top:2em}.acf-menu-settings.-seamless{border-top:none;margin-top:15px}.acf-menu-settings.-seamless>h2{display:none}.acf-menu-settings .list li{display:block;margin-bottom:0}.acf-fields.acf-menu-item-fields{clear:both;padding-top:1px}.acf-fields.acf-menu-item-fields>.acf-field{margin:5px 0;padding-right:10px}.acf-fields.acf-menu-item-fields>.acf-field .acf-label{margin-bottom:0}.acf-fields.acf-menu-item-fields>.acf-field .acf-label label{font-style:italic;font-weight:normal}#post .compat-attachment-fields .compat-field-acf-form-data{display:none}#post .compat-attachment-fields,#post .compat-attachment-fields>tbody,#post .compat-attachment-fields>tbody>tr,#post .compat-attachment-fields>tbody>tr>th,#post .compat-attachment-fields>tbody>tr>td{display:block}#post .compat-attachment-fields>tbody>.acf-field{margin:15px 0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label{margin:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label{margin:0;padding:0}#post .compat-attachment-fields>tbody>.acf-field>.acf-label label p{margin:0 0 3px !important}#post .compat-attachment-fields>tbody>.acf-field>.acf-input{margin:0}.media-modal .compat-attachment-fields td.acf-input table{display:table;table-layout:auto}.media-modal .compat-attachment-fields td.acf-input table tbody{display:table-row-group}.media-modal .compat-attachment-fields td.acf-input table tr{display:table-row}.media-modal .compat-attachment-fields td.acf-input table td,.media-modal .compat-attachment-fields td.acf-input table th{display:table-cell}.media-modal .compat-attachment-fields>tbody>.acf-field{margin:5px 0}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:30%;margin:0;padding:0;float:left;text-align:right;display:block;float:left}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label>label{padding-top:6px;margin:0;color:#666;font-weight:400;line-height:16px}.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{width:65%;margin:0;padding:0;float:right;display:block}.media-modal .compat-attachment-fields>tbody>.acf-field p.description{margin:0}.acf-selection-error{background:#ffebe8;border:1px solid #c00;border-radius:3px;padding:8px;margin:20px 0 0}.acf-selection-error .selection-error-label{background:#c00;border-radius:3px;color:#fff;font-weight:bold;margin-right:8px;padding:2px 4px}.acf-selection-error .selection-error-message{color:#b44;display:block;padding-top:8px;word-wrap:break-word;white-space:pre-wrap}.media-modal .attachment.acf-disabled .thumbnail{opacity:.25 !important}.media-modal .attachment.acf-disabled .attachment-preview:before{background:rgba(0,0,0,.15);z-index:1;position:relative}.media-modal .compat-field-acf-form-data,.media-modal .compat-field-acf-blank{display:none !important}.media-modal .upload-error-message{white-space:pre-wrap}.media-modal .acf-required{padding:0 !important;margin:0 !important;float:none !important;color:red !important}.media-modal .media-sidebar .compat-item{padding-bottom:20px}@media(max-width: 900px){.media-modal .setting span,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-label{width:98%;float:none;text-align:left;min-height:0;padding:0}.media-modal .setting input,.media-modal .setting textarea,.media-modal .compat-attachment-fields>tbody>.acf-field>.acf-input{float:none;height:auto;max-width:none;width:98%}}.media-modal .acf-expand-details{float:right;padding:8px 10px;margin-right:6px;font-size:13px;height:18px;line-height:18px;color:#666;text-decoration:none}.media-modal .acf-expand-details:focus,.media-modal .acf-expand-details:active{outline:0 none;box-shadow:none;color:#666}.media-modal .acf-expand-details:hover{color:#000}.media-modal .acf-expand-details .is-open{display:none}.media-modal .acf-expand-details .is-closed{display:block}@media(max-width: 640px){.media-modal .acf-expand-details{display:none}}.media-modal.acf-expanded .acf-expand-details .is-open{display:block}.media-modal.acf-expanded .acf-expand-details .is-closed{display:none}.media-modal.acf-expanded .attachments-browser .media-toolbar,.media-modal.acf-expanded .attachments-browser .attachments{right:740px}.media-modal.acf-expanded .media-sidebar{width:708px}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{float:left;max-height:none}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail img{max-width:100%;max-height:200px}.media-modal.acf-expanded .media-sidebar .attachment-info .details{float:right}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-details .setting .name,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-label{min-width:20%;margin-right:0}.media-modal.acf-expanded .media-sidebar .attachment-info .details,.media-modal.acf-expanded .media-sidebar .attachment-details .setting input,.media-modal.acf-expanded .media-sidebar .attachment-details .setting textarea,.media-modal.acf-expanded .media-sidebar .attachment-details .setting+.description,.media-modal.acf-expanded .media-sidebar .compat-attachment-fields>tbody>.acf-field>.acf-input{min-width:77%}@media(max-width: 900px){.media-modal.acf-expanded .attachments-browser .media-toolbar{display:none}.media-modal.acf-expanded .attachments{display:none}.media-modal.acf-expanded .media-sidebar{width:auto;max-width:none !important;bottom:0 !important}.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail{min-width:0;max-width:none;width:30%}.media-modal.acf-expanded .media-sidebar .attachment-info .details{min-width:0;max-width:none;width:67%}}@media(max-width: 640px){.media-modal.acf-expanded .media-sidebar .attachment-info .thumbnail,.media-modal.acf-expanded .media-sidebar .attachment-info .details{width:100%}}.acf-media-modal .media-embed .setting.align,.acf-media-modal .media-embed .setting.link-to{display:none}.acf-media-modal.-edit{left:15%;right:15%;top:100px;bottom:100px}.acf-media-modal.-edit .media-frame-menu,.acf-media-modal.-edit .media-frame-router,.acf-media-modal.-edit .media-frame-content .attachments,.acf-media-modal.-edit .media-frame-content .media-toolbar{display:none}.acf-media-modal.-edit .media-frame-title,.acf-media-modal.-edit .media-frame-content,.acf-media-modal.-edit .media-frame-toolbar,.acf-media-modal.-edit .media-sidebar{width:auto;left:0;right:0}.acf-media-modal.-edit .media-frame-content{top:50px}.acf-media-modal.-edit .media-frame-title{border-bottom:1px solid #dfdfdf;box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.acf-media-modal.-edit .media-sidebar{padding:0 16px}.acf-media-modal.-edit .media-sidebar .attachment-details{overflow:visible}.acf-media-modal.-edit .media-sidebar .attachment-details>h3,.acf-media-modal.-edit .media-sidebar .attachment-details>h2{display:none}.acf-media-modal.-edit .media-sidebar .attachment-details .attachment-info{background:#fff;border-bottom:#ddd solid 1px;padding:16px;margin:0 -16px 16px}.acf-media-modal.-edit .media-sidebar .attachment-details .thumbnail{margin:0 16px 0 0}.acf-media-modal.-edit .media-sidebar .attachment-details .setting{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .attachment-details .setting span{margin:0}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field{margin:0 0 5px}.acf-media-modal.-edit .media-sidebar .compat-attachment-fields>tbody>.acf-field p.description{margin-top:3px}.acf-media-modal.-edit .media-sidebar .media-types-required-info{display:none}@media(max-width: 900px){.acf-media-modal.-edit{top:30px;right:30px;bottom:30px;left:30px}}@media(max-width: 640px){.acf-media-modal.-edit{top:0;right:0;bottom:0;left:0}}@media(max-width: 480px){.acf-media-modal.-edit .media-frame-content{top:40px}}.acf-temp-remove{position:relative;opacity:1;-webkit-transition:all .25s ease;-moz-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;overflow:hidden}.acf-temp-remove:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:99}.hidden-by-conditional-logic{display:none !important}.hidden-by-conditional-logic.appear-empty{display:table-cell !important}.hidden-by-conditional-logic.appear-empty .acf-input{display:none !important}.acf-postbox.acf-hidden{display:none !important}.acf-attention{transition:border .25s ease-out}.acf-attention.-focused{border:#23282d solid 1px !important;transition:none}tr.acf-attention{transition:box-shadow .25s ease-out;position:relative}tr.acf-attention.-focused{box-shadow:#23282d 0 0 0px 1px !important}#editor .edit-post-layout__metaboxes{padding:0}#editor .edit-post-layout__metaboxes .edit-post-meta-boxes-area{margin:0}#editor .metabox-location-side .postbox-container{float:none}#editor .postbox{color:#444}#editor .postbox>.postbox-header .hndle{border-bottom:none}#editor .postbox>.postbox-header .hndle:hover{background:transparent}#editor .postbox>.postbox-header .handle-actions .handle-order-higher,#editor .postbox>.postbox-header .handle-actions .handle-order-lower{width:1.62rem}#editor .postbox>.postbox-header .handle-actions .acf-hndle-cog{height:44px;line-height:44px}#editor .postbox>.postbox-header:hover{background:#f0f0f0}#editor .postbox:last-child.closed>.postbox-header{border-bottom:none}#editor .postbox:last-child>.inside{border-bottom:none}#editor .block-editor-writing-flow__click-redirect{min-height:50px}body.is-dragging-metaboxes #acf_after_title-sortables{outline:3px dashed #646970;display:flow-root;min-height:60px;margin-bottom:3px !important}
assets/build/js/acf-field-group.js CHANGED
@@ -1,2581 +1,2261 @@
1
- (function($, undefined){
2
-
3
- /**
4
- * fieldGroupManager
5
- *
6
- * Generic field group functionality
7
- *
8
- * @date 15/12/17
9
- * @since 5.7.0
10
- *
11
- * @param void
12
- * @return void
13
- */
14
-
15
- var fieldGroupManager = new acf.Model({
16
-
17
- id: 'fieldGroupManager',
18
-
19
- events: {
20
- 'submit #post': 'onSubmit',
21
- 'click a[href="#"]': 'onClick',
22
- 'click .submitdelete': 'onClickTrash',
23
- },
24
-
25
- filters: {
26
- 'find_fields_args': 'filterFindFieldArgs'
27
- },
28
-
29
- onSubmit: function( e, $el ){
30
-
31
- // vars
32
- var $title = $('#titlewrap #title');
33
-
34
- // empty
35
- if( !$title.val() ) {
36
-
37
- // prevent default
38
- e.preventDefault();
39
-
40
- // unlock form
41
- acf.unlockForm( $el );
42
-
43
- // alert
44
- alert( acf.__('Field group title is required') );
45
-
46
- // focus
47
- $title.trigger('focus');
48
- }
49
- },
50
-
51
- onClick: function( e ){
52
- e.preventDefault();
53
- },
54
-
55
- onClickTrash: function( e ){
56
- var result = confirm( acf.__('Move to trash. Are you sure?') );
57
- if( !result ) {
58
- e.preventDefault();
59
- }
60
- },
61
-
62
- filterFindFieldArgs: function( args ){
63
- args.visible = true;
64
- return args;
65
- }
66
- });
67
-
68
-
69
- /**
70
- * screenOptionsManager
71
- *
72
- * Screen options functionality
73
- *
74
- * @date 15/12/17
75
- * @since 5.7.0
76
- *
77
- * @param void
78
- * @return void
79
- */
80
-
81
- var screenOptionsManager = new acf.Model({
82
-
83
- id: 'screenOptionsManager',
84
- wait: 'prepare',
85
-
86
- events: {
87
- 'change': 'onChange'
88
- },
89
-
90
- initialize: function(){
91
-
92
- // vars
93
- var $div = $('#adv-settings');
94
- var $append = $('#acf-append-show-on-screen');
95
-
96
- // append
97
- $div.find('.metabox-prefs').append( $append.html() );
98
- $div.find('.metabox-prefs br').remove();
99
-
100
- // clean up
101
- $append.remove();
102
-
103
- // initialize
104
- this.$el = $('#acf-field-key-hide');
105
-
106
- // render
107
- this.render();
108
- },
109
-
110
- isChecked: function(){
111
- return this.$el.prop('checked');
112
- },
113
-
114
- onChange: function( e, $el ) {
115
- var val = this.isChecked() ? 1 : 0;
116
- acf.updateUserSetting('show_field_keys', val);
117
- this.render();
118
- },
119
-
120
- render: function(){
121
- if( this.isChecked() ) {
122
- $('#acf-field-group-fields').addClass('show-field-keys');
123
- } else {
124
- $('#acf-field-group-fields').removeClass('show-field-keys');
125
- }
126
- }
127
-
128
- });
129
-
130
-
131
- /**
132
- * appendFieldManager
133
- *
134
- * Appends fields together
135
- *
136
- * @date 15/12/17
137
- * @since 5.7.0
138
- *
139
- * @param void
140
- * @return void
141
- */
142
-
143
- var appendFieldManager = new acf.Model({
144
-
145
- actions: {
146
- 'new_field' : 'onNewField'
147
- },
148
-
149
- onNewField: function( field ){
150
-
151
- // bail ealry if not append
152
- if( !field.has('append') ) return;
153
-
154
- // vars
155
- var append = field.get('append');
156
- var $sibling = field.$el.siblings('[data-name="' + append + '"]').first();
157
-
158
- // bail early if no sibling
159
- if( !$sibling.length ) return;
160
-
161
- // ul
162
- var $div = $sibling.children('.acf-input');
163
- var $ul = $div.children('ul');
164
-
165
- // create ul
166
- if( !$ul.length ) {
167
- $div.wrapInner('<ul class="acf-hl"><li></li></ul>');
168
- $ul = $div.children('ul');
169
- }
170
-
171
- // li
172
- var html = field.$('.acf-input').html();
173
- var $li = $('<li>' + html + '</li>');
174
- $ul.append( $li );
175
- $ul.attr('data-cols', $ul.children().length );
176
-
177
- // clean up
178
- field.remove();
179
- }
180
- });
181
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  })(jQuery);
183
- (function($, undefined){
184
-
185
- acf.FieldObject = acf.Model.extend({
186
-
187
- // class used to avoid nested event triggers
188
- eventScope: '.acf-field-object',
189
-
190
- // events
191
- events: {
192
- 'click .edit-field': 'onClickEdit',
193
- 'click .delete-field': 'onClickDelete',
194
- 'click .duplicate-field': 'duplicate',
195
- 'click .move-field': 'move',
196
-
197
- 'change .field-type': 'onChangeType',
198
- 'change .field-required': 'onChangeRequired',
199
- 'blur .field-label': 'onChangeLabel',
200
- 'blur .field-name': 'onChangeName',
201
-
202
- 'change': 'onChange',
203
- 'changed': 'onChanged',
204
- },
205
-
206
- // data
207
- data: {
208
-
209
- // Similar to ID, but used for HTML puposes.
210
- // It is possbile for a new field to have an ID of 0, but an id of 'field_123' */
211
- id: 0,
212
-
213
- // The field key ('field_123')
214
- key: '',
215
-
216
- // The field type (text, image, etc)
217
- type: '',
218
-
219
- // The $post->ID of this field
220
- //ID: 0,
221
-
222
- // The field's parent
223
- //parent: 0,
224
-
225
- // The menu order
226
- //menu_order: 0
227
- },
228
-
229
- setup: function( $field ){
230
-
231
- // set $el
232
- this.$el = $field;
233
-
234
- // inherit $field data (id, key, type)
235
- this.inherit( $field );
236
-
237
- // load additional props
238
- // - this won't trigger 'changed'
239
- this.prop('ID');
240
- this.prop('parent');
241
- this.prop('menu_order');
242
- },
243
-
244
- $input: function( name ){
245
- return $('#' + this.getInputId() + '-' + name);
246
- },
247
-
248
- $meta: function(){
249
- return this.$('.meta:first');
250
- },
251
-
252
- $handle: function(){
253
- return this.$('.handle:first');
254
- },
255
-
256
- $settings: function(){
257
- return this.$('.settings:first');
258
- },
259
-
260
- $setting: function( name ){
261
- return this.$('.acf-field-settings:first > .acf-field-setting-' + name);
262
- },
263
-
264
- getParent: function(){
265
- return acf.getFieldObjects({ child: this.$el, limit: 1 }).pop();
266
- },
267
-
268
- getParents: function(){
269
- return acf.getFieldObjects({ child: this.$el });
270
- },
271
-
272
- getFields: function(){
273
- return acf.getFieldObjects({ parent: this.$el });
274
- },
275
-
276
- getInputName: function(){
277
- return 'acf_fields[' + this.get('id') + ']';
278
- },
279
-
280
- getInputId: function(){
281
- return 'acf_fields-' + this.get('id');
282
- },
283
-
284
- newInput: function( name, value ){
285
-
286
- // vars
287
- var inputId = this.getInputId();
288
- var inputName = this.getInputName();
289
-
290
- // append name
291
- if( name ) {
292
- inputId += '-'+name;
293
- inputName += '['+name+']';
294
- }
295
-
296
- // create input (avoid HTML + JSON value issues)
297
- var $input = $('<input />').attr({
298
- id: inputId,
299
- name: inputName,
300
- value: value
301
- });
302
- this.$('> .meta').append( $input );
303
-
304
- // return
305
- return $input;
306
- },
307
-
308
- getProp: function( name ){
309
-
310
- // check data
311
- if( this.has(name) ) {
312
- return this.get(name);
313
- }
314
-
315
- // get input value
316
- var $input = this.$input( name );
317
- var value = $input.length ? $input.val() : null;
318
-
319
- // set data silently (cache)
320
- this.set(name, value, true);
321
-
322
- // return
323
- return value;
324
- },
325
-
326
- setProp: function( name, value ) {
327
-
328
- // get input
329
- var $input = this.$input( name );
330
- var prevVal = $input.val();
331
-
332
- // create if new
333
- if( !$input.length ) {
334
- $input = this.newInput( name, value );
335
- }
336
-
337
- // remove
338
- if( value === null ) {
339
- $input.remove();
340
-
341
- // update
342
- } else {
343
- $input.val( value );
344
- }
345
-
346
- //console.log('setProp', name, value, this);
347
-
348
- // set data silently (cache)
349
- if( !this.has(name) ) {
350
- //console.log('setting silently');
351
- this.set(name, value, true);
352
-
353
- // set data allowing 'change' event to fire
354
- } else {
355
- //console.log('setting loudly!');
356
- this.set(name, value);
357
- }
358
-
359
- // return
360
- return this;
361
-
362
- },
363
-
364
- prop: function( name, value ){
365
- if( value !== undefined ) {
366
- return this.setProp( name, value );
367
- } else {
368
- return this.getProp( name );
369
- }
370
- },
371
-
372
- props: function( props ){
373
- Object.keys( props ).map(function( key ){
374
- this.setProp( key, props[key] );
375
- }, this);
376
- },
377
-
378
- getLabel: function(){
379
-
380
- // get label with empty default
381
- var label = this.prop('label');
382
- if( label === '' ) {
383
- label = acf.__('(no label)')
384
- }
385
-
386
- // return
387
- return label;
388
- },
389
-
390
- getName: function(){
391
- return this.prop('name');
392
- },
393
-
394
- getType: function(){
395
- return this.prop('type');
396
- },
397
-
398
- getTypeLabel: function(){
399
- var type = this.prop('type');
400
- var types = acf.get('fieldTypes');
401
- return ( types[type] ) ? types[type].label : type;
402
- },
403
-
404
- getKey: function(){
405
- return this.prop('key');
406
- },
407
-
408
- initialize: function(){
409
- this.addProFields();
410
- },
411
-
412
- addProFields: function() {
413
- // Make sure we're only running this on free version.
414
- if (acf.data.fieldTypes.hasOwnProperty('clone')) {
415
- return;
416
- }
417
-
418
- // Make sure we haven't appended these fields before.
419
- var $fieldTypeSelect = $('.field-type').not('.acf-free-field-type');
420
-
421
- // Append pro fields to "Layout" group.
422
- var $layoutGroup = $fieldTypeSelect.find('optgroup option[value="group"]').parent();
423
- $layoutGroup.append(
424
- '<option value="null" disabled="disabled">' + acf.__('Repeater (Pro only)') + '</option>' +
425
- '<option value="null" disabled="disabled">' + acf.__('Flexible Content (Pro only)') + '</option>' +
426
- '<option value="null" disabled="disabled">' + acf.__('Clone (Pro only)') + '</option>'
427
- );
428
-
429
- // Add pro fields to "Content" group.
430
- var $contentGroup = $fieldTypeSelect.find('optgroup option[value="image"]').parent();
431
- $contentGroup.append(
432
- '<option value="null" disabled="disabled">' + acf.__('Gallery (Pro only)') + '</option>'
433
- );
434
-
435
- $fieldTypeSelect.addClass('acf-free-field-type');
436
- },
437
-
438
- render: function(){
439
-
440
- // vars
441
- var $handle = this.$('.handle:first');
442
- var menu_order = this.prop('menu_order');
443
- var label = this.getLabel();
444
- var name = this.prop('name');
445
- var type = this.getTypeLabel();
446
- var key = this.prop('key');
447
- var required = this.$input('required').prop('checked');
448
-
449
- // update menu order
450
- $handle.find('.acf-icon').html( parseInt(menu_order) + 1 );
451
-
452
- // update required
453
- if( required ) {
454
- label += ' <span class="acf-required">*</span>';
455
- }
456
-
457
- // update label
458
- $handle.find('.li-field-label strong a').html( label );
459
-
460
- // update name
461
- $handle.find('.li-field-name').text( name );
462
-
463
- // update type
464
- $handle.find('.li-field-type').text( type );
465
-
466
- // update key
467
- $handle.find('.li-field-key').text( key );
468
-
469
- // action for 3rd party customization
470
- acf.doAction('render_field_object', this);
471
- },
472
-
473
- refresh: function(){
474
- acf.doAction('refresh_field_object', this);
475
- },
476
-
477
- isOpen: function() {
478
- return this.$el.hasClass('open');
479
- },
480
-
481
- onClickEdit: function( e ){
482
- this.isOpen() ? this.close() : this.open();
483
- },
484
-
485
- open: function(){
486
-
487
- // vars
488
- var $settings = this.$el.children('.settings');
489
-
490
- // open
491
- $settings.slideDown();
492
- this.$el.addClass('open');
493
-
494
- // action (open)
495
- acf.doAction('open_field_object', this);
496
- this.trigger('openFieldObject');
497
-
498
- // action (show)
499
- acf.doAction('show', $settings);
500
- },
501
-
502
- close: function(){
503
-
504
- // vars
505
- var $settings = this.$el.children('.settings');
506
-
507
- // close
508
- $settings.slideUp();
509
- this.$el.removeClass('open');
510
-
511
- // action (close)
512
- acf.doAction('close_field_object', this);
513
- this.trigger('closeFieldObject');
514
-
515
- // action (hide)
516
- acf.doAction('hide', $settings);
517
- },
518
-
519
- serialize: function(){
520
- return acf.serialize( this.$el, this.getInputName() );
521
- },
522
-
523
- save: function( type ){
524
-
525
- // defaults
526
- type = type || 'settings'; // meta, settings
527
-
528
- // vars
529
- var save = this.getProp('save');
530
-
531
- // bail if already saving settings
532
- if( save === 'settings' ) {
533
- return;
534
- }
535
-
536
- // prop
537
- this.setProp('save', type);
538
-
539
- // debug
540
- this.$el.attr('data-save', type);
541
-
542
- // action
543
- acf.doAction('save_field_object', this, type);
544
- },
545
-
546
- submit: function(){
547
-
548
- // vars
549
- var inputName = this.getInputName();
550
- var save = this.get('save');
551
-
552
- // close
553
- if( this.isOpen() ) {
554
- this.close();
555
- }
556
-
557
- // allow all inputs to save
558
- if( save == 'settings' ) {
559
- // do nothing
560
-
561
- // allow only meta inputs to save
562
- } else if( save == 'meta' ) {
563
- this.$('> .settings [name^="' + inputName + '"]').remove();
564
-
565
- // prevent all inputs from saving
566
- } else {
567
- this.$('[name^="' + inputName + '"]').remove();
568
- }
569
-
570
- // action
571
- acf.doAction('submit_field_object', this);
572
- },
573
-
574
- onChange: function( e, $el ){
575
-
576
- // save settings
577
- this.save();
578
-
579
- // action for 3rd party customization
580
- acf.doAction('change_field_object', this);
581
- },
582
-
583
- onChanged: function( e, $el, name, value ){
584
-
585
- // ignore 'save'
586
- if( name == 'save' ) {
587
- return;
588
- }
589
-
590
- // save meta
591
- if( ['menu_order', 'parent'].indexOf(name) > -1 ) {
592
- this.save('meta');
593
-
594
- // save field
595
- } else {
596
- this.save();
597
- }
598
-
599
- // render
600
- if( ['menu_order', 'label', 'required', 'name', 'type', 'key'].indexOf(name) > -1 ) {
601
- this.render();
602
- }
603
-
604
- // action for 3rd party customization
605
- acf.doAction('change_field_object_' + name, this, value);
606
- },
607
-
608
- onChangeLabel: function( e, $el ){
609
-
610
- // set
611
- var label = $el.val();
612
- this.set('label', label);
613
-
614
- // render name
615
- if( this.prop('name') == '' ) {
616
- var name = acf.applyFilters('generate_field_object_name', acf.strSanitize(label), this);
617
- this.prop('name', name);
618
- }
619
- },
620
-
621
- onChangeName: function( e, $el){
622
-
623
- // set
624
- var name = $el.val();
625
- this.set('name', name);
626
-
627
- // error
628
- if( name.substr(0, 6) === 'field_' ) {
629
- alert( acf.__('The string "field_" may not be used at the start of a field name') );
630
- }
631
- },
632
-
633
- onChangeRequired: function( e, $el ){
634
-
635
- // set
636
- var required = $el.prop('checked') ? 1 : 0;
637
- this.set('required', required);
638
- },
639
-
640
- delete: function( args ){
641
-
642
- // defaults
643
- args = acf.parseArgs(args, {
644
- animate: true
645
- });
646
-
647
- // add to remove list
648
- var id = this.prop('ID');
649
-
650
- if( id ) {
651
- var $input = $('#_acf_delete_fields');
652
- var newVal = $input.val() + '|' + id;
653
- $input.val( newVal );
654
- }
655
-
656
- // action
657
- acf.doAction('delete_field_object', this);
658
-
659
- // animate
660
- if( args.animate ) {
661
- this.removeAnimate();
662
- } else {
663
- this.remove();
664
- }
665
- },
666
-
667
- onClickDelete: function( e, $el ){
668
-
669
- // Bypass confirmation when holding down "shift" key.
670
- if( e.shiftKey ) {
671
- return this.delete();
672
- }
673
-
674
- // add class
675
- this.$el.addClass('-hover');
676
-
677
- // add tooltip
678
- var tooltip = acf.newTooltip({
679
- confirmRemove: true,
680
- target: $el,
681
- context: this,
682
- confirm: function(){
683
- this.delete();
684
- },
685
- cancel: function(){
686
- this.$el.removeClass('-hover');
687
- }
688
- });
689
- },
690
-
691
- removeAnimate: function(){
692
-
693
- // vars
694
- var field = this;
695
- var $list = this.$el.parent();
696
- var $fields = acf.findFieldObjects({
697
- sibling: this.$el
698
- });
699
-
700
- // remove
701
- acf.remove({
702
- target: this.$el,
703
- endHeight: $fields.length ? 0 : 50,
704
- complete: function(){
705
- field.remove();
706
- acf.doAction('removed_field_object', field, $list);
707
- }
708
- });
709
-
710
- // action
711
- acf.doAction('remove_field_object', field, $list);
712
- },
713
-
714
- duplicate: function(){
715
-
716
- // vars
717
- var newKey = acf.uniqid('field_');
718
-
719
- // duplicate
720
- var $newField = acf.duplicate({
721
- target: this.$el,
722
- search: this.get('id'),
723
- replace: newKey,
724
- });
725
-
726
- // set new key
727
- $newField.attr('data-key', newKey);
728
-
729
- // get instance
730
- var newField = acf.getFieldObject( $newField );
731
-
732
- // open / close
733
- if( this.isOpen() ) {
734
- this.close();
735
- } else {
736
- newField.open();
737
- }
738
-
739
- // focus label
740
- var $label = newField.$setting('label input');
741
- setTimeout(function(){
742
- $label.trigger('focus');
743
- }, 251);
744
-
745
- // update newField label / name
746
- var label = newField.prop('label');
747
- var name = newField.prop('name');
748
- var end = name.split('_').pop();
749
- var copy = acf.__('copy');
750
-
751
- // increase suffix "1"
752
- if( acf.isNumeric(end) ) {
753
- var i = (end*1) + 1;
754
- label = label.replace( end, i );
755
- name = name.replace( end, i );
756
-
757
- // increase suffix "(copy1)"
758
- } else if( end.indexOf(copy) === 0 ) {
759
- var i = end.replace(copy, '') * 1;
760
- i = i ? i+1 : 2;
761
-
762
- // replace
763
- label = label.replace( end, copy + i );
764
- name = name.replace( end, copy + i );
765
-
766
- // add default "(copy)"
767
- } else {
768
- label += ' (' + copy + ')';
769
- name += '_' + copy;
770
- }
771
-
772
- newField.prop('ID', 0);
773
- newField.prop('label', label);
774
- newField.prop('name', name);
775
- newField.prop('key', newKey);
776
-
777
- // action
778
- acf.doAction('duplicate_field_object', this, newField);
779
- acf.doAction('append_field_object', newField);
780
- },
781
-
782
- wipe: function(){
783
-
784
- // vars
785
- var prevId = this.get('id');
786
- var prevKey = this.get('key');
787
- var newKey = acf.uniqid('field_');
788
-
789
- // rename
790
- acf.rename({
791
- target: this.$el,
792
- search: prevId,
793
- replace: newKey,
794
- });
795
-
796
- // data
797
- this.set('id', newKey);
798
- this.set('prevId', prevId);
799
- this.set('prevKey', prevKey);
800
-
801
- // props
802
- this.prop('key', newKey);
803
- this.prop('ID', 0);
804
-
805
- // attr
806
- this.$el.attr('data-key', newKey);
807
- this.$el.attr('data-id', newKey);
808
-
809
- // action
810
- acf.doAction('wipe_field_object', this);
811
- },
812
-
813
- move: function(){
814
-
815
- // helper
816
- var hasChanged = function( field ){
817
- return (field.get('save') == 'settings');
818
- };
819
-
820
- // vars
821
- var changed = hasChanged(this);
822
-
823
- // has sub fields changed
824
- if( !changed ) {
825
- acf.getFieldObjects({
826
- parent: this.$el
827
- }).map(function( field ){
828
- changed = hasChanged(field) || field.changed;
829
- });
830
- }
831
-
832
- // bail early if changed
833
- if( changed ) {
834
- alert( acf.__('This field cannot be moved until its changes have been saved') );
835
- return;
836
- }
837
-
838
- // step 1.
839
- var id = this.prop('ID');
840
- var field = this;
841
- var popup = false;
842
- var step1 = function(){
843
-
844
- // popup
845
- popup = acf.newPopup({
846
- title: acf.__('Move Custom Field'),
847
- loading: true,
848
- width: '300px'
849
- });
850
-
851
- // ajax
852
- var ajaxData = {
853
- action: 'acf/field_group/move_field',
854
- field_id: id
855
- };
856
-
857
- // get HTML
858
- $.ajax({
859
- url: acf.get('ajaxurl'),
860
- data: acf.prepareForAjax(ajaxData),
861
- type: 'post',
862
- dataType: 'html',
863
- success: step2
864
- });
865
- };
866
-
867
- var step2 = function( html ){
868
-
869
- // update popup
870
- popup.loading(false);
871
- popup.content(html);
872
-
873
- // submit form
874
- popup.on('submit', 'form', step3);
875
- };
876
-
877
- var step3 = function( e, $el ){
878
-
879
- // prevent
880
- e.preventDefault();
881
-
882
- // disable
883
- acf.startButtonLoading( popup.$('.button') );
884
-
885
- // ajax
886
- var ajaxData = {
887
- action: 'acf/field_group/move_field',
888
- field_id: id,
889
- field_group_id: popup.$('select').val()
890
- };
891
-
892
- // get HTML
893
- $.ajax({
894
- url: acf.get('ajaxurl'),
895
- data: acf.prepareForAjax(ajaxData),
896
- type: 'post',
897
- dataType: 'html',
898
- success: step4
899
- });
900
- };
901
-
902
- var step4 = function( html ){
903
-
904
- // update popup
905
- popup.content(html);
906
-
907
- // remove element
908
- field.removeAnimate();
909
- };
910
-
911
- // start
912
- step1();
913
-
914
- },
915
-
916
- onChangeType: function( e, $el ){
917
-
918
- // clea previous timout
919
- if( this.changeTimeout ) {
920
- clearTimeout(this.changeTimeout);
921
- }
922
-
923
- // set new timeout
924
- // - prevents changing type multiple times whilst user types in newType
925
- this.changeTimeout = this.setTimeout(function(){
926
- this.changeType( $el.val() );
927
- }, 300);
928
- },
929
-
930
- changeType: function( newType ){
931
-
932
- // vars
933
- var prevType = this.prop('type');
934
- var prevClass = acf.strSlugify( 'acf-field-object-' + prevType );
935
- var newClass = acf.strSlugify( 'acf-field-object-' + newType );
936
-
937
- // update props
938
- this.$el.removeClass(prevClass).addClass(newClass);
939
- this.$el.attr('data-type', newType);
940
- this.$el.data('type', newType);
941
-
942
- // abort XHR if this field is already loading AJAX data
943
- if( this.has('xhr') ) {
944
- this.get('xhr').abort();
945
- }
946
-
947
- // store settings
948
- var $tbody = this.$('> .settings > table > tbody');
949
- var $settings = $tbody.children('[data-setting="' + prevType + '"]');
950
- this.set( 'settings-' + prevType, $settings );
951
- $settings.detach();
952
-
953
- // show settings
954
- if( this.has('settings-' + newType) ) {
955
- var $newSettings = this.get('settings-' + newType);
956
- this.$setting('conditional_logic').before( $newSettings );
957
- this.set('type', newType);
958
- //this.refresh();
959
- return;
960
- }
961
-
962
- // load settings
963
- var $loading = $('<tr class="acf-field"><td class="acf-label"></td><td class="acf-input"><div class="acf-loading"></div></td></tr>');
964
- this.$setting('conditional_logic').before( $loading );
965
-
966
- // ajax
967
- var ajaxData = {
968
- action: 'acf/field_group/render_field_settings',
969
- field: this.serialize(),
970
- prefix: this.getInputName()
971
- };
972
-
973
- // ajax
974
- var xhr = $.ajax({
975
- url: acf.get('ajaxurl'),
976
- data: acf.prepareForAjax(ajaxData),
977
- type: 'post',
978
- dataType: 'html',
979
- context: this,
980
- success: function( html ){
981
-
982
- // bail early if no settings
983
- if( !html ) return;
984
-
985
- // append settings
986
- $loading.after( html );
987
-
988
- // events
989
- acf.doAction('append', $tbody);
990
- },
991
- complete: function(){
992
- // also triggered by xhr.abort();
993
- $loading.remove();
994
- this.set('type', newType);
995
- //this.refresh();
996
- }
997
- });
998
-
999
- // set
1000
- this.set('xhr', xhr);
1001
-
1002
- },
1003
-
1004
- updateParent: function(){
1005
-
1006
- // vars
1007
- var ID = acf.get('post_id');
1008
-
1009
- // check parent
1010
- var parent = this.getParent();
1011
- if( parent ) {
1012
- ID = parseInt(parent.prop('ID')) || parent.prop('key');
1013
- }
1014
-
1015
- // update
1016
- this.prop('parent', ID);
1017
- }
1018
-
1019
- });
1020
-
1021
  })(jQuery);
1022
- (function($, undefined){
1023
-
1024
- /**
1025
- * mid
1026
- *
1027
- * Calculates the model ID for a field type
1028
- *
1029
- * @date 15/12/17
1030
- * @since 5.6.5
1031
- *
1032
- * @param string type
1033
- * @return string
1034
- */
1035
-
1036
- var modelId = function( type ) {
1037
- return acf.strPascalCase( type || '' ) + 'FieldSetting';
1038
- };
1039
-
1040
- /**
1041
- * registerFieldType
1042
- *
1043
- * description
1044
- *
1045
- * @date 14/12/17
1046
- * @since 5.6.5
1047
- *
1048
- * @param type $var Description. Default.
1049
- * @return type Description.
1050
- */
1051
-
1052
- acf.registerFieldSetting = function( model ){
1053
- var proto = model.prototype;
1054
- var mid = modelId(proto.type + ' ' + proto.name);
1055
- this.models[ mid ] = model;
1056
- };
1057
-
1058
- /**
1059
- * newField
1060
- *
1061
- * description
1062
- *
1063
- * @date 14/12/17
1064
- * @since 5.6.5
1065
- *
1066
- * @param type $var Description. Default.
1067
- * @return type Description.
1068
- */
1069
-
1070
- acf.newFieldSetting = function( field ){
1071
-
1072
- // vars
1073
- var type = field.get('setting') || '';
1074
- var name = field.get('name') || '';
1075
- var mid = modelId( type + ' ' + name );
1076
- var model = acf.models[ mid ] || null;
1077
-
1078
- // bail ealry if no setting
1079
- if( model === null ) return false;
1080
-
1081
- // instantiate
1082
- var setting = new model( field );
1083
-
1084
- // return
1085
- return setting;
1086
- };
1087
-
1088
- /**
1089
- * acf.getFieldSetting
1090
- *
1091
- * description
1092
- *
1093
- * @date 19/4/18
1094
- * @since 5.6.9
1095
- *
1096
- * @param type $var Description. Default.
1097
- * @return type Description.
1098
- */
1099
-
1100
- acf.getFieldSetting = function( field ) {
1101
-
1102
- // allow jQuery
1103
- if( field instanceof jQuery ) {
1104
- field = acf.getField(field);
1105
- }
1106
-
1107
- // return
1108
- return field.setting;
1109
- };
1110
-
1111
- /**
1112
- * settingsManager
1113
- *
1114
- * description
1115
- *
1116
- * @date 6/1/18
1117
- * @since 5.6.5
1118
- *
1119
- * @param type $var Description. Default.
1120
- * @return type Description.
1121
- */
1122
-
1123
- var settingsManager = new acf.Model({
1124
- actions: {
1125
- 'new_field': 'onNewField'
1126
- },
1127
- onNewField: function( field ){
1128
- field.setting = acf.newFieldSetting( field );
1129
- }
1130
- });
1131
-
1132
- /**
1133
- * acf.FieldSetting
1134
- *
1135
- * description
1136
- *
1137
- * @date 6/1/18
1138
- * @since 5.6.5
1139
- *
1140
- * @param type $var Description. Default.
1141
- * @return type Description.
1142
- */
1143
-
1144
- acf.FieldSetting = acf.Model.extend({
1145
-
1146
- field: false,
1147
- type: '',
1148
- name: '',
1149
- wait: 'ready',
1150
- eventScope: '.acf-field',
1151
-
1152
- events: {
1153
- 'change': 'render'
1154
- },
1155
-
1156
- setup: function( field ){
1157
-
1158
- // vars
1159
- var $field = field.$el;
1160
-
1161
- // set props
1162
- this.$el = $field;
1163
- this.field = field;
1164
- this.$fieldObject = $field.closest('.acf-field-object');
1165
- this.fieldObject = acf.getFieldObject( this.$fieldObject );
1166
-
1167
- // inherit data
1168
- $.extend(this.data, field.data);
1169
- },
1170
-
1171
- initialize: function(){
1172
- this.render();
1173
- },
1174
-
1175
- render: function(){
1176
- // do nothing
1177
- }
1178
- });
1179
-
1180
- /*
1181
- * Date Picker
1182
- *
1183
- * This field type requires some extra logic for its settings
1184
- *
1185
- * @type function
1186
- * @date 24/10/13
1187
- * @since 5.0.0
1188
- *
1189
- * @param n/a
1190
- * @return n/a
1191
- */
1192
-
1193
- var DisplayFormatFieldSetting = acf.FieldSetting.extend({
1194
- type: '',
1195
- name: '',
1196
- render: function(){
1197
- var $input = this.$('input[type="radio"]:checked');
1198
- if( $input.val() != 'other' ) {
1199
- this.$('input[type="text"]').val( $input.val() );
1200
- }
1201
- }
1202
- });
1203
-
1204
- var DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
1205
- type: 'date_picker',
1206
- name: 'display_format'
1207
- });
1208
-
1209
- var DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
1210
- type: 'date_picker',
1211
- name: 'return_format'
1212
- });
1213
-
1214
- acf.registerFieldSetting( DatePickerDisplayFormatFieldSetting );
1215
- acf.registerFieldSetting( DatePickerReturnFormatFieldSetting );
1216
-
1217
- /*
1218
- * Date Time Picker
1219
- *
1220
- * This field type requires some extra logic for its settings
1221
- *
1222
- * @type function
1223
- * @date 24/10/13
1224
- * @since 5.0.0
1225
- *
1226
- * @param n/a
1227
- * @return n/a
1228
- */
1229
-
1230
- var DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
1231
- type: 'date_time_picker',
1232
- name: 'display_format'
1233
- });
1234
-
1235
- var DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
1236
- type: 'date_time_picker',
1237
- name: 'return_format'
1238
- });
1239
-
1240
- acf.registerFieldSetting( DateTimePickerDisplayFormatFieldSetting );
1241
- acf.registerFieldSetting( DateTimePickerReturnFormatFieldSetting );
1242
-
1243
- /*
1244
- * Time Picker
1245
- *
1246
- * This field type requires some extra logic for its settings
1247
- *
1248
- * @type function
1249
- * @date 24/10/13
1250
- * @since 5.0.0
1251
- *
1252
- * @param n/a
1253
- * @return n/a
1254
- */
1255
-
1256
- var TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
1257
- type: 'time_picker',
1258
- name: 'display_format'
1259
- });
1260
-
1261
- var TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
1262
- name: 'time_picker',
1263
- name: 'return_format'
1264
- });
1265
-
1266
- acf.registerFieldSetting( TimePickerDisplayFormatFieldSetting );
1267
- acf.registerFieldSetting( TimePickerReturnFormatFieldSetting );
1268
-
1269
- /**
1270
- * Color Picker Settings.
1271
- *
1272
- * @date 16/12/20
1273
- * @since 5.9.4
1274
- *
1275
- * @param type $var Description. Default.
1276
- * @return type Description.
1277
- */
1278
- var ColorPickerReturnFormat = acf.FieldSetting.extend({
1279
- type: 'color_picker',
1280
- name: 'enable_opacity',
1281
- render: function(){
1282
- var $return_format_setting = this.fieldObject.$setting('return_format');
1283
- var $default_value_setting = this.fieldObject.$setting('default_value');
1284
- var $labelText = $return_format_setting.find('input[type="radio"][value="string"]').parent('label').contents().last();
1285
- var $defaultPlaceholder = $default_value_setting.find('input[type="text"]');
1286
- var l10n = acf.get('colorPickerL10n');
1287
-
1288
- if( this.field.val() ) {
1289
- $labelText.replaceWith( l10n.rgba_string );
1290
- $defaultPlaceholder.attr('placeholder', 'rgba(255,255,255,0.8)');
1291
- } else {
1292
- $labelText.replaceWith( l10n.hex_string );
1293
- $defaultPlaceholder.attr('placeholder', '#FFFFFF');
1294
- }
1295
- }
1296
- });
1297
- acf.registerFieldSetting( ColorPickerReturnFormat );
1298
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1299
  })(jQuery);
1300
- (function($, undefined){
1301
-
1302
- /**
1303
- * ConditionalLogicFieldSetting
1304
- *
1305
- * description
1306
- *
1307
- * @date 3/2/18
1308
- * @since 5.6.5
1309
- *
1310
- * @param type $var Description. Default.
1311
- * @return type Description.
1312
- */
1313
-
1314
- var ConditionalLogicFieldSetting = acf.FieldSetting.extend({
1315
- type: '',
1316
- name: 'conditional_logic',
1317
- events: {
1318
- 'change .conditions-toggle': 'onChangeToggle',
1319
- 'click .add-conditional-group': 'onClickAddGroup',
1320
- 'focus .condition-rule-field': 'onFocusField',
1321
- 'change .condition-rule-field': 'onChangeField',
1322
- 'change .condition-rule-operator': 'onChangeOperator',
1323
- 'click .add-conditional-rule': 'onClickAdd',
1324
- 'click .remove-conditional-rule': 'onClickRemove'
1325
- },
1326
-
1327
- $rule: false,
1328
-
1329
- scope: function( $rule ){
1330
- this.$rule = $rule;
1331
- return this;
1332
- },
1333
-
1334
- ruleData: function( name, value ){
1335
- return this.$rule.data.apply( this.$rule, arguments );
1336
- },
1337
-
1338
- $input: function( name ){
1339
- return this.$rule.find('.condition-rule-' + name);
1340
- },
1341
-
1342
- $td: function( name ){
1343
- return this.$rule.find('td.' + name);
1344
- },
1345
-
1346
- $toggle: function(){
1347
- return this.$('.conditions-toggle');
1348
- },
1349
-
1350
- $control: function(){
1351
- return this.$('.rule-groups');
1352
- },
1353
-
1354
- $groups: function(){
1355
- return this.$('.rule-group');
1356
- },
1357
-
1358
- $rules: function(){
1359
- return this.$('.rule');
1360
- },
1361
-
1362
- open: function(){
1363
- var $div = this.$control();
1364
- $div.show();
1365
- acf.enable( $div );
1366
- },
1367
-
1368
- close: function(){
1369
- var $div = this.$control();
1370
- $div.hide();
1371
- acf.disable( $div );
1372
- },
1373
-
1374
- render: function(){
1375
-
1376
- // show
1377
- if( this.$toggle().prop('checked') ) {
1378
- this.renderRules();
1379
- this.open();
1380
-
1381
- // hide
1382
- } else {
1383
- this.close();
1384
- }
1385
- },
1386
-
1387
- renderRules: function(){
1388
-
1389
- // vars
1390
- var self = this;
1391
-
1392
- // loop
1393
- this.$rules().each(function(){
1394
- self.renderRule( $(this) );
1395
- });
1396
- },
1397
-
1398
- renderRule: function( $rule ){
1399
- this.scope( $rule );
1400
- this.renderField();
1401
- this.renderOperator();
1402
- this.renderValue();
1403
- },
1404
-
1405
- renderField: function(){
1406
-
1407
- // vars
1408
- var choices = [];
1409
- var validFieldTypes = [];
1410
- var cid = this.fieldObject.cid;
1411
- var $select = this.$input('field');
1412
-
1413
- // loop
1414
- acf.getFieldObjects().map(function( fieldObject ){
1415
-
1416
- // vars
1417
- var choice = {
1418
- id: fieldObject.getKey(),
1419
- text: fieldObject.getLabel()
1420
- };
1421
-
1422
- // bail early if is self
1423
- if( fieldObject.cid === cid ) {
1424
- choice.text += acf.__('(this field)');
1425
- choice.disabled = true;
1426
- }
1427
-
1428
- // get selected field conditions
1429
- var conditionTypes = acf.getConditionTypes({
1430
- fieldType: fieldObject.getType()
1431
- });
1432
-
1433
- // bail early if no types
1434
- if( !conditionTypes.length ) {
1435
- choice.disabled = true;
1436
- }
1437
-
1438
- // calulate indents
1439
- var indents = fieldObject.getParents().length;
1440
- choice.text = '- '.repeat(indents) + choice.text;
1441
-
1442
- // append
1443
- choices.push(choice);
1444
- });
1445
-
1446
- // allow for scenario where only one field exists
1447
- if( !choices.length ) {
1448
- choices.push({
1449
- id: '',
1450
- text: acf.__('No toggle fields available'),
1451
- });
1452
- }
1453
-
1454
- // render
1455
- acf.renderSelect( $select, choices );
1456
-
1457
- // set
1458
- this.ruleData('field', $select.val());
1459
- },
1460
-
1461
- renderOperator: function(){
1462
-
1463
- // bail early if no field selected
1464
- if( !this.ruleData('field') ) {
1465
- return;
1466
- }
1467
-
1468
- // vars
1469
- var $select = this.$input('operator');
1470
- var val = $select.val();
1471
- var choices = [];
1472
-
1473
- // set saved value on first render
1474
- // - this allows the 2nd render to correctly select an option
1475
- if( $select.val() === null ) {
1476
- acf.renderSelect($select, [{
1477
- id: this.ruleData('operator'),
1478
- text: ''
1479
- }]);
1480
- }
1481
-
1482
- // get selected field
1483
- var $field = acf.findFieldObject( this.ruleData('field') );
1484
- var field = acf.getFieldObject( $field );
1485
-
1486
- // get selected field conditions
1487
- var conditionTypes = acf.getConditionTypes({
1488
- fieldType: field.getType()
1489
- });
1490
-
1491
- // html
1492
- conditionTypes.map(function( model ){
1493
- choices.push({
1494
- id: model.prototype.operator,
1495
- text: model.prototype.label
1496
- });
1497
- });
1498
-
1499
- // render
1500
- acf.renderSelect( $select, choices );
1501
-
1502
- // set
1503
- this.ruleData('operator', $select.val());
1504
- },
1505
-
1506
- renderValue: function(){
1507
-
1508
- // bail early if no field selected
1509
- if( !this.ruleData('field') || !this.ruleData('operator') ) {
1510
- return;
1511
- }
1512
-
1513
- // vars
1514
- var $select = this.$input('value');
1515
- var $td = this.$td('value');
1516
- var val = $select.val();
1517
-
1518
- // get selected field
1519
- var $field = acf.findFieldObject( this.ruleData('field') );
1520
- var field = acf.getFieldObject( $field );
1521
-
1522
- // get selected field conditions
1523
- var conditionTypes = acf.getConditionTypes({
1524
- fieldType: field.getType(),
1525
- operator: this.ruleData('operator')
1526
- });
1527
-
1528
- // html
1529
- var conditionType = conditionTypes[0].prototype;
1530
- var choices = conditionType.choices( field );
1531
-
1532
- // create html: array
1533
- if( choices instanceof Array ) {
1534
- var $newSelect = $('<select></select>');
1535
- acf.renderSelect( $newSelect, choices );
1536
-
1537
- // create html: string (<input />)
1538
- } else {
1539
- var $newSelect = $(choices);
1540
- }
1541
-
1542
- // append
1543
- $select.detach();
1544
- $td.html( $newSelect );
1545
-
1546
- // copy attrs
1547
- // timeout needed to avoid browser bug where "disabled" attribute is not applied
1548
- setTimeout(function(){
1549
- ['class', 'name', 'id'].map(function( attr ){
1550
- $newSelect.attr( attr, $select.attr(attr));
1551
- });
1552
- }, 0);
1553
-
1554
- // select existing value (if not a disabled input)
1555
- if( !$newSelect.prop('disabled') ) {
1556
- acf.val( $newSelect, val, true );
1557
- }
1558
-
1559
- // set
1560
- this.ruleData('value', $newSelect.val());
1561
- },
1562
-
1563
- onChangeToggle: function(){
1564
- this.render();
1565
- },
1566
-
1567
- onClickAddGroup: function( e, $el ){
1568
- this.addGroup();
1569
- },
1570
-
1571
- addGroup: function(){
1572
-
1573
- // vars
1574
- var $group = this.$('.rule-group:last');
1575
-
1576
- // duplicate
1577
- var $group2 = acf.duplicate( $group );
1578
-
1579
- // update h4
1580
- $group2.find('h4').text( acf.__('or') );
1581
-
1582
- // remove all tr's except the first one
1583
- $group2.find('tr').not(':first').remove();
1584
-
1585
- // save field
1586
- this.fieldObject.save();
1587
- },
1588
-
1589
- onFocusField: function( e, $el ){
1590
- this.renderField();
1591
- },
1592
-
1593
- onChangeField: function( e, $el ){
1594
-
1595
- // scope
1596
- this.scope( $el.closest('.rule') );
1597
-
1598
- // set data
1599
- this.ruleData('field', $el.val());
1600
-
1601
- // render
1602
- this.renderOperator();
1603
- this.renderValue();
1604
- },
1605
-
1606
- onChangeOperator: function( e, $el ){
1607
-
1608
- // scope
1609
- this.scope( $el.closest('.rule') );
1610
-
1611
- // set data
1612
- this.ruleData('operator', $el.val());
1613
-
1614
- // render
1615
- this.renderValue();
1616
- },
1617
-
1618
- onClickAdd: function( e, $el ){
1619
-
1620
- // duplciate
1621
- var $rule = acf.duplicate( $el.closest('.rule') );
1622
-
1623
- // render
1624
- this.renderRule( $rule );
1625
- },
1626
-
1627
- onClickRemove: function( e, $el ){
1628
-
1629
- // vars
1630
- var $rule = $el.closest('.rule');
1631
-
1632
- // save field
1633
- this.fieldObject.save();
1634
-
1635
- // remove group
1636
- if( $rule.siblings('.rule').length == 0 ) {
1637
- $rule.closest('.rule-group').remove();
1638
- }
1639
-
1640
- // remove
1641
- $rule.remove();
1642
- }
1643
- });
1644
-
1645
- acf.registerFieldSetting( ConditionalLogicFieldSetting );
1646
-
1647
-
1648
- /**
1649
- * conditionalLogicHelper
1650
- *
1651
- * description
1652
- *
1653
- * @date 20/4/18
1654
- * @since 5.6.9
1655
- *
1656
- * @param type $var Description. Default.
1657
- * @return type Description.
1658
- */
1659
-
1660
- var conditionalLogicHelper = new acf.Model({
1661
- actions: {
1662
- 'duplicate_field_objects': 'onDuplicateFieldObjects',
1663
- },
1664
-
1665
- onDuplicateFieldObjects: function( children, newField, prevField ){
1666
-
1667
- // vars
1668
- var data = {};
1669
- var $selects = $();
1670
-
1671
- // reference change in key
1672
- children.map(function( child ){
1673
-
1674
- // store reference of changed key
1675
- data[ child.get('prevKey') ] = child.get('key');
1676
-
1677
- // append condition select
1678
- $selects = $selects.add( child.$('.condition-rule-field') );
1679
- });
1680
-
1681
- // loop
1682
- $selects.each(function(){
1683
-
1684
- // vars
1685
- var $select = $(this);
1686
- var val = $select.val();
1687
-
1688
- // bail early if val is not a ref key
1689
- if( !val || !data[val] ) {
1690
- return;
1691
- }
1692
-
1693
- // modify selected option
1694
- $select.find('option:selected').attr('value', data[val]);
1695
-
1696
- // set new val
1697
- $select.val( data[val] );
1698
-
1699
- });
1700
- },
1701
- });
 
 
 
 
 
 
 
 
 
 
 
1702
  })(jQuery);
1703
- (function($, undefined){
1704
-
1705
- /**
1706
- * acf.findFieldObject
1707
- *
1708
- * Returns a single fieldObject $el for a given field key
1709
- *
1710
- * @date 1/2/18
1711
- * @since 5.7.0
1712
- *
1713
- * @param string key The field key
1714
- * @return jQuery
1715
- */
1716
-
1717
- acf.findFieldObject = function( key ){
1718
- return acf.findFieldObjects({
1719
- key: key,
1720
- limit: 1
1721
- });
1722
- };
1723
-
1724
- /**
1725
- * acf.findFieldObjects
1726
- *
1727
- * Returns an array of fieldObject $el for the given args
1728
- *
1729
- * @date 1/2/18
1730
- * @since 5.7.0
1731
- *
1732
- * @param object args
1733
- * @return jQuery
1734
- */
1735
-
1736
- acf.findFieldObjects = function( args ){
1737
-
1738
- // vars
1739
- args = args || {};
1740
- var selector = '.acf-field-object';
1741
- var $fields = false;
1742
-
1743
- // args
1744
- args = acf.parseArgs(args, {
1745
- id: '',
1746
- key: '',
1747
- type: '',
1748
- limit: false,
1749
- list: null,
1750
- parent: false,
1751
- sibling: false,
1752
- child: false,
1753
- });
1754
-
1755
- // id
1756
- if( args.id ) {
1757
- selector += '[data-id="' + args.id + '"]';
1758
- }
1759
-
1760
- // key
1761
- if( args.key ) {
1762
- selector += '[data-key="' + args.key + '"]';
1763
- }
1764
-
1765
- // type
1766
- if( args.type ) {
1767
- selector += '[data-type="' + args.type + '"]';
1768
- }
1769
-
1770
- // query
1771
- if( args.list ) {
1772
- $fields = args.list.children( selector );
1773
- } else if( args.parent ) {
1774
- $fields = args.parent.find( selector );
1775
- } else if( args.sibling ) {
1776
- $fields = args.sibling.siblings( selector );
1777
- } else if( args.child ) {
1778
- $fields = args.child.parents( selector );
1779
- } else {
1780
- $fields = $( selector );
1781
- }
1782
-
1783
- // limit
1784
- if( args.limit ) {
1785
- $fields = $fields.slice( 0, args.limit );
1786
- }
1787
-
1788
- // return
1789
- return $fields;
1790
- };
1791
-
1792
- /**
1793
- * acf.getFieldObject
1794
- *
1795
- * Returns a single fieldObject instance for a given $el|key
1796
- *
1797
- * @date 1/2/18
1798
- * @since 5.7.0
1799
- *
1800
- * @param string|jQuery $field The field $el or key
1801
- * @return jQuery
1802
- */
1803
-
1804
- acf.getFieldObject = function( $field ){
1805
-
1806
- // allow key
1807
- if( typeof $field === 'string' ) {
1808
- $field = acf.findFieldObject( $field );
1809
- }
1810
-
1811
- // instantiate
1812
- var field = $field.data('acf');
1813
- if( !field ) {
1814
- field = acf.newFieldObject( $field );
1815
- }
1816
-
1817
- // return
1818
- return field;
1819
- };
1820
-
1821
- /**
1822
- * acf.getFieldObjects
1823
- *
1824
- * Returns an array of fieldObject instances for the given args
1825
- *
1826
- * @date 1/2/18
1827
- * @since 5.7.0
1828
- *
1829
- * @param object args
1830
- * @return array
1831
- */
1832
-
1833
- acf.getFieldObjects = function( args ){
1834
-
1835
- // query
1836
- var $fields = acf.findFieldObjects( args );
1837
-
1838
- // loop
1839
- var fields = [];
1840
- $fields.each(function(){
1841
- var field = acf.getFieldObject( $(this) );
1842
- fields.push( field );
1843
- });
1844
-
1845
- // return
1846
- return fields;
1847
- };
1848
-
1849
- /**
1850
- * acf.newFieldObject
1851
- *
1852
- * Initializes and returns a new FieldObject instance
1853
- *
1854
- * @date 1/2/18
1855
- * @since 5.7.0
1856
- *
1857
- * @param jQuery $field The field $el
1858
- * @return object
1859
- */
1860
-
1861
- acf.newFieldObject = function( $field ){
1862
-
1863
- // instantiate
1864
- var field = new acf.FieldObject( $field );
1865
-
1866
- // action
1867
- acf.doAction('new_field_object', field);
1868
-
1869
- // return
1870
- return field;
1871
- };
1872
-
1873
- /**
1874
- * actionManager
1875
- *
1876
- * description
1877
- *
1878
- * @date 15/12/17
1879
- * @since 5.6.5
1880
- *
1881
- * @param type $var Description. Default.
1882
- * @return type Description.
1883
- */
1884
-
1885
- var eventManager = new acf.Model({
1886
-
1887
- priority: 5,
1888
-
1889
- initialize: function(){
1890
-
1891
- // actions
1892
- var actions = [
1893
- 'prepare',
1894
- 'ready',
1895
- 'append',
1896
- 'remove'
1897
- ];
1898
-
1899
- // loop
1900
- actions.map(function( action ){
1901
- this.addFieldActions( action );
1902
- }, this);
1903
- },
1904
-
1905
- addFieldActions: function( action ){
1906
-
1907
- // vars
1908
- var pluralAction = action + '_field_objects'; // ready_field_objects
1909
- var singleAction = action + '_field_object'; // ready_field_object
1910
- var singleEvent = action + 'FieldObject'; // readyFieldObject
1911
-
1912
- // global action
1913
- var callback = function( $el /*, arg1, arg2, etc*/ ){
1914
-
1915
- // vars
1916
- var fieldObjects = acf.getFieldObjects({ parent: $el });
1917
-
1918
- // call plural
1919
- if( fieldObjects.length ) {
1920
-
1921
- /// get args [$el, arg1]
1922
- var args = acf.arrayArgs( arguments );
1923
-
1924
- // modify args [pluralAction, fields, arg1]
1925
- args.splice(0, 1, pluralAction, fieldObjects);
1926
- acf.doAction.apply(null, args);
1927
- }
1928
- };
1929
-
1930
- // plural action
1931
- var pluralCallback = function( fieldObjects /*, arg1, arg2, etc*/ ){
1932
-
1933
- /// get args [fields, arg1]
1934
- var args = acf.arrayArgs( arguments );
1935
-
1936
- // modify args [singleAction, fields, arg1]
1937
- args.unshift(singleAction);
1938
-
1939
- // loop
1940
- fieldObjects.map(function( fieldObject ){
1941
-
1942
- // modify args [singleAction, field, arg1]
1943
- args[1] = fieldObject;
1944
- acf.doAction.apply(null, args);
1945
- });
1946
- };
1947
-
1948
- // single action
1949
- var singleCallback = function( fieldObject /*, arg1, arg2, etc*/ ){
1950
-
1951
- /// get args [$field, arg1]
1952
- var args = acf.arrayArgs( arguments );
1953
-
1954
- // modify args [singleAction, $field, arg1]
1955
- args.unshift(singleAction);
1956
-
1957
- // action variations (ready_field/type=image)
1958
- var variations = ['type', 'name', 'key'];
1959
- variations.map(function( variation ){
1960
- args[0] = singleAction + '/' + variation + '=' + fieldObject.get(variation);
1961
- acf.doAction.apply(null, args);
1962
- });
1963
-
1964
- // modify args [arg1]
1965
- args.splice(0, 2);
1966
-
1967
- // event
1968
- fieldObject.trigger(singleEvent, args);
1969
- };
1970
-
1971
- // add actions
1972
- acf.addAction(action, callback, 5);
1973
- acf.addAction(pluralAction, pluralCallback, 5);
1974
- acf.addAction(singleAction, singleCallback, 5);
1975
-
1976
- }
1977
- });
1978
-
1979
- /**
1980
- * fieldManager
1981
- *
1982
- * description
1983
- *
1984
- * @date 4/1/18
1985
- * @since 5.6.5
1986
- *
1987
- * @param type $var Description. Default.
1988
- * @return type Description.
1989
- */
1990
-
1991
- var fieldManager = new acf.Model({
1992
-
1993
- id: 'fieldManager',
1994
-
1995
- events: {
1996
- 'submit #post': 'onSubmit',
1997
- 'mouseenter .acf-field-list': 'onHoverSortable',
1998
- 'click .add-field': 'onClickAdd',
1999
- },
2000
-
2001
- actions: {
2002
- 'removed_field_object': 'onRemovedField',
2003
- 'sortstop_field_object': 'onReorderField',
2004
- 'delete_field_object': 'onDeleteField',
2005
- 'change_field_object_type': 'onChangeFieldType',
2006
- 'duplicate_field_object': 'onDuplicateField'
2007
- },
2008
-
2009
- onSubmit: function( e, $el ){
2010
-
2011
- // vars
2012
- var fields = acf.getFieldObjects();
2013
-
2014
- // loop
2015
- fields.map(function( field ){
2016
- field.submit();
2017
- });
2018
- },
2019
-
2020
- setFieldMenuOrder: function( field ){
2021
- this.renderFields( field.$el.parent() );
2022
- },
2023
-
2024
- onHoverSortable: function( e, $el ){
2025
-
2026
- // bail early if already sortable
2027
- if( $el.hasClass('ui-sortable') ) return;
2028
-
2029
- // sortable
2030
- $el.sortable({
2031
- handle: '.acf-sortable-handle',
2032
- connectWith: '.acf-field-list',
2033
- start: function( e, ui ){
2034
- var field = acf.getFieldObject( ui.item );
2035
- ui.placeholder.height( ui.item.height() );
2036
- acf.doAction('sortstart_field_object', field, $el);
2037
- },
2038
- update: function( e, ui ){
2039
- var field = acf.getFieldObject( ui.item );
2040
- acf.doAction('sortstop_field_object', field, $el);
2041
- }
2042
- });
2043
- },
2044
-
2045
- onRemovedField: function( field, $list ){
2046
- this.renderFields( $list );
2047
- },
2048
-
2049
- onReorderField: function( field, $list ){
2050
- field.updateParent();
2051
- this.renderFields( $list );
2052
- },
2053
-
2054
- onDeleteField: function( field ){
2055
-
2056
- // delete children
2057
- field.getFields().map(function( child ){
2058
- child.delete({ animate: false });
2059
- });
2060
- },
2061
-
2062
- onChangeFieldType: function( field ){
2063
- // this caused sub fields to disapear if changing type back...
2064
- //this.onDeleteField( field );
2065
- },
2066
-
2067
- onDuplicateField: function( field, newField ){
2068
-
2069
- // check for children
2070
- var children = newField.getFields();
2071
- if( children.length ) {
2072
-
2073
- // loop
2074
- children.map(function( child ){
2075
-
2076
- // wipe field
2077
- child.wipe();
2078
-
2079
- // update parent
2080
- child.updateParent();
2081
- });
2082
-
2083
- // action
2084
- acf.doAction('duplicate_field_objects', children, newField, field);
2085
- }
2086
-
2087
- // set menu order
2088
- this.setFieldMenuOrder( newField );
2089
- },
2090
-
2091
- renderFields: function( $list ){
2092
-
2093
- // vars
2094
- var fields = acf.getFieldObjects({
2095
- list: $list
2096
- });
2097
-
2098
- // no fields
2099
- if( !fields.length ) {
2100
- $list.addClass('-empty');
2101
- return;
2102
- }
2103
-
2104
- // has fields
2105
- $list.removeClass('-empty');
2106
-
2107
- // prop
2108
- fields.map(function( field, i ){
2109
- field.prop('menu_order', i);
2110
- });
2111
- },
2112
-
2113
- onClickAdd: function( e, $el ){
2114
- var $list = $el.closest('.acf-tfoot').siblings('.acf-field-list');
2115
- this.addField( $list );
2116
- },
2117
-
2118
- addField: function( $list ){
2119
-
2120
- // vars
2121
- var html = $('#tmpl-acf-field').html();
2122
- var $el = $(html);
2123
- var prevId = $el.data('id');
2124
- var newKey = acf.uniqid('field_');
2125
-
2126
- // duplicate
2127
- var $newField = acf.duplicate({
2128
- target: $el,
2129
- search: prevId,
2130
- replace: newKey,
2131
- append: function( $el, $el2 ){
2132
- $list.append( $el2 );
2133
- }
2134
- });
2135
-
2136
- // get instance
2137
- var newField = acf.getFieldObject( $newField );
2138
-
2139
- // props
2140
- newField.prop('key', newKey);
2141
- newField.prop('ID', 0);
2142
- newField.prop('label', '');
2143
- newField.prop('name', '');
2144
-
2145
- // attr
2146
- $newField.attr('data-key', newKey);
2147
- $newField.attr('data-id', newKey);
2148
-
2149
- // update parent prop
2150
- newField.updateParent();
2151
-
2152
- // focus label
2153
- var $label = newField.$input('label');
2154
- setTimeout(function(){
2155
- $label.trigger('focus');
2156
- }, 251);
2157
-
2158
- // open
2159
- newField.open();
2160
-
2161
- // set menu order
2162
- this.renderFields( $list );
2163
-
2164
- // action
2165
- acf.doAction('add_field_object', newField);
2166
- acf.doAction('append_field_object', newField);
2167
- }
2168
- });
2169
-
2170
  })(jQuery);
2171
- (function($, undefined){
2172
-
2173
- /**
2174
- * locationManager
2175
- *
2176
- * Field group location rules functionality
2177
- *
2178
- * @date 15/12/17
2179
- * @since 5.7.0
2180
- *
2181
- * @param void
2182
- * @return void
2183
- */
2184
-
2185
- var locationManager = new acf.Model({
2186
-
2187
- id: 'locationManager',
2188
- wait: 'ready',
2189
-
2190
- events: {
2191
- 'click .add-location-rule': 'onClickAddRule',
2192
- 'click .add-location-group': 'onClickAddGroup',
2193
- 'click .remove-location-rule': 'onClickRemoveRule',
2194
- 'change .refresh-location-rule': 'onChangeRemoveRule'
2195
- },
2196
-
2197
- initialize: function(){
2198
- this.$el = $('#acf-field-group-locations');
2199
- this.updateGroupsClass();
2200
- },
2201
-
2202
- onClickAddRule: function( e, $el ){
2203
- this.addRule( $el.closest('tr') );
2204
- },
2205
-
2206
- onClickRemoveRule: function( e, $el ){
2207
- this.removeRule( $el.closest('tr') );
2208
- },
2209
-
2210
- onChangeRemoveRule: function( e, $el ){
2211
- this.changeRule( $el.closest('tr') );
2212
- },
2213
-
2214
- onClickAddGroup: function( e, $el ){
2215
- this.addGroup();
2216
- },
2217
-
2218
- addRule: function( $tr ){
2219
- acf.duplicate( $tr );
2220
- this.updateGroupsClass();
2221
- },
2222
-
2223
- removeRule: function( $tr ){
2224
- if( $tr.siblings('tr').length == 0 ) {
2225
- $tr.closest('.rule-group').remove();
2226
- } else {
2227
- $tr.remove();
2228
- }
2229
-
2230
- // Update h4
2231
- var $group = this.$('.rule-group:first');
2232
- $group.find('h4').text( acf.__('Show this field group if') );
2233
-
2234
-
2235
- this.updateGroupsClass();
2236
- },
2237
-
2238
- changeRule: function( $rule ){
2239
-
2240
- // vars
2241
- var $group = $rule.closest('.rule-group');
2242
- var prefix = $rule.find('td.param select').attr('name').replace('[param]', '');
2243
-
2244
- // ajaxdata
2245
- var ajaxdata = {};
2246
- ajaxdata.action = 'acf/field_group/render_location_rule';
2247
- ajaxdata.rule = acf.serialize( $rule, prefix );
2248
- ajaxdata.rule.id = $rule.data('id');
2249
- ajaxdata.rule.group = $group.data('id');
2250
-
2251
- // temp disable
2252
- acf.disable( $rule.find('td.value') );
2253
-
2254
- // ajax
2255
- $.ajax({
2256
- url: acf.get('ajaxurl'),
2257
- data: acf.prepareForAjax(ajaxdata),
2258
- type: 'post',
2259
- dataType: 'html',
2260
- success: function( html ){
2261
- if( !html ) return;
2262
- $rule.replaceWith( html );
2263
- }
2264
- });
2265
- },
2266
-
2267
- addGroup: function(){
2268
-
2269
- // vars
2270
- var $group = this.$('.rule-group:last');
2271
-
2272
- // duplicate
2273
- $group2 = acf.duplicate( $group );
2274
-
2275
- // update h4
2276
- $group2.find('h4').text( acf.__('or') );
2277
-
2278
- // remove all tr's except the first one
2279
- $group2.find('tr').not(':first').remove();
2280
-
2281
- // update the groups class
2282
- this.updateGroupsClass();
2283
- },
2284
-
2285
- updateGroupsClass: function () {
2286
- var $group = this.$(".rule-group:last");
2287
-
2288
- var $ruleGroups = $group.closest(".rule-groups");
2289
-
2290
- var rows_count = $ruleGroups.find(".acf-table tr").length;
2291
-
2292
- if (rows_count > 1) {
2293
- $ruleGroups.addClass("rule-groups-multiple");
2294
- } else {
2295
- $ruleGroups.removeClass("rule-groups-multiple");
2296
- }
2297
- },
2298
- });
2299
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2300
  })(jQuery);
2301
- (function($, undefined){
2302
-
2303
- var _acf = acf.getCompatibility( acf );
2304
-
2305
- /**
2306
- * fieldGroupCompatibility
2307
- *
2308
- * Compatibility layer for extinct acf.field_group
2309
- *
2310
- * @date 15/12/17
2311
- * @since 5.7.0
2312
- *
2313
- * @param void
2314
- * @return void
2315
- */
2316
-
2317
- _acf.field_group = {
2318
-
2319
- save_field: function( $field, type ){
2320
- type = (type !== undefined) ? type : 'settings';
2321
- acf.getFieldObject( $field ).save( type );
2322
- },
2323
-
2324
- delete_field: function( $field, animate ){
2325
- animate = (animate !== undefined) ? animate : true;
2326
- acf.getFieldObject( $field ).delete({
2327
- animate: animate
2328
- });
2329
- },
2330
-
2331
- update_field_meta: function( $field, name, value ){
2332
- acf.getFieldObject( $field ).prop( name, value );
2333
- },
2334
-
2335
- delete_field_meta: function( $field, name ){
2336
- acf.getFieldObject( $field ).prop( name, null );
2337
- }
2338
- };
2339
-
2340
- /**
2341
- * fieldGroupCompatibility.field_object
2342
- *
2343
- * Compatibility layer for extinct acf.field_group.field_object
2344
- *
2345
- * @date 15/12/17
2346
- * @since 5.7.0
2347
- *
2348
- * @param void
2349
- * @return void
2350
- */
2351
-
2352
- _acf.field_group.field_object = acf.model.extend({
2353
-
2354
- // vars
2355
- type: '',
2356
- o: {},
2357
- $field: null,
2358
- $settings: null,
2359
-
2360
- tag: function( tag ) {
2361
-
2362
- // vars
2363
- var type = this.type;
2364
-
2365
-
2366
- // explode, add 'field' and implode
2367
- // - open => open_field
2368
- // - change_type => change_field_type
2369
- var tags = tag.split('_');
2370
- tags.splice(1, 0, 'field');
2371
- tag = tags.join('_');
2372
-
2373
-
2374
- // add type
2375
- if( type ) {
2376
- tag += '/type=' + type;
2377
- }
2378
-
2379
-
2380
- // return
2381
- return tag;
2382
-
2383
- },
2384
-
2385
- selector: function(){
2386
-
2387
- // vars
2388
- var selector = '.acf-field-object';
2389
- var type = this.type;
2390
-
2391
-
2392
- // add type
2393
- if( type ) {
2394
- selector += '-' + type;
2395
- selector = acf.str_replace('_', '-', selector);
2396
- }
2397
-
2398
-
2399
- // return
2400
- return selector;
2401
-
2402
- },
2403
-
2404
- _add_action: function( name, callback ) {
2405
-
2406
- // vars
2407
- var model = this;
2408
-
2409
-
2410
- // add action
2411
- acf.add_action( this.tag(name), function( $field ){
2412
-
2413
- // focus
2414
- model.set('$field', $field);
2415
-
2416
-
2417
- // callback
2418
- model[ callback ].apply(model, arguments);
2419
-
2420
- });
2421
-
2422
- },
2423
-
2424
- _add_filter: function( name, callback ) {
2425
-
2426
- // vars
2427
- var model = this;
2428
-
2429
-
2430
- // add action
2431
- acf.add_filter( this.tag(name), function( $field ){
2432
-
2433
- // focus
2434
- model.set('$field', $field);
2435
-
2436
-
2437
- // callback
2438
- model[ callback ].apply(model, arguments);
2439
-
2440
- });
2441
-
2442
- },
2443
-
2444
- _add_event: function( name, callback ) {
2445
-
2446
- // vars
2447
- var model = this;
2448
- var event = name.substr(0,name.indexOf(' '));
2449
- var selector = name.substr(name.indexOf(' ')+1);
2450
- var context = this.selector();
2451
-
2452
-
2453
- // add event
2454
- $(document).on(event, context + ' ' + selector, function( e ){
2455
-
2456
- // append $el to event object
2457
- e.$el = $(this);
2458
- e.$field = e.$el.closest('.acf-field-object');
2459
-
2460
-
2461
- // focus
2462
- model.set('$field', e.$field);
2463
-
2464
-
2465
- // callback
2466
- model[ callback ].apply(model, [e]);
2467
-
2468
- });
2469
-
2470
- },
2471
-
2472
- _set_$field: function(){
2473
-
2474
- // vars
2475
- this.o = this.$field.data();
2476
-
2477
-
2478
- // els
2479
- this.$settings = this.$field.find('> .settings > table > tbody');
2480
-
2481
-
2482
- // focus
2483
- this.focus();
2484
-
2485
- },
2486
-
2487
- focus: function(){
2488
-
2489
- // do nothing
2490
-
2491
- },
2492
-
2493
- setting: function( name ) {
2494
-
2495
- return this.$settings.find('> .acf-field-setting-' + name);
2496
-
2497
- }
2498
-
2499
- });
2500
-
2501
-
2502
- /*
2503
- * field
2504
- *
2505
- * This model fires actions and filters for registered fields
2506
- *
2507
- * @type function
2508
- * @date 21/02/2014
2509
- * @since 3.5.1
2510
- *
2511
- * @param n/a
2512
- * @return n/a
2513
- */
2514
-
2515
- var actionManager = new acf.Model({
2516
-
2517
- actions: {
2518
- 'open_field_object': 'onOpenFieldObject',
2519
- 'close_field_object': 'onCloseFieldObject',
2520
- 'add_field_object': 'onAddFieldObject',
2521
- 'duplicate_field_object': 'onDuplicateFieldObject',
2522
- 'delete_field_object': 'onDeleteFieldObject',
2523
- 'change_field_object_type': 'onChangeFieldObjectType',
2524
- 'change_field_object_label': 'onChangeFieldObjectLabel',
2525
- 'change_field_object_name': 'onChangeFieldObjectName',
2526
- 'change_field_object_parent': 'onChangeFieldObjectParent',
2527
- 'sortstop_field_object': 'onChangeFieldObjectParent'
2528
- },
2529
-
2530
- onOpenFieldObject: function( field ){
2531
- acf.doAction('open_field', field.$el);
2532
- acf.doAction('open_field/type=' + field.get('type'), field.$el);
2533
-
2534
- acf.doAction('render_field_settings', field.$el);
2535
- acf.doAction('render_field_settings/type=' + field.get('type'), field.$el);
2536
- },
2537
-
2538
- onCloseFieldObject: function( field ){
2539
- acf.doAction('close_field', field.$el);
2540
- acf.doAction('close_field/type=' + field.get('type'), field.$el);
2541
- },
2542
-
2543
- onAddFieldObject: function( field ){
2544
- acf.doAction('add_field', field.$el);
2545
- acf.doAction('add_field/type=' + field.get('type'), field.$el);
2546
- },
2547
-
2548
- onDuplicateFieldObject: function( field ){
2549
- acf.doAction('duplicate_field', field.$el);
2550
- acf.doAction('duplicate_field/type=' + field.get('type'), field.$el);
2551
- },
2552
-
2553
- onDeleteFieldObject: function( field ){
2554
- acf.doAction('delete_field', field.$el);
2555
- acf.doAction('delete_field/type=' + field.get('type'), field.$el);
2556
- },
2557
-
2558
- onChangeFieldObjectType: function( field ){
2559
- acf.doAction('change_field_type', field.$el);
2560
- acf.doAction('change_field_type/type=' + field.get('type'), field.$el);
2561
-
2562
- acf.doAction('render_field_settings', field.$el);
2563
- acf.doAction('render_field_settings/type=' + field.get('type'), field.$el);
2564
- },
2565
-
2566
- onChangeFieldObjectLabel: function( field ){
2567
- acf.doAction('change_field_label', field.$el);
2568
- acf.doAction('change_field_label/type=' + field.get('type'), field.$el);
2569
- },
2570
-
2571
- onChangeFieldObjectName: function( field ){
2572
- acf.doAction('change_field_name', field.$el);
2573
- acf.doAction('change_field_name/type=' + field.get('type'), field.$el);
2574
- },
2575
-
2576
- onChangeFieldObjectParent: function( field ){
2577
- acf.doAction('update_field_parent', field.$el);
2578
- }
2579
- });
2580
-
2581
- })(jQuery);
1
+ /******/ (function() { // webpackBootstrap
2
+ /******/ var __webpack_modules__ = ({
3
+
4
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js":
5
+ /*!************************************************************************************!*\
6
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js ***!
7
+ \************************************************************************************/
8
+ /***/ (function() {
9
+
10
+ (function ($, undefined) {
11
+ var _acf = acf.getCompatibility(acf);
12
+ /**
13
+ * fieldGroupCompatibility
14
+ *
15
+ * Compatibility layer for extinct acf.field_group
16
+ *
17
+ * @date 15/12/17
18
+ * @since 5.7.0
19
+ *
20
+ * @param void
21
+ * @return void
22
+ */
23
+
24
+
25
+ _acf.field_group = {
26
+ save_field: function ($field, type) {
27
+ type = type !== undefined ? type : 'settings';
28
+ acf.getFieldObject($field).save(type);
29
+ },
30
+ delete_field: function ($field, animate) {
31
+ animate = animate !== undefined ? animate : true;
32
+ acf.getFieldObject($field).delete({
33
+ animate: animate
34
+ });
35
+ },
36
+ update_field_meta: function ($field, name, value) {
37
+ acf.getFieldObject($field).prop(name, value);
38
+ },
39
+ delete_field_meta: function ($field, name) {
40
+ acf.getFieldObject($field).prop(name, null);
41
+ }
42
+ };
43
+ /**
44
+ * fieldGroupCompatibility.field_object
45
+ *
46
+ * Compatibility layer for extinct acf.field_group.field_object
47
+ *
48
+ * @date 15/12/17
49
+ * @since 5.7.0
50
+ *
51
+ * @param void
52
+ * @return void
53
+ */
54
+
55
+ _acf.field_group.field_object = acf.model.extend({
56
+ // vars
57
+ type: '',
58
+ o: {},
59
+ $field: null,
60
+ $settings: null,
61
+ tag: function (tag) {
62
+ // vars
63
+ var type = this.type; // explode, add 'field' and implode
64
+ // - open => open_field
65
+ // - change_type => change_field_type
66
+
67
+ var tags = tag.split('_');
68
+ tags.splice(1, 0, 'field');
69
+ tag = tags.join('_'); // add type
70
+
71
+ if (type) {
72
+ tag += '/type=' + type;
73
+ } // return
74
+
75
+
76
+ return tag;
77
+ },
78
+ selector: function () {
79
+ // vars
80
+ var selector = '.acf-field-object';
81
+ var type = this.type; // add type
82
+
83
+ if (type) {
84
+ selector += '-' + type;
85
+ selector = acf.str_replace('_', '-', selector);
86
+ } // return
87
+
88
+
89
+ return selector;
90
+ },
91
+ _add_action: function (name, callback) {
92
+ // vars
93
+ var model = this; // add action
94
+
95
+ acf.add_action(this.tag(name), function ($field) {
96
+ // focus
97
+ model.set('$field', $field); // callback
98
+
99
+ model[callback].apply(model, arguments);
100
+ });
101
+ },
102
+ _add_filter: function (name, callback) {
103
+ // vars
104
+ var model = this; // add action
105
+
106
+ acf.add_filter(this.tag(name), function ($field) {
107
+ // focus
108
+ model.set('$field', $field); // callback
109
+
110
+ model[callback].apply(model, arguments);
111
+ });
112
+ },
113
+ _add_event: function (name, callback) {
114
+ // vars
115
+ var model = this;
116
+ var event = name.substr(0, name.indexOf(' '));
117
+ var selector = name.substr(name.indexOf(' ') + 1);
118
+ var context = this.selector(); // add event
119
+
120
+ $(document).on(event, context + ' ' + selector, function (e) {
121
+ // append $el to event object
122
+ e.$el = $(this);
123
+ e.$field = e.$el.closest('.acf-field-object'); // focus
124
+
125
+ model.set('$field', e.$field); // callback
126
+
127
+ model[callback].apply(model, [e]);
128
+ });
129
+ },
130
+ _set_$field: function () {
131
+ // vars
132
+ this.o = this.$field.data(); // els
133
+
134
+ this.$settings = this.$field.find('> .settings > table > tbody'); // focus
135
+
136
+ this.focus();
137
+ },
138
+ focus: function () {// do nothing
139
+ },
140
+ setting: function (name) {
141
+ return this.$settings.find('> .acf-field-setting-' + name);
142
+ }
143
+ });
144
+ /*
145
+ * field
146
+ *
147
+ * This model fires actions and filters for registered fields
148
+ *
149
+ * @type function
150
+ * @date 21/02/2014
151
+ * @since 3.5.1
152
+ *
153
+ * @param n/a
154
+ * @return n/a
155
+ */
156
+
157
+ var actionManager = new acf.Model({
158
+ actions: {
159
+ open_field_object: 'onOpenFieldObject',
160
+ close_field_object: 'onCloseFieldObject',
161
+ add_field_object: 'onAddFieldObject',
162
+ duplicate_field_object: 'onDuplicateFieldObject',
163
+ delete_field_object: 'onDeleteFieldObject',
164
+ change_field_object_type: 'onChangeFieldObjectType',
165
+ change_field_object_label: 'onChangeFieldObjectLabel',
166
+ change_field_object_name: 'onChangeFieldObjectName',
167
+ change_field_object_parent: 'onChangeFieldObjectParent',
168
+ sortstop_field_object: 'onChangeFieldObjectParent'
169
+ },
170
+ onOpenFieldObject: function (field) {
171
+ acf.doAction('open_field', field.$el);
172
+ acf.doAction('open_field/type=' + field.get('type'), field.$el);
173
+ acf.doAction('render_field_settings', field.$el);
174
+ acf.doAction('render_field_settings/type=' + field.get('type'), field.$el);
175
+ },
176
+ onCloseFieldObject: function (field) {
177
+ acf.doAction('close_field', field.$el);
178
+ acf.doAction('close_field/type=' + field.get('type'), field.$el);
179
+ },
180
+ onAddFieldObject: function (field) {
181
+ acf.doAction('add_field', field.$el);
182
+ acf.doAction('add_field/type=' + field.get('type'), field.$el);
183
+ },
184
+ onDuplicateFieldObject: function (field) {
185
+ acf.doAction('duplicate_field', field.$el);
186
+ acf.doAction('duplicate_field/type=' + field.get('type'), field.$el);
187
+ },
188
+ onDeleteFieldObject: function (field) {
189
+ acf.doAction('delete_field', field.$el);
190
+ acf.doAction('delete_field/type=' + field.get('type'), field.$el);
191
+ },
192
+ onChangeFieldObjectType: function (field) {
193
+ acf.doAction('change_field_type', field.$el);
194
+ acf.doAction('change_field_type/type=' + field.get('type'), field.$el);
195
+ acf.doAction('render_field_settings', field.$el);
196
+ acf.doAction('render_field_settings/type=' + field.get('type'), field.$el);
197
+ },
198
+ onChangeFieldObjectLabel: function (field) {
199
+ acf.doAction('change_field_label', field.$el);
200
+ acf.doAction('change_field_label/type=' + field.get('type'), field.$el);
201
+ },
202
+ onChangeFieldObjectName: function (field) {
203
+ acf.doAction('change_field_name', field.$el);
204
+ acf.doAction('change_field_name/type=' + field.get('type'), field.$el);
205
+ },
206
+ onChangeFieldObjectParent: function (field) {
207
+ acf.doAction('update_field_parent', field.$el);
208
+ }
209
+ });
210
  })(jQuery);
211
+
212
+ /***/ }),
213
+
214
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js":
215
+ /*!*********************************************************************************!*\
216
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js ***!
217
+ \*********************************************************************************/
218
+ /***/ (function() {
219
+
220
+ (function ($, undefined) {
221
+ /**
222
+ * ConditionalLogicFieldSetting
223
+ *
224
+ * description
225
+ *
226
+ * @date 3/2/18
227
+ * @since 5.6.5
228
+ *
229
+ * @param type $var Description. Default.
230
+ * @return type Description.
231
+ */
232
+ var ConditionalLogicFieldSetting = acf.FieldSetting.extend({
233
+ type: '',
234
+ name: 'conditional_logic',
235
+ events: {
236
+ 'change .conditions-toggle': 'onChangeToggle',
237
+ 'click .add-conditional-group': 'onClickAddGroup',
238
+ 'focus .condition-rule-field': 'onFocusField',
239
+ 'change .condition-rule-field': 'onChangeField',
240
+ 'change .condition-rule-operator': 'onChangeOperator',
241
+ 'click .add-conditional-rule': 'onClickAdd',
242
+ 'click .remove-conditional-rule': 'onClickRemove'
243
+ },
244
+ $rule: false,
245
+ scope: function ($rule) {
246
+ this.$rule = $rule;
247
+ return this;
248
+ },
249
+ ruleData: function (name, value) {
250
+ return this.$rule.data.apply(this.$rule, arguments);
251
+ },
252
+ $input: function (name) {
253
+ return this.$rule.find('.condition-rule-' + name);
254
+ },
255
+ $td: function (name) {
256
+ return this.$rule.find('td.' + name);
257
+ },
258
+ $toggle: function () {
259
+ return this.$('.conditions-toggle');
260
+ },
261
+ $control: function () {
262
+ return this.$('.rule-groups');
263
+ },
264
+ $groups: function () {
265
+ return this.$('.rule-group');
266
+ },
267
+ $rules: function () {
268
+ return this.$('.rule');
269
+ },
270
+ open: function () {
271
+ var $div = this.$control();
272
+ $div.show();
273
+ acf.enable($div);
274
+ },
275
+ close: function () {
276
+ var $div = this.$control();
277
+ $div.hide();
278
+ acf.disable($div);
279
+ },
280
+ render: function () {
281
+ // show
282
+ if (this.$toggle().prop('checked')) {
283
+ this.renderRules();
284
+ this.open(); // hide
285
+ } else {
286
+ this.close();
287
+ }
288
+ },
289
+ renderRules: function () {
290
+ // vars
291
+ var self = this; // loop
292
+
293
+ this.$rules().each(function () {
294
+ self.renderRule($(this));
295
+ });
296
+ },
297
+ renderRule: function ($rule) {
298
+ this.scope($rule);
299
+ this.renderField();
300
+ this.renderOperator();
301
+ this.renderValue();
302
+ },
303
+ renderField: function () {
304
+ // vars
305
+ var choices = [];
306
+ var validFieldTypes = [];
307
+ var cid = this.fieldObject.cid;
308
+ var $select = this.$input('field'); // loop
309
+
310
+ acf.getFieldObjects().map(function (fieldObject) {
311
+ // vars
312
+ var choice = {
313
+ id: fieldObject.getKey(),
314
+ text: fieldObject.getLabel()
315
+ }; // bail early if is self
316
+
317
+ if (fieldObject.cid === cid) {
318
+ choice.text += acf.__('(this field)');
319
+ choice.disabled = true;
320
+ } // get selected field conditions
321
+
322
+
323
+ var conditionTypes = acf.getConditionTypes({
324
+ fieldType: fieldObject.getType()
325
+ }); // bail early if no types
326
+
327
+ if (!conditionTypes.length) {
328
+ choice.disabled = true;
329
+ } // calulate indents
330
+
331
+
332
+ var indents = fieldObject.getParents().length;
333
+ choice.text = '- '.repeat(indents) + choice.text; // append
334
+
335
+ choices.push(choice);
336
+ }); // allow for scenario where only one field exists
337
+
338
+ if (!choices.length) {
339
+ choices.push({
340
+ id: '',
341
+ text: acf.__('No toggle fields available')
342
+ });
343
+ } // render
344
+
345
+
346
+ acf.renderSelect($select, choices); // set
347
+
348
+ this.ruleData('field', $select.val());
349
+ },
350
+ renderOperator: function () {
351
+ // bail early if no field selected
352
+ if (!this.ruleData('field')) {
353
+ return;
354
+ } // vars
355
+
356
+
357
+ var $select = this.$input('operator');
358
+ var val = $select.val();
359
+ var choices = []; // set saved value on first render
360
+ // - this allows the 2nd render to correctly select an option
361
+
362
+ if ($select.val() === null) {
363
+ acf.renderSelect($select, [{
364
+ id: this.ruleData('operator'),
365
+ text: ''
366
+ }]);
367
+ } // get selected field
368
+
369
+
370
+ var $field = acf.findFieldObject(this.ruleData('field'));
371
+ var field = acf.getFieldObject($field); // get selected field conditions
372
+
373
+ var conditionTypes = acf.getConditionTypes({
374
+ fieldType: field.getType()
375
+ }); // html
376
+
377
+ conditionTypes.map(function (model) {
378
+ choices.push({
379
+ id: model.prototype.operator,
380
+ text: model.prototype.label
381
+ });
382
+ }); // render
383
+
384
+ acf.renderSelect($select, choices); // set
385
+
386
+ this.ruleData('operator', $select.val());
387
+ },
388
+ renderValue: function () {
389
+ // bail early if no field selected
390
+ if (!this.ruleData('field') || !this.ruleData('operator')) {
391
+ return;
392
+ } // vars
393
+
394
+
395
+ var $select = this.$input('value');
396
+ var $td = this.$td('value');
397
+ var val = $select.val(); // get selected field
398
+
399
+ var $field = acf.findFieldObject(this.ruleData('field'));
400
+ var field = acf.getFieldObject($field); // get selected field conditions
401
+
402
+ var conditionTypes = acf.getConditionTypes({
403
+ fieldType: field.getType(),
404
+ operator: this.ruleData('operator')
405
+ }); // html
406
+
407
+ var conditionType = conditionTypes[0].prototype;
408
+ var choices = conditionType.choices(field); // create html: array
409
+
410
+ if (choices instanceof Array) {
411
+ var $newSelect = $('<select></select>');
412
+ acf.renderSelect($newSelect, choices); // create html: string (<input />)
413
+ } else {
414
+ var $newSelect = $(choices);
415
+ } // append
416
+
417
+
418
+ $select.detach();
419
+ $td.html($newSelect); // copy attrs
420
+ // timeout needed to avoid browser bug where "disabled" attribute is not applied
421
+
422
+ setTimeout(function () {
423
+ ['class', 'name', 'id'].map(function (attr) {
424
+ $newSelect.attr(attr, $select.attr(attr));
425
+ });
426
+ }, 0); // select existing value (if not a disabled input)
427
+
428
+ if (!$newSelect.prop('disabled')) {
429
+ acf.val($newSelect, val, true);
430
+ } // set
431
+
432
+
433
+ this.ruleData('value', $newSelect.val());
434
+ },
435
+ onChangeToggle: function () {
436
+ this.render();
437
+ },
438
+ onClickAddGroup: function (e, $el) {
439
+ this.addGroup();
440
+ },
441
+ addGroup: function () {
442
+ // vars
443
+ var $group = this.$('.rule-group:last'); // duplicate
444
+
445
+ var $group2 = acf.duplicate($group); // update h4
446
+
447
+ $group2.find('h4').text(acf.__('or')); // remove all tr's except the first one
448
+
449
+ $group2.find('tr').not(':first').remove(); // save field
450
+
451
+ this.fieldObject.save();
452
+ },
453
+ onFocusField: function (e, $el) {
454
+ this.renderField();
455
+ },
456
+ onChangeField: function (e, $el) {
457
+ // scope
458
+ this.scope($el.closest('.rule')); // set data
459
+
460
+ this.ruleData('field', $el.val()); // render
461
+
462
+ this.renderOperator();
463
+ this.renderValue();
464
+ },
465
+ onChangeOperator: function (e, $el) {
466
+ // scope
467
+ this.scope($el.closest('.rule')); // set data
468
+
469
+ this.ruleData('operator', $el.val()); // render
470
+
471
+ this.renderValue();
472
+ },
473
+ onClickAdd: function (e, $el) {
474
+ // duplciate
475
+ var $rule = acf.duplicate($el.closest('.rule')); // render
476
+
477
+ this.renderRule($rule);
478
+ },
479
+ onClickRemove: function (e, $el) {
480
+ // vars
481
+ var $rule = $el.closest('.rule'); // save field
482
+
483
+ this.fieldObject.save(); // remove group
484
+
485
+ if ($rule.siblings('.rule').length == 0) {
486
+ $rule.closest('.rule-group').remove();
487
+ } // remove
488
+
489
+
490
+ $rule.remove();
491
+ }
492
+ });
493
+ acf.registerFieldSetting(ConditionalLogicFieldSetting);
494
+ /**
495
+ * conditionalLogicHelper
496
+ *
497
+ * description
498
+ *
499
+ * @date 20/4/18
500
+ * @since 5.6.9
501
+ *
502
+ * @param type $var Description. Default.
503
+ * @return type Description.
504
+ */
505
+
506
+ var conditionalLogicHelper = new acf.Model({
507
+ actions: {
508
+ duplicate_field_objects: 'onDuplicateFieldObjects'
509
+ },
510
+ onDuplicateFieldObjects: function (children, newField, prevField) {
511
+ // vars
512
+ var data = {};
513
+ var $selects = $(); // reference change in key
514
+
515
+ children.map(function (child) {
516
+ // store reference of changed key
517
+ data[child.get('prevKey')] = child.get('key'); // append condition select
518
+
519
+ $selects = $selects.add(child.$('.condition-rule-field'));
520
+ }); // loop
521
+
522
+ $selects.each(function () {
523
+ // vars
524
+ var $select = $(this);
525
+ var val = $select.val(); // bail early if val is not a ref key
526
+
527
+ if (!val || !data[val]) {
528
+ return;
529
+ } // modify selected option
530
+
531
+
532
+ $select.find('option:selected').attr('value', data[val]); // set new val
533
+
534
+ $select.val(data[val]);
535
+ });
536
+ }
537
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
538
  })(jQuery);
539
+
540
+ /***/ }),
541
+
542
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js":
543
+ /*!****************************************************************************!*\
544
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js ***!
545
+ \****************************************************************************/
546
+ /***/ (function() {
547
+
548
+ (function ($, undefined) {
549
+ acf.FieldObject = acf.Model.extend({
550
+ // class used to avoid nested event triggers
551
+ eventScope: '.acf-field-object',
552
+ // events
553
+ events: {
554
+ 'click .edit-field': 'onClickEdit',
555
+ 'click .delete-field': 'onClickDelete',
556
+ 'click .duplicate-field': 'duplicate',
557
+ 'click .move-field': 'move',
558
+ 'change .field-type': 'onChangeType',
559
+ 'change .field-required': 'onChangeRequired',
560
+ 'blur .field-label': 'onChangeLabel',
561
+ 'blur .field-name': 'onChangeName',
562
+ change: 'onChange',
563
+ changed: 'onChanged'
564
+ },
565
+ // data
566
+ data: {
567
+ // Similar to ID, but used for HTML puposes.
568
+ // It is possbile for a new field to have an ID of 0, but an id of 'field_123' */
569
+ id: 0,
570
+ // The field key ('field_123')
571
+ key: '',
572
+ // The field type (text, image, etc)
573
+ type: '' // The $post->ID of this field
574
+ //ID: 0,
575
+ // The field's parent
576
+ //parent: 0,
577
+ // The menu order
578
+ //menu_order: 0
579
+
580
+ },
581
+ setup: function ($field) {
582
+ // set $el
583
+ this.$el = $field; // inherit $field data (id, key, type)
584
+
585
+ this.inherit($field); // load additional props
586
+ // - this won't trigger 'changed'
587
+
588
+ this.prop('ID');
589
+ this.prop('parent');
590
+ this.prop('menu_order');
591
+ },
592
+ $input: function (name) {
593
+ return $('#' + this.getInputId() + '-' + name);
594
+ },
595
+ $meta: function () {
596
+ return this.$('.meta:first');
597
+ },
598
+ $handle: function () {
599
+ return this.$('.handle:first');
600
+ },
601
+ $settings: function () {
602
+ return this.$('.settings:first');
603
+ },
604
+ $setting: function (name) {
605
+ return this.$('.acf-field-settings:first > .acf-field-setting-' + name);
606
+ },
607
+ getParent: function () {
608
+ return acf.getFieldObjects({
609
+ child: this.$el,
610
+ limit: 1
611
+ }).pop();
612
+ },
613
+ getParents: function () {
614
+ return acf.getFieldObjects({
615
+ child: this.$el
616
+ });
617
+ },
618
+ getFields: function () {
619
+ return acf.getFieldObjects({
620
+ parent: this.$el
621
+ });
622
+ },
623
+ getInputName: function () {
624
+ return 'acf_fields[' + this.get('id') + ']';
625
+ },
626
+ getInputId: function () {
627
+ return 'acf_fields-' + this.get('id');
628
+ },
629
+ newInput: function (name, value) {
630
+ // vars
631
+ var inputId = this.getInputId();
632
+ var inputName = this.getInputName(); // append name
633
+
634
+ if (name) {
635
+ inputId += '-' + name;
636
+ inputName += '[' + name + ']';
637
+ } // create input (avoid HTML + JSON value issues)
638
+
639
+
640
+ var $input = $('<input />').attr({
641
+ id: inputId,
642
+ name: inputName,
643
+ value: value
644
+ });
645
+ this.$('> .meta').append($input); // return
646
+
647
+ return $input;
648
+ },
649
+ getProp: function (name) {
650
+ // check data
651
+ if (this.has(name)) {
652
+ return this.get(name);
653
+ } // get input value
654
+
655
+
656
+ var $input = this.$input(name);
657
+ var value = $input.length ? $input.val() : null; // set data silently (cache)
658
+
659
+ this.set(name, value, true); // return
660
+
661
+ return value;
662
+ },
663
+ setProp: function (name, value) {
664
+ // get input
665
+ var $input = this.$input(name);
666
+ var prevVal = $input.val(); // create if new
667
+
668
+ if (!$input.length) {
669
+ $input = this.newInput(name, value);
670
+ } // remove
671
+
672
+
673
+ if (value === null) {
674
+ $input.remove(); // update
675
+ } else {
676
+ $input.val(value);
677
+ } //console.log('setProp', name, value, this);
678
+ // set data silently (cache)
679
+
680
+
681
+ if (!this.has(name)) {
682
+ //console.log('setting silently');
683
+ this.set(name, value, true); // set data allowing 'change' event to fire
684
+ } else {
685
+ //console.log('setting loudly!');
686
+ this.set(name, value);
687
+ } // return
688
+
689
+
690
+ return this;
691
+ },
692
+ prop: function (name, value) {
693
+ if (value !== undefined) {
694
+ return this.setProp(name, value);
695
+ } else {
696
+ return this.getProp(name);
697
+ }
698
+ },
699
+ props: function (props) {
700
+ Object.keys(props).map(function (key) {
701
+ this.setProp(key, props[key]);
702
+ }, this);
703
+ },
704
+ getLabel: function () {
705
+ // get label with empty default
706
+ var label = this.prop('label');
707
+
708
+ if (label === '') {
709
+ label = acf.__('(no label)');
710
+ } // return
711
+
712
+
713
+ return label;
714
+ },
715
+ getName: function () {
716
+ return this.prop('name');
717
+ },
718
+ getType: function () {
719
+ return this.prop('type');
720
+ },
721
+ getTypeLabel: function () {
722
+ var type = this.prop('type');
723
+ var types = acf.get('fieldTypes');
724
+ return types[type] ? types[type].label : type;
725
+ },
726
+ getKey: function () {
727
+ return this.prop('key');
728
+ },
729
+ initialize: function () {
730
+ this.addProFields();
731
+ },
732
+ addProFields: function () {
733
+ // Make sure we're only running this on free version.
734
+ if (acf.data.fieldTypes.hasOwnProperty('clone')) {
735
+ return;
736
+ } // Make sure we haven't appended these fields before.
737
+
738
+
739
+ var $fieldTypeSelect = $('.field-type').not('.acf-free-field-type'); // Append pro fields to "Layout" group.
740
+
741
+ var $layoutGroup = $fieldTypeSelect.find('optgroup option[value="group"]').parent();
742
+ $layoutGroup.append('<option value="null" disabled="disabled">' + acf.__('Repeater (Pro only)') + '</option>' + '<option value="null" disabled="disabled">' + acf.__('Flexible Content (Pro only)') + '</option>' + '<option value="null" disabled="disabled">' + acf.__('Clone (Pro only)') + '</option>'); // Add pro fields to "Content" group.
743
+
744
+ var $contentGroup = $fieldTypeSelect.find('optgroup option[value="image"]').parent();
745
+ $contentGroup.append('<option value="null" disabled="disabled">' + acf.__('Gallery (Pro only)') + '</option>');
746
+ $fieldTypeSelect.addClass('acf-free-field-type');
747
+ },
748
+ render: function () {
749
+ // vars
750
+ var $handle = this.$('.handle:first');
751
+ var menu_order = this.prop('menu_order');
752
+ var label = this.getLabel();
753
+ var name = this.prop('name');
754
+ var type = this.getTypeLabel();
755
+ var key = this.prop('key');
756
+ var required = this.$input('required').prop('checked'); // update menu order
757
+
758
+ $handle.find('.acf-icon').html(parseInt(menu_order) + 1); // update required
759
+
760
+ if (required) {
761
+ label += ' <span class="acf-required">*</span>';
762
+ } // update label
763
+
764
+
765
+ $handle.find('.li-field-label strong a').html(label); // update name
766
+
767
+ $handle.find('.li-field-name').text(name); // update type
768
+
769
+ $handle.find('.li-field-type').text(type); // update key
770
+
771
+ $handle.find('.li-field-key').text(key); // action for 3rd party customization
772
+
773
+ acf.doAction('render_field_object', this);
774
+ },
775
+ refresh: function () {
776
+ acf.doAction('refresh_field_object', this);
777
+ },
778
+ isOpen: function () {
779
+ return this.$el.hasClass('open');
780
+ },
781
+ onClickEdit: function (e) {
782
+ this.isOpen() ? this.close() : this.open();
783
+ },
784
+ open: function () {
785
+ // vars
786
+ var $settings = this.$el.children('.settings'); // open
787
+
788
+ $settings.slideDown();
789
+ this.$el.addClass('open'); // action (open)
790
+
791
+ acf.doAction('open_field_object', this);
792
+ this.trigger('openFieldObject'); // action (show)
793
+
794
+ acf.doAction('show', $settings);
795
+ },
796
+ close: function () {
797
+ // vars
798
+ var $settings = this.$el.children('.settings'); // close
799
+
800
+ $settings.slideUp();
801
+ this.$el.removeClass('open'); // action (close)
802
+
803
+ acf.doAction('close_field_object', this);
804
+ this.trigger('closeFieldObject'); // action (hide)
805
+
806
+ acf.doAction('hide', $settings);
807
+ },
808
+ serialize: function () {
809
+ return acf.serialize(this.$el, this.getInputName());
810
+ },
811
+ save: function (type) {
812
+ // defaults
813
+ type = type || 'settings'; // meta, settings
814
+ // vars
815
+
816
+ var save = this.getProp('save'); // bail if already saving settings
817
+
818
+ if (save === 'settings') {
819
+ return;
820
+ } // prop
821
+
822
+
823
+ this.setProp('save', type); // debug
824
+
825
+ this.$el.attr('data-save', type); // action
826
+
827
+ acf.doAction('save_field_object', this, type);
828
+ },
829
+ submit: function () {
830
+ // vars
831
+ var inputName = this.getInputName();
832
+ var save = this.get('save'); // close
833
+
834
+ if (this.isOpen()) {
835
+ this.close();
836
+ } // allow all inputs to save
837
+
838
+
839
+ if (save == 'settings') {// do nothing
840
+ // allow only meta inputs to save
841
+ } else if (save == 'meta') {
842
+ this.$('> .settings [name^="' + inputName + '"]').remove(); // prevent all inputs from saving
843
+ } else {
844
+ this.$('[name^="' + inputName + '"]').remove();
845
+ } // action
846
+
847
+
848
+ acf.doAction('submit_field_object', this);
849
+ },
850
+ onChange: function (e, $el) {
851
+ // save settings
852
+ this.save(); // action for 3rd party customization
853
+
854
+ acf.doAction('change_field_object', this);
855
+ },
856
+ onChanged: function (e, $el, name, value) {
857
+ // ignore 'save'
858
+ if (name == 'save') {
859
+ return;
860
+ } // save meta
861
+
862
+
863
+ if (['menu_order', 'parent'].indexOf(name) > -1) {
864
+ this.save('meta'); // save field
865
+ } else {
866
+ this.save();
867
+ } // render
868
+
869
+
870
+ if (['menu_order', 'label', 'required', 'name', 'type', 'key'].indexOf(name) > -1) {
871
+ this.render();
872
+ } // action for 3rd party customization
873
+
874
+
875
+ acf.doAction('change_field_object_' + name, this, value);
876
+ },
877
+ onChangeLabel: function (e, $el) {
878
+ // set
879
+ var label = $el.val();
880
+ this.set('label', label); // render name
881
+
882
+ if (this.prop('name') == '') {
883
+ var name = acf.applyFilters('generate_field_object_name', acf.strSanitize(label), this);
884
+ this.prop('name', name);
885
+ }
886
+ },
887
+ onChangeName: function (e, $el) {
888
+ // set
889
+ var name = $el.val();
890
+ this.set('name', name); // error
891
+
892
+ if (name.substr(0, 6) === 'field_') {
893
+ alert(acf.__('The string "field_" may not be used at the start of a field name'));
894
+ }
895
+ },
896
+ onChangeRequired: function (e, $el) {
897
+ // set
898
+ var required = $el.prop('checked') ? 1 : 0;
899
+ this.set('required', required);
900
+ },
901
+ delete: function (args) {
902
+ // defaults
903
+ args = acf.parseArgs(args, {
904
+ animate: true
905
+ }); // add to remove list
906
+
907
+ var id = this.prop('ID');
908
+
909
+ if (id) {
910
+ var $input = $('#_acf_delete_fields');
911
+ var newVal = $input.val() + '|' + id;
912
+ $input.val(newVal);
913
+ } // action
914
+
915
+
916
+ acf.doAction('delete_field_object', this); // animate
917
+
918
+ if (args.animate) {
919
+ this.removeAnimate();
920
+ } else {
921
+ this.remove();
922
+ }
923
+ },
924
+ onClickDelete: function (e, $el) {
925
+ // Bypass confirmation when holding down "shift" key.
926
+ if (e.shiftKey) {
927
+ return this.delete();
928
+ } // add class
929
+
930
+
931
+ this.$el.addClass('-hover'); // add tooltip
932
+
933
+ var tooltip = acf.newTooltip({
934
+ confirmRemove: true,
935
+ target: $el,
936
+ context: this,
937
+ confirm: function () {
938
+ this.delete();
939
+ },
940
+ cancel: function () {
941
+ this.$el.removeClass('-hover');
942
+ }
943
+ });
944
+ },
945
+ removeAnimate: function () {
946
+ // vars
947
+ var field = this;
948
+ var $list = this.$el.parent();
949
+ var $fields = acf.findFieldObjects({
950
+ sibling: this.$el
951
+ }); // remove
952
+
953
+ acf.remove({
954
+ target: this.$el,
955
+ endHeight: $fields.length ? 0 : 50,
956
+ complete: function () {
957
+ field.remove();
958
+ acf.doAction('removed_field_object', field, $list);
959
+ }
960
+ }); // action
961
+
962
+ acf.doAction('remove_field_object', field, $list);
963
+ },
964
+ duplicate: function () {
965
+ // vars
966
+ var newKey = acf.uniqid('field_'); // duplicate
967
+
968
+ var $newField = acf.duplicate({
969
+ target: this.$el,
970
+ search: this.get('id'),
971
+ replace: newKey
972
+ }); // set new key
973
+
974
+ $newField.attr('data-key', newKey); // get instance
975
+
976
+ var newField = acf.getFieldObject($newField); // open / close
977
+
978
+ if (this.isOpen()) {
979
+ this.close();
980
+ } else {
981
+ newField.open();
982
+ } // focus label
983
+
984
+
985
+ var $label = newField.$setting('label input');
986
+ setTimeout(function () {
987
+ $label.trigger('focus');
988
+ }, 251); // update newField label / name
989
+
990
+ var label = newField.prop('label');
991
+ var name = newField.prop('name');
992
+ var end = name.split('_').pop();
993
+
994
+ var copy = acf.__('copy'); // increase suffix "1"
995
+
996
+
997
+ if (acf.isNumeric(end)) {
998
+ var i = end * 1 + 1;
999
+ label = label.replace(end, i);
1000
+ name = name.replace(end, i); // increase suffix "(copy1)"
1001
+ } else if (end.indexOf(copy) === 0) {
1002
+ var i = end.replace(copy, '') * 1;
1003
+ i = i ? i + 1 : 2; // replace
1004
+
1005
+ label = label.replace(end, copy + i);
1006
+ name = name.replace(end, copy + i); // add default "(copy)"
1007
+ } else {
1008
+ label += ' (' + copy + ')';
1009
+ name += '_' + copy;
1010
+ }
1011
+
1012
+ newField.prop('ID', 0);
1013
+ newField.prop('label', label);
1014
+ newField.prop('name', name);
1015
+ newField.prop('key', newKey); // action
1016
+
1017
+ acf.doAction('duplicate_field_object', this, newField);
1018
+ acf.doAction('append_field_object', newField);
1019
+ },
1020
+ wipe: function () {
1021
+ // vars
1022
+ var prevId = this.get('id');
1023
+ var prevKey = this.get('key');
1024
+ var newKey = acf.uniqid('field_'); // rename
1025
+
1026
+ acf.rename({
1027
+ target: this.$el,
1028
+ search: prevId,
1029
+ replace: newKey
1030
+ }); // data
1031
+
1032
+ this.set('id', newKey);
1033
+ this.set('prevId', prevId);
1034
+ this.set('prevKey', prevKey); // props
1035
+
1036
+ this.prop('key', newKey);
1037
+ this.prop('ID', 0); // attr
1038
+
1039
+ this.$el.attr('data-key', newKey);
1040
+ this.$el.attr('data-id', newKey); // action
1041
+
1042
+ acf.doAction('wipe_field_object', this);
1043
+ },
1044
+ move: function () {
1045
+ // helper
1046
+ var hasChanged = function (field) {
1047
+ return field.get('save') == 'settings';
1048
+ }; // vars
1049
+
1050
+
1051
+ var changed = hasChanged(this); // has sub fields changed
1052
+
1053
+ if (!changed) {
1054
+ acf.getFieldObjects({
1055
+ parent: this.$el
1056
+ }).map(function (field) {
1057
+ changed = hasChanged(field) || field.changed;
1058
+ });
1059
+ } // bail early if changed
1060
+
1061
+
1062
+ if (changed) {
1063
+ alert(acf.__('This field cannot be moved until its changes have been saved'));
1064
+ return;
1065
+ } // step 1.
1066
+
1067
+
1068
+ var id = this.prop('ID');
1069
+ var field = this;
1070
+ var popup = false;
1071
+
1072
+ var step1 = function () {
1073
+ // popup
1074
+ popup = acf.newPopup({
1075
+ title: acf.__('Move Custom Field'),
1076
+ loading: true,
1077
+ width: '300px'
1078
+ }); // ajax
1079
+
1080
+ var ajaxData = {
1081
+ action: 'acf/field_group/move_field',
1082
+ field_id: id
1083
+ }; // get HTML
1084
+
1085
+ $.ajax({
1086
+ url: acf.get('ajaxurl'),
1087
+ data: acf.prepareForAjax(ajaxData),
1088
+ type: 'post',
1089
+ dataType: 'html',
1090
+ success: step2
1091
+ });
1092
+ };
1093
+
1094
+ var step2 = function (html) {
1095
+ // update popup
1096
+ popup.loading(false);
1097
+ popup.content(html); // submit form
1098
+
1099
+ popup.on('submit', 'form', step3);
1100
+ };
1101
+
1102
+ var step3 = function (e, $el) {
1103
+ // prevent
1104
+ e.preventDefault(); // disable
1105
+
1106
+ acf.startButtonLoading(popup.$('.button')); // ajax
1107
+
1108
+ var ajaxData = {
1109
+ action: 'acf/field_group/move_field',
1110
+ field_id: id,
1111
+ field_group_id: popup.$('select').val()
1112
+ }; // get HTML
1113
+
1114
+ $.ajax({
1115
+ url: acf.get('ajaxurl'),
1116
+ data: acf.prepareForAjax(ajaxData),
1117
+ type: 'post',
1118
+ dataType: 'html',
1119
+ success: step4
1120
+ });
1121
+ };
1122
+
1123
+ var step4 = function (html) {
1124
+ // update popup
1125
+ popup.content(html); // remove element
1126
+
1127
+ field.removeAnimate();
1128
+ }; // start
1129
+
1130
+
1131
+ step1();
1132
+ },
1133
+ onChangeType: function (e, $el) {
1134
+ // clea previous timout
1135
+ if (this.changeTimeout) {
1136
+ clearTimeout(this.changeTimeout);
1137
+ } // set new timeout
1138
+ // - prevents changing type multiple times whilst user types in newType
1139
+
1140
+
1141
+ this.changeTimeout = this.setTimeout(function () {
1142
+ this.changeType($el.val());
1143
+ }, 300);
1144
+ },
1145
+ changeType: function (newType) {
1146
+ // vars
1147
+ var prevType = this.prop('type');
1148
+ var prevClass = acf.strSlugify('acf-field-object-' + prevType);
1149
+ var newClass = acf.strSlugify('acf-field-object-' + newType); // update props
1150
+
1151
+ this.$el.removeClass(prevClass).addClass(newClass);
1152
+ this.$el.attr('data-type', newType);
1153
+ this.$el.data('type', newType); // abort XHR if this field is already loading AJAX data
1154
+
1155
+ if (this.has('xhr')) {
1156
+ this.get('xhr').abort();
1157
+ } // store settings
1158
+
1159
+
1160
+ var $tbody = this.$('> .settings > table > tbody');
1161
+ var $settings = $tbody.children('[data-setting="' + prevType + '"]');
1162
+ this.set('settings-' + prevType, $settings);
1163
+ $settings.detach(); // show settings
1164
+
1165
+ if (this.has('settings-' + newType)) {
1166
+ var $newSettings = this.get('settings-' + newType);
1167
+ this.$setting('conditional_logic').before($newSettings);
1168
+ this.set('type', newType); //this.refresh();
1169
+
1170
+ return;
1171
+ } // load settings
1172
+
1173
+
1174
+ var $loading = $('<tr class="acf-field"><td class="acf-label"></td><td class="acf-input"><div class="acf-loading"></div></td></tr>');
1175
+ this.$setting('conditional_logic').before($loading); // ajax
1176
+
1177
+ var ajaxData = {
1178
+ action: 'acf/field_group/render_field_settings',
1179
+ field: this.serialize(),
1180
+ prefix: this.getInputName()
1181
+ }; // ajax
1182
+
1183
+ var xhr = $.ajax({
1184
+ url: acf.get('ajaxurl'),
1185
+ data: acf.prepareForAjax(ajaxData),
1186
+ type: 'post',
1187
+ dataType: 'html',
1188
+ context: this,
1189
+ success: function (html) {
1190
+ // bail early if no settings
1191
+ if (!html) return; // append settings
1192
+
1193
+ $loading.after(html); // events
1194
+
1195
+ acf.doAction('append', $tbody);
1196
+ },
1197
+ complete: function () {
1198
+ // also triggered by xhr.abort();
1199
+ $loading.remove();
1200
+ this.set('type', newType); //this.refresh();
1201
+ }
1202
+ }); // set
1203
+
1204
+ this.set('xhr', xhr);
1205
+ },
1206
+ updateParent: function () {
1207
+ // vars
1208
+ var ID = acf.get('post_id'); // check parent
1209
+
1210
+ var parent = this.getParent();
1211
+
1212
+ if (parent) {
1213
+ ID = parseInt(parent.prop('ID')) || parent.prop('key');
1214
+ } // update
1215
+
1216
+
1217
+ this.prop('parent', ID);
1218
+ }
1219
+ });
1220
  })(jQuery);
1221
+
1222
+ /***/ }),
1223
+
1224
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js":
1225
+ /*!*****************************************************************************!*\
1226
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js ***!
1227
+ \*****************************************************************************/
1228
+ /***/ (function() {
1229
+
1230
+ (function ($, undefined) {
1231
+ /**
1232
+ * acf.findFieldObject
1233
+ *
1234
+ * Returns a single fieldObject $el for a given field key
1235
+ *
1236
+ * @date 1/2/18
1237
+ * @since 5.7.0
1238
+ *
1239
+ * @param string key The field key
1240
+ * @return jQuery
1241
+ */
1242
+ acf.findFieldObject = function (key) {
1243
+ return acf.findFieldObjects({
1244
+ key: key,
1245
+ limit: 1
1246
+ });
1247
+ };
1248
+ /**
1249
+ * acf.findFieldObjects
1250
+ *
1251
+ * Returns an array of fieldObject $el for the given args
1252
+ *
1253
+ * @date 1/2/18
1254
+ * @since 5.7.0
1255
+ *
1256
+ * @param object args
1257
+ * @return jQuery
1258
+ */
1259
+
1260
+
1261
+ acf.findFieldObjects = function (args) {
1262
+ // vars
1263
+ args = args || {};
1264
+ var selector = '.acf-field-object';
1265
+ var $fields = false; // args
1266
+
1267
+ args = acf.parseArgs(args, {
1268
+ id: '',
1269
+ key: '',
1270
+ type: '',
1271
+ limit: false,
1272
+ list: null,
1273
+ parent: false,
1274
+ sibling: false,
1275
+ child: false
1276
+ }); // id
1277
+
1278
+ if (args.id) {
1279
+ selector += '[data-id="' + args.id + '"]';
1280
+ } // key
1281
+
1282
+
1283
+ if (args.key) {
1284
+ selector += '[data-key="' + args.key + '"]';
1285
+ } // type
1286
+
1287
+
1288
+ if (args.type) {
1289
+ selector += '[data-type="' + args.type + '"]';
1290
+ } // query
1291
+
1292
+
1293
+ if (args.list) {
1294
+ $fields = args.list.children(selector);
1295
+ } else if (args.parent) {
1296
+ $fields = args.parent.find(selector);
1297
+ } else if (args.sibling) {
1298
+ $fields = args.sibling.siblings(selector);
1299
+ } else if (args.child) {
1300
+ $fields = args.child.parents(selector);
1301
+ } else {
1302
+ $fields = $(selector);
1303
+ } // limit
1304
+
1305
+
1306
+ if (args.limit) {
1307
+ $fields = $fields.slice(0, args.limit);
1308
+ } // return
1309
+
1310
+
1311
+ return $fields;
1312
+ };
1313
+ /**
1314
+ * acf.getFieldObject
1315
+ *
1316
+ * Returns a single fieldObject instance for a given $el|key
1317
+ *
1318
+ * @date 1/2/18
1319
+ * @since 5.7.0
1320
+ *
1321
+ * @param string|jQuery $field The field $el or key
1322
+ * @return jQuery
1323
+ */
1324
+
1325
+
1326
+ acf.getFieldObject = function ($field) {
1327
+ // allow key
1328
+ if (typeof $field === 'string') {
1329
+ $field = acf.findFieldObject($field);
1330
+ } // instantiate
1331
+
1332
+
1333
+ var field = $field.data('acf');
1334
+
1335
+ if (!field) {
1336
+ field = acf.newFieldObject($field);
1337
+ } // return
1338
+
1339
+
1340
+ return field;
1341
+ };
1342
+ /**
1343
+ * acf.getFieldObjects
1344
+ *
1345
+ * Returns an array of fieldObject instances for the given args
1346
+ *
1347
+ * @date 1/2/18
1348
+ * @since 5.7.0
1349
+ *
1350
+ * @param object args
1351
+ * @return array
1352
+ */
1353
+
1354
+
1355
+ acf.getFieldObjects = function (args) {
1356
+ // query
1357
+ var $fields = acf.findFieldObjects(args); // loop
1358
+
1359
+ var fields = [];
1360
+ $fields.each(function () {
1361
+ var field = acf.getFieldObject($(this));
1362
+ fields.push(field);
1363
+ }); // return
1364
+
1365
+ return fields;
1366
+ };
1367
+ /**
1368
+ * acf.newFieldObject
1369
+ *
1370
+ * Initializes and returns a new FieldObject instance
1371
+ *
1372
+ * @date 1/2/18
1373
+ * @since 5.7.0
1374
+ *
1375
+ * @param jQuery $field The field $el
1376
+ * @return object
1377
+ */
1378
+
1379
+
1380
+ acf.newFieldObject = function ($field) {
1381
+ // instantiate
1382
+ var field = new acf.FieldObject($field); // action
1383
+
1384
+ acf.doAction('new_field_object', field); // return
1385
+
1386
+ return field;
1387
+ };
1388
+ /**
1389
+ * actionManager
1390
+ *
1391
+ * description
1392
+ *
1393
+ * @date 15/12/17
1394
+ * @since 5.6.5
1395
+ *
1396
+ * @param type $var Description. Default.
1397
+ * @return type Description.
1398
+ */
1399
+
1400
+
1401
+ var eventManager = new acf.Model({
1402
+ priority: 5,
1403
+ initialize: function () {
1404
+ // actions
1405
+ var actions = ['prepare', 'ready', 'append', 'remove']; // loop
1406
+
1407
+ actions.map(function (action) {
1408
+ this.addFieldActions(action);
1409
+ }, this);
1410
+ },
1411
+ addFieldActions: function (action) {
1412
+ // vars
1413
+ var pluralAction = action + '_field_objects'; // ready_field_objects
1414
+
1415
+ var singleAction = action + '_field_object'; // ready_field_object
1416
+
1417
+ var singleEvent = action + 'FieldObject'; // readyFieldObject
1418
+ // global action
1419
+
1420
+ var callback = function ($el
1421
+ /*, arg1, arg2, etc*/
1422
+ ) {
1423
+ // vars
1424
+ var fieldObjects = acf.getFieldObjects({
1425
+ parent: $el
1426
+ }); // call plural
1427
+
1428
+ if (fieldObjects.length) {
1429
+ /// get args [$el, arg1]
1430
+ var args = acf.arrayArgs(arguments); // modify args [pluralAction, fields, arg1]
1431
+
1432
+ args.splice(0, 1, pluralAction, fieldObjects);
1433
+ acf.doAction.apply(null, args);
1434
+ }
1435
+ }; // plural action
1436
+
1437
+
1438
+ var pluralCallback = function (fieldObjects
1439
+ /*, arg1, arg2, etc*/
1440
+ ) {
1441
+ /// get args [fields, arg1]
1442
+ var args = acf.arrayArgs(arguments); // modify args [singleAction, fields, arg1]
1443
+
1444
+ args.unshift(singleAction); // loop
1445
+
1446
+ fieldObjects.map(function (fieldObject) {
1447
+ // modify args [singleAction, field, arg1]
1448
+ args[1] = fieldObject;
1449
+ acf.doAction.apply(null, args);
1450
+ });
1451
+ }; // single action
1452
+
1453
+
1454
+ var singleCallback = function (fieldObject
1455
+ /*, arg1, arg2, etc*/
1456
+ ) {
1457
+ /// get args [$field, arg1]
1458
+ var args = acf.arrayArgs(arguments); // modify args [singleAction, $field, arg1]
1459
+
1460
+ args.unshift(singleAction); // action variations (ready_field/type=image)
1461
+
1462
+ var variations = ['type', 'name', 'key'];
1463
+ variations.map(function (variation) {
1464
+ args[0] = singleAction + '/' + variation + '=' + fieldObject.get(variation);
1465
+ acf.doAction.apply(null, args);
1466
+ }); // modify args [arg1]
1467
+
1468
+ args.splice(0, 2); // event
1469
+
1470
+ fieldObject.trigger(singleEvent, args);
1471
+ }; // add actions
1472
+
1473
+
1474
+ acf.addAction(action, callback, 5);
1475
+ acf.addAction(pluralAction, pluralCallback, 5);
1476
+ acf.addAction(singleAction, singleCallback, 5);
1477
+ }
1478
+ });
1479
+ /**
1480
+ * fieldManager
1481
+ *
1482
+ * description
1483
+ *
1484
+ * @date 4/1/18
1485
+ * @since 5.6.5
1486
+ *
1487
+ * @param type $var Description. Default.
1488
+ * @return type Description.
1489
+ */
1490
+
1491
+ var fieldManager = new acf.Model({
1492
+ id: 'fieldManager',
1493
+ events: {
1494
+ 'submit #post': 'onSubmit',
1495
+ 'mouseenter .acf-field-list': 'onHoverSortable',
1496
+ 'click .add-field': 'onClickAdd'
1497
+ },
1498
+ actions: {
1499
+ removed_field_object: 'onRemovedField',
1500
+ sortstop_field_object: 'onReorderField',
1501
+ delete_field_object: 'onDeleteField',
1502
+ change_field_object_type: 'onChangeFieldType',
1503
+ duplicate_field_object: 'onDuplicateField'
1504
+ },
1505
+ onSubmit: function (e, $el) {
1506
+ // vars
1507
+ var fields = acf.getFieldObjects(); // loop
1508
+
1509
+ fields.map(function (field) {
1510
+ field.submit();
1511
+ });
1512
+ },
1513
+ setFieldMenuOrder: function (field) {
1514
+ this.renderFields(field.$el.parent());
1515
+ },
1516
+ onHoverSortable: function (e, $el) {
1517
+ // bail early if already sortable
1518
+ if ($el.hasClass('ui-sortable')) return; // sortable
1519
+
1520
+ $el.sortable({
1521
+ handle: '.acf-sortable-handle',
1522
+ connectWith: '.acf-field-list',
1523
+ start: function (e, ui) {
1524
+ var field = acf.getFieldObject(ui.item);
1525
+ ui.placeholder.height(ui.item.height());
1526
+ acf.doAction('sortstart_field_object', field, $el);
1527
+ },
1528
+ update: function (e, ui) {
1529
+ var field = acf.getFieldObject(ui.item);
1530
+ acf.doAction('sortstop_field_object', field, $el);
1531
+ }
1532
+ });
1533
+ },
1534
+ onRemovedField: function (field, $list) {
1535
+ this.renderFields($list);
1536
+ },
1537
+ onReorderField: function (field, $list) {
1538
+ field.updateParent();
1539
+ this.renderFields($list);
1540
+ },
1541
+ onDeleteField: function (field) {
1542
+ // delete children
1543
+ field.getFields().map(function (child) {
1544
+ child.delete({
1545
+ animate: false
1546
+ });
1547
+ });
1548
+ },
1549
+ onChangeFieldType: function (field) {// this caused sub fields to disapear if changing type back...
1550
+ //this.onDeleteField( field );
1551
+ },
1552
+ onDuplicateField: function (field, newField) {
1553
+ // check for children
1554
+ var children = newField.getFields();
1555
+
1556
+ if (children.length) {
1557
+ // loop
1558
+ children.map(function (child) {
1559
+ // wipe field
1560
+ child.wipe(); // update parent
1561
+
1562
+ child.updateParent();
1563
+ }); // action
1564
+
1565
+ acf.doAction('duplicate_field_objects', children, newField, field);
1566
+ } // set menu order
1567
+
1568
+
1569
+ this.setFieldMenuOrder(newField);
1570
+ },
1571
+ renderFields: function ($list) {
1572
+ // vars
1573
+ var fields = acf.getFieldObjects({
1574
+ list: $list
1575
+ }); // no fields
1576
+
1577
+ if (!fields.length) {
1578
+ $list.addClass('-empty');
1579
+ return;
1580
+ } // has fields
1581
+
1582
+
1583
+ $list.removeClass('-empty'); // prop
1584
+
1585
+ fields.map(function (field, i) {
1586
+ field.prop('menu_order', i);
1587
+ });
1588
+ },
1589
+ onClickAdd: function (e, $el) {
1590
+ var $list = $el.closest('.acf-tfoot').siblings('.acf-field-list');
1591
+ this.addField($list);
1592
+ },
1593
+ addField: function ($list) {
1594
+ // vars
1595
+ var html = $('#tmpl-acf-field').html();
1596
+ var $el = $(html);
1597
+ var prevId = $el.data('id');
1598
+ var newKey = acf.uniqid('field_'); // duplicate
1599
+
1600
+ var $newField = acf.duplicate({
1601
+ target: $el,
1602
+ search: prevId,
1603
+ replace: newKey,
1604
+ append: function ($el, $el2) {
1605
+ $list.append($el2);
1606
+ }
1607
+ }); // get instance
1608
+
1609
+ var newField = acf.getFieldObject($newField); // props
1610
+
1611
+ newField.prop('key', newKey);
1612
+ newField.prop('ID', 0);
1613
+ newField.prop('label', '');
1614
+ newField.prop('name', ''); // attr
1615
+
1616
+ $newField.attr('data-key', newKey);
1617
+ $newField.attr('data-id', newKey); // update parent prop
1618
+
1619
+ newField.updateParent(); // focus label
1620
+
1621
+ var $label = newField.$input('label');
1622
+ setTimeout(function () {
1623
+ $label.trigger('focus');
1624
+ }, 251); // open
1625
+
1626
+ newField.open(); // set menu order
1627
+
1628
+ this.renderFields($list); // action
1629
+
1630
+ acf.doAction('add_field_object', newField);
1631
+ acf.doAction('append_field_object', newField);
1632
+ }
1633
+ });
1634
  })(jQuery);
1635
+
1636
+ /***/ }),
1637
+
1638
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js":
1639
+ /*!********************************************************************************!*\
1640
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js ***!
1641
+ \********************************************************************************/
1642
+ /***/ (function() {
1643
+
1644
+ (function ($, undefined) {
1645
+ /**
1646
+ * locationManager
1647
+ *
1648
+ * Field group location rules functionality
1649
+ *
1650
+ * @date 15/12/17
1651
+ * @since 5.7.0
1652
+ *
1653
+ * @param void
1654
+ * @return void
1655
+ */
1656
+ var locationManager = new acf.Model({
1657
+ id: 'locationManager',
1658
+ wait: 'ready',
1659
+ events: {
1660
+ 'click .add-location-rule': 'onClickAddRule',
1661
+ 'click .add-location-group': 'onClickAddGroup',
1662
+ 'click .remove-location-rule': 'onClickRemoveRule',
1663
+ 'change .refresh-location-rule': 'onChangeRemoveRule'
1664
+ },
1665
+ initialize: function () {
1666
+ this.$el = $('#acf-field-group-locations');
1667
+ this.updateGroupsClass();
1668
+ },
1669
+ onClickAddRule: function (e, $el) {
1670
+ this.addRule($el.closest('tr'));
1671
+ },
1672
+ onClickRemoveRule: function (e, $el) {
1673
+ this.removeRule($el.closest('tr'));
1674
+ },
1675
+ onChangeRemoveRule: function (e, $el) {
1676
+ this.changeRule($el.closest('tr'));
1677
+ },
1678
+ onClickAddGroup: function (e, $el) {
1679
+ this.addGroup();
1680
+ },
1681
+ addRule: function ($tr) {
1682
+ acf.duplicate($tr);
1683
+ this.updateGroupsClass();
1684
+ },
1685
+ removeRule: function ($tr) {
1686
+ if ($tr.siblings('tr').length == 0) {
1687
+ $tr.closest('.rule-group').remove();
1688
+ } else {
1689
+ $tr.remove();
1690
+ } // Update h4
1691
+
1692
+
1693
+ var $group = this.$('.rule-group:first');
1694
+ $group.find('h4').text(acf.__('Show this field group if'));
1695
+ this.updateGroupsClass();
1696
+ },
1697
+ changeRule: function ($rule) {
1698
+ // vars
1699
+ var $group = $rule.closest('.rule-group');
1700
+ var prefix = $rule.find('td.param select').attr('name').replace('[param]', ''); // ajaxdata
1701
+
1702
+ var ajaxdata = {};
1703
+ ajaxdata.action = 'acf/field_group/render_location_rule';
1704
+ ajaxdata.rule = acf.serialize($rule, prefix);
1705
+ ajaxdata.rule.id = $rule.data('id');
1706
+ ajaxdata.rule.group = $group.data('id'); // temp disable
1707
+
1708
+ acf.disable($rule.find('td.value')); // ajax
1709
+
1710
+ $.ajax({
1711
+ url: acf.get('ajaxurl'),
1712
+ data: acf.prepareForAjax(ajaxdata),
1713
+ type: 'post',
1714
+ dataType: 'html',
1715
+ success: function (html) {
1716
+ if (!html) return;
1717
+ $rule.replaceWith(html);
1718
+ }
1719
+ });
1720
+ },
1721
+ addGroup: function () {
1722
+ // vars
1723
+ var $group = this.$('.rule-group:last'); // duplicate
1724
+
1725
+ $group2 = acf.duplicate($group); // update h4
1726
+
1727
+ $group2.find('h4').text(acf.__('or')); // remove all tr's except the first one
1728
+
1729
+ $group2.find('tr').not(':first').remove(); // update the groups class
1730
+
1731
+ this.updateGroupsClass();
1732
+ },
1733
+ updateGroupsClass: function () {
1734
+ var $group = this.$('.rule-group:last');
1735
+ var $ruleGroups = $group.closest('.rule-groups');
1736
+ var rows_count = $ruleGroups.find('.acf-table tr').length;
1737
+
1738
+ if (rows_count > 1) {
1739
+ $ruleGroups.addClass('rule-groups-multiple');
1740
+ } else {
1741
+ $ruleGroups.removeClass('rule-groups-multiple');
1742
+ }
1743
+ }
1744
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1745
  })(jQuery);
1746
+
1747
+ /***/ }),
1748
+
1749
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js":
1750
+ /*!*******************************************************************************!*\
1751
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js ***!
1752
+ \*******************************************************************************/
1753
+ /***/ (function() {
1754
+
1755
+ (function ($, undefined) {
1756
+ /**
1757
+ * mid
1758
+ *
1759
+ * Calculates the model ID for a field type
1760
+ *
1761
+ * @date 15/12/17
1762
+ * @since 5.6.5
1763
+ *
1764
+ * @param string type
1765
+ * @return string
1766
+ */
1767
+ var modelId = function (type) {
1768
+ return acf.strPascalCase(type || '') + 'FieldSetting';
1769
+ };
1770
+ /**
1771
+ * registerFieldType
1772
+ *
1773
+ * description
1774
+ *
1775
+ * @date 14/12/17
1776
+ * @since 5.6.5
1777
+ *
1778
+ * @param type $var Description. Default.
1779
+ * @return type Description.
1780
+ */
1781
+
1782
+
1783
+ acf.registerFieldSetting = function (model) {
1784
+ var proto = model.prototype;
1785
+ var mid = modelId(proto.type + ' ' + proto.name);
1786
+ this.models[mid] = model;
1787
+ };
1788
+ /**
1789
+ * newField
1790
+ *
1791
+ * description
1792
+ *
1793
+ * @date 14/12/17
1794
+ * @since 5.6.5
1795
+ *
1796
+ * @param type $var Description. Default.
1797
+ * @return type Description.
1798
+ */
1799
+
1800
+
1801
+ acf.newFieldSetting = function (field) {
1802
+ // vars
1803
+ var type = field.get('setting') || '';
1804
+ var name = field.get('name') || '';
1805
+ var mid = modelId(type + ' ' + name);
1806
+ var model = acf.models[mid] || null; // bail ealry if no setting
1807
+
1808
+ if (model === null) return false; // instantiate
1809
+
1810
+ var setting = new model(field); // return
1811
+
1812
+ return setting;
1813
+ };
1814
+ /**
1815
+ * acf.getFieldSetting
1816
+ *
1817
+ * description
1818
+ *
1819
+ * @date 19/4/18
1820
+ * @since 5.6.9
1821
+ *
1822
+ * @param type $var Description. Default.
1823
+ * @return type Description.
1824
+ */
1825
+
1826
+
1827
+ acf.getFieldSetting = function (field) {
1828
+ // allow jQuery
1829
+ if (field instanceof jQuery) {
1830
+ field = acf.getField(field);
1831
+ } // return
1832
+
1833
+
1834
+ return field.setting;
1835
+ };
1836
+ /**
1837
+ * settingsManager
1838
+ *
1839
+ * description
1840
+ *
1841
+ * @date 6/1/18
1842
+ * @since 5.6.5
1843
+ *
1844
+ * @param type $var Description. Default.
1845
+ * @return type Description.
1846
+ */
1847
+
1848
+
1849
+ var settingsManager = new acf.Model({
1850
+ actions: {
1851
+ new_field: 'onNewField'
1852
+ },
1853
+ onNewField: function (field) {
1854
+ field.setting = acf.newFieldSetting(field);
1855
+ }
1856
+ });
1857
+ /**
1858
+ * acf.FieldSetting
1859
+ *
1860
+ * description
1861
+ *
1862
+ * @date 6/1/18
1863
+ * @since 5.6.5
1864
+ *
1865
+ * @param type $var Description. Default.
1866
+ * @return type Description.
1867
+ */
1868
+
1869
+ acf.FieldSetting = acf.Model.extend({
1870
+ field: false,
1871
+ type: '',
1872
+ name: '',
1873
+ wait: 'ready',
1874
+ eventScope: '.acf-field',
1875
+ events: {
1876
+ change: 'render'
1877
+ },
1878
+ setup: function (field) {
1879
+ // vars
1880
+ var $field = field.$el; // set props
1881
+
1882
+ this.$el = $field;
1883
+ this.field = field;
1884
+ this.$fieldObject = $field.closest('.acf-field-object');
1885
+ this.fieldObject = acf.getFieldObject(this.$fieldObject); // inherit data
1886
+
1887
+ $.extend(this.data, field.data);
1888
+ },
1889
+ initialize: function () {
1890
+ this.render();
1891
+ },
1892
+ render: function () {// do nothing
1893
+ }
1894
+ });
1895
+ /*
1896
+ * Date Picker
1897
+ *
1898
+ * This field type requires some extra logic for its settings
1899
+ *
1900
+ * @type function
1901
+ * @date 24/10/13
1902
+ * @since 5.0.0
1903
+ *
1904
+ * @param n/a
1905
+ * @return n/a
1906
+ */
1907
+
1908
+ var DisplayFormatFieldSetting = acf.FieldSetting.extend({
1909
+ type: '',
1910
+ name: '',
1911
+ render: function () {
1912
+ var $input = this.$('input[type="radio"]:checked');
1913
+
1914
+ if ($input.val() != 'other') {
1915
+ this.$('input[type="text"]').val($input.val());
1916
+ }
1917
+ }
1918
+ });
1919
+ var DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
1920
+ type: 'date_picker',
1921
+ name: 'display_format'
1922
+ });
1923
+ var DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
1924
+ type: 'date_picker',
1925
+ name: 'return_format'
1926
+ });
1927
+ acf.registerFieldSetting(DatePickerDisplayFormatFieldSetting);
1928
+ acf.registerFieldSetting(DatePickerReturnFormatFieldSetting);
1929
+ /*
1930
+ * Date Time Picker
1931
+ *
1932
+ * This field type requires some extra logic for its settings
1933
+ *
1934
+ * @type function
1935
+ * @date 24/10/13
1936
+ * @since 5.0.0
1937
+ *
1938
+ * @param n/a
1939
+ * @return n/a
1940
+ */
1941
+
1942
+ var DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
1943
+ type: 'date_time_picker',
1944
+ name: 'display_format'
1945
+ });
1946
+ var DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
1947
+ type: 'date_time_picker',
1948
+ name: 'return_format'
1949
+ });
1950
+ acf.registerFieldSetting(DateTimePickerDisplayFormatFieldSetting);
1951
+ acf.registerFieldSetting(DateTimePickerReturnFormatFieldSetting);
1952
+ /*
1953
+ * Time Picker
1954
+ *
1955
+ * This field type requires some extra logic for its settings
1956
+ *
1957
+ * @type function
1958
+ * @date 24/10/13
1959
+ * @since 5.0.0
1960
+ *
1961
+ * @param n/a
1962
+ * @return n/a
1963
+ */
1964
+
1965
+ var TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
1966
+ type: 'time_picker',
1967
+ name: 'display_format'
1968
+ });
1969
+ var TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
1970
+ type: 'time_picker',
1971
+ name: 'return_format'
1972
+ });
1973
+ acf.registerFieldSetting(TimePickerDisplayFormatFieldSetting);
1974
+ acf.registerFieldSetting(TimePickerReturnFormatFieldSetting);
1975
+ /**
1976
+ * Color Picker Settings.
1977
+ *
1978
+ * @date 16/12/20
1979
+ * @since 5.9.4
1980
+ *
1981
+ * @param type $var Description. Default.
1982
+ * @return type Description.
1983
+ */
1984
+
1985
+ var ColorPickerReturnFormat = acf.FieldSetting.extend({
1986
+ type: 'color_picker',
1987
+ name: 'enable_opacity',
1988
+ render: function () {
1989
+ var $return_format_setting = this.fieldObject.$setting('return_format');
1990
+ var $default_value_setting = this.fieldObject.$setting('default_value');
1991
+ var $labelText = $return_format_setting.find('input[type="radio"][value="string"]').parent('label').contents().last();
1992
+ var $defaultPlaceholder = $default_value_setting.find('input[type="text"]');
1993
+ var l10n = acf.get('colorPickerL10n');
1994
+
1995
+ if (this.field.val()) {
1996
+ $labelText.replaceWith(l10n.rgba_string);
1997
+ $defaultPlaceholder.attr('placeholder', 'rgba(255,255,255,0.8)');
1998
+ } else {
1999
+ $labelText.replaceWith(l10n.hex_string);
2000
+ $defaultPlaceholder.attr('placeholder', '#FFFFFF');
2001
+ }
2002
+ }
2003
+ });
2004
+ acf.registerFieldSetting(ColorPickerReturnFormat);
2005
  })(jQuery);
2006
+
2007
+ /***/ }),
2008
+
2009
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_field-group.js":
2010
+ /*!**********************************************************************!*\
2011
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_field-group.js ***!
2012
+ \**********************************************************************/
2013
+ /***/ (function() {
2014
+
2015
+ (function ($, undefined) {
2016
+ /**
2017
+ * fieldGroupManager
2018
+ *
2019
+ * Generic field group functionality
2020
+ *
2021
+ * @date 15/12/17
2022
+ * @since 5.7.0
2023
+ *
2024
+ * @param void
2025
+ * @return void
2026
+ */
2027
+ var fieldGroupManager = new acf.Model({
2028
+ id: 'fieldGroupManager',
2029
+ events: {
2030
+ 'submit #post': 'onSubmit',
2031
+ 'click a[href="#"]': 'onClick',
2032
+ 'click .submitdelete': 'onClickTrash'
2033
+ },
2034
+ filters: {
2035
+ find_fields_args: 'filterFindFieldArgs'
2036
+ },
2037
+ onSubmit: function (e, $el) {
2038
+ // vars
2039
+ var $title = $('#titlewrap #title'); // empty
2040
+
2041
+ if (!$title.val()) {
2042
+ // prevent default
2043
+ e.preventDefault(); // unlock form
2044
+
2045
+ acf.unlockForm($el); // alert
2046
+
2047
+ alert(acf.__('Field group title is required')); // focus
2048
+
2049
+ $title.trigger('focus');
2050
+ }
2051
+ },
2052
+ onClick: function (e) {
2053
+ e.preventDefault();
2054
+ },
2055
+ onClickTrash: function (e) {
2056
+ var result = confirm(acf.__('Move to trash. Are you sure?'));
2057
+
2058
+ if (!result) {
2059
+ e.preventDefault();
2060
+ }
2061
+ },
2062
+ filterFindFieldArgs: function (args) {
2063
+ args.visible = true;
2064
+ return args;
2065
+ }
2066
+ });
2067
+ /**
2068
+ * screenOptionsManager
2069
+ *
2070
+ * Screen options functionality
2071
+ *
2072
+ * @date 15/12/17
2073
+ * @since 5.7.0
2074
+ *
2075
+ * @param void
2076
+ * @return void
2077
+ */
2078
+
2079
+ var screenOptionsManager = new acf.Model({
2080
+ id: 'screenOptionsManager',
2081
+ wait: 'prepare',
2082
+ events: {
2083
+ change: 'onChange'
2084
+ },
2085
+ initialize: function () {
2086
+ // vars
2087
+ var $div = $('#adv-settings');
2088
+ var $append = $('#acf-append-show-on-screen'); // append
2089
+
2090
+ $div.find('.metabox-prefs').append($append.html());
2091
+ $div.find('.metabox-prefs br').remove(); // clean up
2092
+
2093
+ $append.remove(); // initialize
2094
+
2095
+ this.$el = $('#acf-field-key-hide'); // render
2096
+
2097
+ this.render();
2098
+ },
2099
+ isChecked: function () {
2100
+ return this.$el.prop('checked');
2101
+ },
2102
+ onChange: function (e, $el) {
2103
+ var val = this.isChecked() ? 1 : 0;
2104
+ acf.updateUserSetting('show_field_keys', val);
2105
+ this.render();
2106
+ },
2107
+ render: function () {
2108
+ if (this.isChecked()) {
2109
+ $('#acf-field-group-fields').addClass('show-field-keys');
2110
+ } else {
2111
+ $('#acf-field-group-fields').removeClass('show-field-keys');
2112
+ }
2113
+ }
2114
+ });
2115
+ /**
2116
+ * appendFieldManager
2117
+ *
2118
+ * Appends fields together
2119
+ *
2120
+ * @date 15/12/17
2121
+ * @since 5.7.0
2122
+ *
2123
+ * @param void
2124
+ * @return void
2125
+ */
2126
+
2127
+ var appendFieldManager = new acf.Model({
2128
+ actions: {
2129
+ new_field: 'onNewField'
2130
+ },
2131
+ onNewField: function (field) {
2132
+ // bail ealry if not append
2133
+ if (!field.has('append')) return; // vars
2134
+
2135
+ var append = field.get('append');
2136
+ var $sibling = field.$el.siblings('[data-name="' + append + '"]').first(); // bail early if no sibling
2137
+
2138
+ if (!$sibling.length) return; // ul
2139
+
2140
+ var $div = $sibling.children('.acf-input');
2141
+ var $ul = $div.children('ul'); // create ul
2142
+
2143
+ if (!$ul.length) {
2144
+ $div.wrapInner('<ul class="acf-hl"><li></li></ul>');
2145
+ $ul = $div.children('ul');
2146
+ } // li
2147
+
2148
+
2149
+ var html = field.$('.acf-input').html();
2150
+ var $li = $('<li>' + html + '</li>');
2151
+ $ul.append($li);
2152
+ $ul.attr('data-cols', $ul.children().length); // clean up
2153
+
2154
+ field.remove();
2155
+ }
2156
+ });
2157
+ })(jQuery);
2158
+
2159
+ /***/ })
2160
+
2161
+ /******/ });
2162
+ /************************************************************************/
2163
+ /******/ // The module cache
2164
+ /******/ var __webpack_module_cache__ = {};
2165
+ /******/
2166
+ /******/ // The require function
2167
+ /******/ function __webpack_require__(moduleId) {
2168
+ /******/ // Check if module is in cache
2169
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
2170
+ /******/ if (cachedModule !== undefined) {
2171
+ /******/ return cachedModule.exports;
2172
+ /******/ }
2173
+ /******/ // Create a new module (and put it into the cache)
2174
+ /******/ var module = __webpack_module_cache__[moduleId] = {
2175
+ /******/ // no module.id needed
2176
+ /******/ // no module.loaded needed
2177
+ /******/ exports: {}
2178
+ /******/ };
2179
+ /******/
2180
+ /******/ // Execute the module function
2181
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
2182
+ /******/
2183
+ /******/ // Return the exports of the module
2184
+ /******/ return module.exports;
2185
+ /******/ }
2186
+ /******/
2187
+ /************************************************************************/
2188
+ /******/ /* webpack/runtime/compat get default export */
2189
+ /******/ !function() {
2190
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
2191
+ /******/ __webpack_require__.n = function(module) {
2192
+ /******/ var getter = module && module.__esModule ?
2193
+ /******/ function() { return module['default']; } :
2194
+ /******/ function() { return module; };
2195
+ /******/ __webpack_require__.d(getter, { a: getter });
2196
+ /******/ return getter;
2197
+ /******/ };
2198
+ /******/ }();
2199
+ /******/
2200
+ /******/ /* webpack/runtime/define property getters */
2201
+ /******/ !function() {
2202
+ /******/ // define getter functions for harmony exports
2203
+ /******/ __webpack_require__.d = function(exports, definition) {
2204
+ /******/ for(var key in definition) {
2205
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2206
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2207
+ /******/ }
2208
+ /******/ }
2209
+ /******/ };
2210
+ /******/ }();
2211
+ /******/
2212
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
2213
+ /******/ !function() {
2214
+ /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
2215
+ /******/ }();
2216
+ /******/
2217
+ /******/ /* webpack/runtime/make namespace object */
2218
+ /******/ !function() {
2219
+ /******/ // define __esModule on exports
2220
+ /******/ __webpack_require__.r = function(exports) {
2221
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2222
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2223
+ /******/ }
2224
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
2225
+ /******/ };
2226
+ /******/ }();
2227
+ /******/
2228
+ /************************************************************************/
2229
+ var __webpack_exports__ = {};
2230
+ // This entry need to be wrapped in an IIFE because it need to be in strict mode.
2231
+ !function() {
2232
+ "use strict";
2233
+ /*!*************************************************************************!*\
2234
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/acf-field-group.js ***!
2235
+ \*************************************************************************/
2236
+ __webpack_require__.r(__webpack_exports__);
2237
+ /* harmony import */ var _field_group_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_field-group.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group.js");
2238
+ /* harmony import */ var _field_group_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_field_group_js__WEBPACK_IMPORTED_MODULE_0__);
2239
+ /* harmony import */ var _field_group_field_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_field-group-field.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js");
2240
+ /* harmony import */ var _field_group_field_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_field_group_field_js__WEBPACK_IMPORTED_MODULE_1__);
2241
+ /* harmony import */ var _field_group_settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_field-group-settings.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js");
2242
+ /* harmony import */ var _field_group_settings_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_field_group_settings_js__WEBPACK_IMPORTED_MODULE_2__);
2243
+ /* harmony import */ var _field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_field-group-conditions.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js");
2244
+ /* harmony import */ var _field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_field_group_conditions_js__WEBPACK_IMPORTED_MODULE_3__);
2245
+ /* harmony import */ var _field_group_fields_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_field-group-fields.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js");
2246
+ /* harmony import */ var _field_group_fields_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_field_group_fields_js__WEBPACK_IMPORTED_MODULE_4__);
2247
+ /* harmony import */ var _field_group_locations_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_field-group-locations.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js");
2248
+ /* harmony import */ var _field_group_locations_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_field_group_locations_js__WEBPACK_IMPORTED_MODULE_5__);
2249
+ /* harmony import */ var _field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_field-group-compatibility.js */ "./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js");
2250
+ /* harmony import */ var _field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_field_group_compatibility_js__WEBPACK_IMPORTED_MODULE_6__);
2251
+
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+ }();
2259
+ /******/ })()
2260
+ ;
2261
+ //# sourceMappingURL=acf-field-group.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/build/js/acf-field-group.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"acf-field-group.js","mappings":"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","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-compatibility.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-conditions.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-field.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-fields.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-locations.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group-settings.js","webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/_field-group.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-field-group.js"],"sourcesContent":["( function ( $, undefined ) {\n\tvar _acf = acf.getCompatibility( acf );\n\n\t/**\n\t * fieldGroupCompatibility\n\t *\n\t * Compatibility layer for extinct acf.field_group\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\t_acf.field_group = {\n\t\tsave_field: function ( $field, type ) {\n\t\t\ttype = type !== undefined ? type : 'settings';\n\t\t\tacf.getFieldObject( $field ).save( type );\n\t\t},\n\n\t\tdelete_field: function ( $field, animate ) {\n\t\t\tanimate = animate !== undefined ? animate : true;\n\t\t\tacf.getFieldObject( $field ).delete( {\n\t\t\t\tanimate: animate,\n\t\t\t} );\n\t\t},\n\n\t\tupdate_field_meta: function ( $field, name, value ) {\n\t\t\tacf.getFieldObject( $field ).prop( name, value );\n\t\t},\n\n\t\tdelete_field_meta: function ( $field, name ) {\n\t\t\tacf.getFieldObject( $field ).prop( name, null );\n\t\t},\n\t};\n\n\t/**\n\t * fieldGroupCompatibility.field_object\n\t *\n\t * Compatibility layer for extinct acf.field_group.field_object\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\t_acf.field_group.field_object = acf.model.extend( {\n\t\t// vars\n\t\ttype: '',\n\t\to: {},\n\t\t$field: null,\n\t\t$settings: null,\n\n\t\ttag: function ( tag ) {\n\t\t\t// vars\n\t\t\tvar type = this.type;\n\n\t\t\t// explode, add 'field' and implode\n\t\t\t// - open \t\t\t=> open_field\n\t\t\t// - change_type\t=> change_field_type\n\t\t\tvar tags = tag.split( '_' );\n\t\t\ttags.splice( 1, 0, 'field' );\n\t\t\ttag = tags.join( '_' );\n\n\t\t\t// add type\n\t\t\tif ( type ) {\n\t\t\t\ttag += '/type=' + type;\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn tag;\n\t\t},\n\n\t\tselector: function () {\n\t\t\t// vars\n\t\t\tvar selector = '.acf-field-object';\n\t\t\tvar type = this.type;\n\n\t\t\t// add type\n\t\t\tif ( type ) {\n\t\t\t\tselector += '-' + type;\n\t\t\t\tselector = acf.str_replace( '_', '-', selector );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn selector;\n\t\t},\n\n\t\t_add_action: function ( name, callback ) {\n\t\t\t// vars\n\t\t\tvar model = this;\n\n\t\t\t// add action\n\t\t\tacf.add_action( this.tag( 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// add action\n\t\t\tacf.add_filter( this.tag( 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\tvar event = name.substr( 0, name.indexOf( ' ' ) );\n\t\t\tvar selector = name.substr( name.indexOf( ' ' ) + 1 );\n\t\t\tvar context = this.selector();\n\n\t\t\t// add event\n\t\t\t$( document ).on( event, context + ' ' + selector, function ( e ) {\n\t\t\t\t// append $el to event object\n\t\t\t\te.$el = $( this );\n\t\t\t\te.$field = e.$el.closest( '.acf-field-object' );\n\n\t\t\t\t// focus\n\t\t\t\tmodel.set( '$field', e.$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// vars\n\t\t\tthis.o = this.$field.data();\n\n\t\t\t// els\n\t\t\tthis.$settings = this.$field.find( '> .settings > table > tbody' );\n\n\t\t\t// focus\n\t\t\tthis.focus();\n\t\t},\n\n\t\tfocus: function () {\n\t\t\t// do nothing\n\t\t},\n\n\t\tsetting: function ( name ) {\n\t\t\treturn this.$settings.find( '> .acf-field-setting-' + name );\n\t\t},\n\t} );\n\n\t/*\n\t * field\n\t *\n\t * This model fires actions and filters for registered fields\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\tvar actionManager = new acf.Model( {\n\t\tactions: {\n\t\t\topen_field_object: 'onOpenFieldObject',\n\t\t\tclose_field_object: 'onCloseFieldObject',\n\t\t\tadd_field_object: 'onAddFieldObject',\n\t\t\tduplicate_field_object: 'onDuplicateFieldObject',\n\t\t\tdelete_field_object: 'onDeleteFieldObject',\n\t\t\tchange_field_object_type: 'onChangeFieldObjectType',\n\t\t\tchange_field_object_label: 'onChangeFieldObjectLabel',\n\t\t\tchange_field_object_name: 'onChangeFieldObjectName',\n\t\t\tchange_field_object_parent: 'onChangeFieldObjectParent',\n\t\t\tsortstop_field_object: 'onChangeFieldObjectParent',\n\t\t},\n\n\t\tonOpenFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'open_field', field.$el );\n\t\t\tacf.doAction( 'open_field/type=' + field.get( 'type' ), field.$el );\n\n\t\t\tacf.doAction( 'render_field_settings', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'render_field_settings/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonCloseFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'close_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'close_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonAddFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'add_field', field.$el );\n\t\t\tacf.doAction( 'add_field/type=' + field.get( 'type' ), field.$el );\n\t\t},\n\n\t\tonDuplicateFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'duplicate_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'duplicate_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonDeleteFieldObject: function ( field ) {\n\t\t\tacf.doAction( 'delete_field', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'delete_field/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectType: function ( field ) {\n\t\t\tacf.doAction( 'change_field_type', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_type/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\n\t\t\tacf.doAction( 'render_field_settings', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'render_field_settings/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectLabel: function ( field ) {\n\t\t\tacf.doAction( 'change_field_label', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_label/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectName: function ( field ) {\n\t\t\tacf.doAction( 'change_field_name', field.$el );\n\t\t\tacf.doAction(\n\t\t\t\t'change_field_name/type=' + field.get( 'type' ),\n\t\t\t\tfield.$el\n\t\t\t);\n\t\t},\n\n\t\tonChangeFieldObjectParent: function ( field ) {\n\t\t\tacf.doAction( 'update_field_parent', field.$el );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * ConditionalLogicFieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t3/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 ConditionalLogicFieldSetting = acf.FieldSetting.extend( {\n\t\ttype: '',\n\t\tname: 'conditional_logic',\n\t\tevents: {\n\t\t\t'change .conditions-toggle': 'onChangeToggle',\n\t\t\t'click .add-conditional-group': 'onClickAddGroup',\n\t\t\t'focus .condition-rule-field': 'onFocusField',\n\t\t\t'change .condition-rule-field': 'onChangeField',\n\t\t\t'change .condition-rule-operator': 'onChangeOperator',\n\t\t\t'click .add-conditional-rule': 'onClickAdd',\n\t\t\t'click .remove-conditional-rule': 'onClickRemove',\n\t\t},\n\n\t\t$rule: false,\n\n\t\tscope: function ( $rule ) {\n\t\t\tthis.$rule = $rule;\n\t\t\treturn this;\n\t\t},\n\n\t\truleData: function ( name, value ) {\n\t\t\treturn this.$rule.data.apply( this.$rule, arguments );\n\t\t},\n\n\t\t$input: function ( name ) {\n\t\t\treturn this.$rule.find( '.condition-rule-' + name );\n\t\t},\n\n\t\t$td: function ( name ) {\n\t\t\treturn this.$rule.find( 'td.' + name );\n\t\t},\n\n\t\t$toggle: function () {\n\t\t\treturn this.$( '.conditions-toggle' );\n\t\t},\n\n\t\t$control: function () {\n\t\t\treturn this.$( '.rule-groups' );\n\t\t},\n\n\t\t$groups: function () {\n\t\t\treturn this.$( '.rule-group' );\n\t\t},\n\n\t\t$rules: function () {\n\t\t\treturn this.$( '.rule' );\n\t\t},\n\n\t\topen: function () {\n\t\t\tvar $div = this.$control();\n\t\t\t$div.show();\n\t\t\tacf.enable( $div );\n\t\t},\n\n\t\tclose: function () {\n\t\t\tvar $div = this.$control();\n\t\t\t$div.hide();\n\t\t\tacf.disable( $div );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// show\n\t\t\tif ( this.$toggle().prop( 'checked' ) ) {\n\t\t\t\tthis.renderRules();\n\t\t\t\tthis.open();\n\n\t\t\t\t// hide\n\t\t\t} else {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t},\n\n\t\trenderRules: function () {\n\t\t\t// vars\n\t\t\tvar self = this;\n\n\t\t\t// loop\n\t\t\tthis.$rules().each( function () {\n\t\t\t\tself.renderRule( $( this ) );\n\t\t\t} );\n\t\t},\n\n\t\trenderRule: function ( $rule ) {\n\t\t\tthis.scope( $rule );\n\t\t\tthis.renderField();\n\t\t\tthis.renderOperator();\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\trenderField: function () {\n\t\t\t// vars\n\t\t\tvar choices = [];\n\t\t\tvar validFieldTypes = [];\n\t\t\tvar cid = this.fieldObject.cid;\n\t\t\tvar $select = this.$input( 'field' );\n\n\t\t\t// loop\n\t\t\tacf.getFieldObjects().map( function ( fieldObject ) {\n\t\t\t\t// vars\n\t\t\t\tvar choice = {\n\t\t\t\t\tid: fieldObject.getKey(),\n\t\t\t\t\ttext: fieldObject.getLabel(),\n\t\t\t\t};\n\n\t\t\t\t// bail early if is self\n\t\t\t\tif ( fieldObject.cid === cid ) {\n\t\t\t\t\tchoice.text += acf.__( '(this field)' );\n\t\t\t\t\tchoice.disabled = true;\n\t\t\t\t}\n\n\t\t\t\t// get selected field conditions\n\t\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\t\tfieldType: fieldObject.getType(),\n\t\t\t\t} );\n\n\t\t\t\t// bail early if no types\n\t\t\t\tif ( ! conditionTypes.length ) {\n\t\t\t\t\tchoice.disabled = true;\n\t\t\t\t}\n\n\t\t\t\t// calulate indents\n\t\t\t\tvar indents = fieldObject.getParents().length;\n\t\t\t\tchoice.text = '- '.repeat( indents ) + choice.text;\n\n\t\t\t\t// append\n\t\t\t\tchoices.push( choice );\n\t\t\t} );\n\n\t\t\t// allow for scenario where only one field exists\n\t\t\tif ( ! choices.length ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: '',\n\t\t\t\t\ttext: acf.__( 'No toggle fields available' ),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// render\n\t\t\tacf.renderSelect( $select, choices );\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'field', $select.val() );\n\t\t},\n\n\t\trenderOperator: function () {\n\t\t\t// bail early if no field selected\n\t\t\tif ( ! this.ruleData( 'field' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $select = this.$input( 'operator' );\n\t\t\tvar val = $select.val();\n\t\t\tvar choices = [];\n\n\t\t\t// set saved value on first render\n\t\t\t// - this allows the 2nd render to correctly select an option\n\t\t\tif ( $select.val() === null ) {\n\t\t\t\tacf.renderSelect( $select, [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: this.ruleData( 'operator' ),\n\t\t\t\t\t\ttext: '',\n\t\t\t\t\t},\n\t\t\t\t] );\n\t\t\t}\n\n\t\t\t// get selected field\n\t\t\tvar $field = acf.findFieldObject( this.ruleData( 'field' ) );\n\t\t\tvar field = acf.getFieldObject( $field );\n\n\t\t\t// get selected field conditions\n\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\tfieldType: field.getType(),\n\t\t\t} );\n\n\t\t\t// html\n\t\t\tconditionTypes.map( function ( model ) {\n\t\t\t\tchoices.push( {\n\t\t\t\t\tid: model.prototype.operator,\n\t\t\t\t\ttext: model.prototype.label,\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\t// render\n\t\t\tacf.renderSelect( $select, choices );\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'operator', $select.val() );\n\t\t},\n\n\t\trenderValue: function () {\n\t\t\t// bail early if no field selected\n\t\t\tif ( ! this.ruleData( 'field' ) || ! this.ruleData( 'operator' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// vars\n\t\t\tvar $select = this.$input( 'value' );\n\t\t\tvar $td = this.$td( 'value' );\n\t\t\tvar val = $select.val();\n\n\t\t\t// get selected field\n\t\t\tvar $field = acf.findFieldObject( this.ruleData( 'field' ) );\n\t\t\tvar field = acf.getFieldObject( $field );\n\n\t\t\t// get selected field conditions\n\t\t\tvar conditionTypes = acf.getConditionTypes( {\n\t\t\t\tfieldType: field.getType(),\n\t\t\t\toperator: this.ruleData( 'operator' ),\n\t\t\t} );\n\n\t\t\t// html\n\t\t\tvar conditionType = conditionTypes[ 0 ].prototype;\n\t\t\tvar choices = conditionType.choices( field );\n\n\t\t\t// create html: array\n\t\t\tif ( choices instanceof Array ) {\n\t\t\t\tvar $newSelect = $( '<select></select>' );\n\t\t\t\tacf.renderSelect( $newSelect, choices );\n\n\t\t\t\t// create html: string (<input />)\n\t\t\t} else {\n\t\t\t\tvar $newSelect = $( choices );\n\t\t\t}\n\n\t\t\t// append\n\t\t\t$select.detach();\n\t\t\t$td.html( $newSelect );\n\n\t\t\t// copy attrs\n\t\t\t// timeout needed to avoid browser bug where \"disabled\" attribute is not applied\n\t\t\tsetTimeout( function () {\n\t\t\t\t[ 'class', 'name', 'id' ].map( function ( attr ) {\n\t\t\t\t\t$newSelect.attr( attr, $select.attr( attr ) );\n\t\t\t\t} );\n\t\t\t}, 0 );\n\n\t\t\t// select existing value (if not a disabled input)\n\t\t\tif ( ! $newSelect.prop( 'disabled' ) ) {\n\t\t\t\tacf.val( $newSelect, val, true );\n\t\t\t}\n\n\t\t\t// set\n\t\t\tthis.ruleData( 'value', $newSelect.val() );\n\t\t},\n\n\t\tonChangeToggle: function () {\n\t\t\tthis.render();\n\t\t},\n\n\t\tonClickAddGroup: function ( e, $el ) {\n\t\t\tthis.addGroup();\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\t// vars\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\t// duplicate\n\t\t\tvar $group2 = acf.duplicate( $group );\n\n\t\t\t// update h4\n\t\t\t$group2.find( 'h4' ).text( acf.__( 'or' ) );\n\n\t\t\t// remove all tr's except the first one\n\t\t\t$group2.find( 'tr' ).not( ':first' ).remove();\n\n\t\t\t// save field\n\t\t\tthis.fieldObject.save();\n\t\t},\n\n\t\tonFocusField: function ( e, $el ) {\n\t\t\tthis.renderField();\n\t\t},\n\n\t\tonChangeField: function ( e, $el ) {\n\t\t\t// scope\n\t\t\tthis.scope( $el.closest( '.rule' ) );\n\n\t\t\t// set data\n\t\t\tthis.ruleData( 'field', $el.val() );\n\n\t\t\t// render\n\t\t\tthis.renderOperator();\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\tonChangeOperator: function ( e, $el ) {\n\t\t\t// scope\n\t\t\tthis.scope( $el.closest( '.rule' ) );\n\n\t\t\t// set data\n\t\t\tthis.ruleData( 'operator', $el.val() );\n\n\t\t\t// render\n\t\t\tthis.renderValue();\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\t// duplciate\n\t\t\tvar $rule = acf.duplicate( $el.closest( '.rule' ) );\n\n\t\t\t// render\n\t\t\tthis.renderRule( $rule );\n\t\t},\n\n\t\tonClickRemove: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $rule = $el.closest( '.rule' );\n\n\t\t\t// save field\n\t\t\tthis.fieldObject.save();\n\n\t\t\t// remove group\n\t\t\tif ( $rule.siblings( '.rule' ).length == 0 ) {\n\t\t\t\t$rule.closest( '.rule-group' ).remove();\n\t\t\t}\n\n\t\t\t// remove\n\t\t\t$rule.remove();\n\t\t},\n\t} );\n\n\tacf.registerFieldSetting( ConditionalLogicFieldSetting );\n\n\t/**\n\t * conditionalLogicHelper\n\t *\n\t * description\n\t *\n\t * @date\t20/4/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 conditionalLogicHelper = new acf.Model( {\n\t\tactions: {\n\t\t\tduplicate_field_objects: 'onDuplicateFieldObjects',\n\t\t},\n\n\t\tonDuplicateFieldObjects: function ( children, newField, prevField ) {\n\t\t\t// vars\n\t\t\tvar data = {};\n\t\t\tvar $selects = $();\n\n\t\t\t// reference change in key\n\t\t\tchildren.map( function ( child ) {\n\t\t\t\t// store reference of changed key\n\t\t\t\tdata[ child.get( 'prevKey' ) ] = child.get( 'key' );\n\n\t\t\t\t// append condition select\n\t\t\t\t$selects = $selects.add( child.$( '.condition-rule-field' ) );\n\t\t\t} );\n\n\t\t\t// loop\n\t\t\t$selects.each( function () {\n\t\t\t\t// vars\n\t\t\t\tvar $select = $( this );\n\t\t\t\tvar val = $select.val();\n\n\t\t\t\t// bail early if val is not a ref key\n\t\t\t\tif ( ! val || ! data[ val ] ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// modify selected option\n\t\t\t\t$select.find( 'option:selected' ).attr( 'value', data[ val ] );\n\n\t\t\t\t// set new val\n\t\t\t\t$select.val( data[ val ] );\n\t\t\t} );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\tacf.FieldObject = acf.Model.extend( {\n\t\t// class used to avoid nested event triggers\n\t\teventScope: '.acf-field-object',\n\n\t\t// events\n\t\tevents: {\n\t\t\t'click .edit-field': 'onClickEdit',\n\t\t\t'click .delete-field': 'onClickDelete',\n\t\t\t'click .duplicate-field': 'duplicate',\n\t\t\t'click .move-field': 'move',\n\n\t\t\t'change .field-type': 'onChangeType',\n\t\t\t'change .field-required': 'onChangeRequired',\n\t\t\t'blur .field-label': 'onChangeLabel',\n\t\t\t'blur .field-name': 'onChangeName',\n\n\t\t\tchange: 'onChange',\n\t\t\tchanged: 'onChanged',\n\t\t},\n\n\t\t// data\n\t\tdata: {\n\t\t\t// Similar to ID, but used for HTML puposes.\n\t\t\t// It is possbile for a new field to have an ID of 0, but an id of 'field_123' */\n\t\t\tid: 0,\n\n\t\t\t// The field key ('field_123')\n\t\t\tkey: '',\n\n\t\t\t// The field type (text, image, etc)\n\t\t\ttype: '',\n\n\t\t\t// The $post->ID of this field\n\t\t\t//ID: 0,\n\n\t\t\t// The field's parent\n\t\t\t//parent: 0,\n\n\t\t\t// The menu order\n\t\t\t//menu_order: 0\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 (id, key, type)\n\t\t\tthis.inherit( $field );\n\n\t\t\t// load additional props\n\t\t\t// - this won't trigger 'changed'\n\t\t\tthis.prop( 'ID' );\n\t\t\tthis.prop( 'parent' );\n\t\t\tthis.prop( 'menu_order' );\n\t\t},\n\n\t\t$input: function ( name ) {\n\t\t\treturn $( '#' + this.getInputId() + '-' + name );\n\t\t},\n\n\t\t$meta: function () {\n\t\t\treturn this.$( '.meta:first' );\n\t\t},\n\n\t\t$handle: function () {\n\t\t\treturn this.$( '.handle:first' );\n\t\t},\n\n\t\t$settings: function () {\n\t\t\treturn this.$( '.settings:first' );\n\t\t},\n\n\t\t$setting: function ( name ) {\n\t\t\treturn this.$(\n\t\t\t\t'.acf-field-settings:first > .acf-field-setting-' + name\n\t\t\t);\n\t\t},\n\n\t\tgetParent: function () {\n\t\t\treturn acf.getFieldObjects( { child: this.$el, limit: 1 } ).pop();\n\t\t},\n\n\t\tgetParents: function () {\n\t\t\treturn acf.getFieldObjects( { child: this.$el } );\n\t\t},\n\n\t\tgetFields: function () {\n\t\t\treturn acf.getFieldObjects( { parent: this.$el } );\n\t\t},\n\n\t\tgetInputName: function () {\n\t\t\treturn 'acf_fields[' + this.get( 'id' ) + ']';\n\t\t},\n\n\t\tgetInputId: function () {\n\t\t\treturn 'acf_fields-' + this.get( 'id' );\n\t\t},\n\n\t\tnewInput: function ( name, value ) {\n\t\t\t// vars\n\t\t\tvar inputId = this.getInputId();\n\t\t\tvar inputName = this.getInputName();\n\n\t\t\t// append name\n\t\t\tif ( name ) {\n\t\t\t\tinputId += '-' + name;\n\t\t\t\tinputName += '[' + name + ']';\n\t\t\t}\n\n\t\t\t// create input (avoid HTML + JSON value issues)\n\t\t\tvar $input = $( '<input />' ).attr( {\n\t\t\t\tid: inputId,\n\t\t\t\tname: inputName,\n\t\t\t\tvalue: value,\n\t\t\t} );\n\t\t\tthis.$( '> .meta' ).append( $input );\n\n\t\t\t// return\n\t\t\treturn $input;\n\t\t},\n\n\t\tgetProp: function ( name ) {\n\t\t\t// check data\n\t\t\tif ( this.has( name ) ) {\n\t\t\t\treturn this.get( name );\n\t\t\t}\n\n\t\t\t// get input value\n\t\t\tvar $input = this.$input( name );\n\t\t\tvar value = $input.length ? $input.val() : null;\n\n\t\t\t// set data silently (cache)\n\t\t\tthis.set( name, value, true );\n\n\t\t\t// return\n\t\t\treturn value;\n\t\t},\n\n\t\tsetProp: function ( name, value ) {\n\t\t\t// get input\n\t\t\tvar $input = this.$input( name );\n\t\t\tvar prevVal = $input.val();\n\n\t\t\t// create if new\n\t\t\tif ( ! $input.length ) {\n\t\t\t\t$input = this.newInput( name, value );\n\t\t\t}\n\n\t\t\t// remove\n\t\t\tif ( value === null ) {\n\t\t\t\t$input.remove();\n\n\t\t\t\t// update\n\t\t\t} else {\n\t\t\t\t$input.val( value );\n\t\t\t}\n\n\t\t\t//console.log('setProp', name, value, this);\n\n\t\t\t// set data silently (cache)\n\t\t\tif ( ! this.has( name ) ) {\n\t\t\t\t//console.log('setting silently');\n\t\t\t\tthis.set( name, value, true );\n\n\t\t\t\t// set data allowing 'change' event to fire\n\t\t\t} else {\n\t\t\t\t//console.log('setting loudly!');\n\t\t\t\tthis.set( name, value );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn this;\n\t\t},\n\n\t\tprop: function ( name, value ) {\n\t\t\tif ( value !== undefined ) {\n\t\t\t\treturn this.setProp( name, value );\n\t\t\t} else {\n\t\t\t\treturn this.getProp( name );\n\t\t\t}\n\t\t},\n\n\t\tprops: function ( props ) {\n\t\t\tObject.keys( props ).map( function ( key ) {\n\t\t\t\tthis.setProp( key, props[ key ] );\n\t\t\t}, this );\n\t\t},\n\n\t\tgetLabel: function () {\n\t\t\t// get label with empty default\n\t\t\tvar label = this.prop( 'label' );\n\t\t\tif ( label === '' ) {\n\t\t\t\tlabel = acf.__( '(no label)' );\n\t\t\t}\n\n\t\t\t// return\n\t\t\treturn label;\n\t\t},\n\n\t\tgetName: function () {\n\t\t\treturn this.prop( 'name' );\n\t\t},\n\n\t\tgetType: function () {\n\t\t\treturn this.prop( 'type' );\n\t\t},\n\n\t\tgetTypeLabel: function () {\n\t\t\tvar type = this.prop( 'type' );\n\t\t\tvar types = acf.get( 'fieldTypes' );\n\t\t\treturn types[ type ] ? types[ type ].label : type;\n\t\t},\n\n\t\tgetKey: function () {\n\t\t\treturn this.prop( 'key' );\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.addProFields();\n\t\t},\n\n\t\taddProFields: function () {\n\t\t\t// Make sure we're only running this on free version.\n\t\t\tif ( acf.data.fieldTypes.hasOwnProperty( 'clone' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Make sure we haven't appended these fields before.\n\t\t\tvar $fieldTypeSelect = $( '.field-type' ).not(\n\t\t\t\t'.acf-free-field-type'\n\t\t\t);\n\n\t\t\t// Append pro fields to \"Layout\" group.\n\t\t\tvar $layoutGroup = $fieldTypeSelect\n\t\t\t\t.find( 'optgroup option[value=\"group\"]' )\n\t\t\t\t.parent();\n\t\t\t$layoutGroup.append(\n\t\t\t\t'<option value=\"null\" disabled=\"disabled\">' +\n\t\t\t\t\tacf.__( 'Repeater (Pro only)' ) +\n\t\t\t\t\t'</option>' +\n\t\t\t\t\t'<option value=\"null\" disabled=\"disabled\">' +\n\t\t\t\t\tacf.__( 'Flexible Content (Pro only)' ) +\n\t\t\t\t\t'</option>' +\n\t\t\t\t\t'<option value=\"null\" disabled=\"disabled\">' +\n\t\t\t\t\tacf.__( 'Clone (Pro only)' ) +\n\t\t\t\t\t'</option>'\n\t\t\t);\n\n\t\t\t// Add pro fields to \"Content\" group.\n\t\t\tvar $contentGroup = $fieldTypeSelect\n\t\t\t\t.find( 'optgroup option[value=\"image\"]' )\n\t\t\t\t.parent();\n\t\t\t$contentGroup.append(\n\t\t\t\t'<option value=\"null\" disabled=\"disabled\">' +\n\t\t\t\t\tacf.__( 'Gallery (Pro only)' ) +\n\t\t\t\t\t'</option>'\n\t\t\t);\n\n\t\t\t$fieldTypeSelect.addClass( 'acf-free-field-type' );\n\t\t},\n\n\t\trender: function () {\n\t\t\t// vars\n\t\t\tvar $handle = this.$( '.handle:first' );\n\t\t\tvar menu_order = this.prop( 'menu_order' );\n\t\t\tvar label = this.getLabel();\n\t\t\tvar name = this.prop( 'name' );\n\t\t\tvar type = this.getTypeLabel();\n\t\t\tvar key = this.prop( 'key' );\n\t\t\tvar required = this.$input( 'required' ).prop( 'checked' );\n\n\t\t\t// update menu order\n\t\t\t$handle.find( '.acf-icon' ).html( parseInt( menu_order ) + 1 );\n\n\t\t\t// update required\n\t\t\tif ( required ) {\n\t\t\t\tlabel += ' <span class=\"acf-required\">*</span>';\n\t\t\t}\n\n\t\t\t// update label\n\t\t\t$handle.find( '.li-field-label strong a' ).html( label );\n\n\t\t\t// update name\n\t\t\t$handle.find( '.li-field-name' ).text( name );\n\n\t\t\t// update type\n\t\t\t$handle.find( '.li-field-type' ).text( type );\n\n\t\t\t// update key\n\t\t\t$handle.find( '.li-field-key' ).text( key );\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'render_field_object', this );\n\t\t},\n\n\t\trefresh: function () {\n\t\t\tacf.doAction( 'refresh_field_object', this );\n\t\t},\n\n\t\tisOpen: function () {\n\t\t\treturn this.$el.hasClass( 'open' );\n\t\t},\n\n\t\tonClickEdit: function ( e ) {\n\t\t\tthis.isOpen() ? this.close() : this.open();\n\t\t},\n\n\t\topen: function () {\n\t\t\t// vars\n\t\t\tvar $settings = this.$el.children( '.settings' );\n\n\t\t\t// open\n\t\t\t$settings.slideDown();\n\t\t\tthis.$el.addClass( 'open' );\n\n\t\t\t// action (open)\n\t\t\tacf.doAction( 'open_field_object', this );\n\t\t\tthis.trigger( 'openFieldObject' );\n\n\t\t\t// action (show)\n\t\t\tacf.doAction( 'show', $settings );\n\t\t},\n\n\t\tclose: function () {\n\t\t\t// vars\n\t\t\tvar $settings = this.$el.children( '.settings' );\n\n\t\t\t// close\n\t\t\t$settings.slideUp();\n\t\t\tthis.$el.removeClass( 'open' );\n\n\t\t\t// action (close)\n\t\t\tacf.doAction( 'close_field_object', this );\n\t\t\tthis.trigger( 'closeFieldObject' );\n\n\t\t\t// action (hide)\n\t\t\tacf.doAction( 'hide', $settings );\n\t\t},\n\n\t\tserialize: function () {\n\t\t\treturn acf.serialize( this.$el, this.getInputName() );\n\t\t},\n\n\t\tsave: function ( type ) {\n\t\t\t// defaults\n\t\t\ttype = type || 'settings'; // meta, settings\n\n\t\t\t// vars\n\t\t\tvar save = this.getProp( 'save' );\n\n\t\t\t// bail if already saving settings\n\t\t\tif ( save === 'settings' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// prop\n\t\t\tthis.setProp( 'save', type );\n\n\t\t\t// debug\n\t\t\tthis.$el.attr( 'data-save', type );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'save_field_object', this, type );\n\t\t},\n\n\t\tsubmit: function () {\n\t\t\t// vars\n\t\t\tvar inputName = this.getInputName();\n\t\t\tvar save = this.get( 'save' );\n\n\t\t\t// close\n\t\t\tif ( this.isOpen() ) {\n\t\t\t\tthis.close();\n\t\t\t}\n\n\t\t\t// allow all inputs to save\n\t\t\tif ( save == 'settings' ) {\n\t\t\t\t// do nothing\n\t\t\t\t// allow only meta inputs to save\n\t\t\t} else if ( save == 'meta' ) {\n\t\t\t\tthis.$( '> .settings [name^=\"' + inputName + '\"]' ).remove();\n\n\t\t\t\t// prevent all inputs from saving\n\t\t\t} else {\n\t\t\t\tthis.$( '[name^=\"' + inputName + '\"]' ).remove();\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'submit_field_object', this );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\t// save settings\n\t\t\tthis.save();\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'change_field_object', this );\n\t\t},\n\n\t\tonChanged: function ( e, $el, name, value ) {\n\t\t\t// ignore 'save'\n\t\t\tif ( name == 'save' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// save meta\n\t\t\tif ( [ 'menu_order', 'parent' ].indexOf( name ) > -1 ) {\n\t\t\t\tthis.save( 'meta' );\n\n\t\t\t\t// save field\n\t\t\t} else {\n\t\t\t\tthis.save();\n\t\t\t}\n\n\t\t\t// render\n\t\t\tif (\n\t\t\t\t[\n\t\t\t\t\t'menu_order',\n\t\t\t\t\t'label',\n\t\t\t\t\t'required',\n\t\t\t\t\t'name',\n\t\t\t\t\t'type',\n\t\t\t\t\t'key',\n\t\t\t\t].indexOf( name ) > -1\n\t\t\t) {\n\t\t\t\tthis.render();\n\t\t\t}\n\n\t\t\t// action for 3rd party customization\n\t\t\tacf.doAction( 'change_field_object_' + name, this, value );\n\t\t},\n\n\t\tonChangeLabel: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar label = $el.val();\n\t\t\tthis.set( 'label', label );\n\n\t\t\t// render name\n\t\t\tif ( this.prop( 'name' ) == '' ) {\n\t\t\t\tvar name = acf.applyFilters(\n\t\t\t\t\t'generate_field_object_name',\n\t\t\t\t\tacf.strSanitize( label ),\n\t\t\t\t\tthis\n\t\t\t\t);\n\t\t\t\tthis.prop( 'name', name );\n\t\t\t}\n\t\t},\n\n\t\tonChangeName: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar name = $el.val();\n\t\t\tthis.set( 'name', name );\n\n\t\t\t// error\n\t\t\tif ( name.substr( 0, 6 ) === 'field_' ) {\n\t\t\t\talert(\n\t\t\t\t\tacf.__(\n\t\t\t\t\t\t'The string \"field_\" may not be used at the start of a field name'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\tonChangeRequired: function ( e, $el ) {\n\t\t\t// set\n\t\t\tvar required = $el.prop( 'checked' ) ? 1 : 0;\n\t\t\tthis.set( 'required', required );\n\t\t},\n\n\t\tdelete: function ( args ) {\n\t\t\t// defaults\n\t\t\targs = acf.parseArgs( args, {\n\t\t\t\tanimate: true,\n\t\t\t} );\n\n\t\t\t// add to remove list\n\t\t\tvar id = this.prop( 'ID' );\n\n\t\t\tif ( id ) {\n\t\t\t\tvar $input = $( '#_acf_delete_fields' );\n\t\t\t\tvar newVal = $input.val() + '|' + id;\n\t\t\t\t$input.val( newVal );\n\t\t\t}\n\n\t\t\t// action\n\t\t\tacf.doAction( 'delete_field_object', this );\n\n\t\t\t// animate\n\t\t\tif ( args.animate ) {\n\t\t\t\tthis.removeAnimate();\n\t\t\t} else {\n\t\t\t\tthis.remove();\n\t\t\t}\n\t\t},\n\n\t\tonClickDelete: function ( e, $el ) {\n\t\t\t// Bypass confirmation when holding down \"shift\" key.\n\t\t\tif ( e.shiftKey ) {\n\t\t\t\treturn this.delete();\n\t\t\t}\n\n\t\t\t// add class\n\t\t\tthis.$el.addClass( '-hover' );\n\n\t\t\t// add tooltip\n\t\t\tvar tooltip = acf.newTooltip( {\n\t\t\t\tconfirmRemove: true,\n\t\t\t\ttarget: $el,\n\t\t\t\tcontext: this,\n\t\t\t\tconfirm: function () {\n\t\t\t\t\tthis.delete();\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tthis.$el.removeClass( '-hover' );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tremoveAnimate: function () {\n\t\t\t// vars\n\t\t\tvar field = this;\n\t\t\tvar $list = this.$el.parent();\n\t\t\tvar $fields = acf.findFieldObjects( {\n\t\t\t\tsibling: this.$el,\n\t\t\t} );\n\n\t\t\t// remove\n\t\t\tacf.remove( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tendHeight: $fields.length ? 0 : 50,\n\t\t\t\tcomplete: function () {\n\t\t\t\t\tfield.remove();\n\t\t\t\t\tacf.doAction( 'removed_field_object', field, $list );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'remove_field_object', field, $list );\n\t\t},\n\n\t\tduplicate: function () {\n\t\t\t// vars\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// duplicate\n\t\t\tvar $newField = acf.duplicate( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tsearch: this.get( 'id' ),\n\t\t\t\treplace: newKey,\n\t\t\t} );\n\n\t\t\t// set new key\n\t\t\t$newField.attr( 'data-key', newKey );\n\n\t\t\t// get instance\n\t\t\tvar newField = acf.getFieldObject( $newField );\n\n\t\t\t// open / close\n\t\t\tif ( this.isOpen() ) {\n\t\t\t\tthis.close();\n\t\t\t} else {\n\t\t\t\tnewField.open();\n\t\t\t}\n\n\t\t\t// focus label\n\t\t\tvar $label = newField.$setting( 'label input' );\n\t\t\tsetTimeout( function () {\n\t\t\t\t$label.trigger( 'focus' );\n\t\t\t}, 251 );\n\n\t\t\t// update newField label / name\n\t\t\tvar label = newField.prop( 'label' );\n\t\t\tvar name = newField.prop( 'name' );\n\t\t\tvar end = name.split( '_' ).pop();\n\t\t\tvar copy = acf.__( 'copy' );\n\n\t\t\t// increase suffix \"1\"\n\t\t\tif ( acf.isNumeric( end ) ) {\n\t\t\t\tvar i = end * 1 + 1;\n\t\t\t\tlabel = label.replace( end, i );\n\t\t\t\tname = name.replace( end, i );\n\n\t\t\t\t// increase suffix \"(copy1)\"\n\t\t\t} else if ( end.indexOf( copy ) === 0 ) {\n\t\t\t\tvar i = end.replace( copy, '' ) * 1;\n\t\t\t\ti = i ? i + 1 : 2;\n\n\t\t\t\t// replace\n\t\t\t\tlabel = label.replace( end, copy + i );\n\t\t\t\tname = name.replace( end, copy + i );\n\n\t\t\t\t// add default \"(copy)\"\n\t\t\t} else {\n\t\t\t\tlabel += ' (' + copy + ')';\n\t\t\t\tname += '_' + copy;\n\t\t\t}\n\n\t\t\tnewField.prop( 'ID', 0 );\n\t\t\tnewField.prop( 'label', label );\n\t\t\tnewField.prop( 'name', name );\n\t\t\tnewField.prop( 'key', newKey );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'duplicate_field_object', this, newField );\n\t\t\tacf.doAction( 'append_field_object', newField );\n\t\t},\n\n\t\twipe: function () {\n\t\t\t// vars\n\t\t\tvar prevId = this.get( 'id' );\n\t\t\tvar prevKey = this.get( 'key' );\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// rename\n\t\t\tacf.rename( {\n\t\t\t\ttarget: this.$el,\n\t\t\t\tsearch: prevId,\n\t\t\t\treplace: newKey,\n\t\t\t} );\n\n\t\t\t// data\n\t\t\tthis.set( 'id', newKey );\n\t\t\tthis.set( 'prevId', prevId );\n\t\t\tthis.set( 'prevKey', prevKey );\n\n\t\t\t// props\n\t\t\tthis.prop( 'key', newKey );\n\t\t\tthis.prop( 'ID', 0 );\n\n\t\t\t// attr\n\t\t\tthis.$el.attr( 'data-key', newKey );\n\t\t\tthis.$el.attr( 'data-id', newKey );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'wipe_field_object', this );\n\t\t},\n\n\t\tmove: function () {\n\t\t\t// helper\n\t\t\tvar hasChanged = function ( field ) {\n\t\t\t\treturn field.get( 'save' ) == 'settings';\n\t\t\t};\n\n\t\t\t// vars\n\t\t\tvar changed = hasChanged( this );\n\n\t\t\t// has sub fields changed\n\t\t\tif ( ! changed ) {\n\t\t\t\tacf.getFieldObjects( {\n\t\t\t\t\tparent: this.$el,\n\t\t\t\t} ).map( function ( field ) {\n\t\t\t\t\tchanged = hasChanged( field ) || field.changed;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// bail early if changed\n\t\t\tif ( changed ) {\n\t\t\t\talert(\n\t\t\t\t\tacf.__(\n\t\t\t\t\t\t'This field cannot be moved until its changes have been saved'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// step 1.\n\t\t\tvar id = this.prop( 'ID' );\n\t\t\tvar field = this;\n\t\t\tvar popup = false;\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: acf.__( 'Move Custom Field' ),\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/field_group/move_field',\n\t\t\t\t\tfield_id: id,\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\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// submit form\n\t\t\t\tpopup.on( 'submit', 'form', step3 );\n\t\t\t};\n\n\t\t\tvar step3 = function ( e, $el ) {\n\t\t\t\t// prevent\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// disable\n\t\t\t\tacf.startButtonLoading( popup.$( '.button' ) );\n\n\t\t\t\t// ajax\n\t\t\t\tvar ajaxData = {\n\t\t\t\t\taction: 'acf/field_group/move_field',\n\t\t\t\t\tfield_id: id,\n\t\t\t\t\tfield_group_id: popup.$( 'select' ).val(),\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: step4,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\tvar step4 = function ( html ) {\n\t\t\t\t// update popup\n\t\t\t\tpopup.content( html );\n\n\t\t\t\t// remove element\n\t\t\t\tfield.removeAnimate();\n\t\t\t};\n\n\t\t\t// start\n\t\t\tstep1();\n\t\t},\n\n\t\tonChangeType: function ( e, $el ) {\n\t\t\t// clea previous timout\n\t\t\tif ( this.changeTimeout ) {\n\t\t\t\tclearTimeout( this.changeTimeout );\n\t\t\t}\n\n\t\t\t// set new timeout\n\t\t\t// - prevents changing type multiple times whilst user types in newType\n\t\t\tthis.changeTimeout = this.setTimeout( function () {\n\t\t\t\tthis.changeType( $el.val() );\n\t\t\t}, 300 );\n\t\t},\n\n\t\tchangeType: function ( newType ) {\n\t\t\t// vars\n\t\t\tvar prevType = this.prop( 'type' );\n\t\t\tvar prevClass = acf.strSlugify( 'acf-field-object-' + prevType );\n\t\t\tvar newClass = acf.strSlugify( 'acf-field-object-' + newType );\n\n\t\t\t// update props\n\t\t\tthis.$el.removeClass( prevClass ).addClass( newClass );\n\t\t\tthis.$el.attr( 'data-type', newType );\n\t\t\tthis.$el.data( 'type', newType );\n\n\t\t\t// abort XHR if this field is already loading AJAX data\n\t\t\tif ( this.has( 'xhr' ) ) {\n\t\t\t\tthis.get( 'xhr' ).abort();\n\t\t\t}\n\n\t\t\t// store settings\n\t\t\tvar $tbody = this.$( '> .settings > table > tbody' );\n\t\t\tvar $settings = $tbody.children(\n\t\t\t\t'[data-setting=\"' + prevType + '\"]'\n\t\t\t);\n\t\t\tthis.set( 'settings-' + prevType, $settings );\n\t\t\t$settings.detach();\n\n\t\t\t// show settings\n\t\t\tif ( this.has( 'settings-' + newType ) ) {\n\t\t\t\tvar $newSettings = this.get( 'settings-' + newType );\n\t\t\t\tthis.$setting( 'conditional_logic' ).before( $newSettings );\n\t\t\t\tthis.set( 'type', newType );\n\t\t\t\t//this.refresh();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// load settings\n\t\t\tvar $loading = $(\n\t\t\t\t'<tr class=\"acf-field\"><td class=\"acf-label\"></td><td class=\"acf-input\"><div class=\"acf-loading\"></div></td></tr>'\n\t\t\t);\n\t\t\tthis.$setting( 'conditional_logic' ).before( $loading );\n\n\t\t\t// ajax\n\t\t\tvar ajaxData = {\n\t\t\t\taction: 'acf/field_group/render_field_settings',\n\t\t\t\tfield: this.serialize(),\n\t\t\t\tprefix: this.getInputName(),\n\t\t\t};\n\n\t\t\t// ajax\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: 'html',\n\t\t\t\tcontext: this,\n\t\t\t\tsuccess: function ( html ) {\n\t\t\t\t\t// bail early if no settings\n\t\t\t\t\tif ( ! html ) return;\n\n\t\t\t\t\t// append settings\n\t\t\t\t\t$loading.after( html );\n\n\t\t\t\t\t// events\n\t\t\t\t\tacf.doAction( 'append', $tbody );\n\t\t\t\t},\n\t\t\t\tcomplete: function () {\n\t\t\t\t\t// also triggered by xhr.abort();\n\t\t\t\t\t$loading.remove();\n\t\t\t\t\tthis.set( 'type', newType );\n\t\t\t\t\t//this.refresh();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// set\n\t\t\tthis.set( 'xhr', xhr );\n\t\t},\n\n\t\tupdateParent: function () {\n\t\t\t// vars\n\t\t\tvar ID = acf.get( 'post_id' );\n\n\t\t\t// check parent\n\t\t\tvar parent = this.getParent();\n\t\t\tif ( parent ) {\n\t\t\t\tID = parseInt( parent.prop( 'ID' ) ) || parent.prop( 'key' );\n\t\t\t}\n\n\t\t\t// update\n\t\t\tthis.prop( 'parent', ID );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * acf.findFieldObject\n\t *\n\t * Returns a single fieldObject $el for a given field key\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tstring key The field key\n\t * @return\tjQuery\n\t */\n\n\tacf.findFieldObject = function ( key ) {\n\t\treturn acf.findFieldObjects( {\n\t\t\tkey: key,\n\t\t\tlimit: 1,\n\t\t} );\n\t};\n\n\t/**\n\t * acf.findFieldObjects\n\t *\n\t * Returns an array of fieldObject $el for the given args\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tobject args\n\t * @return\tjQuery\n\t */\n\n\tacf.findFieldObjects = function ( args ) {\n\t\t// vars\n\t\targs = args || {};\n\t\tvar selector = '.acf-field-object';\n\t\tvar $fields = false;\n\n\t\t// args\n\t\targs = acf.parseArgs( args, {\n\t\t\tid: '',\n\t\t\tkey: '',\n\t\t\ttype: '',\n\t\t\tlimit: false,\n\t\t\tlist: null,\n\t\t\tparent: false,\n\t\t\tsibling: false,\n\t\t\tchild: false,\n\t\t} );\n\n\t\t// id\n\t\tif ( args.id ) {\n\t\t\tselector += '[data-id=\"' + args.id + '\"]';\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// query\n\t\tif ( args.list ) {\n\t\t\t$fields = args.list.children( selector );\n\t\t} else if ( args.parent ) {\n\t\t\t$fields = args.parent.find( selector );\n\t\t} else if ( args.sibling ) {\n\t\t\t$fields = args.sibling.siblings( selector );\n\t\t} else if ( args.child ) {\n\t\t\t$fields = args.child.parents( selector );\n\t\t} else {\n\t\t\t$fields = $( selector );\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 * acf.getFieldObject\n\t *\n\t * Returns a single fieldObject instance for a given $el|key\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tstring|jQuery $field The field $el or key\n\t * @return\tjQuery\n\t */\n\n\tacf.getFieldObject = function ( $field ) {\n\t\t// allow key\n\t\tif ( typeof $field === 'string' ) {\n\t\t\t$field = acf.findFieldObject( $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.newFieldObject( $field );\n\t\t}\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * acf.getFieldObjects\n\t *\n\t * Returns an array of fieldObject instances for the given args\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tobject args\n\t * @return\tarray\n\t */\n\n\tacf.getFieldObjects = function ( args ) {\n\t\t// query\n\t\tvar $fields = acf.findFieldObjects( args );\n\n\t\t// loop\n\t\tvar fields = [];\n\t\t$fields.each( function () {\n\t\t\tvar field = acf.getFieldObject( $( 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 * acf.newFieldObject\n\t *\n\t * Initializes and returns a new FieldObject instance\n\t *\n\t * @date\t1/2/18\n\t * @since\t5.7.0\n\t *\n\t * @param\tjQuery $field The field $el\n\t * @return\tobject\n\t */\n\n\tacf.newFieldObject = function ( $field ) {\n\t\t// instantiate\n\t\tvar field = new acf.FieldObject( $field );\n\n\t\t// action\n\t\tacf.doAction( 'new_field_object', field );\n\n\t\t// return\n\t\treturn field;\n\t};\n\n\t/**\n\t * actionManager\n\t *\n\t * description\n\t *\n\t * @date\t15/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\tvar eventManager = new acf.Model( {\n\t\tpriority: 5,\n\n\t\tinitialize: function () {\n\t\t\t// actions\n\t\t\tvar actions = [ 'prepare', 'ready', 'append', 'remove' ];\n\n\t\t\t// loop\n\t\t\tactions.map( function ( action ) {\n\t\t\t\tthis.addFieldActions( action );\n\t\t\t}, this );\n\t\t},\n\n\t\taddFieldActions: function ( action ) {\n\t\t\t// vars\n\t\t\tvar pluralAction = action + '_field_objects'; // ready_field_objects\n\t\t\tvar singleAction = action + '_field_object'; // ready_field_object\n\t\t\tvar singleEvent = action + 'FieldObject'; // readyFieldObject\n\n\t\t\t// global action\n\t\t\tvar callback = function ( $el /*, arg1, arg2, etc*/ ) {\n\t\t\t\t// vars\n\t\t\t\tvar fieldObjects = acf.getFieldObjects( { parent: $el } );\n\n\t\t\t\t// call plural\n\t\t\t\tif ( fieldObjects.length ) {\n\t\t\t\t\t/// get args [$el, arg1]\n\t\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t\t// modify args [pluralAction, fields, arg1]\n\t\t\t\t\targs.splice( 0, 1, pluralAction, fieldObjects );\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// plural action\n\t\t\tvar pluralCallback = function (\n\t\t\t\tfieldObjects /*, arg1, arg2, etc*/\n\t\t\t) {\n\t\t\t\t/// get args [fields, arg1]\n\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t// modify args [singleAction, fields, arg1]\n\t\t\t\targs.unshift( singleAction );\n\n\t\t\t\t// loop\n\t\t\t\tfieldObjects.map( function ( fieldObject ) {\n\t\t\t\t\t// modify args [singleAction, field, arg1]\n\t\t\t\t\targs[ 1 ] = fieldObject;\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\t// single action\n\t\t\tvar singleCallback = function (\n\t\t\t\tfieldObject /*, arg1, arg2, etc*/\n\t\t\t) {\n\t\t\t\t/// get args [$field, arg1]\n\t\t\t\tvar args = acf.arrayArgs( arguments );\n\n\t\t\t\t// modify args [singleAction, $field, arg1]\n\t\t\t\targs.unshift( singleAction );\n\n\t\t\t\t// action variations (ready_field/type=image)\n\t\t\t\tvar variations = [ 'type', 'name', 'key' ];\n\t\t\t\tvariations.map( function ( variation ) {\n\t\t\t\t\targs[ 0 ] =\n\t\t\t\t\t\tsingleAction +\n\t\t\t\t\t\t'/' +\n\t\t\t\t\t\tvariation +\n\t\t\t\t\t\t'=' +\n\t\t\t\t\t\tfieldObject.get( variation );\n\t\t\t\t\tacf.doAction.apply( null, args );\n\t\t\t\t} );\n\n\t\t\t\t// modify args [arg1]\n\t\t\t\targs.splice( 0, 2 );\n\n\t\t\t\t// event\n\t\t\t\tfieldObject.trigger( singleEvent, args );\n\t\t\t};\n\n\t\t\t// add actions\n\t\t\tacf.addAction( action, callback, 5 );\n\t\t\tacf.addAction( pluralAction, pluralCallback, 5 );\n\t\t\tacf.addAction( singleAction, singleCallback, 5 );\n\t\t},\n\t} );\n\n\t/**\n\t * fieldManager\n\t *\n\t * description\n\t *\n\t * @date\t4/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 fieldManager = new acf.Model( {\n\t\tid: 'fieldManager',\n\n\t\tevents: {\n\t\t\t'submit #post': 'onSubmit',\n\t\t\t'mouseenter .acf-field-list': 'onHoverSortable',\n\t\t\t'click .add-field': 'onClickAdd',\n\t\t},\n\n\t\tactions: {\n\t\t\tremoved_field_object: 'onRemovedField',\n\t\t\tsortstop_field_object: 'onReorderField',\n\t\t\tdelete_field_object: 'onDeleteField',\n\t\t\tchange_field_object_type: 'onChangeFieldType',\n\t\t\tduplicate_field_object: 'onDuplicateField',\n\t\t},\n\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar fields = acf.getFieldObjects();\n\n\t\t\t// loop\n\t\t\tfields.map( function ( field ) {\n\t\t\t\tfield.submit();\n\t\t\t} );\n\t\t},\n\n\t\tsetFieldMenuOrder: function ( field ) {\n\t\t\tthis.renderFields( field.$el.parent() );\n\t\t},\n\n\t\tonHoverSortable: function ( e, $el ) {\n\t\t\t// bail early if already sortable\n\t\t\tif ( $el.hasClass( 'ui-sortable' ) ) return;\n\n\t\t\t// sortable\n\t\t\t$el.sortable( {\n\t\t\t\thandle: '.acf-sortable-handle',\n\t\t\t\tconnectWith: '.acf-field-list',\n\t\t\t\tstart: function ( e, ui ) {\n\t\t\t\t\tvar field = acf.getFieldObject( ui.item );\n\t\t\t\t\tui.placeholder.height( ui.item.height() );\n\t\t\t\t\tacf.doAction( 'sortstart_field_object', field, $el );\n\t\t\t\t},\n\t\t\t\tupdate: function ( e, ui ) {\n\t\t\t\t\tvar field = acf.getFieldObject( ui.item );\n\t\t\t\t\tacf.doAction( 'sortstop_field_object', field, $el );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\tonRemovedField: function ( field, $list ) {\n\t\t\tthis.renderFields( $list );\n\t\t},\n\n\t\tonReorderField: function ( field, $list ) {\n\t\t\tfield.updateParent();\n\t\t\tthis.renderFields( $list );\n\t\t},\n\n\t\tonDeleteField: function ( field ) {\n\t\t\t// delete children\n\t\t\tfield.getFields().map( function ( child ) {\n\t\t\t\tchild.delete( { animate: false } );\n\t\t\t} );\n\t\t},\n\n\t\tonChangeFieldType: function ( field ) {\n\t\t\t// this caused sub fields to disapear if changing type back...\n\t\t\t//this.onDeleteField( field );\n\t\t},\n\n\t\tonDuplicateField: function ( field, newField ) {\n\t\t\t// check for children\n\t\t\tvar children = newField.getFields();\n\t\t\tif ( children.length ) {\n\t\t\t\t// loop\n\t\t\t\tchildren.map( function ( child ) {\n\t\t\t\t\t// wipe field\n\t\t\t\t\tchild.wipe();\n\n\t\t\t\t\t// update parent\n\t\t\t\t\tchild.updateParent();\n\t\t\t\t} );\n\n\t\t\t\t// action\n\t\t\t\tacf.doAction(\n\t\t\t\t\t'duplicate_field_objects',\n\t\t\t\t\tchildren,\n\t\t\t\t\tnewField,\n\t\t\t\t\tfield\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// set menu order\n\t\t\tthis.setFieldMenuOrder( newField );\n\t\t},\n\n\t\trenderFields: function ( $list ) {\n\t\t\t// vars\n\t\t\tvar fields = acf.getFieldObjects( {\n\t\t\t\tlist: $list,\n\t\t\t} );\n\n\t\t\t// no fields\n\t\t\tif ( ! fields.length ) {\n\t\t\t\t$list.addClass( '-empty' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// has fields\n\t\t\t$list.removeClass( '-empty' );\n\n\t\t\t// prop\n\t\t\tfields.map( function ( field, i ) {\n\t\t\t\tfield.prop( 'menu_order', i );\n\t\t\t} );\n\t\t},\n\n\t\tonClickAdd: function ( e, $el ) {\n\t\t\tvar $list = $el\n\t\t\t\t.closest( '.acf-tfoot' )\n\t\t\t\t.siblings( '.acf-field-list' );\n\t\t\tthis.addField( $list );\n\t\t},\n\n\t\taddField: function ( $list ) {\n\t\t\t// vars\n\t\t\tvar html = $( '#tmpl-acf-field' ).html();\n\t\t\tvar $el = $( html );\n\t\t\tvar prevId = $el.data( 'id' );\n\t\t\tvar newKey = acf.uniqid( 'field_' );\n\n\t\t\t// duplicate\n\t\t\tvar $newField = acf.duplicate( {\n\t\t\t\ttarget: $el,\n\t\t\t\tsearch: prevId,\n\t\t\t\treplace: newKey,\n\t\t\t\tappend: function ( $el, $el2 ) {\n\t\t\t\t\t$list.append( $el2 );\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\t// get instance\n\t\t\tvar newField = acf.getFieldObject( $newField );\n\n\t\t\t// props\n\t\t\tnewField.prop( 'key', newKey );\n\t\t\tnewField.prop( 'ID', 0 );\n\t\t\tnewField.prop( 'label', '' );\n\t\t\tnewField.prop( 'name', '' );\n\n\t\t\t// attr\n\t\t\t$newField.attr( 'data-key', newKey );\n\t\t\t$newField.attr( 'data-id', newKey );\n\n\t\t\t// update parent prop\n\t\t\tnewField.updateParent();\n\n\t\t\t// focus label\n\t\t\tvar $label = newField.$input( 'label' );\n\t\t\tsetTimeout( function () {\n\t\t\t\t$label.trigger( 'focus' );\n\t\t\t}, 251 );\n\n\t\t\t// open\n\t\t\tnewField.open();\n\n\t\t\t// set menu order\n\t\t\tthis.renderFields( $list );\n\n\t\t\t// action\n\t\t\tacf.doAction( 'add_field_object', newField );\n\t\t\tacf.doAction( 'append_field_object', newField );\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * locationManager\n\t *\n\t * Field group location rules functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar locationManager = new acf.Model( {\n\t\tid: 'locationManager',\n\t\twait: 'ready',\n\n\t\tevents: {\n\t\t\t'click .add-location-rule': 'onClickAddRule',\n\t\t\t'click .add-location-group': 'onClickAddGroup',\n\t\t\t'click .remove-location-rule': 'onClickRemoveRule',\n\t\t\t'change .refresh-location-rule': 'onChangeRemoveRule',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\tthis.$el = $( '#acf-field-group-locations' );\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tonClickAddRule: function ( e, $el ) {\n\t\t\tthis.addRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonClickRemoveRule: function ( e, $el ) {\n\t\t\tthis.removeRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonChangeRemoveRule: function ( e, $el ) {\n\t\t\tthis.changeRule( $el.closest( 'tr' ) );\n\t\t},\n\n\t\tonClickAddGroup: function ( e, $el ) {\n\t\t\tthis.addGroup();\n\t\t},\n\n\t\taddRule: function ( $tr ) {\n\t\t\tacf.duplicate( $tr );\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tremoveRule: function ( $tr ) {\n\t\t\tif ( $tr.siblings( 'tr' ).length == 0 ) {\n\t\t\t\t$tr.closest( '.rule-group' ).remove();\n\t\t\t} else {\n\t\t\t\t$tr.remove();\n\t\t\t}\n\n\t\t\t// Update h4\n\t\t\tvar $group = this.$( '.rule-group:first' );\n\t\t\t$group.find( 'h4' ).text( acf.__( 'Show this field group if' ) );\n\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tchangeRule: function ( $rule ) {\n\t\t\t// vars\n\t\t\tvar $group = $rule.closest( '.rule-group' );\n\t\t\tvar prefix = $rule\n\t\t\t\t.find( 'td.param select' )\n\t\t\t\t.attr( 'name' )\n\t\t\t\t.replace( '[param]', '' );\n\n\t\t\t// ajaxdata\n\t\t\tvar ajaxdata = {};\n\t\t\tajaxdata.action = 'acf/field_group/render_location_rule';\n\t\t\tajaxdata.rule = acf.serialize( $rule, prefix );\n\t\t\tajaxdata.rule.id = $rule.data( 'id' );\n\t\t\tajaxdata.rule.group = $group.data( 'id' );\n\n\t\t\t// temp disable\n\t\t\tacf.disable( $rule.find( 'td.value' ) );\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( ajaxdata ),\n\t\t\t\ttype: 'post',\n\t\t\t\tdataType: 'html',\n\t\t\t\tsuccess: function ( html ) {\n\t\t\t\t\tif ( ! html ) return;\n\t\t\t\t\t$rule.replaceWith( html );\n\t\t\t\t},\n\t\t\t} );\n\t\t},\n\n\t\taddGroup: function () {\n\t\t\t// vars\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\t// duplicate\n\t\t\t$group2 = acf.duplicate( $group );\n\n\t\t\t// update h4\n\t\t\t$group2.find( 'h4' ).text( acf.__( 'or' ) );\n\n\t\t\t// remove all tr's except the first one\n\t\t\t$group2.find( 'tr' ).not( ':first' ).remove();\n\n\t\t\t// update the groups class\n\t\t\tthis.updateGroupsClass();\n\t\t},\n\n\t\tupdateGroupsClass: function () {\n\t\t\tvar $group = this.$( '.rule-group:last' );\n\n\t\t\tvar $ruleGroups = $group.closest( '.rule-groups' );\n\n\t\t\tvar rows_count = $ruleGroups.find( '.acf-table tr' ).length;\n\n\t\t\tif ( rows_count > 1 ) {\n\t\t\t\t$ruleGroups.addClass( 'rule-groups-multiple' );\n\t\t\t} else {\n\t\t\t\t$ruleGroups.removeClass( 'rule-groups-multiple' );\n\t\t\t}\n\t\t},\n\t} );\n} )( jQuery );\n","( function ( $, undefined ) {\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 || '' ) + 'FieldSetting';\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.registerFieldSetting = function ( model ) {\n\t\tvar proto = model.prototype;\n\t\tvar mid = modelId( proto.type + ' ' + proto.name );\n\t\tthis.models[ mid ] = model;\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.newFieldSetting = function ( field ) {\n\t\t// vars\n\t\tvar type = field.get( 'setting' ) || '';\n\t\tvar name = field.get( 'name' ) || '';\n\t\tvar mid = modelId( type + ' ' + name );\n\t\tvar model = acf.models[ mid ] || null;\n\n\t\t// bail ealry if no setting\n\t\tif ( model === null ) return false;\n\n\t\t// instantiate\n\t\tvar setting = new model( field );\n\n\t\t// return\n\t\treturn setting;\n\t};\n\n\t/**\n\t * acf.getFieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t19/4/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.getFieldSetting = function ( field ) {\n\t\t// allow jQuery\n\t\tif ( field instanceof jQuery ) {\n\t\t\tfield = acf.getField( field );\n\t\t}\n\n\t\t// return\n\t\treturn field.setting;\n\t};\n\n\t/**\n\t * settingsManager\n\t *\n\t * description\n\t *\n\t * @date\t6/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 settingsManager = new acf.Model( {\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\t\tonNewField: function ( field ) {\n\t\t\tfield.setting = acf.newFieldSetting( field );\n\t\t},\n\t} );\n\n\t/**\n\t * acf.FieldSetting\n\t *\n\t * description\n\t *\n\t * @date\t6/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.FieldSetting = acf.Model.extend( {\n\t\tfield: false,\n\t\ttype: '',\n\t\tname: '',\n\t\twait: 'ready',\n\t\teventScope: '.acf-field',\n\n\t\tevents: {\n\t\t\tchange: 'render',\n\t\t},\n\n\t\tsetup: function ( field ) {\n\t\t\t// vars\n\t\t\tvar $field = field.$el;\n\n\t\t\t// set props\n\t\t\tthis.$el = $field;\n\t\t\tthis.field = field;\n\t\t\tthis.$fieldObject = $field.closest( '.acf-field-object' );\n\t\t\tthis.fieldObject = acf.getFieldObject( this.$fieldObject );\n\n\t\t\t// inherit data\n\t\t\t$.extend( this.data, field.data );\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// do nothing\n\t\t},\n\t} );\n\n\t/*\n\t * Date Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @type\tfunction\n\t * @date\t24/10/13\n\t * @since\t5.0.0\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar DisplayFormatFieldSetting = acf.FieldSetting.extend( {\n\t\ttype: '',\n\t\tname: '',\n\t\trender: function () {\n\t\t\tvar $input = this.$( 'input[type=\"radio\"]:checked' );\n\t\t\tif ( $input.val() != 'other' ) {\n\t\t\t\tthis.$( 'input[type=\"text\"]' ).val( $input.val() );\n\t\t\t}\n\t\t},\n\t} );\n\n\tvar DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'date_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend( {\n\t\ttype: 'date_picker',\n\t\tname: 'return_format',\n\t} );\n\n\tacf.registerFieldSetting( DatePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( DatePickerReturnFormatFieldSetting );\n\n\t/*\n\t * Date Time Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @type\tfunction\n\t * @date\t24/10/13\n\t * @since\t5.0.0\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'date_time_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'date_time_picker',\n\t\t\tname: 'return_format',\n\t\t}\n\t);\n\n\tacf.registerFieldSetting( DateTimePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( DateTimePickerReturnFormatFieldSetting );\n\n\t/*\n\t * Time Picker\n\t *\n\t * This field type requires some extra logic for its settings\n\t *\n\t * @type\tfunction\n\t * @date\t24/10/13\n\t * @since\t5.0.0\n\t *\n\t * @param\tn/a\n\t * @return\tn/a\n\t */\n\n\tvar TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend(\n\t\t{\n\t\t\ttype: 'time_picker',\n\t\t\tname: 'display_format',\n\t\t}\n\t);\n\n\tvar TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend( {\n\t\ttype: 'time_picker',\n\t\tname: 'return_format',\n\t} );\n\n\tacf.registerFieldSetting( TimePickerDisplayFormatFieldSetting );\n\tacf.registerFieldSetting( TimePickerReturnFormatFieldSetting );\n\n\t/**\n\t * Color Picker Settings.\n\t *\n\t * @date\t16/12/20\n\t * @since\t5.9.4\n\t *\n\t * @param\ttype $var Description. Default.\n\t * @return\ttype Description.\n\t */\n\tvar ColorPickerReturnFormat = acf.FieldSetting.extend( {\n\t\ttype: 'color_picker',\n\t\tname: 'enable_opacity',\n\t\trender: function () {\n\t\t\tvar $return_format_setting = this.fieldObject.$setting(\n\t\t\t\t'return_format'\n\t\t\t);\n\t\t\tvar $default_value_setting = this.fieldObject.$setting(\n\t\t\t\t'default_value'\n\t\t\t);\n\t\t\tvar $labelText = $return_format_setting\n\t\t\t\t.find( 'input[type=\"radio\"][value=\"string\"]' )\n\t\t\t\t.parent( 'label' )\n\t\t\t\t.contents()\n\t\t\t\t.last();\n\t\t\tvar $defaultPlaceholder = $default_value_setting.find(\n\t\t\t\t'input[type=\"text\"]'\n\t\t\t);\n\t\t\tvar l10n = acf.get( 'colorPickerL10n' );\n\n\t\t\tif ( this.field.val() ) {\n\t\t\t\t$labelText.replaceWith( l10n.rgba_string );\n\t\t\t\t$defaultPlaceholder.attr(\n\t\t\t\t\t'placeholder',\n\t\t\t\t\t'rgba(255,255,255,0.8)'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t$labelText.replaceWith( l10n.hex_string );\n\t\t\t\t$defaultPlaceholder.attr( 'placeholder', '#FFFFFF' );\n\t\t\t}\n\t\t},\n\t} );\n\tacf.registerFieldSetting( ColorPickerReturnFormat );\n} )( jQuery );\n","( function ( $, undefined ) {\n\t/**\n\t * fieldGroupManager\n\t *\n\t * Generic field group functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar fieldGroupManager = new acf.Model( {\n\t\tid: 'fieldGroupManager',\n\n\t\tevents: {\n\t\t\t'submit #post': 'onSubmit',\n\t\t\t'click a[href=\"#\"]': 'onClick',\n\t\t\t'click .submitdelete': 'onClickTrash',\n\t\t},\n\n\t\tfilters: {\n\t\t\tfind_fields_args: 'filterFindFieldArgs',\n\t\t},\n\n\t\tonSubmit: function ( e, $el ) {\n\t\t\t// vars\n\t\t\tvar $title = $( '#titlewrap #title' );\n\n\t\t\t// empty\n\t\t\tif ( ! $title.val() ) {\n\t\t\t\t// prevent default\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// unlock form\n\t\t\t\tacf.unlockForm( $el );\n\n\t\t\t\t// alert\n\t\t\t\talert( acf.__( 'Field group title is required' ) );\n\n\t\t\t\t// focus\n\t\t\t\t$title.trigger( 'focus' );\n\t\t\t}\n\t\t},\n\n\t\tonClick: function ( e ) {\n\t\t\te.preventDefault();\n\t\t},\n\n\t\tonClickTrash: function ( e ) {\n\t\t\tvar result = confirm( acf.__( 'Move to trash. Are you sure?' ) );\n\t\t\tif ( ! result ) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t},\n\n\t\tfilterFindFieldArgs: function ( args ) {\n\t\t\targs.visible = true;\n\t\t\treturn args;\n\t\t},\n\t} );\n\n\t/**\n\t * screenOptionsManager\n\t *\n\t * Screen options functionality\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar screenOptionsManager = new acf.Model( {\n\t\tid: 'screenOptionsManager',\n\t\twait: 'prepare',\n\n\t\tevents: {\n\t\t\tchange: 'onChange',\n\t\t},\n\n\t\tinitialize: function () {\n\t\t\t// vars\n\t\t\tvar $div = $( '#adv-settings' );\n\t\t\tvar $append = $( '#acf-append-show-on-screen' );\n\n\t\t\t// append\n\t\t\t$div.find( '.metabox-prefs' ).append( $append.html() );\n\t\t\t$div.find( '.metabox-prefs br' ).remove();\n\n\t\t\t// clean up\n\t\t\t$append.remove();\n\n\t\t\t// initialize\n\t\t\tthis.$el = $( '#acf-field-key-hide' );\n\n\t\t\t// render\n\t\t\tthis.render();\n\t\t},\n\n\t\tisChecked: function () {\n\t\t\treturn this.$el.prop( 'checked' );\n\t\t},\n\n\t\tonChange: function ( e, $el ) {\n\t\t\tvar val = this.isChecked() ? 1 : 0;\n\t\t\tacf.updateUserSetting( 'show_field_keys', val );\n\t\t\tthis.render();\n\t\t},\n\n\t\trender: function () {\n\t\t\tif ( this.isChecked() ) {\n\t\t\t\t$( '#acf-field-group-fields' ).addClass( 'show-field-keys' );\n\t\t\t} else {\n\t\t\t\t$( '#acf-field-group-fields' ).removeClass( 'show-field-keys' );\n\t\t\t}\n\t\t},\n\t} );\n\n\t/**\n\t * appendFieldManager\n\t *\n\t * Appends fields together\n\t *\n\t * @date\t15/12/17\n\t * @since\t5.7.0\n\t *\n\t * @param\tvoid\n\t * @return\tvoid\n\t */\n\n\tvar appendFieldManager = new acf.Model( {\n\t\tactions: {\n\t\t\tnew_field: 'onNewField',\n\t\t},\n\n\t\tonNewField: function ( field ) {\n\t\t\t// bail ealry if not append\n\t\t\tif ( ! field.has( 'append' ) ) return;\n\n\t\t\t// vars\n\t\t\tvar append = field.get( 'append' );\n\t\t\tvar $sibling = field.$el\n\t\t\t\t.siblings( '[data-name=\"' + append + '\"]' )\n\t\t\t\t.first();\n\n\t\t\t// bail early if no sibling\n\t\t\tif ( ! $sibling.length ) return;\n\n\t\t\t// ul\n\t\t\tvar $div = $sibling.children( '.acf-input' );\n\t\t\tvar $ul = $div.children( 'ul' );\n\n\t\t\t// create ul\n\t\t\tif ( ! $ul.length ) {\n\t\t\t\t$div.wrapInner( '<ul class=\"acf-hl\"><li></li></ul>' );\n\t\t\t\t$ul = $div.children( 'ul' );\n\t\t\t}\n\n\t\t\t// li\n\t\t\tvar html = field.$( '.acf-input' ).html();\n\t\t\tvar $li = $( '<li>' + html + '</li>' );\n\t\t\t$ul.append( $li );\n\t\t\t$ul.attr( 'data-cols', $ul.children().length );\n\n\t\t\t// clean up\n\t\t\tfield.remove();\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 './_field-group.js';\nimport './_field-group-field.js';\nimport './_field-group-settings.js';\nimport './_field-group-conditions.js';\nimport './_field-group-fields.js';\nimport './_field-group-locations.js';\nimport './_field-group-compatibility.js';\n"],"names":["$","undefined","_acf","acf","getCompatibility","field_group","save_field","$field","type","getFieldObject","save","delete_field","animate","delete","update_field_meta","name","value","prop","delete_field_meta","field_object","model","extend","o","$settings","tag","tags","split","splice","join","selector","str_replace","_add_action","callback","add_action","set","apply","arguments","_add_filter","add_filter","_add_event","event","substr","indexOf","context","document","on","e","$el","closest","_set_$field","data","find","focus","setting","actionManager","Model","actions","open_field_object","close_field_object","add_field_object","duplicate_field_object","delete_field_object","change_field_object_type","change_field_object_label","change_field_object_name","change_field_object_parent","sortstop_field_object","onOpenFieldObject","field","doAction","get","onCloseFieldObject","onAddFieldObject","onDuplicateFieldObject","onDeleteFieldObject","onChangeFieldObjectType","onChangeFieldObjectLabel","onChangeFieldObjectName","onChangeFieldObjectParent","jQuery","ConditionalLogicFieldSetting","FieldSetting","events","$rule","scope","ruleData","$input","$td","$toggle","$control","$groups","$rules","open","$div","show","enable","close","hide","disable","render","renderRules","self","each","renderRule","renderField","renderOperator","renderValue","choices","validFieldTypes","cid","fieldObject","$select","getFieldObjects","map","choice","id","getKey","text","getLabel","__","disabled","conditionTypes","getConditionTypes","fieldType","getType","length","indents","getParents","repeat","push","renderSelect","val","findFieldObject","prototype","operator","label","conditionType","Array","$newSelect","detach","html","setTimeout","attr","onChangeToggle","onClickAddGroup","addGroup","$group","$group2","duplicate","not","remove","onFocusField","onChangeField","onChangeOperator","onClickAdd","onClickRemove","siblings","registerFieldSetting","conditionalLogicHelper","duplicate_field_objects","onDuplicateFieldObjects","children","newField","prevField","$selects","child","add","FieldObject","eventScope","change","changed","key","setup","inherit","getInputId","$meta","$handle","$setting","getParent","limit","pop","getFields","parent","getInputName","newInput","inputId","inputName","append","getProp","has","setProp","prevVal","props","Object","keys","getName","getTypeLabel","types","initialize","addProFields","fieldTypes","hasOwnProperty","$fieldTypeSelect","$layoutGroup","$contentGroup","addClass","menu_order","required","parseInt","refresh","isOpen","hasClass","onClickEdit","slideDown","trigger","slideUp","removeClass","serialize","submit","onChange","onChanged","onChangeLabel","applyFilters","strSanitize","onChangeName","alert","onChangeRequired","args","parseArgs","newVal","removeAnimate","onClickDelete","shiftKey","tooltip","newTooltip","confirmRemove","target","confirm","cancel","$list","$fields","findFieldObjects","sibling","endHeight","complete","newKey","uniqid","$newField","search","replace","$label","end","copy","isNumeric","i","wipe","prevId","prevKey","rename","move","hasChanged","popup","step1","newPopup","title","loading","width","ajaxData","action","field_id","ajax","url","prepareForAjax","dataType","success","step2","content","step3","preventDefault","startButtonLoading","field_group_id","step4","onChangeType","changeTimeout","clearTimeout","changeType","newType","prevType","prevClass","strSlugify","newClass","abort","$tbody","$newSettings","before","$loading","prefix","xhr","after","updateParent","ID","list","parents","slice","newFieldObject","fields","eventManager","priority","addFieldActions","pluralAction","singleAction","singleEvent","fieldObjects","arrayArgs","pluralCallback","unshift","singleCallback","variations","variation","addAction","fieldManager","removed_field_object","onSubmit","setFieldMenuOrder","renderFields","onHoverSortable","sortable","handle","connectWith","start","ui","item","placeholder","height","update","onRemovedField","onReorderField","onDeleteField","onChangeFieldType","onDuplicateField","addField","$el2","locationManager","wait","updateGroupsClass","onClickAddRule","addRule","onClickRemoveRule","removeRule","onChangeRemoveRule","changeRule","$tr","ajaxdata","rule","group","replaceWith","$ruleGroups","rows_count","modelId","strPascalCase","proto","mid","models","newFieldSetting","getFieldSetting","getField","settingsManager","new_field","onNewField","$fieldObject","DisplayFormatFieldSetting","DatePickerDisplayFormatFieldSetting","DatePickerReturnFormatFieldSetting","DateTimePickerDisplayFormatFieldSetting","DateTimePickerReturnFormatFieldSetting","TimePickerDisplayFormatFieldSetting","TimePickerReturnFormatFieldSetting","ColorPickerReturnFormat","$return_format_setting","$default_value_setting","$labelText","contents","last","$defaultPlaceholder","l10n","rgba_string","hex_string","fieldGroupManager","filters","find_fields_args","$title","unlockForm","onClick","onClickTrash","result","filterFindFieldArgs","visible","screenOptionsManager","$append","isChecked","updateUserSetting","appendFieldManager","$sibling","first","$ul","wrapInner","$li"],"sourceRoot":""}
assets/build/js/acf-field-group.min.js CHANGED
@@ -1 +1 @@
1
- !function(n){new acf.Model({id:"fieldGroupManager",events:{"submit #post":"onSubmit",'click a[href="#"]':"onClick","click .submitdelete":"onClickTrash"},filters:{find_fields_args:"filterFindFieldArgs"},onSubmit:function(e,t){var i=n("#titlewrap #title");i.val()||(e.preventDefault(),acf.unlockForm(t),alert(acf.__("Field group title is required")),i.trigger("focus"))},onClick:function(e){e.preventDefault()},onClickTrash:function(e){confirm(acf.__("Move to trash. Are you sure?"))||e.preventDefault()},filterFindFieldArgs:function(e){return e.visible=!0,e}}),new acf.Model({id:"screenOptionsManager",wait:"prepare",events:{change:"onChange"},initialize:function(){var e=n("#adv-settings"),t=n("#acf-append-show-on-screen");e.find(".metabox-prefs").append(t.html()),e.find(".metabox-prefs br").remove(),t.remove(),this.$el=n("#acf-field-key-hide"),this.render()},isChecked:function(){return this.$el.prop("checked")},onChange:function(e,t){var i=this.isChecked()?1:0;acf.updateUserSetting("show_field_keys",i),this.render()},render:function(){this.isChecked()?n("#acf-field-group-fields").addClass("show-field-keys"):n("#acf-field-group-fields").removeClass("show-field-keys")}}),new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){var t,i;e.has("append")&&(i=e.get("append"),(t=e.$el.siblings('[data-name="'+i+'"]').first()).length&&((t=(i=t.children(".acf-input")).children("ul")).length||(i.wrapInner('<ul class="acf-hl"><li></li></ul>'),t=i.children("ul")),i=e.$(".acf-input").html(),i=n("<li>"+i+"</li>"),t.append(i),t.attr("data-cols",t.children().length),e.remove()))}})}(jQuery),function(r){acf.FieldObject=acf.Model.extend({eventScope:".acf-field-object",events:{"click .edit-field":"onClickEdit","click .delete-field":"onClickDelete","click .duplicate-field":"duplicate","click .move-field":"move","change .field-type":"onChangeType","change .field-required":"onChangeRequired","blur .field-label":"onChangeLabel","blur .field-name":"onChangeName",change:"onChange",changed:"onChanged"},data:{id:0,key:"",type:""},setup:function(e){this.$el=e,this.inherit(e),this.prop("ID"),this.prop("parent"),this.prop("menu_order")},$input:function(e){return r("#"+this.getInputId()+"-"+e)},$meta:function(){return this.$(".meta:first")},$handle:function(){return this.$(".handle:first")},$settings:function(){return this.$(".settings:first")},$setting:function(e){return this.$(".acf-field-settings:first > .acf-field-setting-"+e)},getParent:function(){return acf.getFieldObjects({child:this.$el,limit:1}).pop()},getParents:function(){return acf.getFieldObjects({child:this.$el})},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getInputName:function(){return"acf_fields["+this.get("id")+"]"},getInputId:function(){return"acf_fields-"+this.get("id")},newInput:function(e,t){var i=this.getInputId(),n=this.getInputName();e&&(i+="-"+e,n+="["+e+"]");t=r("<input />").attr({id:i,name:n,value:t});return this.$("> .meta").append(t),t},getProp:function(e){if(this.has(e))return this.get(e);var t=this.$input(e),t=t.length?t.val():null;return this.set(e,t,!0),t},setProp:function(e,t){var i=this.$input(e);i.val();return i.length||(i=this.newInput(e,t)),null===t?i.remove():i.val(t),this.has(e)?this.set(e,t):this.set(e,t,!0),this},prop:function(e,t){return void 0!==t?this.setProp(e,t):this.getProp(e)},props:function(t){Object.keys(t).map(function(e){this.setProp(e,t[e])},this)},getLabel:function(){var e=this.prop("label");return e=""===e?acf.__("(no label)"):e},getName:function(){return this.prop("name")},getType:function(){return this.prop("type")},getTypeLabel:function(){var e=this.prop("type"),t=acf.get("fieldTypes");return t[e]?t[e].label:e},getKey:function(){return this.prop("key")},initialize:function(){this.addProFields()},addProFields:function(){var e;acf.data.fieldTypes.hasOwnProperty("clone")||((e=r(".field-type").not(".acf-free-field-type")).find('optgroup option[value="group"]').parent().append('<option value="null" disabled="disabled">'+acf.__("Repeater (Pro only)")+'</option><option value="null" disabled="disabled">'+acf.__("Flexible Content (Pro only)")+'</option><option value="null" disabled="disabled">'+acf.__("Clone (Pro only)")+"</option>"),e.find('optgroup option[value="image"]').parent().append('<option value="null" disabled="disabled">'+acf.__("Gallery (Pro only)")+"</option>"),e.addClass("acf-free-field-type"))},render:function(){var e=this.$(".handle:first"),t=this.prop("menu_order"),i=this.getLabel(),n=this.prop("name"),a=this.getTypeLabel(),l=this.prop("key"),o=this.$input("required").prop("checked");e.find(".acf-icon").html(parseInt(t)+1),o&&(i+=' <span class="acf-required">*</span>'),e.find(".li-field-label strong a").html(i),e.find(".li-field-name").text(n),e.find(".li-field-type").text(a),e.find(".li-field-key").text(l),acf.doAction("render_field_object",this)},refresh:function(){acf.doAction("refresh_field_object",this)},isOpen:function(){return this.$el.hasClass("open")},onClickEdit:function(e){this.isOpen()?this.close():this.open()},open:function(){var e=this.$el.children(".settings");e.slideDown(),this.$el.addClass("open"),acf.doAction("open_field_object",this),this.trigger("openFieldObject"),acf.doAction("show",e)},close:function(){var e=this.$el.children(".settings");e.slideUp(),this.$el.removeClass("open"),acf.doAction("close_field_object",this),this.trigger("closeFieldObject"),acf.doAction("hide",e)},serialize:function(){return acf.serialize(this.$el,this.getInputName())},save:function(e){e=e||"settings","settings"!==this.getProp("save")&&(this.setProp("save",e),this.$el.attr("data-save",e),acf.doAction("save_field_object",this,e))},submit:function(){var e=this.getInputName(),t=this.get("save");this.isOpen()&&this.close(),"settings"==t||("meta"==t?this.$('> .settings [name^="'+e+'"]'):this.$('[name^="'+e+'"]')).remove(),acf.doAction("submit_field_object",this)},onChange:function(e,t){this.save(),acf.doAction("change_field_object",this)},onChanged:function(e,t,i,n){"save"!=i&&(-1<["menu_order","parent"].indexOf(i)?this.save("meta"):this.save(),-1<["menu_order","label","required","name","type","key"].indexOf(i)&&this.render(),acf.doAction("change_field_object_"+i,this,n))},onChangeLabel:function(e,t){t=t.val();this.set("label",t),""==this.prop("name")&&(t=acf.applyFilters("generate_field_object_name",acf.strSanitize(t),this),this.prop("name",t))},onChangeName:function(e,t){t=t.val();this.set("name",t),"field_"===t.substr(0,6)&&alert(acf.__('The string "field_" may not be used at the start of a field name'))},onChangeRequired:function(e,t){t=t.prop("checked")?1:0;this.set("required",t)},delete:function(e){e=acf.parseArgs(e,{animate:!0});var t,i=this.prop("ID");i&&(i=(t=r("#_acf_delete_fields")).val()+"|"+i,t.val(i)),acf.doAction("delete_field_object",this),e.animate?this.removeAnimate():this.remove()},onClickDelete:function(e,t){if(e.shiftKey)return this.delete();this.$el.addClass("-hover");acf.newTooltip({confirmRemove:!0,target:t,context:this,confirm:function(){this.delete()},cancel:function(){this.$el.removeClass("-hover")}})},removeAnimate:function(){var e=this,t=this.$el.parent(),i=acf.findFieldObjects({sibling:this.$el});acf.remove({target:this.$el,endHeight:i.length?0:50,complete:function(){e.remove(),acf.doAction("removed_field_object",e,t)}}),acf.doAction("remove_field_object",e,t)},duplicate:function(){var e=acf.uniqid("field_"),t=acf.duplicate({target:this.$el,search:this.get("id"),replace:e});t.attr("data-key",e);var i=acf.getFieldObject(t);this.isOpen()?this.close():i.open();var n=i.$setting("label input");setTimeout(function(){n.trigger("focus")},251);var a,l=i.prop("label"),o=i.prop("name"),c=o.split("_").pop(),t=acf.__("copy");acf.isNumeric(c)?(l=l.replace(c,a=+c+1),o=o.replace(c,a)):0===c.indexOf(t)?(a=+c.replace(t,""),l=l.replace(c,t+(a=a?a+1:2)),o=o.replace(c,t+a)):(l+=" ("+t+")",o+="_"+t),i.prop("ID",0),i.prop("label",l),i.prop("name",o),i.prop("key",e),acf.doAction("duplicate_field_object",this,i),acf.doAction("append_field_object",i)},wipe:function(){var e=this.get("id"),t=this.get("key"),i=acf.uniqid("field_");acf.rename({target:this.$el,search:e,replace:i}),this.set("id",i),this.set("prevId",e),this.set("prevKey",t),this.prop("key",i),this.prop("ID",0),this.$el.attr("data-key",i),this.$el.attr("data-id",i),acf.doAction("wipe_field_object",this)},move:function(){function t(e){return"settings"==e.get("save")}var i,n,a,l,o,c,d=t(this);d||acf.getFieldObjects({parent:this.$el}).map(function(e){d=t(e)||e.changed}),d?alert(acf.__("This field cannot be moved until its changes have been saved")):(i=this.prop("ID"),n=this,a=!1,l=function(e){a.loading(!1),a.content(e),a.on("submit","form",o)},o=function(e,t){e.preventDefault(),acf.startButtonLoading(a.$(".button"));e={action:"acf/field_group/move_field",field_id:i,field_group_id:a.$("select").val()};r.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"html",success:c})},c=function(e){a.content(e),n.removeAnimate()},function(){a=acf.newPopup({title:acf.__("Move Custom Field"),loading:!0,width:"300px"});var e={action:"acf/field_group/move_field",field_id:i};r.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),type:"post",dataType:"html",success:l})}())},onChangeType:function(e,t){this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=this.setTimeout(function(){this.changeType(t.val())},300)},changeType:function(e){var t=this.prop("type"),i=acf.strSlugify("acf-field-object-"+t),n=acf.strSlugify("acf-field-object-"+e);this.$el.removeClass(i).addClass(n),this.$el.attr("data-type",e),this.$el.data("type",e),this.has("xhr")&&this.get("xhr").abort();var a=this.$("> .settings > table > tbody"),n=a.children('[data-setting="'+t+'"]');if(this.set("settings-"+t,n),n.detach(),this.has("settings-"+e)){var l=this.get("settings-"+e);return this.$setting("conditional_logic").before(l),void this.set("type",e)}var o=r('<tr class="acf-field"><td class="acf-label"></td><td class="acf-input"><div class="acf-loading"></div></td></tr>');this.$setting("conditional_logic").before(o);l={action:"acf/field_group/render_field_settings",field:this.serialize(),prefix:this.getInputName()},l=r.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(l),type:"post",dataType:"html",context:this,success:function(e){e&&(o.after(e),acf.doAction("append",a))},complete:function(){o.remove(),this.set("type",e)}});this.set("xhr",l)},updateParent:function(){var e=acf.get("post_id"),t=this.getParent();t&&(e=parseInt(t.prop("ID"))||t.prop("key")),this.prop("parent",e)}})}(jQuery),function(i){function n(e){return acf.strPascalCase(e||"")+"FieldSetting"}acf.registerFieldSetting=function(e){var t=e.prototype,t=n(t.type+" "+t.name);this.models[t]=e},acf.newFieldSetting=function(e){var t=e.get("setting")||"",i=e.get("name")||"",i=n(t+" "+i),i=acf.models[i]||null;return null!==i&&new i(e)},acf.getFieldSetting=function(e){return(e=e instanceof jQuery?acf.getField(e):e).setting};new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){e.setting=acf.newFieldSetting(e)}});acf.FieldSetting=acf.Model.extend({field:!1,type:"",name:"",wait:"ready",eventScope:".acf-field",events:{change:"render"},setup:function(e){var t=e.$el;this.$el=t,this.field=e,this.$fieldObject=t.closest(".acf-field-object"),this.fieldObject=acf.getFieldObject(this.$fieldObject),i.extend(this.data,e.data)},initialize:function(){this.render()},render:function(){}});var e=acf.FieldSetting.extend({type:"",name:"",render:function(){var e=this.$('input[type="radio"]:checked');"other"!=e.val()&&this.$('input[type="text"]').val(e.val())}}),t=e.extend({type:"date_picker",name:"display_format"}),a=e.extend({type:"date_picker",name:"return_format"});acf.registerFieldSetting(t),acf.registerFieldSetting(a);t=e.extend({type:"date_time_picker",name:"display_format"}),a=e.extend({type:"date_time_picker",name:"return_format"});acf.registerFieldSetting(t),acf.registerFieldSetting(a);a=e.extend({type:"time_picker",name:"display_format"}),e=e.extend({name:"return_format"});acf.registerFieldSetting(a),acf.registerFieldSetting(e);e=acf.FieldSetting.extend({type:"color_picker",name:"enable_opacity",render:function(){var e=this.fieldObject.$setting("return_format"),t=this.fieldObject.$setting("default_value"),i=e.find('input[type="radio"][value="string"]').parent("label").contents().last(),e=t.find('input[type="text"]'),t=acf.get("colorPickerL10n");this.field.val()?(i.replaceWith(t.rgba_string),e.attr("placeholder","rgba(255,255,255,0.8)")):(i.replaceWith(t.hex_string),e.attr("placeholder","#FFFFFF"))}});acf.registerFieldSetting(e)}(jQuery),function(l){var e=acf.FieldSetting.extend({type:"",name:"conditional_logic",events:{"change .conditions-toggle":"onChangeToggle","click .add-conditional-group":"onClickAddGroup","focus .condition-rule-field":"onFocusField","change .condition-rule-field":"onChangeField","change .condition-rule-operator":"onChangeOperator","click .add-conditional-rule":"onClickAdd","click .remove-conditional-rule":"onClickRemove"},$rule:!1,scope:function(e){return this.$rule=e,this},ruleData:function(e,t){return this.$rule.data.apply(this.$rule,arguments)},$input:function(e){return this.$rule.find(".condition-rule-"+e)},$td:function(e){return this.$rule.find("td."+e)},$toggle:function(){return this.$(".conditions-toggle")},$control:function(){return this.$(".rule-groups")},$groups:function(){return this.$(".rule-group")},$rules:function(){return this.$(".rule")},open:function(){var e=this.$control();e.show(),acf.enable(e)},close:function(){var e=this.$control();e.hide(),acf.disable(e)},render:function(){this.$toggle().prop("checked")?(this.renderRules(),this.open()):this.close()},renderRules:function(){var e=this;this.$rules().each(function(){e.renderRule(l(this))})},renderRule:function(e){this.scope(e),this.renderField(),this.renderOperator(),this.renderValue()},renderField:function(){var i=[],n=this.fieldObject.cid,e=this.$input("field");acf.getFieldObjects().map(function(e){var t={id:e.getKey(),text:e.getLabel()};e.cid===n&&(t.text+=acf.__("(this field)"),t.disabled=!0),acf.getConditionTypes({fieldType:e.getType()}).length||(t.disabled=!0);e=e.getParents().length;t.text="- ".repeat(e)+t.text,i.push(t)}),i.length||i.push({id:"",text:acf.__("No toggle fields available")}),acf.renderSelect(e,i),this.ruleData("field",e.val())},renderOperator:function(){var e,t,i;this.ruleData("field")&&((e=this.$input("operator")).val(),t=[],null===e.val()&&acf.renderSelect(e,[{id:this.ruleData("operator"),text:""}]),i=acf.findFieldObject(this.ruleData("field")),i=acf.getFieldObject(i),acf.getConditionTypes({fieldType:i.getType()}).map(function(e){t.push({id:e.prototype.operator,text:e.prototype.label})}),acf.renderSelect(e,t),this.ruleData("operator",e.val()))},renderValue:function(){var t,e,i,n,a;this.ruleData("field")&&this.ruleData("operator")&&(t=this.$input("value"),e=this.$td("value"),i=t.val(),n=acf.findFieldObject(this.ruleData("field")),n=acf.getFieldObject(n),(n=acf.getConditionTypes({fieldType:n.getType(),operator:this.ruleData("operator")})[0].prototype.choices(n))instanceof Array?(a=l("<select></select>"),acf.renderSelect(a,n)):a=l(n),t.detach(),e.html(a),setTimeout(function(){["class","name","id"].map(function(e){a.attr(e,t.attr(e))})},0),a.prop("disabled")||acf.val(a,i,!0),this.ruleData("value",a.val()))},onChangeToggle:function(){this.render()},onClickAddGroup:function(e,t){this.addGroup()},addGroup:function(){var e=this.$(".rule-group:last"),e=acf.duplicate(e);e.find("h4").text(acf.__("or")),e.find("tr").not(":first").remove(),this.fieldObject.save()},onFocusField:function(e,t){this.renderField()},onChangeField:function(e,t){this.scope(t.closest(".rule")),this.ruleData("field",t.val()),this.renderOperator(),this.renderValue()},onChangeOperator:function(e,t){this.scope(t.closest(".rule")),this.ruleData("operator",t.val()),this.renderValue()},onClickAdd:function(e,t){t=acf.duplicate(t.closest(".rule"));this.renderRule(t)},onClickRemove:function(e,t){t=t.closest(".rule");this.fieldObject.save(),0==t.siblings(".rule").length&&t.closest(".rule-group").remove(),t.remove()}});acf.registerFieldSetting(e);new acf.Model({actions:{duplicate_field_objects:"onDuplicateFieldObjects"},onDuplicateFieldObjects:function(e,t,i){var n={},a=l();e.map(function(e){n[e.get("prevKey")]=e.get("key"),a=a.add(e.$(".condition-rule-field"))}),a.each(function(){var e=l(this),t=e.val();t&&n[t]&&(e.find("option:selected").attr("value",n[t]),e.val(n[t]))})}})}(jQuery),function(l){acf.findFieldObject=function(e){return acf.findFieldObjects({key:e,limit:1})},acf.findFieldObjects=function(e){e=e||{};var t=".acf-field-object",i=!1;return(e=acf.parseArgs(e,{id:"",key:"",type:"",limit:!1,list:null,parent:!1,sibling:!1,child:!1})).id&&(t+='[data-id="'+e.id+'"]'),e.key&&(t+='[data-key="'+e.key+'"]'),e.type&&(t+='[data-type="'+e.type+'"]'),i=e.list?e.list.children(t):e.parent?e.parent.find(t):e.sibling?e.sibling.siblings(t):e.child?e.child.parents(t):l(t),i=e.limit?i.slice(0,e.limit):i},acf.getFieldObject=function(e){return(e="string"==typeof e?acf.findFieldObject(e):e).data("acf")||acf.newFieldObject(e)},acf.getFieldObjects=function(e){var e=acf.findFieldObjects(e),t=[];return e.each(function(){var e=acf.getFieldObject(l(this));t.push(e)}),t},acf.newFieldObject=function(e){e=new acf.FieldObject(e);return acf.doAction("new_field_object",e),e};new acf.Model({priority:5,initialize:function(){["prepare","ready","append","remove"].map(function(e){this.addFieldActions(e)},this)},addFieldActions:function(e){var n=e+"_field_objects",a=e+"_field_object",l=e+"FieldObject";acf.addAction(e,function(e){var t,i=acf.getFieldObjects({parent:e});i.length&&((t=acf.arrayArgs(arguments)).splice(0,1,n,i),acf.doAction.apply(null,t))},5),acf.addAction(n,function(e){var t=acf.arrayArgs(arguments);t.unshift(a),e.map(function(e){t[1]=e,acf.doAction.apply(null,t)})},5),acf.addAction(a,function(t){var i=acf.arrayArgs(arguments);i.unshift(a);["type","name","key"].map(function(e){i[0]=a+"/"+e+"="+t.get(e),acf.doAction.apply(null,i)}),i.splice(0,2),t.trigger(l,i)},5)}}),new acf.Model({id:"fieldManager",events:{"submit #post":"onSubmit","mouseenter .acf-field-list":"onHoverSortable","click .add-field":"onClickAdd"},actions:{removed_field_object:"onRemovedField",sortstop_field_object:"onReorderField",delete_field_object:"onDeleteField",change_field_object_type:"onChangeFieldType",duplicate_field_object:"onDuplicateField"},onSubmit:function(e,t){acf.getFieldObjects().map(function(e){e.submit()})},setFieldMenuOrder:function(e){this.renderFields(e.$el.parent())},onHoverSortable:function(e,n){n.hasClass("ui-sortable")||n.sortable({handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,t){var i=acf.getFieldObject(t.item);t.placeholder.height(t.item.height()),acf.doAction("sortstart_field_object",i,n)},update:function(e,t){t=acf.getFieldObject(t.item);acf.doAction("sortstop_field_object",t,n)}})},onRemovedField:function(e,t){this.renderFields(t)},onReorderField:function(e,t){e.updateParent(),this.renderFields(t)},onDeleteField:function(e){e.getFields().map(function(e){e.delete({animate:!1})})},onChangeFieldType:function(e){},onDuplicateField:function(e,t){var i=t.getFields();i.length&&(i.map(function(e){e.wipe(),e.updateParent()}),acf.doAction("duplicate_field_objects",i,t,e)),this.setFieldMenuOrder(t)},renderFields:function(e){var t=acf.getFieldObjects({list:e});t.length?(e.removeClass("-empty"),t.map(function(e,t){e.prop("menu_order",t)})):e.addClass("-empty")},onClickAdd:function(e,t){t=t.closest(".acf-tfoot").siblings(".acf-field-list");this.addField(t)},addField:function(i){var e=l("#tmpl-acf-field").html(),t=l(e),n=t.data("id"),e=acf.uniqid("field_"),t=acf.duplicate({target:t,search:n,replace:e,append:function(e,t){i.append(t)}}),n=acf.getFieldObject(t);n.prop("key",e),n.prop("ID",0),n.prop("label",""),n.prop("name",""),t.attr("data-key",e),t.attr("data-id",e),n.updateParent();var a=n.$input("label");setTimeout(function(){a.trigger("focus")},251),n.open(),this.renderFields(i),acf.doAction("add_field_object",n),acf.doAction("append_field_object",n)}})}(jQuery),function(a){new acf.Model({id:"locationManager",wait:"ready",events:{"click .add-location-rule":"onClickAddRule","click .add-location-group":"onClickAddGroup","click .remove-location-rule":"onClickRemoveRule","change .refresh-location-rule":"onChangeRemoveRule"},initialize:function(){this.$el=a("#acf-field-group-locations"),this.updateGroupsClass()},onClickAddRule:function(e,t){this.addRule(t.closest("tr"))},onClickRemoveRule:function(e,t){this.removeRule(t.closest("tr"))},onChangeRemoveRule:function(e,t){this.changeRule(t.closest("tr"))},onClickAddGroup:function(e,t){this.addGroup()},addRule:function(e){acf.duplicate(e),this.updateGroupsClass()},removeRule:function(e){(0==e.siblings("tr").length?e.closest(".rule-group"):e).remove(),this.$(".rule-group:first").find("h4").text(acf.__("Show this field group if")),this.updateGroupsClass()},changeRule:function(t){var e=t.closest(".rule-group"),i=t.find("td.param select").attr("name").replace("[param]",""),n={action:"acf/field_group/render_location_rule"};n.rule=acf.serialize(t,i),n.rule.id=t.data("id"),n.rule.group=e.data("id"),acf.disable(t.find("td.value")),a.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(n),type:"post",dataType:"html",success:function(e){e&&t.replaceWith(e)}})},addGroup:function(){var e=this.$(".rule-group:last");$group2=acf.duplicate(e),$group2.find("h4").text(acf.__("or")),$group2.find("tr").not(":first").remove(),this.updateGroupsClass()},updateGroupsClass:function(){var e=this.$(".rule-group:last").closest(".rule-groups");1<e.find(".acf-table tr").length?e.addClass("rule-groups-multiple"):e.removeClass("rule-groups-multiple")}})}(jQuery),function(l){var e=acf.getCompatibility(acf);e.field_group={save_field:function(e,t){t=void 0!==t?t:"settings",acf.getFieldObject(e).save(t)},delete_field:function(e,t){t=void 0===t||t,acf.getFieldObject(e).delete({animate:t})},update_field_meta:function(e,t,i){acf.getFieldObject(e).prop(t,i)},delete_field_meta:function(e,t){acf.getFieldObject(e).prop(t,null)}},e.field_group.field_object=acf.model.extend({type:"",o:{},$field:null,$settings:null,tag:function(e){var t=this.type,i=e.split("_");return i.splice(1,0,"field"),e=i.join("_"),t&&(e+="/type="+t),e},selector:function(){var e=".acf-field-object",t=this.type;return t&&(e+="-"+t,e=acf.str_replace("_","-",e)),e},_add_action:function(e,t){var i=this;acf.add_action(this.tag(e),function(e){i.set("$field",e),i[t].apply(i,arguments)})},_add_filter:function(e,t){var i=this;acf.add_filter(this.tag(e),function(e){i.set("$field",e),i[t].apply(i,arguments)})},_add_event:function(e,t){var i=this,n=e.substr(0,e.indexOf(" ")),a=e.substr(e.indexOf(" ")+1),e=this.selector();l(document).on(n,e+" "+a,function(e){e.$el=l(this),e.$field=e.$el.closest(".acf-field-object"),i.set("$field",e.$field),i[t].apply(i,[e])})},_set_$field:function(){this.o=this.$field.data(),this.$settings=this.$field.find("> .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}});new acf.Model({actions:{open_field_object:"onOpenFieldObject",close_field_object:"onCloseFieldObject",add_field_object:"onAddFieldObject",duplicate_field_object:"onDuplicateFieldObject",delete_field_object:"onDeleteFieldObject",change_field_object_type:"onChangeFieldObjectType",change_field_object_label:"onChangeFieldObjectLabel",change_field_object_name:"onChangeFieldObjectName",change_field_object_parent:"onChangeFieldObjectParent",sortstop_field_object:"onChangeFieldObjectParent"},onOpenFieldObject:function(e){acf.doAction("open_field",e.$el),acf.doAction("open_field/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onCloseFieldObject:function(e){acf.doAction("close_field",e.$el),acf.doAction("close_field/type="+e.get("type"),e.$el)},onAddFieldObject:function(e){acf.doAction("add_field",e.$el),acf.doAction("add_field/type="+e.get("type"),e.$el)},onDuplicateFieldObject:function(e){acf.doAction("duplicate_field",e.$el),acf.doAction("duplicate_field/type="+e.get("type"),e.$el)},onDeleteFieldObject:function(e){acf.doAction("delete_field",e.$el),acf.doAction("delete_field/type="+e.get("type"),e.$el)},onChangeFieldObjectType:function(e){acf.doAction("change_field_type",e.$el),acf.doAction("change_field_type/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onChangeFieldObjectLabel:function(e){acf.doAction("change_field_label",e.$el),acf.doAction("change_field_label/type="+e.get("type"),e.$el)},onChangeFieldObjectName:function(e){acf.doAction("change_field_name",e.$el),acf.doAction("change_field_name/type="+e.get("type"),e.$el)},onChangeFieldObjectParent:function(e){acf.doAction("update_field_parent",e.$el)}})}(jQuery);
1
+ !function(){var e={2961:function(){!function(e,t){var i=acf.getCompatibility(acf);i.field_group={save_field:function(e,i){i=i!==t?i:"settings",acf.getFieldObject(e).save(i)},delete_field:function(e,i){i=i===t||i,acf.getFieldObject(e).delete({animate:i})},update_field_meta:function(e,t,i){acf.getFieldObject(e).prop(t,i)},delete_field_meta:function(e,t){acf.getFieldObject(e).prop(t,null)}},i.field_group.field_object=acf.model.extend({type:"",o:{},$field:null,$settings:null,tag:function(e){var t=this.type,i=e.split("_");return i.splice(1,0,"field"),e=i.join("_"),t&&(e+="/type="+t),e},selector:function(){var e=".acf-field-object",t=this.type;return t&&(e+="-"+t,e=acf.str_replace("_","-",e)),e},_add_action:function(e,t){var i=this;acf.add_action(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_filter:function(e,t){var i=this;acf.add_filter(this.tag(e),(function(e){i.set("$field",e),i[t].apply(i,arguments)}))},_add_event:function(t,i){var n=this,a=t.substr(0,t.indexOf(" ")),l=t.substr(t.indexOf(" ")+1),o=this.selector();e(document).on(a,o+" "+l,(function(t){t.$el=e(this),t.$field=t.$el.closest(".acf-field-object"),n.set("$field",t.$field),n[i].apply(n,[t])}))},_set_$field:function(){this.o=this.$field.data(),this.$settings=this.$field.find("> .settings > table > tbody"),this.focus()},focus:function(){},setting:function(e){return this.$settings.find("> .acf-field-setting-"+e)}}),new acf.Model({actions:{open_field_object:"onOpenFieldObject",close_field_object:"onCloseFieldObject",add_field_object:"onAddFieldObject",duplicate_field_object:"onDuplicateFieldObject",delete_field_object:"onDeleteFieldObject",change_field_object_type:"onChangeFieldObjectType",change_field_object_label:"onChangeFieldObjectLabel",change_field_object_name:"onChangeFieldObjectName",change_field_object_parent:"onChangeFieldObjectParent",sortstop_field_object:"onChangeFieldObjectParent"},onOpenFieldObject:function(e){acf.doAction("open_field",e.$el),acf.doAction("open_field/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onCloseFieldObject:function(e){acf.doAction("close_field",e.$el),acf.doAction("close_field/type="+e.get("type"),e.$el)},onAddFieldObject:function(e){acf.doAction("add_field",e.$el),acf.doAction("add_field/type="+e.get("type"),e.$el)},onDuplicateFieldObject:function(e){acf.doAction("duplicate_field",e.$el),acf.doAction("duplicate_field/type="+e.get("type"),e.$el)},onDeleteFieldObject:function(e){acf.doAction("delete_field",e.$el),acf.doAction("delete_field/type="+e.get("type"),e.$el)},onChangeFieldObjectType:function(e){acf.doAction("change_field_type",e.$el),acf.doAction("change_field_type/type="+e.get("type"),e.$el),acf.doAction("render_field_settings",e.$el),acf.doAction("render_field_settings/type="+e.get("type"),e.$el)},onChangeFieldObjectLabel:function(e){acf.doAction("change_field_label",e.$el),acf.doAction("change_field_label/type="+e.get("type"),e.$el)},onChangeFieldObjectName:function(e){acf.doAction("change_field_name",e.$el),acf.doAction("change_field_name/type="+e.get("type"),e.$el)},onChangeFieldObjectParent:function(e){acf.doAction("update_field_parent",e.$el)}})}(jQuery)},8931:function(){var e,t;e=jQuery,t=acf.FieldSetting.extend({type:"",name:"conditional_logic",events:{"change .conditions-toggle":"onChangeToggle","click .add-conditional-group":"onClickAddGroup","focus .condition-rule-field":"onFocusField","change .condition-rule-field":"onChangeField","change .condition-rule-operator":"onChangeOperator","click .add-conditional-rule":"onClickAdd","click .remove-conditional-rule":"onClickRemove"},$rule:!1,scope:function(e){return this.$rule=e,this},ruleData:function(e,t){return this.$rule.data.apply(this.$rule,arguments)},$input:function(e){return this.$rule.find(".condition-rule-"+e)},$td:function(e){return this.$rule.find("td."+e)},$toggle:function(){return this.$(".conditions-toggle")},$control:function(){return this.$(".rule-groups")},$groups:function(){return this.$(".rule-group")},$rules:function(){return this.$(".rule")},open:function(){var e=this.$control();e.show(),acf.enable(e)},close:function(){var e=this.$control();e.hide(),acf.disable(e)},render:function(){this.$toggle().prop("checked")?(this.renderRules(),this.open()):this.close()},renderRules:function(){var t=this;this.$rules().each((function(){t.renderRule(e(this))}))},renderRule:function(e){this.scope(e),this.renderField(),this.renderOperator(),this.renderValue()},renderField:function(){var e=[],t=this.fieldObject.cid,i=this.$input("field");acf.getFieldObjects().map((function(i){var n={id:i.getKey(),text:i.getLabel()};i.cid===t&&(n.text+=acf.__("(this field)"),n.disabled=!0),acf.getConditionTypes({fieldType:i.getType()}).length||(n.disabled=!0);var a=i.getParents().length;n.text="- ".repeat(a)+n.text,e.push(n)})),e.length||e.push({id:"",text:acf.__("No toggle fields available")}),acf.renderSelect(i,e),this.ruleData("field",i.val())},renderOperator:function(){if(this.ruleData("field")){var e=this.$input("operator"),t=(e.val(),[]);null===e.val()&&acf.renderSelect(e,[{id:this.ruleData("operator"),text:""}]);var i=acf.findFieldObject(this.ruleData("field")),n=acf.getFieldObject(i);acf.getConditionTypes({fieldType:n.getType()}).map((function(e){t.push({id:e.prototype.operator,text:e.prototype.label})})),acf.renderSelect(e,t),this.ruleData("operator",e.val())}},renderValue:function(){if(this.ruleData("field")&&this.ruleData("operator")){var t=this.$input("value"),i=this.$td("value"),n=t.val(),a=acf.findFieldObject(this.ruleData("field")),l=acf.getFieldObject(a),o=acf.getConditionTypes({fieldType:l.getType(),operator:this.ruleData("operator")})[0].prototype.choices(l);if(o instanceof Array){var c=e("<select></select>");acf.renderSelect(c,o)}else c=e(o);t.detach(),i.html(c),setTimeout((function(){["class","name","id"].map((function(e){c.attr(e,t.attr(e))}))}),0),c.prop("disabled")||acf.val(c,n,!0),this.ruleData("value",c.val())}},onChangeToggle:function(){this.render()},onClickAddGroup:function(e,t){this.addGroup()},addGroup:function(){var e=this.$(".rule-group:last"),t=acf.duplicate(e);t.find("h4").text(acf.__("or")),t.find("tr").not(":first").remove(),this.fieldObject.save()},onFocusField:function(e,t){this.renderField()},onChangeField:function(e,t){this.scope(t.closest(".rule")),this.ruleData("field",t.val()),this.renderOperator(),this.renderValue()},onChangeOperator:function(e,t){this.scope(t.closest(".rule")),this.ruleData("operator",t.val()),this.renderValue()},onClickAdd:function(e,t){var i=acf.duplicate(t.closest(".rule"));this.renderRule(i)},onClickRemove:function(e,t){var i=t.closest(".rule");this.fieldObject.save(),0==i.siblings(".rule").length&&i.closest(".rule-group").remove(),i.remove()}}),acf.registerFieldSetting(t),new acf.Model({actions:{duplicate_field_objects:"onDuplicateFieldObjects"},onDuplicateFieldObjects:function(t,i,n){var a={},l=e();t.map((function(e){a[e.get("prevKey")]=e.get("key"),l=l.add(e.$(".condition-rule-field"))})),l.each((function(){var t=e(this),i=t.val();i&&a[i]&&(t.find("option:selected").attr("value",a[i]),t.val(a[i]))}))}})},5358:function(){var e;e=jQuery,acf.FieldObject=acf.Model.extend({eventScope:".acf-field-object",events:{"click .edit-field":"onClickEdit","click .delete-field":"onClickDelete","click .duplicate-field":"duplicate","click .move-field":"move","change .field-type":"onChangeType","change .field-required":"onChangeRequired","blur .field-label":"onChangeLabel","blur .field-name":"onChangeName",change:"onChange",changed:"onChanged"},data:{id:0,key:"",type:""},setup:function(e){this.$el=e,this.inherit(e),this.prop("ID"),this.prop("parent"),this.prop("menu_order")},$input:function(t){return e("#"+this.getInputId()+"-"+t)},$meta:function(){return this.$(".meta:first")},$handle:function(){return this.$(".handle:first")},$settings:function(){return this.$(".settings:first")},$setting:function(e){return this.$(".acf-field-settings:first > .acf-field-setting-"+e)},getParent:function(){return acf.getFieldObjects({child:this.$el,limit:1}).pop()},getParents:function(){return acf.getFieldObjects({child:this.$el})},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getInputName:function(){return"acf_fields["+this.get("id")+"]"},getInputId:function(){return"acf_fields-"+this.get("id")},newInput:function(t,i){var n=this.getInputId(),a=this.getInputName();t&&(n+="-"+t,a+="["+t+"]");var l=e("<input />").attr({id:n,name:a,value:i});return this.$("> .meta").append(l),l},getProp:function(e){if(this.has(e))return this.get(e);var t=this.$input(e),i=t.length?t.val():null;return this.set(e,i,!0),i},setProp:function(e,t){var i=this.$input(e);return i.val(),i.length||(i=this.newInput(e,t)),null===t?i.remove():i.val(t),this.has(e)?this.set(e,t):this.set(e,t,!0),this},prop:function(e,t){return void 0!==t?this.setProp(e,t):this.getProp(e)},props:function(e){Object.keys(e).map((function(t){this.setProp(t,e[t])}),this)},getLabel:function(){var e=this.prop("label");return""===e&&(e=acf.__("(no label)")),e},getName:function(){return this.prop("name")},getType:function(){return this.prop("type")},getTypeLabel:function(){var e=this.prop("type"),t=acf.get("fieldTypes");return t[e]?t[e].label:e},getKey:function(){return this.prop("key")},initialize:function(){this.addProFields()},addProFields:function(){if(!acf.data.fieldTypes.hasOwnProperty("clone")){var t=e(".field-type").not(".acf-free-field-type");t.find('optgroup option[value="group"]').parent().append('<option value="null" disabled="disabled">'+acf.__("Repeater (Pro only)")+'</option><option value="null" disabled="disabled">'+acf.__("Flexible Content (Pro only)")+'</option><option value="null" disabled="disabled">'+acf.__("Clone (Pro only)")+"</option>"),t.find('optgroup option[value="image"]').parent().append('<option value="null" disabled="disabled">'+acf.__("Gallery (Pro only)")+"</option>"),t.addClass("acf-free-field-type")}},render:function(){var e=this.$(".handle:first"),t=this.prop("menu_order"),i=this.getLabel(),n=this.prop("name"),a=this.getTypeLabel(),l=this.prop("key"),o=this.$input("required").prop("checked");e.find(".acf-icon").html(parseInt(t)+1),o&&(i+=' <span class="acf-required">*</span>'),e.find(".li-field-label strong a").html(i),e.find(".li-field-name").text(n),e.find(".li-field-type").text(a),e.find(".li-field-key").text(l),acf.doAction("render_field_object",this)},refresh:function(){acf.doAction("refresh_field_object",this)},isOpen:function(){return this.$el.hasClass("open")},onClickEdit:function(e){this.isOpen()?this.close():this.open()},open:function(){var e=this.$el.children(".settings");e.slideDown(),this.$el.addClass("open"),acf.doAction("open_field_object",this),this.trigger("openFieldObject"),acf.doAction("show",e)},close:function(){var e=this.$el.children(".settings");e.slideUp(),this.$el.removeClass("open"),acf.doAction("close_field_object",this),this.trigger("closeFieldObject"),acf.doAction("hide",e)},serialize:function(){return acf.serialize(this.$el,this.getInputName())},save:function(e){e=e||"settings","settings"!==this.getProp("save")&&(this.setProp("save",e),this.$el.attr("data-save",e),acf.doAction("save_field_object",this,e))},submit:function(){var e=this.getInputName(),t=this.get("save");this.isOpen()&&this.close(),"settings"==t||("meta"==t?this.$('> .settings [name^="'+e+'"]').remove():this.$('[name^="'+e+'"]').remove()),acf.doAction("submit_field_object",this)},onChange:function(e,t){this.save(),acf.doAction("change_field_object",this)},onChanged:function(e,t,i,n){"save"!=i&&(["menu_order","parent"].indexOf(i)>-1?this.save("meta"):this.save(),["menu_order","label","required","name","type","key"].indexOf(i)>-1&&this.render(),acf.doAction("change_field_object_"+i,this,n))},onChangeLabel:function(e,t){var i=t.val();if(this.set("label",i),""==this.prop("name")){var n=acf.applyFilters("generate_field_object_name",acf.strSanitize(i),this);this.prop("name",n)}},onChangeName:function(e,t){var i=t.val();this.set("name",i),"field_"===i.substr(0,6)&&alert(acf.__('The string "field_" may not be used at the start of a field name'))},onChangeRequired:function(e,t){var i=t.prop("checked")?1:0;this.set("required",i)},delete:function(t){t=acf.parseArgs(t,{animate:!0});var i=this.prop("ID");if(i){var n=e("#_acf_delete_fields"),a=n.val()+"|"+i;n.val(a)}acf.doAction("delete_field_object",this),t.animate?this.removeAnimate():this.remove()},onClickDelete:function(e,t){if(e.shiftKey)return this.delete();this.$el.addClass("-hover"),acf.newTooltip({confirmRemove:!0,target:t,context:this,confirm:function(){this.delete()},cancel:function(){this.$el.removeClass("-hover")}})},removeAnimate:function(){var e=this,t=this.$el.parent(),i=acf.findFieldObjects({sibling:this.$el});acf.remove({target:this.$el,endHeight:i.length?0:50,complete:function(){e.remove(),acf.doAction("removed_field_object",e,t)}}),acf.doAction("remove_field_object",e,t)},duplicate:function(){var e=acf.uniqid("field_"),t=acf.duplicate({target:this.$el,search:this.get("id"),replace:e});t.attr("data-key",e);var i=acf.getFieldObject(t);this.isOpen()?this.close():i.open();var n=i.$setting("label input");setTimeout((function(){n.trigger("focus")}),251);var a=i.prop("label"),l=i.prop("name"),o=l.split("_").pop(),c=acf.__("copy");if(acf.isNumeric(o)){var r=1*o+1;a=a.replace(o,r),l=l.replace(o,r)}else 0===o.indexOf(c)?(r=(r=1*o.replace(c,""))?r+1:2,a=a.replace(o,c+r),l=l.replace(o,c+r)):(a+=" ("+c+")",l+="_"+c);i.prop("ID",0),i.prop("label",a),i.prop("name",l),i.prop("key",e),acf.doAction("duplicate_field_object",this,i),acf.doAction("append_field_object",i)},wipe:function(){var e=this.get("id"),t=this.get("key"),i=acf.uniqid("field_");acf.rename({target:this.$el,search:e,replace:i}),this.set("id",i),this.set("prevId",e),this.set("prevKey",t),this.prop("key",i),this.prop("ID",0),this.$el.attr("data-key",i),this.$el.attr("data-id",i),acf.doAction("wipe_field_object",this)},move:function(){var t=function(e){return"settings"==e.get("save")},i=t(this);if(i||acf.getFieldObjects({parent:this.$el}).map((function(e){i=t(e)||e.changed})),i)alert(acf.__("This field cannot be moved until its changes have been saved"));else{var n=this.prop("ID"),a=this,l=!1,o=function(e){l.loading(!1),l.content(e),l.on("submit","form",c)},c=function(t,i){t.preventDefault(),acf.startButtonLoading(l.$(".button"));var a={action:"acf/field_group/move_field",field_id:n,field_group_id:l.$("select").val()};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:r})},r=function(e){l.content(e),a.removeAnimate()};!function(){l=acf.newPopup({title:acf.__("Move Custom Field"),loading:!0,width:"300px"});var t={action:"acf/field_group/move_field",field_id:n};e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(t),type:"post",dataType:"html",success:o})}()}},onChangeType:function(e,t){this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=this.setTimeout((function(){this.changeType(t.val())}),300)},changeType:function(t){var i=this.prop("type"),n=acf.strSlugify("acf-field-object-"+i),a=acf.strSlugify("acf-field-object-"+t);this.$el.removeClass(n).addClass(a),this.$el.attr("data-type",t),this.$el.data("type",t),this.has("xhr")&&this.get("xhr").abort();var l=this.$("> .settings > table > tbody"),o=l.children('[data-setting="'+i+'"]');if(this.set("settings-"+i,o),o.detach(),this.has("settings-"+t)){var c=this.get("settings-"+t);return this.$setting("conditional_logic").before(c),void this.set("type",t)}var r=e('<tr class="acf-field"><td class="acf-label"></td><td class="acf-input"><div class="acf-loading"></div></td></tr>');this.$setting("conditional_logic").before(r);var d={action:"acf/field_group/render_field_settings",field:this.serialize(),prefix:this.getInputName()},s=e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(d),type:"post",dataType:"html",context:this,success:function(e){e&&(r.after(e),acf.doAction("append",l))},complete:function(){r.remove(),this.set("type",t)}});this.set("xhr",s)},updateParent:function(){var e=acf.get("post_id"),t=this.getParent();t&&(e=parseInt(t.prop("ID"))||t.prop("key")),this.prop("parent",e)}})},3523:function(){var e;e=jQuery,acf.findFieldObject=function(e){return acf.findFieldObjects({key:e,limit:1})},acf.findFieldObjects=function(t){t=t||{};var i=".acf-field-object",n=!1;return(t=acf.parseArgs(t,{id:"",key:"",type:"",limit:!1,list:null,parent:!1,sibling:!1,child:!1})).id&&(i+='[data-id="'+t.id+'"]'),t.key&&(i+='[data-key="'+t.key+'"]'),t.type&&(i+='[data-type="'+t.type+'"]'),n=t.list?t.list.children(i):t.parent?t.parent.find(i):t.sibling?t.sibling.siblings(i):t.child?t.child.parents(i):e(i),t.limit&&(n=n.slice(0,t.limit)),n},acf.getFieldObject=function(e){"string"==typeof e&&(e=acf.findFieldObject(e));var t=e.data("acf");return t||(t=acf.newFieldObject(e)),t},acf.getFieldObjects=function(t){var i=acf.findFieldObjects(t),n=[];return i.each((function(){var t=acf.getFieldObject(e(this));n.push(t)})),n},acf.newFieldObject=function(e){var t=new acf.FieldObject(e);return acf.doAction("new_field_object",t),t},new acf.Model({priority:5,initialize:function(){["prepare","ready","append","remove"].map((function(e){this.addFieldActions(e)}),this)},addFieldActions:function(e){var t=e+"_field_objects",i=e+"_field_object",n=e+"FieldObject";acf.addAction(e,(function(e){var i=acf.getFieldObjects({parent:e});if(i.length){var n=acf.arrayArgs(arguments);n.splice(0,1,t,i),acf.doAction.apply(null,n)}}),5),acf.addAction(t,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i),e.map((function(e){t[1]=e,acf.doAction.apply(null,t)}))}),5),acf.addAction(i,(function(e){var t=acf.arrayArgs(arguments);t.unshift(i);var a=["type","name","key"];a.map((function(n){t[0]=i+"/"+n+"="+e.get(n),acf.doAction.apply(null,t)})),t.splice(0,2),e.trigger(n,t)}),5)}}),new acf.Model({id:"fieldManager",events:{"submit #post":"onSubmit","mouseenter .acf-field-list":"onHoverSortable","click .add-field":"onClickAdd"},actions:{removed_field_object:"onRemovedField",sortstop_field_object:"onReorderField",delete_field_object:"onDeleteField",change_field_object_type:"onChangeFieldType",duplicate_field_object:"onDuplicateField"},onSubmit:function(e,t){acf.getFieldObjects().map((function(e){e.submit()}))},setFieldMenuOrder:function(e){this.renderFields(e.$el.parent())},onHoverSortable:function(e,t){t.hasClass("ui-sortable")||t.sortable({handle:".acf-sortable-handle",connectWith:".acf-field-list",start:function(e,i){var n=acf.getFieldObject(i.item);i.placeholder.height(i.item.height()),acf.doAction("sortstart_field_object",n,t)},update:function(e,i){var n=acf.getFieldObject(i.item);acf.doAction("sortstop_field_object",n,t)}})},onRemovedField:function(e,t){this.renderFields(t)},onReorderField:function(e,t){e.updateParent(),this.renderFields(t)},onDeleteField:function(e){e.getFields().map((function(e){e.delete({animate:!1})}))},onChangeFieldType:function(e){},onDuplicateField:function(e,t){var i=t.getFields();i.length&&(i.map((function(e){e.wipe(),e.updateParent()})),acf.doAction("duplicate_field_objects",i,t,e)),this.setFieldMenuOrder(t)},renderFields:function(e){var t=acf.getFieldObjects({list:e});t.length?(e.removeClass("-empty"),t.map((function(e,t){e.prop("menu_order",t)}))):e.addClass("-empty")},onClickAdd:function(e,t){var i=t.closest(".acf-tfoot").siblings(".acf-field-list");this.addField(i)},addField:function(t){var i=e("#tmpl-acf-field").html(),n=e(i),a=n.data("id"),l=acf.uniqid("field_"),o=acf.duplicate({target:n,search:a,replace:l,append:function(e,i){t.append(i)}}),c=acf.getFieldObject(o);c.prop("key",l),c.prop("ID",0),c.prop("label",""),c.prop("name",""),o.attr("data-key",l),o.attr("data-id",l),c.updateParent();var r=c.$input("label");setTimeout((function(){r.trigger("focus")}),251),c.open(),this.renderFields(t),acf.doAction("add_field_object",c),acf.doAction("append_field_object",c)}})},8687:function(){var e;e=jQuery,new acf.Model({id:"locationManager",wait:"ready",events:{"click .add-location-rule":"onClickAddRule","click .add-location-group":"onClickAddGroup","click .remove-location-rule":"onClickRemoveRule","change .refresh-location-rule":"onChangeRemoveRule"},initialize:function(){this.$el=e("#acf-field-group-locations"),this.updateGroupsClass()},onClickAddRule:function(e,t){this.addRule(t.closest("tr"))},onClickRemoveRule:function(e,t){this.removeRule(t.closest("tr"))},onChangeRemoveRule:function(e,t){this.changeRule(t.closest("tr"))},onClickAddGroup:function(e,t){this.addGroup()},addRule:function(e){acf.duplicate(e),this.updateGroupsClass()},removeRule:function(e){0==e.siblings("tr").length?e.closest(".rule-group").remove():e.remove(),this.$(".rule-group:first").find("h4").text(acf.__("Show this field group if")),this.updateGroupsClass()},changeRule:function(t){var i=t.closest(".rule-group"),n=t.find("td.param select").attr("name").replace("[param]",""),a={action:"acf/field_group/render_location_rule"};a.rule=acf.serialize(t,n),a.rule.id=t.data("id"),a.rule.group=i.data("id"),acf.disable(t.find("td.value")),e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"html",success:function(e){e&&t.replaceWith(e)}})},addGroup:function(){var e=this.$(".rule-group:last");$group2=acf.duplicate(e),$group2.find("h4").text(acf.__("or")),$group2.find("tr").not(":first").remove(),this.updateGroupsClass()},updateGroupsClass:function(){var e=this.$(".rule-group:last").closest(".rule-groups");e.find(".acf-table tr").length>1?e.addClass("rule-groups-multiple"):e.removeClass("rule-groups-multiple")}})},6125:function(){!function(e,t){var i=function(e){return acf.strPascalCase(e||"")+"FieldSetting"};acf.registerFieldSetting=function(e){var t=e.prototype,n=i(t.type+" "+t.name);this.models[n]=e},acf.newFieldSetting=function(e){var t=e.get("setting")||"",n=e.get("name")||"",a=i(t+" "+n),l=acf.models[a]||null;return null!==l&&new l(e)},acf.getFieldSetting=function(e){return e instanceof jQuery&&(e=acf.getField(e)),e.setting},new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){e.setting=acf.newFieldSetting(e)}}),acf.FieldSetting=acf.Model.extend({field:!1,type:"",name:"",wait:"ready",eventScope:".acf-field",events:{change:"render"},setup:function(t){var i=t.$el;this.$el=i,this.field=t,this.$fieldObject=i.closest(".acf-field-object"),this.fieldObject=acf.getFieldObject(this.$fieldObject),e.extend(this.data,t.data)},initialize:function(){this.render()},render:function(){}});var n=acf.FieldSetting.extend({type:"",name:"",render:function(){var e=this.$('input[type="radio"]:checked');"other"!=e.val()&&this.$('input[type="text"]').val(e.val())}}),a=n.extend({type:"date_picker",name:"display_format"}),l=n.extend({type:"date_picker",name:"return_format"});acf.registerFieldSetting(a),acf.registerFieldSetting(l);var o=n.extend({type:"date_time_picker",name:"display_format"}),c=n.extend({type:"date_time_picker",name:"return_format"});acf.registerFieldSetting(o),acf.registerFieldSetting(c);var r=n.extend({type:"time_picker",name:"display_format"}),d=n.extend({type:"time_picker",name:"return_format"});acf.registerFieldSetting(r),acf.registerFieldSetting(d);var s=acf.FieldSetting.extend({type:"color_picker",name:"enable_opacity",render:function(){var e=this.fieldObject.$setting("return_format"),t=this.fieldObject.$setting("default_value"),i=e.find('input[type="radio"][value="string"]').parent("label").contents().last(),n=t.find('input[type="text"]'),a=acf.get("colorPickerL10n");this.field.val()?(i.replaceWith(a.rgba_string),n.attr("placeholder","rgba(255,255,255,0.8)")):(i.replaceWith(a.hex_string),n.attr("placeholder","#FFFFFF"))}});acf.registerFieldSetting(s)}(jQuery)},3791:function(){var e;e=jQuery,new acf.Model({id:"fieldGroupManager",events:{"submit #post":"onSubmit",'click a[href="#"]':"onClick","click .submitdelete":"onClickTrash"},filters:{find_fields_args:"filterFindFieldArgs"},onSubmit:function(t,i){var n=e("#titlewrap #title");n.val()||(t.preventDefault(),acf.unlockForm(i),alert(acf.__("Field group title is required")),n.trigger("focus"))},onClick:function(e){e.preventDefault()},onClickTrash:function(e){confirm(acf.__("Move to trash. Are you sure?"))||e.preventDefault()},filterFindFieldArgs:function(e){return e.visible=!0,e}}),new acf.Model({id:"screenOptionsManager",wait:"prepare",events:{change:"onChange"},initialize:function(){var t=e("#adv-settings"),i=e("#acf-append-show-on-screen");t.find(".metabox-prefs").append(i.html()),t.find(".metabox-prefs br").remove(),i.remove(),this.$el=e("#acf-field-key-hide"),this.render()},isChecked:function(){return this.$el.prop("checked")},onChange:function(e,t){var i=this.isChecked()?1:0;acf.updateUserSetting("show_field_keys",i),this.render()},render:function(){this.isChecked()?e("#acf-field-group-fields").addClass("show-field-keys"):e("#acf-field-group-fields").removeClass("show-field-keys")}}),new acf.Model({actions:{new_field:"onNewField"},onNewField:function(t){if(t.has("append")){var i=t.get("append"),n=t.$el.siblings('[data-name="'+i+'"]').first();if(n.length){var a=n.children(".acf-input"),l=a.children("ul");l.length||(a.wrapInner('<ul class="acf-hl"><li></li></ul>'),l=a.children("ul"));var o=t.$(".acf-input").html(),c=e("<li>"+o+"</li>");l.append(c),l.attr("data-cols",l.children().length),t.remove()}}}})}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,i),l.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";i(3791),i(5358),i(6125),i(8931),i(3523),i(8687),i(2961)}()}();
assets/build/js/acf-input.js CHANGED
@@ -1,10904 +1,9857 @@
1
- (function($, undefined){
2
-
3
- // vars
4
- var storage = [];
5
-
6
- /**
7
- * acf.Field
8
- *
9
- * description
10
- *
11
- * @date 23/3/18
12
- * @since 5.6.9
13
- *
14
- * @param type $var Description. Default.
15
- * @return type Description.
16
- */
17
-
18
- acf.Field = acf.Model.extend({
19
-
20
- // field type
21
- type: '',
22
-
23
- // class used to avoid nested event triggers
24
- eventScope: '.acf-field',
25
-
26
- // initialize events on 'ready'
27
- wait: 'ready',
28
-
29
- /**
30
- * setup
31
- *
32
- * Called during the constructor function to setup this field ready for initialization
33
- *
34
- * @date 8/5/18
35
- * @since 5.6.9
36
- *
37
- * @param jQuery $field The field element.
38
- * @return void
39
- */
40
-
41
- setup: function( $field ){
42
-
43
- // set $el
44
- this.$el = $field;
45
-
46
- // inherit $field data
47
- this.inherit( $field );
48
-
49
- // inherit controll data
50
- this.inherit( this.$control() );
51
- },
52
-
53
- /**
54
- * val
55
- *
56
- * Sets or returns the field's value
57
- *
58
- * @date 8/5/18
59
- * @since 5.6.9
60
- *
61
- * @param mixed val Optional. The value to set
62
- * @return mixed
63
- */
64
-
65
- val: function( val ){
66
-
67
- // Set.
68
- if( val !== undefined ) {
69
- return this.setValue( val );
70
-
71
- // Get.
72
- } else {
73
- return this.prop('disabled') ? null : this.getValue();
74
- }
75
- },
76
-
77
- /**
78
- * getValue
79
- *
80
- * returns the field's value
81
- *
82
- * @date 8/5/18
83
- * @since 5.6.9
84
- *
85
- * @param void
86
- * @return mixed
87
- */
88
-
89
- getValue: function(){
90
- return this.$input().val();
91
- },
92
-
93
- /**
94
- * setValue
95
- *
96
- * sets the field's value and returns true if changed
97
- *
98
- * @date 8/5/18
99
- * @since 5.6.9
100
- *
101
- * @param mixed val
102
- * @return boolean. True if changed.
103
- */
104
-
105
- setValue: function( val ){
106
- return acf.val( this.$input(), val );
107
- },
108
-
109
- /**
110
- * __
111
- *
112
- * i18n helper to be removed
113
- *
114
- * @date 8/5/18
115
- * @since 5.6.9
116
- *
117
- * @param type $var Description. Default.
118
- * @return type Description.
119
- */
120
-
121
- __: function( string ){
122
- return acf._e( this.type, string );
123
- },
124
-
125
- /**
126
- * $control
127
- *
128
- * returns the control jQuery element used for inheriting data. Uses this.control setting.
129
- *
130
- * @date 8/5/18
131
- * @since 5.6.9
132
- *
133
- * @param void
134
- * @return jQuery
135
- */
136
-
137
- $control: function(){
138
- return false;
139
- },
140
-
141
- /**
142
- * $input
143
- *
144
- * returns the input jQuery element used for saving values. Uses this.input setting.
145
- *
146
- * @date 8/5/18
147
- * @since 5.6.9
148
- *
149
- * @param void
150
- * @return jQuery
151
- */
152
-
153
- $input: function(){
154
- return this.$('[name]:first');
155
- },
156
-
157
- /**
158
- * $inputWrap
159
- *
160
- * description
161
- *
162
- * @date 12/5/18
163
- * @since 5.6.9
164
- *
165
- * @param type $var Description. Default.
166
- * @return type Description.
167
- */
168
-
169
- $inputWrap: function(){
170
- return this.$('.acf-input:first');
171
- },
172
-
173
- /**
174
- * $inputWrap
175
- *
176
- * description
177
- *
178
- * @date 12/5/18
179
- * @since 5.6.9
180
- *
181
- * @param type $var Description. Default.
182
- * @return type Description.
183
- */
184
-
185
- $labelWrap: function(){
186
- return this.$('.acf-label:first');
187
- },
188
-
189
- /**
190
- * getInputName
191
- *
192
- * Returns the field's input name
193
- *
194
- * @date 8/5/18
195
- * @since 5.6.9
196
- *
197
- * @param void
198
- * @return string
199
- */
200
-
201
- getInputName: function(){
202
- return this.$input().attr('name') || '';
203
- },
204
-
205
- /**
206
- * parent
207
- *
208
- * returns the field's parent field or false on failure.
209
- *
210
- * @date 8/5/18
211
- * @since 5.6.9
212
- *
213
- * @param void
214
- * @return object|false
215
- */
216
-
217
- parent: function() {
218
-
219
- // vars
220
- var parents = this.parents();
221
-
222
- // return
223
- return parents.length ? parents[0] : false;
224
- },
225
-
226
- /**
227
- * parents
228
- *
229
- * description
230
- *
231
- * @date 9/7/18
232
- * @since 5.6.9
233
- *
234
- * @param type $var Description. Default.
235
- * @return type Description.
236
- */
237
-
238
- parents: function(){
239
-
240
- // vars
241
- var $parents = this.$el.parents('.acf-field');
242
-
243
- // convert
244
- var parents = acf.getFields( $parents );
245
-
246
- // return
247
- return parents;
248
- },
249
-
250
- show: function( lockKey, context ){
251
-
252
- // show field and store result
253
- var changed = acf.show( this.$el, lockKey );
254
-
255
- // do action if visibility has changed
256
- if( changed ) {
257
- this.prop('hidden', false);
258
- acf.doAction('show_field', this, context);
259
- }
260
-
261
- // return
262
- return changed;
263
- },
264
-
265
- hide: function( lockKey, context ){
266
-
267
- // hide field and store result
268
- var changed = acf.hide( this.$el, lockKey );
269
-
270
- // do action if visibility has changed
271
- if( changed ) {
272
- this.prop('hidden', true);
273
- acf.doAction('hide_field', this, context);
274
- }
275
-
276
- // return
277
- return changed;
278
- },
279
-
280
- enable: function( lockKey, context ){
281
-
282
- // enable field and store result
283
- var changed = acf.enable( this.$el, lockKey );
284
-
285
- // do action if disabled has changed
286
- if( changed ) {
287
- this.prop('disabled', false);
288
- acf.doAction('enable_field', this, context);
289
- }
290
-
291
- // return
292
- return changed;
293
- },
294
-
295
- disable: function( lockKey, context ){
296
-
297
- // disabled field and store result
298
- var changed = acf.disable( this.$el, lockKey );
299
-
300
- // do action if disabled has changed
301
- if( changed ) {
302
- this.prop('disabled', true);
303
- acf.doAction('disable_field', this, context);
304
- }
305
-
306
- // return
307
- return changed;
308
- },
309
-
310
- showEnable: function( lockKey, context ){
311
-
312
- // enable
313
- this.enable.apply(this, arguments);
314
-
315
- // show and return true if changed
316
- return this.show.apply(this, arguments);
317
- },
318
-
319
- hideDisable: function( lockKey, context ){
320
-
321
- // disable
322
- this.disable.apply(this, arguments);
323
-
324
- // hide and return true if changed
325
- return this.hide.apply(this, arguments);
326
- },
327
-
328
- showNotice: function( props ){
329
-
330
- // ensure object
331
- if( typeof props !== 'object' ) {
332
- props = { text: props };
333
- }
334
-
335
- // remove old notice
336
- if( this.notice ) {
337
- this.notice.remove();
338
- }
339
-
340
- // create new notice
341
- props.target = this.$inputWrap();
342
- this.notice = acf.newNotice( props );
343
- },
344
-
345
- removeNotice: function( timeout ){
346
- if( this.notice ) {
347
- this.notice.away( timeout || 0 );
348
- this.notice = false;
349
- }
350
- },
351
-
352
- showError: function( message ){
353
-
354
- // add class
355
- this.$el.addClass('acf-error');
356
-
357
- // add message
358
- if( message !== undefined ) {
359
- this.showNotice({
360
- text: message,
361
- type: 'error',
362
- dismiss: false
363
- });
364
- }
365
-
366
- // action
367
- acf.doAction('invalid_field', this);
368
-
369
- // add event
370
- this.$el.one('focus change', 'input, select, textarea', $.proxy( this.removeError, this ));
371
- },
372
-
373
- removeError: function(){
374
-
375
- // remove class
376
- this.$el.removeClass('acf-error');
377
-
378
- // remove notice
379
- this.removeNotice( 250 );
380
-
381
- // action
382
- acf.doAction('valid_field', this);
383
- },
384
-
385
- trigger: function( name, args, bubbles ){
386
-
387
- // allow some events to bubble
388
- if( name == 'invalidField' ) {
389
- bubbles = true;
390
- }
391
-
392
- // return
393
- return acf.Model.prototype.trigger.apply(this, [name, args, bubbles]);
394
- },
395
- });
396
-
397
- /**
398
- * newField
399
- *
400
- * description
401
- *
402
- * @date 14/12/17
403
- * @since 5.6.5
404
- *
405
- * @param type $var Description. Default.
406
- * @return type Description.
407
- */
408
-
409
- acf.newField = function( $field ){
410
-
411
- // vars
412
- var type = $field.data('type');
413
- var mid = modelId( type );
414
- var model = acf.models[ mid ] || acf.Field;
415
-
416
- // instantiate
417
- var field = new model( $field );
418
-
419
- // actions
420
- acf.doAction('new_field', field);
421
-
422
- // return
423
- return field;
424
- };
425
-
426
- /**
427
- * mid
428
- *
429
- * Calculates the model ID for a field type
430
- *
431
- * @date 15/12/17
432
- * @since 5.6.5
433
- *
434
- * @param string type
435
- * @return string
436
- */
437
-
438
- var modelId = function( type ) {
439
- return acf.strPascalCase( type || '' ) + 'Field';
440
- };
441
-
442
- /**
443
- * registerFieldType
444
- *
445
- * description
446
- *
447
- * @date 14/12/17
448
- * @since 5.6.5
449
- *
450
- * @param type $var Description. Default.
451
- * @return type Description.
452
- */
453
-
454
- acf.registerFieldType = function( model ){
455
-
456
- // vars
457
- var proto = model.prototype;
458
- var type = proto.type;
459
- var mid = modelId( type );
460
-
461
- // store model
462
- acf.models[ mid ] = model;
463
-
464
- // store reference
465
- storage.push( type );
466
- };
467
-
468
- /**
469
- * acf.getFieldType
470
- *
471
- * description
472
- *
473
- * @date 1/2/18
474
- * @since 5.6.5
475
- *
476
- * @param type $var Description. Default.
477
- * @return type Description.
478
- */
479
-
480
- acf.getFieldType = function( type ){
481
- var mid = modelId( type );
482
- return acf.models[ mid ] || false;
483
- }
484
-
485
- /**
486
- * acf.getFieldTypes
487
- *
488
- * description
489
- *
490
- * @date 1/2/18
491
- * @since 5.6.5
492
- *
493
- * @param type $var Description. Default.
494
- * @return type Description.
495
- */
496
-
497
- acf.getFieldTypes = function( args ){
498
-
499
- // defaults
500
- args = acf.parseArgs(args, {
501
- category: '',
502
- // hasValue: true
503
- });
504
-
505
- // clonse available types
506
- var types = [];
507
-
508
- // loop
509
- storage.map(function( type ){
510
-
511
- // vars
512
- var model = acf.getFieldType(type);
513
- var proto = model.prototype;
514
-
515
- // check operator
516
- if( args.category && proto.category !== args.category ) {
517
- return;
518
- }
519
-
520
- // append
521
- types.push( model );
522
- });
523
-
524
- // return
525
- return types;
526
- };
527
-
528
- })(jQuery);
529
- (function($, undefined){
530
-
531
- /**
532
- * findFields
533
- *
534
- * Returns a jQuery selection object of acf fields.
535
- *
536
- * @date 14/12/17
537
- * @since 5.6.5
538
- *
539
- * @param object $args {
540
- * Optional. Arguments to find fields.
541
- *
542
- * @type string key The field's key (data-attribute).
543
- * @type string name The field's name (data-attribute).
544
- * @type string type The field's type (data-attribute).
545
- * @type string is jQuery selector to compare against.
546
- * @type jQuery parent jQuery element to search within.
547
- * @type jQuery sibling jQuery element to search alongside.
548
- * @type limit int The number of fields to find.
549
- * @type suppressFilters bool Whether to allow filters to add/remove results. Default behaviour will ignore clone fields.
550
- * }
551
- * @return jQuery
552
- */
553
-
554
- acf.findFields = function( args ){
555
-
556
- // vars
557
- var selector = '.acf-field';
558
- var $fields = false;
559
-
560
- // args
561
- args = acf.parseArgs(args, {
562
- key: '',
563
- name: '',
564
- type: '',
565
- is: '',
566
- parent: false,
567
- sibling: false,
568
- limit: false,
569
- visible: false,
570
- suppressFilters: false,
571
- });
572
-
573
- // filter args
574
- if( !args.suppressFilters ) {
575
- args = acf.applyFilters('find_fields_args', args);
576
- }
577
-
578
- // key
579
- if( args.key ) {
580
- selector += '[data-key="' + args.key + '"]';
581
- }
582
-
583
- // type
584
- if( args.type ) {
585
- selector += '[data-type="' + args.type + '"]';
586
- }
587
-
588
- // name
589
- if( args.name ) {
590
- selector += '[data-name="' + args.name + '"]';
591
- }
592
-
593
- // is
594
- if( args.is ) {
595
- selector += args.is;
596
- }
597
-
598
- // visibility
599
- if( args.visible ) {
600
- selector += ':visible';
601
- }
602
-
603
- // query
604
- if( args.parent ) {
605
- $fields = args.parent.find( selector );
606
- } else if( args.sibling ) {
607
- $fields = args.sibling.siblings( selector );
608
- } else {
609
- $fields = $( selector );
610
- }
611
-
612
- // filter
613
- if( !args.suppressFilters ) {
614
- $fields = $fields.not('.acf-clone .acf-field');
615
- $fields = acf.applyFilters('find_fields', $fields);
616
- }
617
-
618
- // limit
619
- if( args.limit ) {
620
- $fields = $fields.slice( 0, args.limit );
621
- }
622
-
623
- // return
624
- return $fields;
625
-
626
- };
627
-
628
- /**
629
- * findField
630
- *
631
- * Finds a specific field with jQuery
632
- *
633
- * @date 14/12/17
634
- * @since 5.6.5
635
- *
636
- * @param string key The field's key.
637
- * @param jQuery $parent jQuery element to search within.
638
- * @return jQuery
639
- */
640
-
641
- acf.findField = function( key, $parent ){
642
- return acf.findFields({
643
- key: key,
644
- limit: 1,
645
- parent: $parent,
646
- suppressFilters: true
647
- });
648
- };
649
-
650
- /**
651
- * getField
652
- *
653
- * Returns a field instance
654
- *
655
- * @date 14/12/17
656
- * @since 5.6.5
657
- *
658
- * @param jQuery|string $field jQuery element or field key.
659
- * @return object
660
- */
661
-
662
- acf.getField = function( $field ){
663
-
664
- // allow jQuery
665
- if( $field instanceof jQuery ) {
666
-
667
- // find fields
668
- } else {
669
- $field = acf.findField( $field );
670
- }
671
-
672
- // instantiate
673
- var field = $field.data('acf');
674
- if( !field ) {
675
- field = acf.newField( $field );
676
- }
677
-
678
- // return
679
- return field;
680
- };
681
-
682
- /**
683
- * getFields
684
- *
685
- * Returns multiple field instances
686
- *
687
- * @date 14/12/17
688
- * @since 5.6.5
689
- *
690
- * @param jQuery|object $fields jQuery elements or query args.
691
- * @return array
692
- */
693
-
694
- acf.getFields = function( $fields ){
695
-
696
- // allow jQuery
697
- if( $fields instanceof jQuery ) {
698
-
699
- // find fields
700
- } else {
701
- $fields = acf.findFields( $fields );
702
- }
703
-
704
- // loop
705
- var fields = [];
706
- $fields.each(function(){
707
- var field = acf.getField( $(this) );
708
- fields.push( field );
709
- });
710
-
711
- // return
712
- return fields;
713
- };
714
-
715
- /**
716
- * findClosestField
717
- *
718
- * Returns the closest jQuery field element
719
- *
720
- * @date 9/4/18
721
- * @since 5.6.9
722
- *
723
- * @param jQuery $el
724
- * @return jQuery
725
- */
726
-
727
- acf.findClosestField = function( $el ){
728
- return $el.closest('.acf-field');
729
- };
730
-
731
- /**
732
- * getClosestField
733
- *
734
- * Returns the closest field instance
735
- *
736
- * @date 22/1/18
737
- * @since 5.6.5
738
- *
739
- * @param jQuery $el
740
- * @return object
741
- */
742
-
743
- acf.getClosestField = function( $el ){
744
- var $field = acf.findClosestField( $el );
745
- return this.getField( $field );
746
- };
747
-
748
- /**
749
- * addGlobalFieldAction
750
- *
751
- * Sets up callback logic for global field actions
752
- *
753
- * @date 15/6/18
754
- * @since 5.6.9
755
- *
756
- * @param string action
757
- * @return void
758
- */
759
-
760
- var addGlobalFieldAction = function( action ){
761
-
762
- // vars
763
- var globalAction = action;
764
- var pluralAction = action + '_fields'; // ready_fields
765
- var singleAction = action + '_field'; // ready_field
766
-
767
- // global action
768
- var globalCallback = function( $el /*, arg1, arg2, etc*/ ){
769
- //console.log( action, arguments );
770
-
771
- // get args [$el, ...]
772
- var args = acf.arrayArgs( arguments );
773
- var extraArgs = args.slice(1);
774
-
775
- // find fields
776
- var fields = acf.getFields({ parent: $el });
777
-
778
- // check
779
- if( fields.length ) {
780
-
781
- // pluralAction
782
- var pluralArgs = [ pluralAction, fields ].concat( extraArgs );
783
- acf.doAction.apply(null, pluralArgs);
784
- }
785
- };
786
-
787
- // plural action
788
- var pluralCallback = function( fields /*, arg1, arg2, etc*/ ){
789
- //console.log( pluralAction, arguments );
790
-
791
- // get args [fields, ...]
792
- var args = acf.arrayArgs( arguments );
793
- var extraArgs = args.slice(1);
794
-
795
- // loop
796
- fields.map(function( field, i ){
797
- //setTimeout(function(){
798
- // singleAction
799
- var singleArgs = [ singleAction, field ].concat( extraArgs );
800
- acf.doAction.apply(null, singleArgs);
801
- //}, i * 100);
802
- });
803
- };
804
-
805
- // add actions
806
- acf.addAction(globalAction, globalCallback);
807
- acf.addAction(pluralAction, pluralCallback);
808
-
809
- // also add single action
810
- addSingleFieldAction( action );
811
- }
812
-
813
- /**
814
- * addSingleFieldAction
815
- *
816
- * Sets up callback logic for single field actions
817
- *
818
- * @date 15/6/18
819
- * @since 5.6.9
820
- *
821
- * @param string action
822
- * @return void
823
- */
824
-
825
- var addSingleFieldAction = function( action ){
826
-
827
- // vars
828
- var singleAction = action + '_field'; // ready_field
829
- var singleEvent = action + 'Field'; // readyField
830
-
831
- // single action
832
- var singleCallback = function( field /*, arg1, arg2, etc*/ ){
833
- //console.log( singleAction, arguments );
834
-
835
- // get args [field, ...]
836
- var args = acf.arrayArgs( arguments );
837
- var extraArgs = args.slice(1);
838
-
839
- // action variations (ready_field/type=image)
840
- var variations = ['type', 'name', 'key'];
841
- variations.map(function( variation ){
842
-
843
- // vars
844
- var prefix = '/' + variation + '=' + field.get(variation);
845
-
846
- // singleAction
847
- args = [ singleAction + prefix , field ].concat( extraArgs );
848
- acf.doAction.apply(null, args);
849
- });
850
-
851
- // event
852
- if( singleFieldEvents.indexOf(action) > -1 ) {
853
- field.trigger(singleEvent, extraArgs);
854
- }
855
- };
856
-
857
- // add actions
858
- acf.addAction(singleAction, singleCallback);
859
- }
860
-
861
- // vars
862
- var globalFieldActions = [ 'prepare', 'ready', 'load', 'append', 'remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload' ];
863
- var singleFieldActions = [ 'valid', 'invalid', 'enable', 'disable', 'new', 'duplicate' ];
864
- var singleFieldEvents = [ 'remove', 'unmount', 'remount', 'sortstart', 'sortstop', 'show', 'hide', 'unload', 'valid', 'invalid', 'enable', 'disable', 'duplicate' ];
865
-
866
- // add
867
- globalFieldActions.map( addGlobalFieldAction );
868
- singleFieldActions.map( addSingleFieldAction );
869
-
870
- /**
871
- * fieldsEventManager
872
- *
873
- * Manages field actions and events
874
- *
875
- * @date 15/12/17
876
- * @since 5.6.5
877
- *
878
- * @param void
879
- * @param void
880
- */
881
-
882
- var fieldsEventManager = new acf.Model({
883
- id: 'fieldsEventManager',
884
- events: {
885
- 'click .acf-field a[href="#"]': 'onClick',
886
- 'change .acf-field': 'onChange'
887
- },
888
- onClick: function( e ){
889
-
890
- // prevent default of any link with an href of #
891
- e.preventDefault();
892
- },
893
- onChange: function(){
894
-
895
- // preview hack allows post to save with no title or content
896
- $('#_acf_changed').val(1);
897
- }
898
- });
899
-
900
- var duplicateFieldsManager = new acf.Model({
901
- id: 'duplicateFieldsManager',
902
- actions: {
903
- 'duplicate': 'onDuplicate',
904
- 'duplicate_fields': 'onDuplicateFields',
905
- },
906
- onDuplicate: function( $el, $el2 ){
907
- var fields = acf.getFields({ parent: $el });
908
- if( fields.length ) {
909
- var $fields = acf.findFields({ parent: $el2 });
910
- acf.doAction( 'duplicate_fields', fields, $fields );
911
- }
912
- },
913
- onDuplicateFields: function( fields, duplicates ){
914
- fields.map(function( field, i ){
915
- acf.doAction( 'duplicate_field', field, $(duplicates[i]) );
916
- });
917
- }
918
- });
919
-
920
- })(jQuery);
921
- (function($, undefined){
922
-
923
- var i = 0;
924
-
925
- var Field = acf.Field.extend({
926
-
927
- type: 'accordion',
928
-
929
- wait: '',
930
-
931
- $control: function(){
932
- return this.$('.acf-fields:first');
933
- },
934
-
935
- initialize: function(){
936
-
937
- // Bail early if this is a duplicate of an existing initialized accordion.
938
- if( this.$el.hasClass('acf-accordion') ) {
939
- return;
940
- }
941
-
942
- // bail early if is cell
943
- if( this.$el.is('td') ) return;
944
-
945
- // enpoint
946
- if( this.get('endpoint') ) {
947
- return this.remove();
948
- }
949
-
950
- // vars
951
- var $field = this.$el;
952
- var $label = this.$labelWrap()
953
- var $input = this.$inputWrap();
954
- var $wrap = this.$control();
955
- var $instructions = $input.children('.description');
956
-
957
- // force description into label
958
- if( $instructions.length ) {
959
- $label.append( $instructions );
960
- }
961
-
962
- // table
963
- if( this.$el.is('tr') ) {
964
-
965
- // vars
966
- var $table = this.$el.closest('table');
967
- var $newLabel = $('<div class="acf-accordion-title"/>');
968
- var $newInput = $('<div class="acf-accordion-content"/>');
969
- var $newTable = $('<table class="' + $table.attr('class') + '"/>');
970
- var $newWrap = $('<tbody/>');
971
-
972
- // dom
973
- $newLabel.append( $label.html() );
974
- $newTable.append( $newWrap );
975
- $newInput.append( $newTable );
976
- $input.append( $newLabel );
977
- $input.append( $newInput );
978
-
979
- // modify
980
- $label.remove();
981
- $wrap.remove();
982
- $input.attr('colspan', 2);
983
-
984
- // update vars
985
- $label = $newLabel;
986
- $input = $newInput;
987
- $wrap = $newWrap;
988
- }
989
-
990
- // add classes
991
- $field.addClass('acf-accordion');
992
- $label.addClass('acf-accordion-title');
993
- $input.addClass('acf-accordion-content');
994
-
995
- // index
996
- i++;
997
-
998
- // multi-expand
999
- if( this.get('multi_expand') ) {
1000
- $field.attr('multi-expand', 1);
1001
- }
1002
-
1003
- // open
1004
- var order = acf.getPreference('this.accordions') || [];
1005
- if( order[i-1] !== undefined ) {
1006
- this.set('open', order[i-1]);
1007
- }
1008
-
1009
- if( this.get('open') ) {
1010
- $field.addClass('-open');
1011
- $input.css('display', 'block'); // needed for accordion to close smoothly
1012
- }
1013
-
1014
- // add icon
1015
- $label.prepend( accordionManager.iconHtml({ open: this.get('open') }) );
1016
-
1017
- // classes
1018
- // - remove 'inside' which is a #poststuff WP class
1019
- var $parent = $field.parent();
1020
- $wrap.addClass( $parent.hasClass('-left') ? '-left' : '' );
1021
- $wrap.addClass( $parent.hasClass('-clear') ? '-clear' : '' );
1022
-
1023
- // append
1024
- $wrap.append( $field.nextUntil('.acf-field-accordion', '.acf-field') );
1025
-
1026
- // clean up
1027
- $wrap.removeAttr('data-open data-multi_expand data-endpoint');
1028
- },
1029
-
1030
- });
1031
-
1032
- acf.registerFieldType( Field );
1033
-
1034
-
1035
- /**
1036
- * accordionManager
1037
- *
1038
- * Events manager for the acf accordion
1039
- *
1040
- * @date 14/2/18
1041
- * @since 5.6.9
1042
- *
1043
- * @param void
1044
- * @return void
1045
- */
1046
-
1047
- var accordionManager = new acf.Model({
1048
-
1049
- actions: {
1050
- 'unload': 'onUnload'
1051
- },
1052
-
1053
- events: {
1054
- 'click .acf-accordion-title': 'onClick',
1055
- 'invalidField .acf-accordion': 'onInvalidField'
1056
- },
1057
-
1058
- isOpen: function( $el ) {
1059
- return $el.hasClass('-open');
1060
- },
1061
-
1062
- toggle: function( $el ){
1063
- if( this.isOpen($el) ) {
1064
- this.close( $el );
1065
- } else {
1066
- this.open( $el );
1067
- }
1068
- },
1069
-
1070
- iconHtml: function( props ){
1071
-
1072
- // Use SVG inside Gutenberg editor.
1073
- if( acf.isGutenberg() ) {
1074
- if( props.open ) {
1075
- return '<svg class="acf-accordion-icon" width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true" focusable="false"><g><path fill="none" d="M0,0h24v24H0V0z"></path></g><g><path d="M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z"></path></g></svg>';
1076
- } else {
1077
- return '<svg class="acf-accordion-icon" width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true" focusable="false"><g><path fill="none" d="M0,0h24v24H0V0z"></path></g><g><path d="M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"></path></g></svg>';
1078
- }
1079
- } else {
1080
- if( props.open ) {
1081
- return '<i class="acf-accordion-icon dashicons dashicons-arrow-down"></i>';
1082
- } else {
1083
- return '<i class="acf-accordion-icon dashicons dashicons-arrow-right"></i>';
1084
- }
1085
- }
1086
- },
1087
-
1088
- open: function( $el ){
1089
- var duration = acf.isGutenberg() ? 0 : 300;
1090
-
1091
- // open
1092
- $el.find('.acf-accordion-content:first').slideDown( duration ).css('display', 'block');
1093
- $el.find('.acf-accordion-icon:first').replaceWith( this.iconHtml({ open: true }) );
1094
- $el.addClass('-open');
1095
-
1096
- // action
1097
- acf.doAction('show', $el);
1098
-
1099
- // close siblings
1100
- if( !$el.attr('multi-expand') ) {
1101
- $el.siblings('.acf-accordion.-open').each(function(){
1102
- accordionManager.close( $(this) );
1103
- });
1104
- }
1105
- },
1106
-
1107
- close: function( $el ){
1108
- var duration = acf.isGutenberg() ? 0 : 300;
1109
-
1110
- // close
1111
- $el.find('.acf-accordion-content:first').slideUp( duration );
1112
- $el.find('.acf-accordion-icon:first').replaceWith( this.iconHtml({ open: false }) );
1113
- $el.removeClass('-open');
1114
-
1115
- // action
1116
- acf.doAction('hide', $el);
1117
- },
1118
-
1119
- onClick: function( e, $el ){
1120
-
1121
- // prevent Defailt
1122
- e.preventDefault();
1123
-
1124
- // open close
1125
- this.toggle( $el.parent() );
1126
-
1127
- },
1128
-
1129
- onInvalidField: function( e, $el ){
1130
-
1131
- // bail early if already focused
1132
- if( this.busy ) {
1133
- return;
1134
- }
1135
-
1136
- // disable functionality for 1sec (allow next validation to work)
1137
- this.busy = true;
1138
- this.setTimeout(function(){
1139
- this.busy = false;
1140
- }, 1000);
1141
-
1142
- // open accordion
1143
- this.open( $el );
1144
- },
1145
-
1146
- onUnload: function( e ){
1147
-
1148
- // vars
1149
- var order = [];
1150
-
1151
- // loop
1152
- $('.acf-accordion').each(function(){
1153
- var open = $(this).hasClass('-open') ? 1 : 0;
1154
- order.push(open);
1155
- });
1156
-
1157
- // set
1158
- if( order.length ) {
1159
- acf.setPreference('this.accordions', order);
1160
- }
1161
- }
1162
- });
1163
 
1164
- })(jQuery);
1165
- (function($, undefined){
1166
-
1167
- var Field = acf.Field.extend({
1168
-
1169
- type: 'button_group',
1170
-
1171
- events: {
1172
- 'click input[type="radio"]': 'onClick'
1173
- },
1174
-
1175
- $control: function(){
1176
- return this.$('.acf-button-group');
1177
- },
1178
-
1179
- $input: function(){
1180
- return this.$('input:checked');
1181
- },
1182
-
1183
- setValue: function( val ){
1184
- this.$('input[value="' + val + '"]').prop('checked', true).trigger('change');
1185
- },
1186
-
1187
- onClick: function( e, $el ){
1188
-
1189
- // vars
1190
- var $label = $el.parent('label');
1191
- var selected = $label.hasClass('selected');
1192
-
1193
- // remove previous selected
1194
- this.$('.selected').removeClass('selected');
1195
-
1196
- // add active class
1197
- $label.addClass('selected');
1198
-
1199
- // allow null
1200
- if( this.get('allow_null') && selected ) {
1201
- $label.removeClass('selected');
1202
- $el.prop('checked', false).trigger('change');
1203
- }
1204
- }
1205
- });
1206
-
1207
- acf.registerFieldType( Field );
1208
 
1209
- })(jQuery);
1210
- (function($, undefined){
1211
-
1212
- var Field = acf.Field.extend({
1213
-
1214
- type: 'checkbox',
1215
-
1216
- events: {
1217
- 'change input': 'onChange',
1218
- 'click .acf-add-checkbox': 'onClickAdd',
1219
- 'click .acf-checkbox-toggle': 'onClickToggle',
1220
- 'click .acf-checkbox-custom': 'onClickCustom'
1221
- },
1222
-
1223
- $control: function(){
1224
- return this.$('.acf-checkbox-list');
1225
- },
1226
-
1227
- $toggle: function(){
1228
- return this.$('.acf-checkbox-toggle');
1229
- },
1230
-
1231
- $input: function(){
1232
- return this.$('input[type="hidden"]');
1233
- },
1234
-
1235
- $inputs: function(){
1236
- return this.$('input[type="checkbox"]').not('.acf-checkbox-toggle');
1237
- },
1238
-
1239
- getValue: function(){
1240
- var val = [];
1241
- this.$(':checked').each(function(){
1242
- val.push( $(this).val() );
1243
- });
1244
- return val.length ? val : false;
1245
- },
1246
-
1247
- onChange: function( e, $el ){
1248
-
1249
- // Vars.
1250
- var checked = $el.prop('checked');
1251
- var $label = $el.parent('label');
1252
- var $toggle = this.$toggle();
1253
-
1254
- // Add or remove "selected" class.
1255
- if( checked ) {
1256
- $label.addClass('selected');
1257
- } else {
1258
- $label.removeClass('selected');
1259
- }
1260
-
1261
- // Update toggle state if all inputs are checked.
1262
- if( $toggle.length ) {
1263
- var $inputs = this.$inputs();
1264
-
1265
- // all checked
1266
- if( $inputs.not(':checked').length == 0 ) {
1267
- $toggle.prop('checked', true);
1268
- } else {
1269
- $toggle.prop('checked', false);
1270
- }
1271
- }
1272
- },
1273
-
1274
- onClickAdd: function( e, $el ){
1275
- var html = '<li><input class="acf-checkbox-custom" type="checkbox" checked="checked" /><input type="text" name="' + this.getInputName() + '[]" /></li>';
1276
- $el.parent('li').before( html );
1277
- },
1278
-
1279
- onClickToggle: function( e, $el ){
1280
-
1281
- // Vars.
1282
- var checked = $el.prop('checked');
1283
- var $inputs = this.$('input[type="checkbox"]');
1284
- var $labels = this.$('label');
1285
-
1286
- // Update "checked" state.
1287
- $inputs.prop('checked', checked);
1288
-
1289
- // Add or remove "selected" class.
1290
- if( checked ) {
1291
- $labels.addClass('selected');
1292
- } else {
1293
- $labels.removeClass('selected');
1294
- }
1295
- },
1296
-
1297
- onClickCustom: function( e, $el ){
1298
- var checked = $el.prop('checked');
1299
- var $text = $el.next('input[type="text"]');
1300
-
1301
- // checked
1302
- if( checked ) {
1303
- $text.prop('disabled', false);
1304
-
1305
- // not checked
1306
- } else {
1307
- $text.prop('disabled', true);
1308
-
1309
- // remove
1310
- if( $text.val() == '' ) {
1311
- $el.parent('li').remove();
1312
- }
1313
- }
1314
- }
1315
- });
1316
-
1317
- acf.registerFieldType( Field );
1318
-
1319
- })(jQuery);
1320
- (function($, undefined){
1321
-
1322
- var Field = acf.Field.extend({
1323
-
1324
- type: 'color_picker',
1325
-
1326
- wait: 'load',
1327
-
1328
- events: {
1329
- 'duplicateField': 'onDuplicate'
1330
- },
1331
-
1332
- $control: function(){
1333
- return this.$('.acf-color-picker');
1334
- },
1335
-
1336
- $input: function(){
1337
- return this.$('input[type="hidden"]');
1338
- },
1339
-
1340
- $inputText: function(){
1341
- return this.$('input[type="text"]');
1342
- },
1343
-
1344
- setValue: function( val ){
1345
-
1346
- // update input (with change)
1347
- acf.val( this.$input(), val );
1348
-
1349
- // update iris
1350
- this.$inputText().iris('color', val);
1351
- },
1352
-
1353
- initialize: function(){
1354
-
1355
- // vars
1356
- var $input = this.$input();
1357
- var $inputText = this.$inputText();
1358
-
1359
- // event
1360
- var onChange = function( e ){
1361
-
1362
- // timeout is required to ensure the $input val is correct
1363
- setTimeout(function(){
1364
- acf.val( $input, $inputText.val() );
1365
- }, 1);
1366
- }
1367
-
1368
- // args
1369
- var args = {
1370
- defaultColor: false,
1371
- palettes: true,
1372
- hide: true,
1373
- change: onChange,
1374
- clear: onChange
1375
- };
1376
-
1377
- // filter
1378
- var args = acf.applyFilters('color_picker_args', args, this);
1379
-
1380
- // initialize
1381
- $inputText.wpColorPicker( args );
1382
- },
1383
-
1384
- onDuplicate: function( e, $el, $duplicate ){
1385
-
1386
- // The wpColorPicker library does not provide a destroy method.
1387
- // Manually reset DOM by replacing elements back to their original state.
1388
- $colorPicker = $duplicate.find('.wp-picker-container');
1389
- $inputText = $duplicate.find('input[type="text"]');
1390
- $colorPicker.replaceWith( $inputText );
1391
- }
1392
- });
1393
-
1394
- acf.registerFieldType( Field );
1395
-
1396
- })(jQuery);
1397
- (function($, undefined){
1398
-
1399
- var Field = acf.Field.extend({
1400
-
1401
- type: 'date_picker',
1402
-
1403
- events: {
1404
- 'blur input[type="text"]': 'onBlur',
1405
- 'duplicateField': 'onDuplicate'
1406
- },
1407
-
1408
- $control: function(){
1409
- return this.$('.acf-date-picker');
1410
- },
1411
-
1412
- $input: function(){
1413
- return this.$('input[type="hidden"]');
1414
- },
1415
-
1416
- $inputText: function(){
1417
- return this.$('input[type="text"]');
1418
- },
1419
-
1420
- initialize: function(){
1421
-
1422
- // save_format: compatibility with ACF < 5.0.0
1423
- if( this.has('save_format') ) {
1424
- return this.initializeCompatibility();
1425
- }
1426
-
1427
- // vars
1428
- var $input = this.$input();
1429
- var $inputText = this.$inputText();
1430
-
1431
- // args
1432
- var args = {
1433
- dateFormat: this.get('date_format'),
1434
- altField: $input,
1435
- altFormat: 'yymmdd',
1436
- changeYear: true,
1437
- yearRange: "-100:+100",
1438
- changeMonth: true,
1439
- showButtonPanel: true,
1440
- firstDay: this.get('first_day')
1441
- };
1442
-
1443
- // filter
1444
- args = acf.applyFilters('date_picker_args', args, this);
1445
-
1446
- // add date picker
1447
- acf.newDatePicker( $inputText, args );
1448
-
1449
- // action
1450
- acf.doAction('date_picker_init', $inputText, args, this);
1451
-
1452
- },
1453
-
1454
- initializeCompatibility: function(){
1455
-
1456
- // vars
1457
- var $input = this.$input();
1458
- var $inputText = this.$inputText();
1459
-
1460
- // get and set value from alt field
1461
- $inputText.val( $input.val() );
1462
-
1463
- // args
1464
- var args = {
1465
- dateFormat: this.get('date_format'),
1466
- altField: $input,
1467
- altFormat: this.get('save_format'),
1468
- changeYear: true,
1469
- yearRange: "-100:+100",
1470
- changeMonth: true,
1471
- showButtonPanel: true,
1472
- firstDay: this.get('first_day')
1473
- };
1474
-
1475
- // filter for 3rd party customization
1476
- args = acf.applyFilters('date_picker_args', args, this);
1477
-
1478
- // backup
1479
- var dateFormat = args.dateFormat;
1480
-
1481
- // change args.dateFormat
1482
- args.dateFormat = this.get('save_format');
1483
-
1484
- // add date picker
1485
- acf.newDatePicker( $inputText, args );
1486
-
1487
- // now change the format back to how it should be.
1488
- $inputText.datepicker( 'option', 'dateFormat', dateFormat );
1489
-
1490
- // action for 3rd party customization
1491
- acf.doAction('date_picker_init', $inputText, args, this);
1492
- },
1493
-
1494
- onBlur: function(){
1495
- if( !this.$inputText().val() ) {
1496
- acf.val( this.$input(), '' );
1497
- }
1498
- },
1499
-
1500
- onDuplicate: function( e, $el, $duplicate ){
1501
- $duplicate.find('input[type="text"]').removeClass('hasDatepicker').removeAttr('id');
1502
- }
1503
- });
1504
-
1505
- acf.registerFieldType( Field );
1506
-
1507
-
1508
- // manager
1509
- var datePickerManager = new acf.Model({
1510
- priority: 5,
1511
- wait: 'ready',
1512
- initialize: function(){
1513
-
1514
- // vars
1515
- var locale = acf.get('locale');
1516
- var rtl = acf.get('rtl');
1517
- var l10n = acf.get('datePickerL10n');
1518
-
1519
- // bail ealry if no l10n
1520
- if( !l10n ) {
1521
- return false;
1522
- }
1523
-
1524
- // bail ealry if no datepicker library
1525
- if( typeof $.datepicker === 'undefined' ) {
1526
- return false;
1527
- }
1528
-
1529
- // rtl
1530
- l10n.isRTL = rtl;
1531
-
1532
- // append
1533
- $.datepicker.regional[ locale ] = l10n;
1534
- $.datepicker.setDefaults(l10n);
1535
- }
1536
- });
1537
-
1538
- // add
1539
- acf.newDatePicker = function( $input, args ){
1540
-
1541
- // bail ealry if no datepicker library
1542
- if( typeof $.datepicker === 'undefined' ) {
1543
- return false;
1544
- }
1545
-
1546
- // defaults
1547
- args = args || {};
1548
-
1549
- // initialize
1550
- $input.datepicker( args );
1551
-
1552
- // wrap the datepicker (only if it hasn't already been wrapped)
1553
- if( $('body > #ui-datepicker-div').exists() ) {
1554
- $('body > #ui-datepicker-div').wrap('<div class="acf-ui-datepicker" />');
1555
- }
1556
- };
1557
-
1558
- })(jQuery);
1559
- (function($, undefined){
1560
-
1561
- var Field = acf.models.DatePickerField.extend({
1562
-
1563
- type: 'date_time_picker',
1564
-
1565
- $control: function(){
1566
- return this.$('.acf-date-time-picker');
1567
- },
1568
-
1569
- initialize: function(){
1570
-
1571
- // vars
1572
- var $input = this.$input();
1573
- var $inputText = this.$inputText();
1574
-
1575
- // args
1576
- var args = {
1577
- dateFormat: this.get('date_format'),
1578
- timeFormat: this.get('time_format'),
1579
- altField: $input,
1580
- altFieldTimeOnly: false,
1581
- altFormat: 'yy-mm-dd',
1582
- altTimeFormat: 'HH:mm:ss',
1583
- changeYear: true,
1584
- yearRange: "-100:+100",
1585
- changeMonth: true,
1586
- showButtonPanel: true,
1587
- firstDay: this.get('first_day'),
1588
- controlType: 'select',
1589
- oneLine: true
1590
- };
1591
-
1592
- // filter
1593
- args = acf.applyFilters('date_time_picker_args', args, this);
1594
-
1595
- // add date time picker
1596
- acf.newDateTimePicker( $inputText, args );
1597
-
1598
- // action
1599
- acf.doAction('date_time_picker_init', $inputText, args, this);
1600
- }
1601
- });
1602
-
1603
- acf.registerFieldType( Field );
1604
-
1605
-
1606
- // manager
1607
- var dateTimePickerManager = new acf.Model({
1608
- priority: 5,
1609
- wait: 'ready',
1610
- initialize: function(){
1611
-
1612
- // vars
1613
- var locale = acf.get('locale');
1614
- var rtl = acf.get('rtl');
1615
- var l10n = acf.get('dateTimePickerL10n');
1616
-
1617
- // bail ealry if no l10n
1618
- if( !l10n ) {
1619
- return false;
1620
- }
1621
-
1622
- // bail ealry if no datepicker library
1623
- if( typeof $.timepicker === 'undefined' ) {
1624
- return false;
1625
- }
1626
-
1627
- // rtl
1628
- l10n.isRTL = rtl;
1629
-
1630
- // append
1631
- $.timepicker.regional[ locale ] = l10n;
1632
- $.timepicker.setDefaults(l10n);
1633
- }
1634
- });
1635
-
1636
-
1637
- // add
1638
- acf.newDateTimePicker = function( $input, args ){
1639
-
1640
- // bail ealry if no datepicker library
1641
- if( typeof $.timepicker === 'undefined' ) {
1642
- return false;
1643
- }
1644
-
1645
- // defaults
1646
- args = args || {};
1647
-
1648
- // initialize
1649
- $input.datetimepicker( args );
1650
-
1651
- // wrap the datepicker (only if it hasn't already been wrapped)
1652
- if( $('body > #ui-datepicker-div').exists() ) {
1653
- $('body > #ui-datepicker-div').wrap('<div class="acf-ui-datepicker" />');
1654
- }
1655
- };
1656
-
1657
- })(jQuery);
1658
- (function($, undefined){
1659
-
1660
- var Field = acf.Field.extend({
1661
-
1662
- type: 'google_map',
1663
-
1664
- map: false,
1665
-
1666
- wait: 'load',
1667
-
1668
- events: {
1669
- 'click a[data-name="clear"]': 'onClickClear',
1670
- 'click a[data-name="locate"]': 'onClickLocate',
1671
- 'click a[data-name="search"]': 'onClickSearch',
1672
- 'keydown .search': 'onKeydownSearch',
1673
- 'keyup .search': 'onKeyupSearch',
1674
- 'focus .search': 'onFocusSearch',
1675
- 'blur .search': 'onBlurSearch',
1676
- 'showField': 'onShow',
1677
- },
1678
-
1679
- $control: function(){
1680
- return this.$('.acf-google-map');
1681
- },
1682
-
1683
- $search: function(){
1684
- return this.$('.search');
1685
- },
1686
-
1687
- $canvas: function(){
1688
- return this.$('.canvas');
1689
- },
1690
-
1691
- setState: function( state ){
1692
-
1693
- // Remove previous state classes.
1694
- this.$control().removeClass( '-value -loading -searching' );
1695
-
1696
- // Determine auto state based of current value.
1697
- if( state === 'default' ) {
1698
- state = this.val() ? 'value' : '';
1699
- }
1700
-
1701
- // Update state class.
1702
- if( state ) {
1703
- this.$control().addClass( '-' + state );
1704
- }
1705
- },
1706
-
1707
- getValue: function(){
1708
- var val = this.$input().val();
1709
- if( val ) {
1710
- return JSON.parse( val )
1711
- } else {
1712
- return false;
1713
- }
1714
- },
1715
-
1716
- setValue: function( val, silent ){
1717
-
1718
- // Convert input value.
1719
- var valAttr = '';
1720
- if( val ) {
1721
- valAttr = JSON.stringify( val );
1722
- }
1723
-
1724
- // Update input (with change).
1725
- acf.val( this.$input(), valAttr );
1726
-
1727
- // Bail early if silent update.
1728
- if( silent ) {
1729
- return;
1730
- }
1731
-
1732
- // Render.
1733
- this.renderVal( val );
1734
-
1735
- /**
1736
- * Fires immediately after the value has changed.
1737
- *
1738
- * @date 12/02/2014
1739
- * @since 5.0.0
1740
- *
1741
- * @param object|string val The new value.
1742
- * @param object map The Google Map isntance.
1743
- * @param object field The field instance.
1744
- */
1745
- acf.doAction('google_map_change', val, this.map, this);
1746
- },
1747
-
1748
- renderVal: function( val ){
1749
-
1750
- // Value.
1751
- if( val ) {
1752
- this.setState( 'value' );
1753
- this.$search().val( val.address );
1754
- this.setPosition( val.lat, val.lng );
1755
-
1756
- // No value.
1757
- } else {
1758
- this.setState( '' );
1759
- this.$search().val( '' );
1760
- this.map.marker.setVisible( false );
1761
- }
1762
- },
1763
-
1764
- newLatLng: function( lat, lng ){
1765
- return new google.maps.LatLng( parseFloat(lat), parseFloat(lng) );
1766
- },
1767
-
1768
- setPosition: function( lat, lng ){
1769
-
1770
- // Update marker position.
1771
- this.map.marker.setPosition({
1772
- lat: parseFloat(lat),
1773
- lng: parseFloat(lng)
1774
- });
1775
-
1776
- // Show marker.
1777
- this.map.marker.setVisible( true );
1778
-
1779
- // Center map.
1780
- this.center();
1781
- },
1782
-
1783
- center: function(){
1784
-
1785
- // Find marker position.
1786
- var position = this.map.marker.getPosition();
1787
- if( position ) {
1788
- var lat = position.lat();
1789
- var lng = position.lng();
1790
-
1791
- // Or find default settings.
1792
- } else {
1793
- var lat = this.get('lat');
1794
- var lng = this.get('lng');
1795
- }
1796
-
1797
- // Center map.
1798
- this.map.setCenter({
1799
- lat: parseFloat(lat),
1800
- lng: parseFloat(lng)
1801
- });
1802
- },
1803
-
1804
- initialize: function(){
1805
-
1806
- // Ensure Google API is loaded and then initialize map.
1807
- withAPI( this.initializeMap.bind(this) );
1808
- },
1809
-
1810
- initializeMap: function(){
1811
-
1812
- // Get value ignoring conditional logic status.
1813
- var val = this.getValue();
1814
-
1815
- // Construct default args.
1816
- var args = acf.parseArgs(val, {
1817
- zoom: this.get('zoom'),
1818
- lat: this.get('lat'),
1819
- lng: this.get('lng')
1820
- });
1821
-
1822
- // Create Map.
1823
- var mapArgs = {
1824
- scrollwheel: false,
1825
- zoom: parseInt( args.zoom ),
1826
- center: {
1827
- lat: parseFloat( args.lat ),
1828
- lng: parseFloat( args.lng )
1829
- },
1830
- mapTypeId: google.maps.MapTypeId.ROADMAP,
1831
- marker: {
1832
- draggable: true,
1833
- raiseOnDrag: true
1834
- },
1835
- autocomplete: {}
1836
- };
1837
- mapArgs = acf.applyFilters('google_map_args', mapArgs, this);
1838
- var map = new google.maps.Map( this.$canvas()[0], mapArgs );
1839
-
1840
- // Create Marker.
1841
- var markerArgs = acf.parseArgs(mapArgs.marker, {
1842
- draggable: true,
1843
- raiseOnDrag: true,
1844
- map: map
1845
- });
1846
- markerArgs = acf.applyFilters('google_map_marker_args', markerArgs, this);
1847
- var marker = new google.maps.Marker( markerArgs );
1848
-
1849
- // Maybe Create Autocomplete.
1850
- var autocomplete = false;
1851
- if( acf.isset(google, 'maps', 'places', 'Autocomplete') ) {
1852
- var autocompleteArgs = mapArgs.autocomplete || {};
1853
- autocompleteArgs = acf.applyFilters('google_map_autocomplete_args', autocompleteArgs, this);
1854
- autocomplete = new google.maps.places.Autocomplete( this.$search()[0], autocompleteArgs );
1855
- autocomplete.bindTo('bounds', map);
1856
- }
1857
-
1858
- // Add map events.
1859
- this.addMapEvents( this, map, marker, autocomplete );
1860
-
1861
- // Append references.
1862
- map.acf = this;
1863
- map.marker = marker;
1864
- map.autocomplete = autocomplete;
1865
- this.map = map;
1866
-
1867
- // Set position.
1868
- if( val ) {
1869
- this.setPosition( val.lat, val.lng );
1870
- }
1871
-
1872
- /**
1873
- * Fires immediately after the Google Map has been initialized.
1874
- *
1875
- * @date 12/02/2014
1876
- * @since 5.0.0
1877
- *
1878
- * @param object map The Google Map isntance.
1879
- * @param object marker The Google Map marker isntance.
1880
- * @param object field The field instance.
1881
- */
1882
- acf.doAction('google_map_init', map, marker, this);
1883
- },
1884
-
1885
- addMapEvents: function( field, map, marker, autocomplete ){
1886
-
1887
- // Click map.
1888
- google.maps.event.addListener( map, 'click', function( e ) {
1889
- var lat = e.latLng.lat();
1890
- var lng = e.latLng.lng();
1891
- field.searchPosition( lat, lng );
1892
- });
1893
-
1894
- // Drag marker.
1895
- google.maps.event.addListener( marker, 'dragend', function(){
1896
- var lat = this.getPosition().lat();
1897
- var lng = this.getPosition().lng();
1898
- field.searchPosition( lat, lng );
1899
- });
1900
-
1901
- // Autocomplete search.
1902
- if( autocomplete ) {
1903
- google.maps.event.addListener(autocomplete, 'place_changed', function() {
1904
- var place = this.getPlace();
1905
- field.searchPlace( place );
1906
- });
1907
- }
1908
-
1909
- // Detect zoom change.
1910
- google.maps.event.addListener( map, 'zoom_changed', function(){
1911
- var val = field.val();
1912
- if( val ) {
1913
- val.zoom = map.getZoom();
1914
- field.setValue( val, true );
1915
- }
1916
- });
1917
- },
1918
-
1919
- searchPosition: function( lat, lng ){
1920
- //console.log('searchPosition', lat, lng );
1921
-
1922
- // Start Loading.
1923
- this.setState( 'loading' );
1924
-
1925
- // Query Geocoder.
1926
- var latLng = { lat: lat, lng: lng };
1927
- geocoder.geocode({ location: latLng }, function( results, status ){
1928
- //console.log('searchPosition', arguments );
1929
-
1930
- // End Loading.
1931
- this.setState( '' );
1932
-
1933
- // Status failure.
1934
- if( status !== 'OK' ) {
1935
- this.showNotice({
1936
- text: acf.__('Location not found: %s').replace('%s', status),
1937
- type: 'warning'
1938
- });
1939
-
1940
- // Success.
1941
- } else {
1942
- var val = this.parseResult( results[0] );
1943
-
1944
- // Override lat/lng to match user defined marker location.
1945
- // Avoids issue where marker "snaps" to nearest result.
1946
- val.lat = lat;
1947
- val.lng = lng;
1948
- this.val( val );
1949
- }
1950
-
1951
- }.bind( this ));
1952
- },
1953
-
1954
- searchPlace: function( place ){
1955
- //console.log('searchPlace', place );
1956
-
1957
- // Bail early if no place.
1958
- if( !place ) {
1959
- return;
1960
- }
1961
-
1962
- // Selecting from the autocomplete dropdown will return a rich PlaceResult object.
1963
- // Be sure to over-write the "formatted_address" value with the one displayed to the user for best UX.
1964
- if( place.geometry ) {
1965
- place.formatted_address = this.$search().val();
1966
- var val = this.parseResult( place );
1967
- this.val( val );
1968
-
1969
- // Searching a custom address will return an empty PlaceResult object.
1970
- } else if( place.name ) {
1971
- this.searchAddress( place.name );
1972
- }
1973
- },
1974
-
1975
- searchAddress: function( address ){
1976
- //console.log('searchAddress', address );
1977
-
1978
- // Bail early if no address.
1979
- if( !address ) {
1980
- return;
1981
- }
1982
-
1983
- // Allow "lat,lng" search.
1984
- var latLng = address.split(',');
1985
- if( latLng.length == 2 ) {
1986
- var lat = parseFloat(latLng[0]);
1987
- var lng = parseFloat(latLng[1]);
1988
- if( lat && lng ) {
1989
- return this.searchPosition( lat, lng );
1990
- }
1991
- }
1992
-
1993
- // Start Loading.
1994
- this.setState( 'loading' );
1995
-
1996
- // Query Geocoder.
1997
- geocoder.geocode({ address: address }, function( results, status ){
1998
- //console.log('searchPosition', arguments );
1999
-
2000
- // End Loading.
2001
- this.setState( '' );
2002
-
2003
- // Status failure.
2004
- if( status !== 'OK' ) {
2005
- this.showNotice({
2006
- text: acf.__('Location not found: %s').replace('%s', status),
2007
- type: 'warning'
2008
- });
2009
-
2010
- // Success.
2011
- } else {
2012
- var val = this.parseResult( results[0] );
2013
-
2014
- // Override address data with parameter allowing custom address to be defined in search.
2015
- val.address = address;
2016
-
2017
- // Update value.
2018
- this.val( val );
2019
- }
2020
-
2021
- }.bind( this ));
2022
- },
2023
-
2024
- searchLocation: function(){
2025
- //console.log('searchLocation' );
2026
-
2027
- // Check HTML5 geolocation.
2028
- if( !navigator.geolocation ) {
2029
- return alert( acf.__('Sorry, this browser does not support geolocation') );
2030
- }
2031
-
2032
- // Start Loading.
2033
- this.setState( 'loading' );
2034
-
2035
- // Query Geolocation.
2036
- navigator.geolocation.getCurrentPosition(
2037
-
2038
- // Success.
2039
- function( results ){
2040
-
2041
- // End Loading.
2042
- this.setState( '' );
2043
-
2044
- // Search position.
2045
- var lat = results.coords.latitude;
2046
- var lng = results.coords.longitude;
2047
- this.searchPosition( lat, lng );
2048
-
2049
- }.bind(this),
2050
-
2051
- // Failure.
2052
- function( error ){
2053
- this.setState( '' );
2054
- }.bind(this)
2055
- );
2056
- },
2057
-
2058
- /**
2059
- * parseResult
2060
- *
2061
- * Returns location data for the given GeocoderResult object.
2062
- *
2063
- * @date 15/10/19
2064
- * @since 5.8.6
2065
- *
2066
- * @param object obj A GeocoderResult object.
2067
- * @return object
2068
- */
2069
- parseResult: function( obj ) {
2070
-
2071
- // Construct basic data.
2072
- var result = {
2073
- address: obj.formatted_address,
2074
- lat: obj.geometry.location.lat(),
2075
- lng: obj.geometry.location.lng(),
2076
- };
2077
-
2078
- // Add zoom level.
2079
- result.zoom = this.map.getZoom();
2080
-
2081
- // Add place ID.
2082
- if( obj.place_id ) {
2083
- result.place_id = obj.place_id;
2084
- }
2085
-
2086
- // Add place name.
2087
- if( obj.name ) {
2088
- result.name = obj.name;
2089
- }
2090
-
2091
- // Create search map for address component data.
2092
- var map = {
2093
- street_number: [ 'street_number' ],
2094
- street_name: [ 'street_address', 'route' ],
2095
- city: [ 'locality' ],
2096
- state: [
2097
- 'administrative_area_level_1',
2098
- 'administrative_area_level_2',
2099
- 'administrative_area_level_3',
2100
- 'administrative_area_level_4',
2101
- 'administrative_area_level_5'
2102
- ],
2103
- post_code: [ 'postal_code' ],
2104
- country: [ 'country' ]
2105
- };
2106
-
2107
- // Loop over map.
2108
- for( var k in map ) {
2109
- var keywords = map[ k ];
2110
-
2111
- // Loop over address components.
2112
- for( var i = 0; i < obj.address_components.length; i++ ) {
2113
- var component = obj.address_components[ i ];
2114
- var component_type = component.types[0];
2115
-
2116
- // Look for matching component type.
2117
- if( keywords.indexOf(component_type) !== -1 ) {
2118
-
2119
- // Append to result.
2120
- result[ k ] = component.long_name;
2121
-
2122
- // Append short version.
2123
- if( component.long_name !== component.short_name ) {
2124
- result[ k + '_short' ] = component.short_name;
2125
- }
2126
- }
2127
- }
2128
- }
2129
-
2130
- /**
2131
- * Filters the parsed result.
2132
- *
2133
- * @date 18/10/19
2134
- * @since 5.8.6
2135
- *
2136
- * @param object result The parsed result value.
2137
- * @param object obj The GeocoderResult object.
2138
- */
2139
- return acf.applyFilters('google_map_result', result, obj, this.map, this);
2140
- },
2141
-
2142
- onClickClear: function(){
2143
- this.val( false );
2144
- },
2145
-
2146
- onClickLocate: function(){
2147
- this.searchLocation();
2148
- },
2149
-
2150
- onClickSearch: function(){
2151
- this.searchAddress( this.$search().val() );
2152
- },
2153
-
2154
- onFocusSearch: function( e, $el ){
2155
- this.setState( 'searching' );
2156
- },
2157
-
2158
- onBlurSearch: function( e, $el ){
2159
-
2160
- // Get saved address value.
2161
- var val = this.val();
2162
- var address = val ? val.address : '';
2163
-
2164
- // Remove 'is-searching' if value has not changed.
2165
- if( $el.val() === address ) {
2166
- this.setState( 'default' );
2167
- }
2168
- },
2169
-
2170
- onKeyupSearch: function( e, $el ){
2171
-
2172
- // Clear empty value.
2173
- if( !$el.val() ) {
2174
- this.val( false );
2175
- }
2176
- },
2177
-
2178
- // Prevent form from submitting.
2179
- onKeydownSearch: function( e, $el ){
2180
- if( e.which == 13 ) {
2181
- e.preventDefault();
2182
- $el.blur();
2183
- }
2184
- },
2185
-
2186
- // Center map once made visible.
2187
- onShow: function(){
2188
- if( this.map ) {
2189
- this.setTimeout( this.center );
2190
- }
2191
- },
2192
- });
2193
-
2194
- acf.registerFieldType( Field );
2195
-
2196
- // Vars.
2197
- var loading = false;
2198
- var geocoder = false;
2199
-
2200
- /**
2201
- * withAPI
2202
- *
2203
- * Loads the Google Maps API library and troggers callback.
2204
- *
2205
- * @date 28/3/19
2206
- * @since 5.7.14
2207
- *
2208
- * @param function callback The callback to excecute.
2209
- * @return void
2210
- */
2211
-
2212
- function withAPI( callback ) {
2213
-
2214
- // Check if geocoder exists.
2215
- if( geocoder ) {
2216
- return callback();
2217
- }
2218
-
2219
- // Check if geocoder API exists.
2220
- if( acf.isset(window, 'google', 'maps', 'Geocoder') ) {
2221
- geocoder = new google.maps.Geocoder();
2222
- return callback();
2223
- }
2224
-
2225
- // Geocoder will need to be loaded. Hook callback to action.
2226
- acf.addAction( 'google_map_api_loaded', callback );
2227
-
2228
- // Bail early if already loading API.
2229
- if( loading ) {
2230
- return;
2231
- }
2232
-
2233
- // load api
2234
- var url = acf.get('google_map_api');
2235
- if( url ) {
2236
-
2237
- // Set loading status.
2238
- loading = true;
2239
-
2240
- // Load API
2241
- $.ajax({
2242
- url: url,
2243
- dataType: 'script',
2244
- cache: true,
2245
- success: function(){
2246
- geocoder = new google.maps.Geocoder();
2247
- acf.doAction('google_map_api_loaded');
2248
- }
2249
- });
2250
- }
2251
- }
2252
-
2253
- })(jQuery);
2254
- (function($, undefined){
2255
-
2256
- var Field = acf.Field.extend({
2257
-
2258
- type: 'image',
2259
-
2260
- $control: function(){
2261
- return this.$('.acf-image-uploader');
2262
- },
2263
-
2264
- $input: function(){
2265
- return this.$('input[type="hidden"]');
2266
- },
2267
-
2268
- events: {
2269
- 'click a[data-name="add"]': 'onClickAdd',
2270
- 'click a[data-name="edit"]': 'onClickEdit',
2271
- 'click a[data-name="remove"]': 'onClickRemove',
2272
- 'change input[type="file"]': 'onChange'
2273
- },
2274
-
2275
- initialize: function(){
2276
-
2277
- // add attribute to form
2278
- if( this.get('uploader') === 'basic' ) {
2279
- this.$el.closest('form').attr('enctype', 'multipart/form-data');
2280
- }
2281
- },
2282
-
2283
- validateAttachment: function( attachment ){
2284
-
2285
- // Use WP attachment attributes when available.
2286
- if( attachment && attachment.attributes ) {
2287
- attachment = attachment.attributes;
2288
- }
2289
-
2290
- // Apply defaults.
2291
- attachment = acf.parseArgs(attachment, {
2292
- id: 0,
2293
- url: '',
2294
- alt: '',
2295
- title: '',
2296
- caption: '',
2297
- description: '',
2298
- width: 0,
2299
- height: 0
2300
- });
2301
-
2302
- // Override with "preview size".
2303
- var size = acf.isget( attachment, 'sizes', this.get('preview_size') );
2304
- if( size ) {
2305
- attachment.url = size.url;
2306
- attachment.width = size.width;
2307
- attachment.height = size.height;
2308
- }
2309
-
2310
- // Return.
2311
- return attachment;
2312
- },
2313
-
2314
- render: function( attachment ){
2315
- attachment = this.validateAttachment( attachment );
2316
-
2317
- // Update DOM.
2318
- this.$('img').attr({
2319
- src: attachment.url,
2320
- alt: attachment.alt
2321
- });
2322
- if( attachment.id ) {
2323
- this.val( attachment.id );
2324
- this.$control().addClass('has-value');
2325
- } else {
2326
- this.val( '' );
2327
- this.$control().removeClass('has-value');
2328
- }
2329
- },
2330
-
2331
- // create a new repeater row and render value
2332
- append: function( attachment, parent ){
2333
-
2334
- // create function to find next available field within parent
2335
- var getNext = function( field, parent ){
2336
-
2337
- // find existing file fields within parent
2338
- var fields = acf.getFields({
2339
- key: field.get('key'),
2340
- parent: parent.$el
2341
- });
2342
-
2343
- // find the first field with no value
2344
- for( var i = 0; i < fields.length; i++ ) {
2345
- if( !fields[i].val() ) {
2346
- return fields[i];
2347
- }
2348
- }
2349
-
2350
- // return
2351
- return false;
2352
- }
2353
-
2354
- // find existing file fields within parent
2355
- var field = getNext( this, parent );
2356
-
2357
- // add new row if no available field
2358
- if( !field ) {
2359
- parent.$('.acf-button:last').trigger('click');
2360
- field = getNext( this, parent );
2361
- }
2362
-
2363
- // render
2364
- if( field ) {
2365
- field.render( attachment );
2366
- }
2367
- },
2368
-
2369
- selectAttachment: function(){
2370
-
2371
- // vars
2372
- var parent = this.parent();
2373
- var multiple = (parent && parent.get('type') === 'repeater');
2374
-
2375
- // new frame
2376
- var frame = acf.newMediaPopup({
2377
- mode: 'select',
2378
- type: 'image',
2379
- title: acf.__('Select Image'),
2380
- field: this.get('key'),
2381
- multiple: multiple,
2382
- library: this.get('library'),
2383
- allowedTypes: this.get('mime_types'),
2384
- select: $.proxy(function( attachment, i ) {
2385
- if( i > 0 ) {
2386
- this.append( attachment, parent );
2387
- } else {
2388
- this.render( attachment );
2389
- }
2390
- }, this)
2391
- });
2392
- },
2393
-
2394
- editAttachment: function(){
2395
-
2396
- // vars
2397
- var val = this.val();
2398
-
2399
- // bail early if no val
2400
- if( !val ) return;
2401
-
2402
- // popup
2403
- var frame = acf.newMediaPopup({
2404
- mode: 'edit',
2405
- title: acf.__('Edit Image'),
2406
- button: acf.__('Update Image'),
2407
- attachment: val,
2408
- field: this.get('key'),
2409
- select: $.proxy(function( attachment, i ) {
2410
- this.render( attachment );
2411
- }, this)
2412
- });
2413
- },
2414
-
2415
- removeAttachment: function(){
2416
- this.render( false );
2417
- },
2418
-
2419
- onClickAdd: function( e, $el ){
2420
- this.selectAttachment();
2421
- },
2422
-
2423
- onClickEdit: function( e, $el ){
2424
- this.editAttachment();
2425
- },
2426
-
2427
- onClickRemove: function( e, $el ){
2428
- this.removeAttachment();
2429
- },
2430
-
2431
- onChange: function( e, $el ){
2432
- var $hiddenInput = this.$input();
2433
-
2434
- acf.getFileInputData($el, function( data ){
2435
- $hiddenInput.val( $.param(data) );
2436
- });
2437
- }
2438
- });
2439
-
2440
- acf.registerFieldType( Field );
2441
 
2442
- })(jQuery);
2443
- (function($, undefined){
2444
-
2445
- var Field = acf.models.ImageField.extend({
2446
-
2447
- type: 'file',
2448
-
2449
- $control: function(){
2450
- return this.$('.acf-file-uploader');
2451
- },
2452
-
2453
- $input: function(){
2454
- return this.$('input[type="hidden"]');
2455
- },
2456
-
2457
- validateAttachment: function( attachment ){
2458
-
2459
- // defaults
2460
- attachment = attachment || {};
2461
-
2462
- // WP attachment
2463
- if( attachment.id !== undefined ) {
2464
- attachment = attachment.attributes;
2465
- }
2466
-
2467
- // args
2468
- attachment = acf.parseArgs(attachment, {
2469
- url: '',
2470
- alt: '',
2471
- title: '',
2472
- filename: '',
2473
- filesizeHumanReadable: '',
2474
- icon: '/wp-includes/images/media/default.png'
2475
- });
2476
-
2477
- // return
2478
- return attachment;
2479
- },
2480
-
2481
- render: function( attachment ){
2482
-
2483
- // vars
2484
- attachment = this.validateAttachment( attachment );
2485
-
2486
- // update image
2487
- this.$('img').attr({
2488
- src: attachment.icon,
2489
- alt: attachment.alt,
2490
- title: attachment.title
2491
- });
2492
-
2493
- // update elements
2494
- this.$('[data-name="title"]').text( attachment.title );
2495
- this.$('[data-name="filename"]').text( attachment.filename ).attr( 'href', attachment.url );
2496
- this.$('[data-name="filesize"]').text( attachment.filesizeHumanReadable );
2497
-
2498
- // vars
2499
- var val = attachment.id || '';
2500
-
2501
- // update val
2502
- acf.val( this.$input(), val );
2503
-
2504
- // update class
2505
- if( val ) {
2506
- this.$control().addClass('has-value');
2507
- } else {
2508
- this.$control().removeClass('has-value');
2509
- }
2510
- },
2511
-
2512
- selectAttachment: function(){
2513
-
2514
- // vars
2515
- var parent = this.parent();
2516
- var multiple = (parent && parent.get('type') === 'repeater');
2517
-
2518
- // new frame
2519
- var frame = acf.newMediaPopup({
2520
- mode: 'select',
2521
- title: acf.__('Select File'),
2522
- field: this.get('key'),
2523
- multiple: multiple,
2524
- library: this.get('library'),
2525
- allowedTypes: this.get('mime_types'),
2526
- select: $.proxy(function( attachment, i ) {
2527
- if( i > 0 ) {
2528
- this.append( attachment, parent );
2529
- } else {
2530
- this.render( attachment );
2531
- }
2532
- }, this)
2533
- });
2534
- },
2535
-
2536
- editAttachment: function(){
2537
-
2538
- // vars
2539
- var val = this.val();
2540
-
2541
- // bail early if no val
2542
- if( !val ) {
2543
- return false;
2544
- }
2545
-
2546
- // popup
2547
- var frame = acf.newMediaPopup({
2548
- mode: 'edit',
2549
- title: acf.__('Edit File'),
2550
- button: acf.__('Update File'),
2551
- attachment: val,
2552
- field: this.get('key'),
2553
- select: $.proxy(function( attachment, i ) {
2554
- this.render( attachment );
2555
- }, this)
2556
- });
2557
- }
2558
- });
2559
-
2560
- acf.registerFieldType( Field );
2561
-
2562
- })(jQuery);
2563
- (function($, undefined){
2564
-
2565
- var Field = acf.Field.extend({
2566
-
2567
- type: 'link',
2568
-
2569
- events: {
2570
- 'click a[data-name="add"]': 'onClickEdit',
2571
- 'click a[data-name="edit"]': 'onClickEdit',
2572
- 'click a[data-name="remove"]': 'onClickRemove',
2573
- 'change .link-node': 'onChange',
2574
- },
2575
-
2576
- $control: function(){
2577
- return this.$('.acf-link');
2578
- },
2579
-
2580
- $node: function(){
2581
- return this.$('.link-node');
2582
- },
2583
-
2584
- getValue: function(){
2585
-
2586
- // vars
2587
- var $node = this.$node();
2588
-
2589
- // return false if empty
2590
- if( !$node.attr('href') ) {
2591
- return false;
2592
- }
2593
-
2594
- // return
2595
- return {
2596
- title: $node.html(),
2597
- url: $node.attr('href'),
2598
- target: $node.attr('target')
2599
- };
2600
- },
2601
-
2602
- setValue: function( val ){
2603
-
2604
- // default
2605
- val = acf.parseArgs(val, {
2606
- title: '',
2607
- url: '',
2608
- target: ''
2609
- });
2610
-
2611
- // vars
2612
- var $div = this.$control();
2613
- var $node = this.$node();
2614
-
2615
- // remove class
2616
- $div.removeClass('-value -external');
2617
-
2618
- // add class
2619
- if( val.url ) $div.addClass('-value');
2620
- if( val.target === '_blank' ) $div.addClass('-external');
2621
-
2622
- // update text
2623
- this.$('.link-title').html( val.title );
2624
- this.$('.link-url').attr('href', val.url).html( val.url );
2625
-
2626
- // update node
2627
- $node.html(val.title);
2628
- $node.attr('href', val.url);
2629
- $node.attr('target', val.target);
2630
-
2631
- // update inputs
2632
- this.$('.input-title').val( val.title );
2633
- this.$('.input-target').val( val.target );
2634
- this.$('.input-url').val( val.url ).trigger('change');
2635
- },
2636
-
2637
- onClickEdit: function( e, $el ){
2638
- acf.wpLink.open( this.$node() );
2639
- },
2640
-
2641
- onClickRemove: function( e, $el ){
2642
- this.setValue( false );
2643
- },
2644
-
2645
- onChange: function( e, $el ){
2646
-
2647
- // get the changed value
2648
- var val = this.getValue();
2649
-
2650
- // update inputs
2651
- this.setValue(val);
2652
- }
2653
-
2654
- });
2655
-
2656
- acf.registerFieldType( Field );
2657
-
2658
-
2659
- // manager
2660
- acf.wpLink = new acf.Model({
2661
-
2662
- getNodeValue: function(){
2663
- var $node = this.get('node');
2664
- return {
2665
- title: acf.decode( $node.html() ),
2666
- url: $node.attr('href'),
2667
- target: $node.attr('target')
2668
- };
2669
- },
2670
-
2671
- setNodeValue: function( val ){
2672
- var $node = this.get('node');
2673
- $node.text( val.title );
2674
- $node.attr('href', val.url);
2675
- $node.attr('target', val.target);
2676
- $node.trigger('change');
2677
- },
2678
-
2679
- getInputValue: function(){
2680
- return {
2681
- title: $('#wp-link-text').val(),
2682
- url: $('#wp-link-url').val(),
2683
- target: $('#wp-link-target').prop('checked') ? '_blank' : ''
2684
- };
2685
- },
2686
-
2687
- setInputValue: function( val ){
2688
- $('#wp-link-text').val( val.title );
2689
- $('#wp-link-url').val( val.url );
2690
- $('#wp-link-target').prop('checked', val.target === '_blank' );
2691
- },
2692
-
2693
- open: function( $node ){
2694
-
2695
- // add events
2696
- this.on('wplink-open', 'onOpen');
2697
- this.on('wplink-close', 'onClose');
2698
-
2699
- // set node
2700
- this.set('node', $node);
2701
-
2702
- // create textarea
2703
- var $textarea = $('<textarea id="acf-link-textarea" style="display:none;"></textarea>');
2704
- $('body').append( $textarea );
2705
-
2706
- // vars
2707
- var val = this.getNodeValue();
2708
-
2709
- // open popup
2710
- wpLink.open( 'acf-link-textarea', val.url, val.title, null );
2711
- },
2712
-
2713
- onOpen: function(){
2714
-
2715
- // always show title (WP will hide title if empty)
2716
- $('#wp-link-wrap').addClass('has-text-field');
2717
-
2718
- // set inputs
2719
- var val = this.getNodeValue();
2720
- this.setInputValue( val );
2721
-
2722
- // Update button text.
2723
- if( val.url && wpLinkL10n ) {
2724
- $('#wp-link-submit').val( wpLinkL10n.update );
2725
- }
2726
- },
2727
-
2728
- close: function(){
2729
- wpLink.close();
2730
- },
2731
-
2732
- onClose: function(){
2733
-
2734
- // Bail early if no node.
2735
- // Needed due to WP triggering this event twice.
2736
- if( !this.has('node') ) {
2737
- return false;
2738
- }
2739
-
2740
- // Determine context.
2741
- var $submit = $('#wp-link-submit');
2742
- var isSubmit = ( $submit.is(':hover') || $submit.is(':focus') );
2743
-
2744
- // Set value
2745
- if( isSubmit ) {
2746
- var val = this.getInputValue();
2747
- this.setNodeValue( val );
2748
- }
2749
-
2750
- // Cleanup.
2751
- this.off('wplink-open');
2752
- this.off('wplink-close');
2753
- $('#acf-link-textarea').remove();
2754
- this.set('node', null);
2755
- }
2756
- });
2757
 
2758
- })(jQuery);
2759
- (function($, undefined){
2760
-
2761
- var Field = acf.Field.extend({
2762
-
2763
- type: 'oembed',
2764
-
2765
- events: {
2766
- 'click [data-name="clear-button"]': 'onClickClear',
2767
- 'keypress .input-search': 'onKeypressSearch',
2768
- 'keyup .input-search': 'onKeyupSearch',
2769
- 'change .input-search': 'onChangeSearch'
2770
- },
2771
-
2772
- $control: function(){
2773
- return this.$('.acf-oembed');
2774
- },
2775
-
2776
- $input: function(){
2777
- return this.$('.input-value');
2778
- },
2779
-
2780
- $search: function(){
2781
- return this.$('.input-search');
2782
- },
2783
-
2784
- getValue: function(){
2785
- return this.$input().val();
2786
- },
2787
-
2788
- getSearchVal: function(){
2789
- return this.$search().val();
2790
- },
2791
-
2792
- setValue: function( val ){
2793
-
2794
- // class
2795
- if( val ) {
2796
- this.$control().addClass('has-value');
2797
- } else {
2798
- this.$control().removeClass('has-value');
2799
- }
2800
-
2801
- acf.val( this.$input(), val );
2802
- },
2803
-
2804
- showLoading: function( show ){
2805
- acf.showLoading( this.$('.canvas') );
2806
- },
2807
-
2808
- hideLoading: function(){
2809
- acf.hideLoading( this.$('.canvas') );
2810
- },
2811
-
2812
- maybeSearch: function(){
2813
-
2814
- // vars
2815
- var prevUrl = this.val();
2816
- var url = this.getSearchVal();
2817
-
2818
- // no value
2819
- if( !url ) {
2820
- return this.clear();
2821
- }
2822
-
2823
- // fix missing 'http://' - causes the oembed code to error and fail
2824
- if( url.substr(0, 4) != 'http' ) {
2825
- url = 'http://' + url;
2826
- }
2827
-
2828
- // bail early if no change
2829
- if( url === prevUrl ) return;
2830
-
2831
- // clear existing timeout
2832
- var timeout = this.get('timeout');
2833
- if( timeout ) {
2834
- clearTimeout( timeout );
2835
- }
2836
-
2837
- // set new timeout
2838
- var callback = $.proxy(this.search, this, url);
2839
- this.set('timeout', setTimeout(callback, 300));
2840
-
2841
- },
2842
-
2843
- search: function( url ){
2844
-
2845
- // ajax
2846
- var ajaxData = {
2847
- action: 'acf/fields/oembed/search',
2848
- s: url,
2849
- field_key: this.get('key')
2850
- };
2851
-
2852
- // clear existing timeout
2853
- var xhr = this.get('xhr');
2854
- if( xhr ) {
2855
- xhr.abort();
2856
- }
2857
-
2858
- // loading
2859
- this.showLoading();
2860
-
2861
- // query
2862
- var xhr = $.ajax({
2863
- url: acf.get('ajaxurl'),
2864
- data: acf.prepareForAjax(ajaxData),
2865
- type: 'post',
2866
- dataType: 'json',
2867
- context: this,
2868
- success: function( json ){
2869
-
2870
- // error
2871
- if( !json || !json.html ) {
2872
- json = {
2873
- url: false,
2874
- html: ''
2875
- }
2876
- }
2877
-
2878
- // update vars
2879
- this.val( json.url );
2880
- this.$('.canvas-media').html( json.html );
2881
- },
2882
- complete: function(){
2883
- this.hideLoading();
2884
- }
2885
- });
2886
-
2887
- this.set('xhr', xhr);
2888
- },
2889
-
2890
- clear: function(){
2891
- this.val('');
2892
- this.$search().val('');
2893
- this.$('.canvas-media').html('');
2894
- },
2895
-
2896
- onClickClear: function( e, $el ){
2897
- this.clear();
2898
- },
2899
-
2900
- onKeypressSearch: function( e, $el ){
2901
- if( e.which == 13 ) {
2902
- e.preventDefault();
2903
- this.maybeSearch();
2904
- }
2905
- },
2906
-
2907
- onKeyupSearch: function( e, $el ){
2908
- if( $el.val() ) {
2909
- this.maybeSearch();
2910
- }
2911
- },
2912
-
2913
- onChangeSearch: function( e, $el ){
2914
- this.maybeSearch();
2915
- }
2916
-
2917
- });
2918
-
2919
- acf.registerFieldType( Field );
2920
 
2921
- })(jQuery);
2922
- (function($, undefined){
2923
-
2924
- var Field = acf.Field.extend({
2925
-
2926
- type: 'radio',
2927
-
2928
- events: {
2929
- 'click input[type="radio"]': 'onClick',
2930
- },
2931
-
2932
- $control: function(){
2933
- return this.$('.acf-radio-list');
2934
- },
2935
-
2936
- $input: function(){
2937
- return this.$('input:checked');
2938
- },
2939
-
2940
- $inputText: function(){
2941
- return this.$('input[type="text"]');
2942
- },
2943
-
2944
- getValue: function(){
2945
- var val = this.$input().val();
2946
- if( val === 'other' && this.get('other_choice') ) {
2947
- val = this.$inputText().val();
2948
- }
2949
- return val;
2950
- },
2951
-
2952
- onClick: function( e, $el ){
2953
-
2954
- // vars
2955
- var $label = $el.parent('label');
2956
- var selected = $label.hasClass('selected');
2957
- var val = $el.val();
2958
-
2959
- // remove previous selected
2960
- this.$('.selected').removeClass('selected');
2961
-
2962
- // add active class
2963
- $label.addClass('selected');
2964
-
2965
- // allow null
2966
- if( this.get('allow_null') && selected ) {
2967
- $label.removeClass('selected');
2968
- $el.prop('checked', false).trigger('change');
2969
- val = false;
2970
- }
2971
-
2972
- // other
2973
- if( this.get('other_choice') ) {
2974
-
2975
- // enable
2976
- if( val === 'other' ) {
2977
- this.$inputText().prop('disabled', false);
2978
-
2979
- // disable
2980
- } else {
2981
- this.$inputText().prop('disabled', true);
2982
- }
2983
- }
2984
- }
2985
- });
2986
-
2987
- acf.registerFieldType( Field );
2988
 
2989
- })(jQuery);
2990
- (function($, undefined){
2991
-
2992
- var Field = acf.Field.extend({
2993
-
2994
- type: 'range',
2995
-
2996
- events: {
2997
- 'input input[type="range"]': 'onChange',
2998
- 'change input': 'onChange'
2999
- },
3000
-
3001
- $input: function(){
3002
- return this.$('input[type="range"]');
3003
- },
3004
-
3005
- $inputAlt: function(){
3006
- return this.$('input[type="number"]');
3007
- },
3008
-
3009
- setValue: function( val ){
3010
- this.busy = true;
3011
-
3012
- // Update range input (with change).
3013
- acf.val( this.$input(), val );
3014
-
3015
- // Update alt input (without change).
3016
- // Read in input value to inherit min/max validation.
3017
- acf.val( this.$inputAlt(), this.$input().val(), true );
3018
-
3019
- this.busy = false;
3020
- },
3021
-
3022
- onChange: function( e, $el ){
3023
- if( !this.busy ) {
3024
- this.setValue( $el.val() );
3025
- }
3026
- }
3027
- });
3028
-
3029
- acf.registerFieldType( Field );
3030
-
3031
- })(jQuery);
3032
- (function($, undefined){
3033
-
3034
- var Field = acf.Field.extend({
3035
-
3036
- type: 'relationship',
3037
-
3038
- events: {
3039
- 'keypress [data-filter]': 'onKeypressFilter',
3040
- 'change [data-filter]': 'onChangeFilter',
3041
- 'keyup [data-filter]': 'onChangeFilter',
3042
- 'click .choices-list .acf-rel-item': 'onClickAdd',
3043
- 'click [data-name="remove_item"]': 'onClickRemove',
3044
- },
3045
-
3046
- $control: function(){
3047
- return this.$('.acf-relationship');
3048
- },
3049
-
3050
- $list: function( list ) {
3051
- return this.$('.' + list + '-list');
3052
- },
3053
-
3054
- $listItems: function( list ) {
3055
- return this.$list( list ).find('.acf-rel-item');
3056
- },
3057
-
3058
- $listItem: function( list, id ) {
3059
- return this.$list( list ).find('.acf-rel-item[data-id="' + id + '"]');
3060
- },
3061
-
3062
- getValue: function(){
3063
- var val = [];
3064
- this.$listItems('values').each(function(){
3065
- val.push( $(this).data('id') );
3066
- });
3067
- return val.length ? val : false;
3068
- },
3069
-
3070
- newChoice: function( props ){
3071
- return [
3072
- '<li>',
3073
- '<span data-id="' + props.id + '" class="acf-rel-item">' + props.text + '</span>',
3074
- '</li>'
3075
- ].join('');
3076
- },
3077
-
3078
- newValue: function( props ){
3079
- return [
3080
- '<li>',
3081
- '<input type="hidden" name="' + this.getInputName() + '[]" value="' + props.id + '" />',
3082
- '<span data-id="' + props.id + '" class="acf-rel-item">' + props.text,
3083
- '<a href="#" class="acf-icon -minus small dark" data-name="remove_item"></a>',
3084
- '</span>',
3085
- '</li>'
3086
- ].join('');
3087
- },
3088
-
3089
- initialize: function(){
3090
-
3091
- // Delay initialization until "interacted with" or "in view".
3092
- var delayed = this.proxy(acf.once(function(){
3093
-
3094
- // Add sortable.
3095
- this.$list('values').sortable({
3096
- items: 'li',
3097
- forceHelperSize: true,
3098
- forcePlaceholderSize: true,
3099
- scroll: true,
3100
- update: this.proxy(function(){
3101
- this.$input().trigger('change');
3102
- })
3103
- });
3104
-
3105
- // Avoid browser remembering old scroll position and add event.
3106
- this.$list('choices').scrollTop(0).on('scroll', this.proxy(this.onScrollChoices));
3107
-
3108
- // Fetch choices.
3109
- this.fetch();
3110
-
3111
- }));
3112
-
3113
- // Bind "interacted with".
3114
- this.$el.one( 'mouseover', delayed );
3115
- this.$el.one( 'focus', 'input', delayed );
3116
-
3117
- // Bind "in view".
3118
- acf.onceInView( this.$el, delayed );
3119
- },
3120
-
3121
- onScrollChoices: function(e){
3122
-
3123
- // bail early if no more results
3124
- if( this.get('loading') || !this.get('more') ) {
3125
- return;
3126
- }
3127
-
3128
- // Scrolled to bottom
3129
- var $list = this.$list('choices');
3130
- var scrollTop = Math.ceil( $list.scrollTop() );
3131
- var scrollHeight = Math.ceil( $list[0].scrollHeight );
3132
- var innerHeight = Math.ceil( $list.innerHeight() );
3133
- var paged = this.get('paged') || 1;
3134
- if( (scrollTop + innerHeight) >= scrollHeight ) {
3135
-
3136
- // update paged
3137
- this.set('paged', (paged+1));
3138
-
3139
- // fetch
3140
- this.fetch();
3141
- }
3142
- },
3143
-
3144
- onKeypressFilter: function( e, $el ){
3145
-
3146
- // don't submit form
3147
- if( e.which == 13 ) {
3148
- e.preventDefault();
3149
- }
3150
- },
3151
-
3152
- onChangeFilter: function( e, $el ){
3153
-
3154
- // vars
3155
- var val = $el.val();
3156
- var filter = $el.data('filter');
3157
-
3158
- // Bail early if filter has not changed
3159
- if( this.get(filter) === val ) {
3160
- return;
3161
- }
3162
-
3163
- // update attr
3164
- this.set(filter, val);
3165
-
3166
- // reset paged
3167
- this.set('paged', 1);
3168
-
3169
- // fetch
3170
- if( $el.is('select') ) {
3171
- this.fetch();
3172
-
3173
- // search must go through timeout
3174
- } else {
3175
- this.maybeFetch();
3176
- }
3177
- },
3178
-
3179
- onClickAdd: function( e, $el ){
3180
-
3181
- // vars
3182
- var val = this.val();
3183
- var max = parseInt( this.get('max') );
3184
-
3185
- // can be added?
3186
- if( $el.hasClass('disabled') ) {
3187
- return false;
3188
- }
3189
-
3190
- // validate
3191
- if( max > 0 && val && val.length >= max ) {
3192
-
3193
- // add notice
3194
- this.showNotice({
3195
- text: acf.__('Maximum values reached ( {max} values )').replace('{max}', max),
3196
- type: 'warning'
3197
- });
3198
- return false;
3199
- }
3200
-
3201
- // disable
3202
- $el.addClass('disabled');
3203
-
3204
- // add
3205
- var html = this.newValue({
3206
- id: $el.data('id'),
3207
- text: $el.html()
3208
- });
3209
- this.$list('values').append( html )
3210
-
3211
- // trigger change
3212
- this.$input().trigger('change');
3213
- },
3214
-
3215
- onClickRemove: function( e, $el ){
3216
-
3217
- // Prevent default here because generic handler wont be triggered.
3218
- e.preventDefault();
3219
-
3220
- // vars
3221
- var $span = $el.parent();
3222
- var $li = $span.parent();
3223
- var id = $span.data('id');
3224
-
3225
- // remove value
3226
- $li.remove();
3227
-
3228
- // show choice
3229
- this.$listItem('choices', id).removeClass('disabled');
3230
-
3231
- // trigger change
3232
- this.$input().trigger('change');
3233
- },
3234
-
3235
- maybeFetch: function(){
3236
-
3237
- // vars
3238
- var timeout = this.get('timeout');
3239
-
3240
- // abort timeout
3241
- if( timeout ) {
3242
- clearTimeout( timeout );
3243
- }
3244
-
3245
- // fetch
3246
- timeout = this.setTimeout(this.fetch, 300);
3247
- this.set('timeout', timeout);
3248
- },
3249
-
3250
- getAjaxData: function(){
3251
-
3252
- // load data based on element attributes
3253
- var ajaxData = this.$control().data();
3254
- for( var name in ajaxData ) {
3255
- ajaxData[ name ] = this.get( name );
3256
- }
3257
-
3258
- // extra
3259
- ajaxData.action = 'acf/fields/relationship/query';
3260
- ajaxData.field_key = this.get('key');
3261
-
3262
- // Filter.
3263
- ajaxData = acf.applyFilters( 'relationship_ajax_data', ajaxData, this );
3264
-
3265
- // return
3266
- return ajaxData;
3267
- },
3268
-
3269
- fetch: function(){
3270
-
3271
- // abort XHR if this field is already loading AJAX data
3272
- var xhr = this.get('xhr');
3273
- if( xhr ) {
3274
- xhr.abort();
3275
- }
3276
-
3277
- // add to this.o
3278
- var ajaxData = this.getAjaxData();
3279
-
3280
- // clear html if is new query
3281
- var $choiceslist = this.$list( 'choices' );
3282
- if( ajaxData.paged == 1 ) {
3283
- $choiceslist.html('');
3284
- }
3285
-
3286
- // loading
3287
- var $loading = $('<li><i class="acf-loading"></i> ' + acf.__('Loading') + '</li>');
3288
- $choiceslist.append($loading);
3289
- this.set('loading', true);
3290
-
3291
- // callback
3292
- var onComplete = function(){
3293
- this.set('loading', false);
3294
- $loading.remove();
3295
- };
3296
-
3297
- var onSuccess = function( json ){
3298
-
3299
- // no results
3300
- if( !json || !json.results || !json.results.length ) {
3301
-
3302
- // prevent pagination
3303
- this.set('more', false);
3304
-
3305
- // add message
3306
- if( this.get('paged') == 1 ) {
3307
- this.$list('choices').append('<li>' + acf.__('No matches found') + '</li>');
3308
- }
3309
-
3310
- // return
3311
- return;
3312
- }
3313
-
3314
- // set more (allows pagination scroll)
3315
- this.set('more', json.more );
3316
-
3317
- // get new results
3318
- var html = this.walkChoices(json.results);
3319
- var $html = $( html );
3320
-
3321
- // apply .disabled to left li's
3322
- var val = this.val();
3323
- if( val && val.length ) {
3324
- val.map(function( id ){
3325
- $html.find('.acf-rel-item[data-id="' + id + '"]').addClass('disabled');
3326
- });
3327
- }
3328
-
3329
- // append
3330
- $choiceslist.append( $html );
3331
-
3332
- // merge together groups
3333
- var $prevLabel = false;
3334
- var $prevList = false;
3335
-
3336
- $choiceslist.find('.acf-rel-label').each(function(){
3337
-
3338
- var $label = $(this);
3339
- var $list = $label.siblings('ul');
3340
-
3341
- if( $prevLabel && $prevLabel.text() == $label.text() ) {
3342
- $prevList.append( $list.children() );
3343
- $(this).parent().remove();
3344
- return;
3345
- }
3346
-
3347
- // update vars
3348
- $prevLabel = $label;
3349
- $prevList = $list;
3350
- });
3351
- };
3352
-
3353
- // get results
3354
- var xhr = $.ajax({
3355
- url: acf.get('ajaxurl'),
3356
- dataType: 'json',
3357
- type: 'post',
3358
- data: acf.prepareForAjax(ajaxData),
3359
- context: this,
3360
- success: onSuccess,
3361
- complete: onComplete
3362
- });
3363
-
3364
- // set
3365
- this.set('xhr', xhr);
3366
- },
3367
-
3368
- walkChoices: function( data ){
3369
-
3370
- // walker
3371
- var walk = function( data ){
3372
-
3373
- // vars
3374
- var html = '';
3375
-
3376
- // is array
3377
- if( $.isArray(data) ) {
3378
- data.map(function(item){
3379
- html += walk( item );
3380
- });
3381
-
3382
- // is item
3383
- } else if( $.isPlainObject(data) ) {
3384
-
3385
- // group
3386
- if( data.children !== undefined ) {
3387
-
3388
- html += '<li><span class="acf-rel-label">' + acf.escHtml( data.text ) + '</span><ul class="acf-bl">';
3389
- html += walk( data.children );
3390
- html += '</ul></li>';
3391
-
3392
- // single
3393
- } else {
3394
- html += '<li><span class="acf-rel-item" data-id="' + acf.escAttr( data.id ) + '">' + acf.escHtml( data.text ) + '</span></li>';
3395
- }
3396
- }
3397
-
3398
- // return
3399
- return html;
3400
- };
3401
-
3402
- return walk( data );
3403
- }
3404
-
3405
- });
3406
-
3407
- acf.registerFieldType( Field );
3408
-
3409
- })(jQuery);
3410
- (function($, undefined){
3411
-
3412
- var Field = acf.Field.extend({
3413
-
3414
- type: 'select',
3415
-
3416
- select2: false,
3417
-
3418
- wait: 'load',
3419
-
3420
- events: {
3421
- 'removeField': 'onRemove',
3422
- 'duplicateField': 'onDuplicate'
3423
- },
3424
-
3425
- $input: function(){
3426
- return this.$('select');
3427
- },
3428
-
3429
- initialize: function(){
3430
-
3431
- // vars
3432
- var $select = this.$input();
3433
-
3434
- // inherit data
3435
- this.inherit( $select );
3436
-
3437
- // select2
3438
- if( this.get('ui') ) {
3439
-
3440
- // populate ajax_data (allowing custom attribute to already exist)
3441
- var ajaxAction = this.get('ajax_action');
3442
- if( !ajaxAction ) {
3443
- ajaxAction = 'acf/fields/' + this.get('type') + '/query';
3444
- }
3445
-
3446
- // select2
3447
- this.select2 = acf.newSelect2($select, {
3448
- field: this,
3449
- ajax: this.get('ajax'),
3450
- multiple: this.get('multiple'),
3451
- placeholder: this.get('placeholder'),
3452
- allowNull: this.get('allow_null'),
3453
- ajaxAction: ajaxAction,
3454
- });
3455
- }
3456
- },
3457
-
3458
- onRemove: function(){
3459
- if( this.select2 ) {
3460
- this.select2.destroy();
3461
- }
3462
- },
3463
-
3464
- onDuplicate: function( e, $el, $duplicate ){
3465
- if( this.select2 ) {
3466
- $duplicate.find('.select2-container').remove();
3467
- $duplicate.find('select').removeClass('select2-hidden-accessible');
3468
- }
3469
- }
3470
- });
3471
-
3472
- acf.registerFieldType( Field );
3473
-
3474
- })(jQuery);
3475
- (function($, undefined){
3476
-
3477
- // vars
3478
- var CONTEXT = 'tab';
3479
-
3480
- var Field = acf.Field.extend({
3481
-
3482
- type: 'tab',
3483
-
3484
- wait: '',
3485
-
3486
- tabs: false,
3487
-
3488
- tab: false,
3489
-
3490
- events: {
3491
- 'duplicateField': 'onDuplicate'
3492
- },
3493
-
3494
- findFields: function(){
3495
- return this.$el.nextUntil('.acf-field-tab', '.acf-field');
3496
- },
3497
-
3498
- getFields: function(){
3499
- return acf.getFields( this.findFields() );
3500
- },
3501
-
3502
- findTabs: function(){
3503
- return this.$el.prevAll('.acf-tab-wrap:first');
3504
- },
3505
-
3506
- findTab: function(){
3507
- return this.$('.acf-tab-button');
3508
- },
3509
-
3510
- initialize: function(){
3511
-
3512
- // bail early if is td
3513
- if( this.$el.is('td') ) {
3514
- this.events = {};
3515
- return false;
3516
- }
3517
-
3518
- // vars
3519
- var $tabs = this.findTabs();
3520
- var $tab = this.findTab();
3521
- var settings = acf.parseArgs($tab.data(), {
3522
- endpoint: false,
3523
- placement: '',
3524
- before: this.$el
3525
- });
3526
-
3527
- // create wrap
3528
- if( !$tabs.length || settings.endpoint ) {
3529
- this.tabs = new Tabs( settings );
3530
- } else {
3531
- this.tabs = $tabs.data('acf');
3532
- }
3533
-
3534
- // add tab
3535
- this.tab = this.tabs.addTab($tab, this);
3536
- },
3537
-
3538
- isActive: function(){
3539
- return this.tab.isActive();
3540
- },
3541
-
3542
- showFields: function(){
3543
-
3544
- // show fields
3545
- this.getFields().map(function( field ){
3546
- field.show( this.cid, CONTEXT );
3547
- field.hiddenByTab = false;
3548
- }, this);
3549
-
3550
- },
3551
-
3552
- hideFields: function(){
3553
-
3554
- // hide fields
3555
- this.getFields().map(function( field ){
3556
- field.hide( this.cid, CONTEXT );
3557
- field.hiddenByTab = this.tab;
3558
- }, this);
3559
-
3560
- },
3561
-
3562
- show: function( lockKey ){
3563
-
3564
- // show field and store result
3565
- var visible = acf.Field.prototype.show.apply(this, arguments);
3566
-
3567
- // check if now visible
3568
- if( visible ) {
3569
-
3570
- // show tab
3571
- this.tab.show();
3572
-
3573
- // check active tabs
3574
- this.tabs.refresh();
3575
- }
3576
-
3577
- // return
3578
- return visible;
3579
- },
3580
-
3581
- hide: function( lockKey ){
3582
-
3583
- // hide field and store result
3584
- var hidden = acf.Field.prototype.hide.apply(this, arguments);
3585
-
3586
- // check if now hidden
3587
- if( hidden ) {
3588
-
3589
- // hide tab
3590
- this.tab.hide();
3591
-
3592
- // reset tabs if this was active
3593
- if( this.isActive() ) {
3594
- this.tabs.reset();
3595
- }
3596
- }
3597
-
3598
- // return
3599
- return hidden;
3600
- },
3601
-
3602
- enable: function( lockKey ){
3603
-
3604
- // enable fields
3605
- this.getFields().map(function( field ){
3606
- field.enable( CONTEXT );
3607
- });
3608
- },
3609
-
3610
- disable: function( lockKey ){
3611
-
3612
- // disable fields
3613
- this.getFields().map(function( field ){
3614
- field.disable( CONTEXT );
3615
- });
3616
- },
3617
-
3618
- onDuplicate: function( e, $el, $duplicate ){
3619
- if( this.isActive() ) {
3620
- $duplicate.prevAll('.acf-tab-wrap:first').remove();
3621
- }
3622
- }
3623
- });
3624
-
3625
- acf.registerFieldType( Field );
3626
-
3627
-
3628
- /**
3629
- * tabs
3630
- *
3631
- * description
3632
- *
3633
- * @date 8/2/18
3634
- * @since 5.6.5
3635
- *
3636
- * @param type $var Description. Default.
3637
- * @return type Description.
3638
- */
3639
-
3640
- var i = 0;
3641
- var Tabs = acf.Model.extend({
3642
-
3643
- tabs: [],
3644
-
3645
- active: false,
3646
-
3647
- actions: {
3648
- 'refresh': 'onRefresh'
3649
- },
3650
-
3651
- data: {
3652
- before: false,
3653
- placement: 'top',
3654
- index: 0,
3655
- initialized: false,
3656
- },
3657
-
3658
- setup: function( settings ){
3659
-
3660
- // data
3661
- $.extend(this.data, settings);
3662
-
3663
- // define this prop to avoid scope issues
3664
- this.tabs = [];
3665
- this.active = false;
3666
-
3667
- // vars
3668
- var placement = this.get('placement');
3669
- var $before = this.get('before');
3670
- var $parent = $before.parent();
3671
-
3672
- // add sidebar for left placement
3673
- if( placement == 'left' && $parent.hasClass('acf-fields') ) {
3674
- $parent.addClass('-sidebar');
3675
- }
3676
-
3677
- // create wrap
3678
- if( $before.is('tr') ) {
3679
- this.$el = $('<tr class="acf-tab-wrap"><td colspan="2"><ul class="acf-hl acf-tab-group"></ul></td></tr>');
3680
- } else {
3681
- this.$el = $('<div class="acf-tab-wrap -' + placement + '"><ul class="acf-hl acf-tab-group"></ul></div>');
3682
- }
3683
-
3684
- // append
3685
- $before.before( this.$el );
3686
-
3687
- // set index
3688
- this.set('index', i, true);
3689
- i++;
3690
- },
3691
-
3692
- initializeTabs: function(){
3693
-
3694
- // find first visible tab
3695
- var tab = this.getVisible().shift();
3696
-
3697
- // remember previous tab state
3698
- var order = acf.getPreference('this.tabs') || [];
3699
- var groupIndex = this.get('index');
3700
- var tabIndex = order[ groupIndex ];
3701
-
3702
- if( this.tabs[ tabIndex ] && this.tabs[ tabIndex ].isVisible() ) {
3703
- tab = this.tabs[ tabIndex ];
3704
- }
3705
-
3706
- // select
3707
- if( tab ) {
3708
- this.selectTab( tab );
3709
- } else {
3710
- this.closeTabs();
3711
- }
3712
-
3713
- // set local variable used by tabsManager
3714
- this.set('initialized', true);
3715
- },
3716
-
3717
- getVisible: function(){
3718
- return this.tabs.filter(function( tab ){
3719
- return tab.isVisible();
3720
- });
3721
- },
3722
-
3723
- getActive: function(){
3724
- return this.active;
3725
- },
3726
-
3727
- setActive: function( tab ){
3728
- return this.active = tab;
3729
- },
3730
-
3731
- hasActive: function(){
3732
- return (this.active !== false);
3733
- },
3734
-
3735
- isActive: function( tab ){
3736
- var active = this.getActive();
3737
- return (active && active.cid === tab.cid);
3738
- },
3739
-
3740
- closeActive: function(){
3741
- if( this.hasActive() ) {
3742
- this.closeTab( this.getActive() );
3743
- }
3744
- },
3745
-
3746
- openTab: function( tab ){
3747
-
3748
- // close existing tab
3749
- this.closeActive();
3750
-
3751
- // open
3752
- tab.open();
3753
-
3754
- // set active
3755
- this.setActive( tab );
3756
- },
3757
-
3758
- closeTab: function( tab ){
3759
-
3760
- // close
3761
- tab.close();
3762
-
3763
- // set active
3764
- this.setActive( false );
3765
- },
3766
-
3767
- closeTabs: function(){
3768
- this.tabs.map( this.closeTab, this );
3769
- },
3770
-
3771
- selectTab: function( tab ){
3772
-
3773
- // close other tabs
3774
- this.tabs.map(function( t ){
3775
- if( tab.cid !== t.cid ) {
3776
- this.closeTab( t );
3777
- }
3778
- }, this);
3779
-
3780
- // open
3781
- this.openTab( tab );
3782
-
3783
- },
3784
-
3785
- addTab: function( $a, field ){
3786
-
3787
- // create <li>
3788
- var $li = $('<li>' + $a.outerHTML() + '</li>');
3789
-
3790
- // append
3791
- this.$('ul').append( $li );
3792
-
3793
- // initialize
3794
- var tab = new Tab({
3795
- $el: $li,
3796
- field: field,
3797
- group: this,
3798
- });
3799
-
3800
- // store
3801
- this.tabs.push( tab );
3802
-
3803
- // return
3804
- return tab;
3805
- },
3806
-
3807
- reset: function(){
3808
-
3809
- // close existing tab
3810
- this.closeActive();
3811
-
3812
- // find and active a tab
3813
- return this.refresh();
3814
- },
3815
-
3816
- refresh: function(){
3817
-
3818
- // bail early if active already exists
3819
- if( this.hasActive() ) {
3820
- return false;
3821
- }
3822
-
3823
- // find next active tab
3824
- var tab = this.getVisible().shift();
3825
-
3826
- // open tab
3827
- if( tab ) {
3828
- this.openTab( tab );
3829
- }
3830
-
3831
- // return
3832
- return tab;
3833
- },
3834
-
3835
- onRefresh: function(){
3836
-
3837
- // only for left placements
3838
- if( this.get('placement') !== 'left' ) {
3839
- return;
3840
- }
3841
-
3842
- // vars
3843
- var $parent = this.$el.parent();
3844
- var $list = this.$el.children('ul');
3845
- var attribute = $parent.is('td') ? 'height' : 'min-height';
3846
-
3847
- // find height (minus 1 for border-bottom)
3848
- var height = $list.position().top + $list.outerHeight(true) - 1;
3849
-
3850
- // add css
3851
- $parent.css(attribute, height);
3852
- }
3853
- });
3854
-
3855
- var Tab = acf.Model.extend({
3856
-
3857
- group: false,
3858
-
3859
- field: false,
3860
-
3861
- events: {
3862
- 'click a': 'onClick'
3863
- },
3864
-
3865
- index: function(){
3866
- return this.$el.index();
3867
- },
3868
-
3869
- isVisible: function(){
3870
- return acf.isVisible( this.$el );
3871
- },
3872
-
3873
- isActive: function(){
3874
- return this.$el.hasClass('active');
3875
- },
3876
-
3877
- open: function(){
3878
-
3879
- // add class
3880
- this.$el.addClass('active');
3881
-
3882
- // show field
3883
- this.field.showFields();
3884
- },
3885
-
3886
- close: function(){
3887
-
3888
- // remove class
3889
- this.$el.removeClass('active');
3890
-
3891
- // hide field
3892
- this.field.hideFields();
3893
- },
3894
-
3895
- onClick: function( e, $el ){
3896
-
3897
- // prevent default
3898
- e.preventDefault();
3899
-
3900
- // toggle
3901
- this.toggle();
3902
- },
3903
-
3904
- toggle: function(){
3905
-
3906
- // bail early if already active
3907
- if( this.isActive() ) {
3908
- return;
3909
- }
3910
-
3911
- // toggle this tab
3912
- this.group.openTab( this );
3913
- }
3914
- });
3915
-
3916
- var tabsManager = new acf.Model({
3917
-
3918
- priority: 50,
3919
-
3920
- actions: {
3921
- 'prepare': 'render',
3922
- 'append': 'render',
3923
- 'unload': 'onUnload',
3924
- 'invalid_field': 'onInvalidField'
3925
- },
3926
-
3927
- findTabs: function(){
3928
- return $('.acf-tab-wrap');
3929
- },
3930
-
3931
- getTabs: function(){
3932
- return acf.getInstances( this.findTabs() );
3933
- },
3934
-
3935
- render: function( $el ){
3936
- this.getTabs().map(function( tabs ){
3937
- if( !tabs.get('initialized') ) {
3938
- tabs.initializeTabs();
3939
- }
3940
- });
3941
- },
3942
-
3943
- onInvalidField: function( field ){
3944
-
3945
- // bail early if busy
3946
- if( this.busy ) {
3947
- return;
3948
- }
3949
-
3950
- // ignore if not hidden by tab
3951
- if( !field.hiddenByTab ) {
3952
- return;
3953
- }
3954
-
3955
- // toggle tab
3956
- field.hiddenByTab.toggle();
3957
-
3958
- // ignore other invalid fields
3959
- this.busy = true;
3960
- this.setTimeout(function(){
3961
- this.busy = false;
3962
- }, 100);
3963
- },
3964
-
3965
- onUnload: function(){
3966
-
3967
- // vars
3968
- var order = [];
3969
-
3970
- // loop
3971
- this.getTabs().map(function( group ){
3972
- var active = group.hasActive() ? group.getActive().index() : 0;
3973
- order.push(active);
3974
- });
3975
-
3976
- // bail if no tabs
3977
- if( !order.length ) {
3978
- return;
3979
- }
3980
-
3981
- // update
3982
- acf.setPreference('this.tabs', order);
3983
- }
3984
- });
3985
-
3986
- })(jQuery);
3987
- (function($, undefined){
3988
-
3989
- var Field = acf.models.SelectField.extend({
3990
- type: 'post_object',
3991
- });
3992
-
3993
- acf.registerFieldType( Field );
3994
-
3995
- })(jQuery);
3996
- (function($, undefined){
3997
-
3998
- var Field = acf.models.SelectField.extend({
3999
- type: 'page_link',
4000
- });
4001
-
4002
- acf.registerFieldType( Field );
4003
-
4004
- })(jQuery);
4005
- (function($, undefined){
4006
-
4007
- var Field = acf.models.SelectField.extend({
4008
- type: 'user',
4009
- });
4010
-
4011
- acf.registerFieldType( Field );
4012
-
4013
- })(jQuery);
4014
- (function($, undefined){
4015
-
4016
- var Field = acf.Field.extend({
4017
-
4018
- type: 'taxonomy',
4019
-
4020
- data: {
4021
- 'ftype': 'select'
4022
- },
4023
-
4024
- select2: false,
4025
-
4026
- wait: 'load',
4027
-
4028
- events: {
4029
- 'click a[data-name="add"]': 'onClickAdd',
4030
- 'click input[type="radio"]': 'onClickRadio',
4031
- 'removeField': 'onRemove'
4032
- },
4033
-
4034
- $control: function(){
4035
- return this.$('.acf-taxonomy-field');
4036
- },
4037
-
4038
- $input: function(){
4039
- return this.getRelatedPrototype().$input.apply(this, arguments);
4040
- },
4041
-
4042
- getRelatedType: function(){
4043
-
4044
- // vars
4045
- var fieldType = this.get('ftype');
4046
-
4047
- // normalize
4048
- if( fieldType == 'multi_select' ) {
4049
- fieldType = 'select';
4050
- }
4051
-
4052
- // return
4053
- return fieldType;
4054
-
4055
- },
4056
-
4057
- getRelatedPrototype: function(){
4058
- return acf.getFieldType( this.getRelatedType() ).prototype;
4059
- },
4060
-
4061
- getValue: function(){
4062
- return this.getRelatedPrototype().getValue.apply(this, arguments);
4063
- },
4064
-
4065
- setValue: function(){
4066
- return this.getRelatedPrototype().setValue.apply(this, arguments);
4067
- },
4068
-
4069
- initialize: function(){
4070
- this.getRelatedPrototype().initialize.apply(this, arguments);
4071
- },
4072
-
4073
- onRemove: function(){
4074
- var proto = this.getRelatedPrototype();
4075
- if( proto.onRemove ) {
4076
- proto.onRemove.apply(this, arguments);
4077
- }
4078
- },
4079
-
4080
- onClickAdd: function( e, $el ){
4081
-
4082
- // vars
4083
- var field = this;
4084
- var popup = false;
4085
- var $form = false;
4086
- var $name = false;
4087
- var $parent = false;
4088
- var $button = false;
4089
- var $message = false;
4090
- var notice = false;
4091
-
4092
- // step 1.
4093
- var step1 = function(){
4094
-
4095
- // popup
4096
- popup = acf.newPopup({
4097
- title: $el.attr('title'),
4098
- loading: true,
4099
- width: '300px'
4100
- });
4101
-
4102
- // ajax
4103
- var ajaxData = {
4104
- action: 'acf/fields/taxonomy/add_term',
4105
- field_key: field.get('key')
4106
- };
4107
-
4108
- // get HTML
4109
- $.ajax({
4110
- url: acf.get('ajaxurl'),
4111
- data: acf.prepareForAjax(ajaxData),
4112
- type: 'post',
4113
- dataType: 'html',
4114
- success: step2
4115
- });
4116
- };
4117
-
4118
- // step 2.
4119
- var step2 = function( html ){
4120
-
4121
- // update popup
4122
- popup.loading(false);
4123
- popup.content(html);
4124
-
4125
- // vars
4126
- $form = popup.$('form');
4127
- $name = popup.$('input[name="term_name"]');
4128
- $parent = popup.$('select[name="term_parent"]');
4129
- $button = popup.$('.acf-submit-button');
4130
-
4131
- // focus
4132
- $name.trigger('focus');
4133
-
4134
- // submit form
4135
- popup.on('submit', 'form', step3);
4136
- };
4137
-
4138
- // step 3.
4139
- var step3 = function( e, $el ){
4140
-
4141
- // prevent
4142
- e.preventDefault();
4143
- e.stopImmediatePropagation();
4144
-
4145
- // basic validation
4146
- if( $name.val() === '' ) {
4147
- $name.trigger('focus');
4148
- return false;
4149
- }
4150
-
4151
- // disable
4152
- acf.startButtonLoading( $button );
4153
-
4154
- // ajax
4155
- var ajaxData = {
4156
- action: 'acf/fields/taxonomy/add_term',
4157
- field_key: field.get('key'),
4158
- term_name: $name.val(),
4159
- term_parent: $parent.length ? $parent.val() : 0
4160
- };
4161
-
4162
- $.ajax({
4163
- url: acf.get('ajaxurl'),
4164
- data: acf.prepareForAjax(ajaxData),
4165
- type: 'post',
4166
- dataType: 'json',
4167
- success: step4
4168
- });
4169
- };
4170
-
4171
- // step 4.
4172
- var step4 = function( json ){
4173
-
4174
- // enable
4175
- acf.stopButtonLoading( $button );
4176
-
4177
- // remove prev notice
4178
- if( notice ) {
4179
- notice.remove();
4180
- }
4181
-
4182
- // success
4183
- if( acf.isAjaxSuccess(json) ) {
4184
-
4185
- // clear name
4186
- $name.val('');
4187
-
4188
- // update term lists
4189
- step5( json.data );
4190
-
4191
- // notice
4192
- notice = acf.newNotice({
4193
- type: 'success',
4194
- text: acf.getAjaxMessage(json),
4195
- target: $form,
4196
- timeout: 2000,
4197
- dismiss: false
4198
- });
4199
-
4200
- } else {
4201
-
4202
- // notice
4203
- notice = acf.newNotice({
4204
- type: 'error',
4205
- text: acf.getAjaxError(json),
4206
- target: $form,
4207
- timeout: 2000,
4208
- dismiss: false
4209
- });
4210
- }
4211
-
4212
- // focus
4213
- $name.trigger('focus');
4214
- };
4215
-
4216
- // step 5.
4217
- var step5 = function( term ){
4218
-
4219
- // update parent dropdown
4220
- var $option = $('<option value="' + term.term_id + '">' + term.term_label + '</option>');
4221
- if( term.term_parent ) {
4222
- $parent.children('option[value="' + term.term_parent + '"]').after( $option );
4223
- } else {
4224
- $parent.append( $option );
4225
- }
4226
-
4227
- // add this new term to all taxonomy field
4228
- var fields = acf.getFields({
4229
- type: 'taxonomy'
4230
- });
4231
-
4232
- fields.map(function( otherField ){
4233
- if( otherField.get('taxonomy') == field.get('taxonomy') ) {
4234
- otherField.appendTerm( term );
4235
- }
4236
- });
4237
-
4238
- // select
4239
- field.selectTerm( term.term_id );
4240
- };
4241
-
4242
- // run
4243
- step1();
4244
- },
4245
-
4246
- appendTerm: function( term ){
4247
-
4248
- if( this.getRelatedType() == 'select' ) {
4249
- this.appendTermSelect( term );
4250
- } else {
4251
- this.appendTermCheckbox( term );
4252
- }
4253
- },
4254
-
4255
- appendTermSelect: function( term ){
4256
-
4257
- this.select2.addOption({
4258
- id: term.term_id,
4259
- text: term.term_label
4260
- });
4261
-
4262
- },
4263
-
4264
- appendTermCheckbox: function( term ){
4265
-
4266
- // vars
4267
- var name = this.$('[name]:first').attr('name');
4268
- var $ul = this.$('ul:first');
4269
-
4270
- // allow multiple selection
4271
- if( this.getRelatedType() == 'checkbox' ) {
4272
- name += '[]';
4273
- }
4274
-
4275
- // create new li
4276
- var $li = $([
4277
- '<li data-id="' + term.term_id + '">',
4278
- '<label>',
4279
- '<input type="' + this.get('ftype') + '" value="' + term.term_id + '" name="' + name + '" /> ',
4280
- '<span>' + term.term_name + '</span>',
4281
- '</label>',
4282
- '</li>'
4283
- ].join(''));
4284
-
4285
- // find parent
4286
- if( term.term_parent ) {
4287
-
4288
- // vars
4289
- var $parent = $ul.find('li[data-id="' + term.term_parent + '"]');
4290
-
4291
- // update vars
4292
- $ul = $parent.children('ul');
4293
-
4294
- // create ul
4295
- if( !$ul.exists() ) {
4296
- $ul = $('<ul class="children acf-bl"></ul>');
4297
- $parent.append( $ul );
4298
- }
4299
- }
4300
-
4301
- // append
4302
- $ul.append( $li );
4303
- },
4304
-
4305
- selectTerm: function( id ){
4306
- if( this.getRelatedType() == 'select' ) {
4307
- this.select2.selectOption( id );
4308
- } else {
4309
- var $input = this.$('input[value="' + id + '"]');
4310
- $input.prop('checked', true).trigger('change');
4311
- }
4312
- },
4313
-
4314
- onClickRadio: function( e, $el ){
4315
-
4316
- // vars
4317
- var $label = $el.parent('label');
4318
- var selected = $label.hasClass('selected');
4319
-
4320
- // remove previous selected
4321
- this.$('.selected').removeClass('selected');
4322
-
4323
- // add active class
4324
- $label.addClass('selected');
4325
-
4326
- // allow null
4327
- if( this.get('allow_null') && selected ) {
4328
- $label.removeClass('selected');
4329
- $el.prop('checked', false).trigger('change');
4330
- }
4331
- }
4332
- });
4333
-
4334
- acf.registerFieldType( Field );
4335
-
4336
- })(jQuery);
4337
- (function($, undefined){
4338
-
4339
- var Field = acf.models.DatePickerField.extend({
4340
-
4341
- type: 'time_picker',
4342
-
4343
- $control: function(){
4344
- return this.$('.acf-time-picker');
4345
- },
4346
-
4347
- initialize: function(){
4348
-
4349
- // vars
4350
- var $input = this.$input();
4351
- var $inputText = this.$inputText();
4352
-
4353
- // args
4354
- var args = {
4355
- timeFormat: this.get('time_format'),
4356
- altField: $input,
4357
- altFieldTimeOnly: false,
4358
- altTimeFormat: 'HH:mm:ss',
4359
- showButtonPanel: true,
4360
- controlType: 'select',
4361
- oneLine: true,
4362
- closeText: acf.get('dateTimePickerL10n').selectText,
4363
- timeOnly: true,
4364
- };
4365
-
4366
- // add custom 'Close = Select' functionality
4367
- args.onClose = function( value, dp_instance, t_instance ){
4368
-
4369
- // vars
4370
- var $close = dp_instance.dpDiv.find('.ui-datepicker-close');
4371
-
4372
- // if clicking close button
4373
- if( !value && $close.is(':hover') ) {
4374
- t_instance._updateDateTime();
4375
- }
4376
- };
4377
-
4378
-
4379
- // filter
4380
- args = acf.applyFilters('time_picker_args', args, this);
4381
-
4382
- // add date time picker
4383
- acf.newTimePicker( $inputText, args );
4384
-
4385
- // action
4386
- acf.doAction('time_picker_init', $inputText, args, this);
4387
- }
4388
- });
4389
-
4390
- acf.registerFieldType( Field );
4391
-
4392
-
4393
- // add
4394
- acf.newTimePicker = function( $input, args ){
4395
-
4396
- // bail ealry if no datepicker library
4397
- if( typeof $.timepicker === 'undefined' ) {
4398
- return false;
4399
- }
4400
-
4401
- // defaults
4402
- args = args || {};
4403
-
4404
- // initialize
4405
- $input.timepicker( args );
4406
-
4407
- // wrap the datepicker (only if it hasn't already been wrapped)
4408
- if( $('body > #ui-datepicker-div').exists() ) {
4409
- $('body > #ui-datepicker-div').wrap('<div class="acf-ui-datepicker" />');
4410
- }
4411
- };
4412
-
4413
- })(jQuery);
4414
- (function($, undefined){
4415
-
4416
- var Field = acf.Field.extend({
4417
-
4418
- type: 'true_false',
4419
-
4420
- events: {
4421
- 'change .acf-switch-input': 'onChange',
4422
- 'focus .acf-switch-input': 'onFocus',
4423
- 'blur .acf-switch-input': 'onBlur',
4424
- 'keypress .acf-switch-input': 'onKeypress'
4425
- },
4426
-
4427
- $input: function(){
4428
- return this.$('input[type="checkbox"]');
4429
- },
4430
-
4431
- $switch: function(){
4432
- return this.$('.acf-switch');
4433
- },
4434
-
4435
- getValue: function(){
4436
- return this.$input().prop('checked') ? 1 : 0;
4437
- },
4438
-
4439
- initialize: function(){
4440
- this.render();
4441
- },
4442
-
4443
- render: function(){
4444
-
4445
- // vars
4446
- var $switch = this.$switch();
4447
-
4448
- // bail ealry if no $switch
4449
- if( !$switch.length ) return;
4450
-
4451
- // vars
4452
- var $on = $switch.children('.acf-switch-on');
4453
- var $off = $switch.children('.acf-switch-off');
4454
- var width = Math.max( $on.width(), $off.width() );
4455
-
4456
- // bail ealry if no width
4457
- if( !width ) return;
4458
-
4459
- // set widths
4460
- $on.css( 'min-width', width );
4461
- $off.css( 'min-width', width );
4462
-
4463
- },
4464
-
4465
- switchOn: function() {
4466
- this.$input().prop('checked', true);
4467
- this.$switch().addClass('-on');
4468
- },
4469
-
4470
- switchOff: function() {
4471
- this.$input().prop('checked', false);
4472
- this.$switch().removeClass('-on');
4473
- },
4474
-
4475
- onChange: function( e, $el ){
4476
- if( $el.prop('checked') ) {
4477
- this.switchOn();
4478
- } else {
4479
- this.switchOff();
4480
- }
4481
- },
4482
-
4483
- onFocus: function( e, $el ){
4484
- this.$switch().addClass('-focus');
4485
- },
4486
-
4487
- onBlur: function( e, $el ){
4488
- this.$switch().removeClass('-focus');
4489
- },
4490
-
4491
- onKeypress: function( e, $el ){
4492
-
4493
- // left
4494
- if( e.keyCode === 37 ) {
4495
- return this.switchOff();
4496
- }
4497
-
4498
- // right
4499
- if( e.keyCode === 39 ) {
4500
- return this.switchOn();
4501
- }
4502
-
4503
- }
4504
- });
4505
-
4506
- acf.registerFieldType( Field );
4507
-
4508
- })(jQuery);
4509
- (function($, undefined){
4510
-
4511
- var Field = acf.Field.extend({
4512
-
4513
- type: 'url',
4514
-
4515
- events: {
4516
- 'keyup input[type="url"]': 'onkeyup'
4517
- },
4518
-
4519
- $control: function(){
4520
- return this.$('.acf-input-wrap');
4521
- },
4522
-
4523
- $input: function(){
4524
- return this.$('input[type="url"]');
4525
- },
4526
-
4527
- initialize: function(){
4528
- this.render();
4529
- },
4530
-
4531
- isValid: function(){
4532
-
4533
- // vars
4534
- var val = this.val();
4535
-
4536
- // bail early if no val
4537
- if( !val ) {
4538
- return false;
4539
- }
4540
-
4541
- // url
4542
- if( val.indexOf('://') !== -1 ) {
4543
- return true;
4544
- }
4545
-
4546
- // protocol relative url
4547
- if( val.indexOf('//') === 0 ) {
4548
- return true;
4549
- }
4550
-
4551
- // return
4552
- return false;
4553
- },
4554
-
4555
- render: function(){
4556
-
4557
- // add class
4558
- if( this.isValid() ) {
4559
- this.$control().addClass('-valid');
4560
- } else {
4561
- this.$control().removeClass('-valid');
4562
- }
4563
- },
4564
-
4565
- onkeyup: function( e, $el ){
4566
- this.render();
4567
- }
4568
- });
4569
-
4570
- acf.registerFieldType( Field );
4571
-
4572
- })(jQuery);
4573
- (function($, undefined){
4574
-
4575
- var Field = acf.Field.extend({
4576
-
4577
- type: 'wysiwyg',
4578
-
4579
- wait: 'load',
4580
-
4581
- events: {
4582
- 'mousedown .acf-editor-wrap.delay': 'onMousedown',
4583
- 'unmountField': 'disableEditor',
4584
- 'remountField': 'enableEditor',
4585
- 'removeField': 'disableEditor'
4586
- },
4587
-
4588
- $control: function(){
4589
- return this.$('.acf-editor-wrap');
4590
- },
4591
-
4592
- $input: function(){
4593
- return this.$('textarea');
4594
- },
4595
-
4596
- getMode: function(){
4597
- return this.$control().hasClass('tmce-active') ? 'visual' : 'text';
4598
- },
4599
-
4600
- initialize: function(){
4601
-
4602
- // initializeEditor if no delay
4603
- if( !this.$control().hasClass('delay') ) {
4604
- this.initializeEditor();
4605
- }
4606
- },
4607
-
4608
- initializeEditor: function(){
4609
-
4610
- // vars
4611
- var $wrap = this.$control();
4612
- var $textarea = this.$input();
4613
- var args = {
4614
- tinymce: true,
4615
- quicktags: true,
4616
- toolbar: this.get('toolbar'),
4617
- mode: this.getMode(),
4618
- field: this
4619
- };
4620
-
4621
- // generate new id
4622
- var oldId = $textarea.attr('id');
4623
- var newId = acf.uniqueId('acf-editor-');
4624
-
4625
- // Backup textarea data.
4626
- var inputData = $textarea.data();
4627
- var inputVal = $textarea.val();
4628
-
4629
- // rename
4630
- acf.rename({
4631
- target: $wrap,
4632
- search: oldId,
4633
- replace: newId,
4634
- destructive: true
4635
- });
4636
-
4637
- // update id
4638
- this.set('id', newId, true);
4639
-
4640
- // apply data to new textarea (acf.rename creates a new textarea element due to destructive mode)
4641
- // fixes bug where conditional logic "disabled" is lost during "screen_check"
4642
- this.$input().data( inputData ).val( inputVal );
4643
-
4644
- // initialize
4645
- acf.tinymce.initialize( newId, args );
4646
- },
4647
-
4648
- onMousedown: function( e ){
4649
-
4650
- // prevent default
4651
- e.preventDefault();
4652
-
4653
- // remove delay class
4654
- var $wrap = this.$control();
4655
- $wrap.removeClass('delay');
4656
- $wrap.find('.acf-editor-toolbar').remove();
4657
-
4658
- // initialize
4659
- this.initializeEditor();
4660
- },
4661
-
4662
- enableEditor: function(){
4663
- if( this.getMode() == 'visual' ) {
4664
- acf.tinymce.enable( this.get('id') );
4665
- }
4666
- },
4667
-
4668
- disableEditor: function(){
4669
- acf.tinymce.destroy( this.get('id') );
4670
- }
4671
- });
4672
-
4673
- acf.registerFieldType( Field );
4674
-
4675
- })(jQuery);
4676
- (function($, undefined){
4677
-
4678
- // vars
4679
- var storage = [];
4680
-
4681
- /**
4682
- * acf.Condition
4683
- *
4684
- * description
4685
- *
4686
- * @date 23/3/18
4687
- * @since 5.6.9
4688
- *
4689
- * @param type $var Description. Default.
4690
- * @return type Description.
4691
- */
4692
-
4693
- acf.Condition = acf.Model.extend({
4694
-
4695
- type: '', // used for model name
4696
- operator: '==', // rule operator
4697
- label: '', // label shown when editing fields
4698
- choiceType: 'input', // input, select
4699
- fieldTypes: [], // auto connect this conditions with these field types
4700
-
4701
- data: {
4702
- conditions: false, // the parent instance
4703
- field: false, // the field which we query against
4704
- rule: {} // the rule [field, operator, value]
4705
- },
4706
-
4707
- events: {
4708
- 'change': 'change',
4709
- 'keyup': 'change',
4710
- 'enableField': 'change',
4711
- 'disableField': 'change'
4712
- },
4713
-
4714
- setup: function( props ){
4715
- $.extend(this.data, props);
4716
- },
4717
-
4718
- getEventTarget: function( $el, event ){
4719
- return $el || this.get('field').$el;
4720
- },
4721
-
4722
- change: function( e, $el ){
4723
- this.get('conditions').change( e );
4724
- },
4725
-
4726
- match: function( rule, field ){
4727
- return false;
4728
- },
4729
-
4730
- calculate: function(){
4731
- return this.match( this.get('rule'), this.get('field') );
4732
- },
4733
-
4734
- choices: function( field ){
4735
- return '<input type="text" />';
4736
- }
4737
- });
4738
-
4739
- /**
4740
- * acf.newCondition
4741
- *
4742
- * description
4743
- *
4744
- * @date 1/2/18
4745
- * @since 5.6.5
4746
- *
4747
- * @param type $var Description. Default.
4748
- * @return type Description.
4749
- */
4750
-
4751
- acf.newCondition = function( rule, conditions ){
4752
-
4753
- // currently setting up conditions for fieldX, this field is the 'target'
4754
- var target = conditions.get('field');
4755
-
4756
- // use the 'target' to find the 'trigger' field.
4757
- // - this field is used to setup the conditional logic events
4758
- var field = target.getField( rule.field );
4759
-
4760
- // bail ealry if no target or no field (possible if field doesn't exist due to HTML error)
4761
- if( !target || !field ) {
4762
- return false;
4763
- }
4764
-
4765
- // vars
4766
- var args = {
4767
- rule: rule,
4768
- target: target,
4769
- conditions: conditions,
4770
- field: field
4771
- };
4772
-
4773
- // vars
4774
- var fieldType = field.get('type');
4775
- var operator = rule.operator;
4776
-
4777
- // get avaibale conditions
4778
- var conditionTypes = acf.getConditionTypes({
4779
- fieldType: fieldType,
4780
- operator: operator,
4781
- });
4782
-
4783
- // instantiate
4784
- var model = conditionTypes[0] || acf.Condition;
4785
-
4786
- // instantiate
4787
- var condition = new model( args );
4788
-
4789
- // return
4790
- return condition;
4791
- };
4792
-
4793
- /**
4794
- * mid
4795
- *
4796
- * Calculates the model ID for a field type
4797
- *
4798
- * @date 15/12/17
4799
- * @since 5.6.5
4800
- *
4801
- * @param string type
4802
- * @return string
4803
- */
4804
-
4805
- var modelId = function( type ) {
4806
- return acf.strPascalCase( type || '' ) + 'Condition';
4807
- };
4808
-
4809
- /**
4810
- * acf.registerConditionType
4811
- *
4812
- * description
4813
- *
4814
- * @date 1/2/18
4815
- * @since 5.6.5
4816
- *
4817
- * @param type $var Description. Default.
4818
- * @return type Description.
4819
- */
4820
-
4821
- acf.registerConditionType = function( model ){
4822
-
4823
- // vars
4824
- var proto = model.prototype;
4825
- var type = proto.type;
4826
- var mid = modelId( type );
4827
-
4828
- // store model
4829
- acf.models[ mid ] = model;
4830
-
4831
- // store reference
4832
- storage.push( type );
4833
- };
4834
-
4835
- /**
4836
- * acf.getConditionType
4837
- *
4838
- * description
4839
- *
4840
- * @date 1/2/18
4841
- * @since 5.6.5
4842
- *
4843
- * @param type $var Description. Default.
4844
- * @return type Description.
4845
- */
4846
-
4847
- acf.getConditionType = function( type ){
4848
- var mid = modelId( type );
4849
- return acf.models[ mid ] || false;
4850
- }
4851
-
4852
- /**
4853
- * acf.registerConditionForFieldType
4854
- *
4855
- * description
4856
- *
4857
- * @date 1/2/18
4858
- * @since 5.6.5
4859
- *
4860
- * @param type $var Description. Default.
4861
- * @return type Description.
4862
- */
4863
-
4864
- acf.registerConditionForFieldType = function( conditionType, fieldType ){
4865
-
4866
- // get model
4867
- var model = acf.getConditionType( conditionType );
4868
-
4869
- // append
4870
- if( model ) {
4871
- model.prototype.fieldTypes.push( fieldType );
4872
- }
4873
- };
4874
-
4875
- /**
4876
- * acf.getConditionTypes
4877
- *
4878
- * description
4879
- *
4880
- * @date 1/2/18
4881
- * @since 5.6.5
4882
- *
4883
- * @param type $var Description. Default.
4884
- * @return type Description.
4885
- */
4886
-
4887
- acf.getConditionTypes = function( args ){
4888
-
4889
- // defaults
4890
- args = acf.parseArgs(args, {
4891
- fieldType: '',
4892
- operator: ''
4893
- });
4894
-
4895
- // clonse available types
4896
- var types = [];
4897
-
4898
- // loop
4899
- storage.map(function( type ){
4900
-
4901
- // vars
4902
- var model = acf.getConditionType(type);
4903
- var ProtoFieldTypes = model.prototype.fieldTypes;
4904
- var ProtoOperator = model.prototype.operator;
4905
-
4906
- // check fieldType
4907
- if( args.fieldType && ProtoFieldTypes.indexOf( args.fieldType ) === -1 ) {
4908
- return;
4909
- }
4910
-
4911
- // check operator
4912
- if( args.operator && ProtoOperator !== args.operator ) {
4913
- return;
4914
- }
4915
-
4916
- // append
4917
- types.push( model );
4918
- });
4919
-
4920
- // return
4921
- return types;
4922
- };
4923
-
4924
- })(jQuery);
4925
- (function($, undefined){
4926
-
4927
- // vars
4928
- var CONTEXT = 'conditional_logic';
4929
-
4930
- /**
4931
- * conditionsManager
4932
- *
4933
- * description
4934
- *
4935
- * @date 1/2/18
4936
- * @since 5.6.5
4937
- *
4938
- * @param type $var Description. Default.
4939
- * @return type Description.
4940
- */
4941
-
4942
- var conditionsManager = new acf.Model({
4943
-
4944
- id: 'conditionsManager',
4945
-
4946
- priority: 20, // run actions later
4947
-
4948
- actions: {
4949
- 'new_field': 'onNewField',
4950
- },
4951
-
4952
- onNewField: function( field ){
4953
- if( field.has('conditions') ) {
4954
- field.getConditions().render();
4955
- }
4956
- },
4957
- });
4958
-
4959
- /**
4960
- * acf.Field.prototype.getField
4961
- *
4962
- * Finds a field that is related to another field
4963
- *
4964
- * @date 1/2/18
4965
- * @since 5.6.5
4966
- *
4967
- * @param type $var Description. Default.
4968
- * @return type Description.
4969
- */
4970
-
4971
- var getSiblingField = function( field, key ){
4972
-
4973
- // find sibling (very fast)
4974
- var fields = acf.getFields({
4975
- key: key,
4976
- sibling: field.$el,
4977
- suppressFilters: true,
4978
- });
4979
-
4980
- // find sibling-children (fast)
4981
- // needed for group fields, accordions, etc
4982
- if( !fields.length ) {
4983
- fields = acf.getFields({
4984
- key: key,
4985
- parent: field.$el.parent(),
4986
- suppressFilters: true,
4987
- });
4988
- }
4989
-
4990
- // return
4991
- if( fields.length ) {
4992
- return fields[0];
4993
- }
4994
- return false;
4995
- };
4996
-
4997
- acf.Field.prototype.getField = function( key ){
4998
-
4999
- // get sibling field
5000
- var field = getSiblingField( this, key );
5001
-
5002
- // return early
5003
- if( field ) {
5004
- return field;
5005
- }
5006
-
5007
- // move up through each parent and try again
5008
- var parents = this.parents();
5009
- for( var i = 0; i < parents.length; i++ ) {
5010
-
5011
- // get sibling field
5012
- field = getSiblingField( parents[i], key );
5013
-
5014
- // return early
5015
- if( field ) {
5016
- return field;
5017
- }
5018
- }
5019
-
5020
- // return
5021
- return false;
5022
- };
5023
-
5024
-
5025
- /**
5026
- * acf.Field.prototype.getConditions
5027
- *
5028
- * Returns the field's conditions instance
5029
- *
5030
- * @date 1/2/18
5031
- * @since 5.6.5
5032
- *
5033
- * @param type $var Description. Default.
5034
- * @return type Description.
5035
- */
5036
-
5037
- acf.Field.prototype.getConditions = function(){
5038
-
5039
- // instantiate
5040
- if( !this.conditions ) {
5041
- this.conditions = new Conditions( this );
5042
- }
5043
-
5044
- // return
5045
- return this.conditions;
5046
- };
5047
-
5048
-
5049
- /**
5050
- * Conditions
5051
- *
5052
- * description
5053
- *
5054
- * @date 1/2/18
5055
- * @since 5.6.5
5056
- *
5057
- * @param type $var Description. Default.
5058
- * @return type Description.
5059
- */
5060
- var timeout = false;
5061
- var Conditions = acf.Model.extend({
5062
-
5063
- id: 'Conditions',
5064
-
5065
- data: {
5066
- field: false, // The field with "data-conditions" (target).
5067
- timeStamp: false, // Reference used during "change" event.
5068
- groups: [], // The groups of condition instances.
5069
- },
5070
-
5071
- setup: function( field ){
5072
-
5073
- // data
5074
- this.data.field = field;
5075
-
5076
- // vars
5077
- var conditions = field.get('conditions');
5078
-
5079
- // detect groups
5080
- if( conditions instanceof Array ) {
5081
-
5082
- // detect groups
5083
- if( conditions[0] instanceof Array ) {
5084
-
5085
- // loop
5086
- conditions.map(function(rules, i){
5087
- this.addRules( rules, i );
5088
- }, this);
5089
-
5090
- // detect rules
5091
- } else {
5092
- this.addRules( conditions );
5093
- }
5094
-
5095
- // detect rule
5096
- } else {
5097
- this.addRule( conditions );
5098
- }
5099
- },
5100
-
5101
- change: function( e ){
5102
-
5103
- // this function may be triggered multiple times per event due to multiple condition classes
5104
- // compare timestamp to allow only 1 trigger per event
5105
- if( this.get('timeStamp') === e.timeStamp ) {
5106
- return false;
5107
- } else {
5108
- this.set('timeStamp', e.timeStamp, true);
5109
- }
5110
-
5111
- // render condition and store result
5112
- var changed = this.render();
5113
- },
5114
-
5115
- render: function(){
5116
- return this.calculate() ? this.show() : this.hide();
5117
- },
5118
-
5119
- show: function(){
5120
- return this.get('field').showEnable(this.cid, CONTEXT);
5121
- },
5122
-
5123
- hide: function(){
5124
- return this.get('field').hideDisable(this.cid, CONTEXT);
5125
- },
5126
-
5127
- calculate: function(){
5128
-
5129
- // vars
5130
- var pass = false;
5131
-
5132
- // loop
5133
- this.getGroups().map(function( group ){
5134
-
5135
- // igrnore this group if another group passed
5136
- if( pass ) return;
5137
-
5138
- // find passed
5139
- var passed = group.filter(function(condition){
5140
- return condition.calculate();
5141
- });
5142
-
5143
- // if all conditions passed, update the global var
5144
- if( passed.length == group.length ) {
5145
- pass = true;
5146
- }
5147
- });
5148
-
5149
- return pass;
5150
- },
5151
-
5152
- hasGroups: function(){
5153
- return this.data.groups != null;
5154
- },
5155
-
5156
- getGroups: function(){
5157
- return this.data.groups;
5158
- },
5159
-
5160
- addGroup: function(){
5161
- var group = [];
5162
- this.data.groups.push( group );
5163
- return group;
5164
- },
5165
-
5166
- hasGroup: function( i ){
5167
- return this.data.groups[i] != null;
5168
- },
5169
-
5170
- getGroup: function( i ){
5171
- return this.data.groups[i];
5172
- },
5173
-
5174
- removeGroup: function( i ){
5175
- this.data.groups[i].delete;
5176
- return this;
5177
- },
5178
-
5179
- addRules: function( rules, group ){
5180
- rules.map(function( rule ){
5181
- this.addRule( rule, group );
5182
- }, this);
5183
- },
5184
-
5185
- addRule: function( rule, group ){
5186
-
5187
- // defaults
5188
- group = group || 0;
5189
-
5190
- // vars
5191
- var groupArray;
5192
-
5193
- // get group
5194
- if( this.hasGroup(group) ) {
5195
- groupArray = this.getGroup(group);
5196
- } else {
5197
- groupArray = this.addGroup();
5198
- }
5199
-
5200
- // instantiate
5201
- var condition = acf.newCondition( rule, this );
5202
-
5203
- // bail ealry if condition failed (field did not exist)
5204
- if( !condition ) {
5205
- return false;
5206
- }
5207
-
5208
- // add rule
5209
- groupArray.push(condition);
5210
- },
5211
-
5212
- hasRule: function(){
5213
-
5214
- },
5215
-
5216
- getRule: function( rule, group ){
5217
-
5218
- // defaults
5219
- rule = rule || 0;
5220
- group = group || 0;
5221
-
5222
- return this.data.groups[ group ][ rule ];
5223
- },
5224
-
5225
- removeRule: function(){
5226
-
5227
- }
5228
- });
5229
-
5230
- })(jQuery);
5231
- (function($, undefined){
5232
-
5233
- var __ = acf.__;
5234
-
5235
- var parseString = function( val ){
5236
- return val ? '' + val : '';
5237
- };
5238
-
5239
- var isEqualTo = function( v1, v2 ){
5240
- return ( parseString(v1).toLowerCase() === parseString(v2).toLowerCase() );
5241
- };
5242
-
5243
- var isEqualToNumber = function( v1, v2 ){
5244
- return ( parseFloat(v1) === parseFloat(v2) );
5245
- };
5246
-
5247
- var isGreaterThan = function( v1, v2 ){
5248
- return ( parseFloat(v1) > parseFloat(v2) );
5249
- };
5250
-
5251
- var isLessThan = function( v1, v2 ){
5252
- return ( parseFloat(v1) < parseFloat(v2) );
5253
- };
5254
-
5255
- var inArray = function( v1, array ){
5256
-
5257
- // cast all values as string
5258
- array = array.map(function(v2){
5259
- return parseString(v2);
5260
- });
5261
-
5262
- return (array.indexOf( v1 ) > -1);
5263
- }
5264
-
5265
- var containsString = function( haystack, needle ){
5266
- return ( parseString(haystack).indexOf( parseString(needle) ) > -1 );
5267
- };
5268
-
5269
- var matchesPattern = function( v1, pattern ){
5270
- var regexp = new RegExp(parseString(pattern), 'gi');
5271
- return parseString(v1).match( regexp );
5272
- };
5273
-
5274
- /**
5275
- * hasValue
5276
- *
5277
- * description
5278
- *
5279
- * @date 1/2/18
5280
- * @since 5.6.5
5281
- *
5282
- * @param void
5283
- * @return void
5284
- */
5285
-
5286
- var HasValue = acf.Condition.extend({
5287
- type: 'hasValue',
5288
- operator: '!=empty',
5289
- label: __('Has any value'),
5290
- fieldTypes: [ 'text', 'textarea', 'number', 'range', 'email', 'url', 'password', 'image', 'file', 'wysiwyg', 'oembed', 'select', 'checkbox', 'radio', 'button_group', 'link', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user', 'google_map', 'date_picker', 'date_time_picker', 'time_picker', 'color_picker' ],
5291
- match: function( rule, field ){
5292
- return (field.val() ? true : false);
5293
- },
5294
- choices: function( fieldObject ){
5295
- return '<input type="text" disabled="" />';
5296
- }
5297
- });
5298
-
5299
- acf.registerConditionType( HasValue );
5300
-
5301
- /**
5302
- * hasValue
5303
- *
5304
- * description
5305
- *
5306
- * @date 1/2/18
5307
- * @since 5.6.5
5308
- *
5309
- * @param void
5310
- * @return void
5311
- */
5312
-
5313
- var HasNoValue = HasValue.extend({
5314
- type: 'hasNoValue',
5315
- operator: '==empty',
5316
- label: __('Has no value'),
5317
- match: function( rule, field ){
5318
- return !HasValue.prototype.match.apply(this, arguments);
5319
- }
5320
- });
5321
-
5322
- acf.registerConditionType( HasNoValue );
5323
-
5324
-
5325
-
5326
- /**
5327
- * EqualTo
5328
- *
5329
- * description
5330
- *
5331
- * @date 1/2/18
5332
- * @since 5.6.5
5333
- *
5334
- * @param void
5335
- * @return void
5336
- */
5337
-
5338
- var EqualTo = acf.Condition.extend({
5339
- type: 'equalTo',
5340
- operator: '==',
5341
- label: __('Value is equal to'),
5342
- fieldTypes: [ 'text', 'textarea', 'number', 'range', 'email', 'url', 'password' ],
5343
- match: function( rule, field ){
5344
- if( acf.isNumeric(rule.value) ) {
5345
- return isEqualToNumber( rule.value, field.val() );
5346
- } else {
5347
- return isEqualTo( rule.value, field.val() );
5348
- }
5349
- },
5350
- choices: function( fieldObject ){
5351
- return '<input type="text" />';
5352
- }
5353
- });
5354
-
5355
- acf.registerConditionType( EqualTo );
5356
-
5357
- /**
5358
- * NotEqualTo
5359
- *
5360
- * description
5361
- *
5362
- * @date 1/2/18
5363
- * @since 5.6.5
5364
- *
5365
- * @param void
5366
- * @return void
5367
- */
5368
-
5369
- var NotEqualTo = EqualTo.extend({
5370
- type: 'notEqualTo',
5371
- operator: '!=',
5372
- label: __('Value is not equal to'),
5373
- match: function( rule, field ){
5374
- return !EqualTo.prototype.match.apply(this, arguments);
5375
- }
5376
- });
5377
-
5378
- acf.registerConditionType( NotEqualTo );
5379
-
5380
- /**
5381
- * PatternMatch
5382
- *
5383
- * description
5384
- *
5385
- * @date 1/2/18
5386
- * @since 5.6.5
5387
- *
5388
- * @param void
5389
- * @return void
5390
- */
5391
-
5392
- var PatternMatch = acf.Condition.extend({
5393
- type: 'patternMatch',
5394
- operator: '==pattern',
5395
- label: __('Value matches pattern'),
5396
- fieldTypes: [ 'text', 'textarea', 'email', 'url', 'password', 'wysiwyg' ],
5397
- match: function( rule, field ){
5398
- return matchesPattern( field.val(), rule.value );
5399
- },
5400
- choices: function( fieldObject ){
5401
- return '<input type="text" placeholder="[a-z0-9]" />';
5402
- }
5403
- });
5404
-
5405
- acf.registerConditionType( PatternMatch );
5406
-
5407
- /**
5408
- * Contains
5409
- *
5410
- * description
5411
- *
5412
- * @date 1/2/18
5413
- * @since 5.6.5
5414
- *
5415
- * @param void
5416
- * @return void
5417
- */
5418
-
5419
- var Contains = acf.Condition.extend({
5420
- type: 'contains',
5421
- operator: '==contains',
5422
- label: __('Value contains'),
5423
- fieldTypes: [ 'text', 'textarea', 'number', 'email', 'url', 'password', 'wysiwyg', 'oembed', 'select' ],
5424
- match: function( rule, field ){
5425
- return containsString( field.val(), rule.value );
5426
- },
5427
- choices: function( fieldObject ){
5428
- return '<input type="text" />';
5429
- }
5430
- });
5431
-
5432
- acf.registerConditionType( Contains );
5433
-
5434
- /**
5435
- * TrueFalseEqualTo
5436
- *
5437
- * description
5438
- *
5439
- * @date 1/2/18
5440
- * @since 5.6.5
5441
- *
5442
- * @param void
5443
- * @return void
5444
- */
5445
-
5446
- var TrueFalseEqualTo = EqualTo.extend({
5447
- type: 'trueFalseEqualTo',
5448
- choiceType: 'select',
5449
- fieldTypes: [ 'true_false' ],
5450
- choices: function( field ){
5451
- return [
5452
- {
5453
- id: 1,
5454
- text: __('Checked')
5455
- }
5456
- ];
5457
- },
5458
- });
5459
-
5460
- acf.registerConditionType( TrueFalseEqualTo );
5461
-
5462
- /**
5463
- * TrueFalseNotEqualTo
5464
- *
5465
- * description
5466
- *
5467
- * @date 1/2/18
5468
- * @since 5.6.5
5469
- *
5470
- * @param void
5471
- * @return void
5472
- */
5473
-
5474
- var TrueFalseNotEqualTo = NotEqualTo.extend({
5475
- type: 'trueFalseNotEqualTo',
5476
- choiceType: 'select',
5477
- fieldTypes: [ 'true_false' ],
5478
- choices: function( field ){
5479
- return [
5480
- {
5481
- id: 1,
5482
- text: __('Checked')
5483
- }
5484
- ];
5485
- },
5486
- });
5487
-
5488
- acf.registerConditionType( TrueFalseNotEqualTo );
5489
-
5490
- /**
5491
- * SelectEqualTo
5492
- *
5493
- * description
5494
- *
5495
- * @date 1/2/18
5496
- * @since 5.6.5
5497
- *
5498
- * @param void
5499
- * @return void
5500
- */
5501
-
5502
- var SelectEqualTo = acf.Condition.extend({
5503
- type: 'selectEqualTo',
5504
- operator: '==',
5505
- label: __('Value is equal to'),
5506
- fieldTypes: [ 'select', 'checkbox', 'radio', 'button_group' ],
5507
- match: function( rule, field ){
5508
- var val = field.val();
5509
- if( val instanceof Array ) {
5510
- return inArray( rule.value, val );
5511
- } else {
5512
- return isEqualTo( rule.value, val );
5513
- }
5514
- },
5515
- choices: function( fieldObject ){
5516
-
5517
- // vars
5518
- var choices = [];
5519
- var lines = fieldObject.$setting('choices textarea').val().split("\n");
5520
-
5521
- // allow null
5522
- if( fieldObject.$input('allow_null').prop('checked') ) {
5523
- choices.push({
5524
- id: '',
5525
- text: __('Null')
5526
- });
5527
- }
5528
-
5529
- // loop
5530
- lines.map(function( line ){
5531
-
5532
- // split
5533
- line = line.split(':');
5534
-
5535
- // default label to value
5536
- line[1] = line[1] || line[0];
5537
-
5538
- // append
5539
- choices.push({
5540
- id: line[0].trim(),
5541
- text: line[1].trim()
5542
- });
5543
- });
5544
-
5545
- // return
5546
- return choices;
5547
- },
5548
- });
5549
-
5550
- acf.registerConditionType( SelectEqualTo );
5551
-
5552
- /**
5553
- * SelectNotEqualTo
5554
- *
5555
- * description
5556
- *
5557
- * @date 1/2/18
5558
- * @since 5.6.5
5559
- *
5560
- * @param void
5561
- * @return void
5562
- */
5563
-
5564
- var SelectNotEqualTo = SelectEqualTo.extend({
5565
- type: 'selectNotEqualTo',
5566
- operator: '!=',
5567
- label: __('Value is not equal to'),
5568
- match: function( rule, field ){
5569
- return !SelectEqualTo.prototype.match.apply(this, arguments);
5570
- }
5571
- });
5572
-
5573
- acf.registerConditionType( SelectNotEqualTo );
5574
-
5575
- /**
5576
- * GreaterThan
5577
- *
5578
- * description
5579
- *
5580
- * @date 1/2/18
5581
- * @since 5.6.5
5582
- *
5583
- * @param void
5584
- * @return void
5585
- */
5586
-
5587
- var GreaterThan = acf.Condition.extend({
5588
- type: 'greaterThan',
5589
- operator: '>',
5590
- label: __('Value is greater than'),
5591
- fieldTypes: [ 'number', 'range' ],
5592
- match: function( rule, field ){
5593
- var val = field.val();
5594
- if( val instanceof Array ) {
5595
- val = val.length;
5596
- }
5597
- return isGreaterThan( val, rule.value );
5598
- },
5599
- choices: function( fieldObject ){
5600
- return '<input type="number" />';
5601
- }
5602
- });
5603
-
5604
- acf.registerConditionType( GreaterThan );
5605
-
5606
-
5607
- /**
5608
- * LessThan
5609
- *
5610
- * description
5611
- *
5612
- * @date 1/2/18
5613
- * @since 5.6.5
5614
- *
5615
- * @param void
5616
- * @return void
5617
- */
5618
-
5619
- var LessThan = GreaterThan.extend({
5620
- type: 'lessThan',
5621
- operator: '<',
5622
- label: __('Value is less than'),
5623
- match: function( rule, field ){
5624
- var val = field.val();
5625
- if( val instanceof Array ) {
5626
- val = val.length;
5627
- }
5628
- return isLessThan( val, rule.value );
5629
- },
5630
- choices: function( fieldObject ){
5631
- return '<input type="number" />';
5632
- }
5633
- });
5634
-
5635
- acf.registerConditionType( LessThan );
5636
-
5637
- /**
5638
- * SelectedGreaterThan
5639
- *
5640
- * description
5641
- *
5642
- * @date 1/2/18
5643
- * @since 5.6.5
5644
- *
5645
- * @param void
5646
- * @return void
5647
- */
5648
-
5649
- var SelectionGreaterThan = GreaterThan.extend({
5650
- type: 'selectionGreaterThan',
5651
- label: __('Selection is greater than'),
5652
- fieldTypes: [ 'checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user' ],
5653
- });
5654
-
5655
- acf.registerConditionType( SelectionGreaterThan );
5656
-
5657
- /**
5658
- * SelectedGreaterThan
5659
- *
5660
- * description
5661
- *
5662
- * @date 1/2/18
5663
- * @since 5.6.5
5664
- *
5665
- * @param void
5666
- * @return void
5667
- */
5668
-
5669
- var SelectionLessThan = LessThan.extend({
5670
- type: 'selectionLessThan',
5671
- label: __('Selection is less than'),
5672
- fieldTypes: [ 'checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user' ],
5673
- });
5674
-
5675
- acf.registerConditionType( SelectionLessThan );
5676
-
5677
- })(jQuery);
5678
- (function($, undefined){
5679
-
5680
- acf.unload = new acf.Model({
5681
-
5682
- wait: 'load',
5683
- active: true,
5684
- changed: false,
5685
-
5686
- actions: {
5687
- 'validation_failure': 'startListening',
5688
- 'validation_success': 'stopListening'
5689
- },
5690
-
5691
- events: {
5692
- 'change form .acf-field': 'startListening',
5693
- 'submit form': 'stopListening'
5694
- },
5695
-
5696
- enable: function(){
5697
- this.active = true;
5698
- },
5699
-
5700
- disable: function(){
5701
- this.active = false;
5702
- },
5703
-
5704
- reset: function(){
5705
- this.stopListening();
5706
- },
5707
-
5708
- startListening: function(){
5709
-
5710
- // bail ealry if already changed, not active
5711
- if( this.changed || !this.active ) {
5712
- return;
5713
- }
5714
-
5715
- // update
5716
- this.changed = true;
5717
-
5718
- // add event
5719
- $(window).on('beforeunload', this.onUnload);
5720
-
5721
- },
5722
-
5723
- stopListening: function(){
5724
-
5725
- // update
5726
- this.changed = false;
5727
-
5728
- // remove event
5729
- $(window).off('beforeunload', this.onUnload);
5730
-
5731
- },
5732
-
5733
- onUnload: function(){
5734
- return acf.__('The changes you made will be lost if you navigate away from this page');
5735
- }
5736
-
5737
- });
5738
-
5739
- })(jQuery);
5740
- (function($, undefined){
5741
-
5742
- /**
5743
- * postboxManager
5744
- *
5745
- * Manages postboxes on the screen.
5746
- *
5747
- * @date 25/5/19
5748
- * @since 5.8.1
5749
- *
5750
- * @param void
5751
- * @return void
5752
- */
5753
- var postboxManager = new acf.Model({
5754
- wait: 'prepare',
5755
- priority: 1,
5756
- initialize: function(){
5757
- (acf.get('postboxes') || []).map( acf.newPostbox );
5758
- },
5759
- });
5760
-
5761
- /**
5762
- * acf.getPostbox
5763
- *
5764
- * Returns a postbox instance.
5765
- *
5766
- * @date 23/9/18
5767
- * @since 5.7.7
5768
- *
5769
- * @param mixed $el Either a jQuery element or the postbox id.
5770
- * @return object
5771
- */
5772
- acf.getPostbox = function( $el ){
5773
-
5774
- // allow string parameter
5775
- if( typeof arguments[0] == 'string' ) {
5776
- $el = $('#' + arguments[0]);
5777
- }
5778
-
5779
- // return instance
5780
- return acf.getInstance( $el );
5781
- };
5782
-
5783
- /**
5784
- * acf.getPostboxes
5785
- *
5786
- * Returns an array of postbox instances.
5787
- *
5788
- * @date 23/9/18
5789
- * @since 5.7.7
5790
- *
5791
- * @param void
5792
- * @return array
5793
- */
5794
- acf.getPostboxes = function(){
5795
- return acf.getInstances( $('.acf-postbox') );
5796
- };
5797
-
5798
- /**
5799
- * acf.newPostbox
5800
- *
5801
- * Returns a new postbox instance for the given props.
5802
- *
5803
- * @date 20/9/18
5804
- * @since 5.7.6
5805
- *
5806
- * @param object props The postbox properties.
5807
- * @return object
5808
- */
5809
- acf.newPostbox = function( props ){
5810
- return new acf.models.Postbox( props );
5811
- };
5812
-
5813
- /**
5814
- * acf.models.Postbox
5815
- *
5816
- * The postbox model.
5817
- *
5818
- * @date 20/9/18
5819
- * @since 5.7.6
5820
- *
5821
- * @param void
5822
- * @return void
5823
- */
5824
- acf.models.Postbox = acf.Model.extend({
5825
-
5826
- data: {
5827
- id: '',
5828
- key: '',
5829
- style: 'default',
5830
- label: 'top',
5831
- edit: ''
5832
- },
5833
-
5834
- setup: function( props ){
5835
-
5836
- // compatibilty
5837
- if( props.editLink ) {
5838
- props.edit = props.editLink;
5839
- }
5840
-
5841
- // extend data
5842
- $.extend(this.data, props);
5843
-
5844
- // set $el
5845
- this.$el = this.$postbox();
5846
- },
5847
-
5848
- $postbox: function(){
5849
- return $('#' + this.get('id'));
5850
- },
5851
-
5852
- $hide: function(){
5853
- return $('#' + this.get('id') + '-hide');
5854
- },
5855
-
5856
- $hideLabel: function(){
5857
- return this.$hide().parent();
5858
- },
5859
-
5860
- $hndle: function(){
5861
- return this.$('> .hndle');
5862
- },
5863
-
5864
- $handleActions: function(){
5865
- return this.$('> .postbox-header .handle-actions');
5866
- },
5867
-
5868
- $inside: function(){
5869
- return this.$('> .inside');
5870
- },
5871
-
5872
- isVisible: function(){
5873
- return this.$el.hasClass('acf-hidden');
5874
- },
5875
-
5876
- initialize: function(){
5877
-
5878
- // Add default class.
5879
- this.$el.addClass('acf-postbox');
5880
-
5881
- // Remove 'hide-if-js class.
5882
- // This class is added by WP to postboxes that are hidden via the "Screen Options" tab.
5883
- this.$el.removeClass('hide-if-js');
5884
-
5885
- // Add field group style class (ignore in block editor).
5886
- if( acf.get('editor') !== 'block' ) {
5887
- var style = this.get('style');
5888
- if( style !== 'default' ) {
5889
- this.$el.addClass( style );
5890
- }
5891
- }
5892
-
5893
- // Add .inside class.
5894
- this.$inside().addClass('acf-fields').addClass('-' + this.get('label'));
5895
-
5896
- // Append edit link.
5897
- var edit = this.get('edit');
5898
- if( edit ) {
5899
- var html = '<a href="' + edit + '" class="dashicons dashicons-admin-generic acf-hndle-cog acf-js-tooltip" title="' + acf.__('Edit field group') + '"></a>';
5900
- var $handleActions = this.$handleActions();
5901
- if( $handleActions.length ) {
5902
- $handleActions.prepend( html );
5903
- } else {
5904
- this.$hndle().append( html );
5905
- }
5906
- }
5907
-
5908
- // Show postbox.
5909
- this.show();
5910
- },
5911
-
5912
- show: function(){
5913
-
5914
- // Show label.
5915
- this.$hideLabel().show();
5916
-
5917
- // toggle on checkbox
5918
- this.$hide().prop('checked', true);
5919
-
5920
- // Show postbox
5921
- this.$el.show().removeClass('acf-hidden');
5922
-
5923
- // Do action.
5924
- acf.doAction('show_postbox', this);
5925
- },
5926
-
5927
- enable: function(){
5928
- acf.enable( this.$el, 'postbox' );
5929
- },
5930
-
5931
- showEnable: function(){
5932
- this.enable();
5933
- this.show();
5934
- },
5935
-
5936
- hide: function(){
5937
-
5938
- // Hide label.
5939
- this.$hideLabel().hide();
5940
-
5941
- // Hide postbox
5942
- this.$el.hide().addClass('acf-hidden');
5943
-
5944
- // Do action.
5945
- acf.doAction('hide_postbox', this);
5946
- },
5947
-
5948
- disable: function(){
5949
- acf.disable( this.$el, 'postbox' );
5950
- },
5951
-
5952
- hideDisable: function(){
5953
- this.disable();
5954
- this.hide();
5955
- },
5956
-
5957
- html: function( html ){
5958
-
5959
- // Update HTML.
5960
- this.$inside().html( html );
5961
-
5962
- // Do action.
5963
- acf.doAction('append', this.$el);
5964
- }
5965
- });
5966
-
5967
- })(jQuery);
5968
- (function($, undefined){
5969
-
5970
- /**
5971
- * acf.newMediaPopup
5972
- *
5973
- * description
5974
- *
5975
- * @date 10/1/18
5976
- * @since 5.6.5
5977
- *
5978
- * @param type $var Description. Default.
5979
- * @return type Description.
5980
- */
5981
-
5982
- acf.newMediaPopup = function( args ){
5983
-
5984
- // args
5985
- var popup = null;
5986
- var args = acf.parseArgs(args, {
5987
- mode: 'select', // 'select', 'edit'
5988
- title: '', // 'Upload Image'
5989
- button: '', // 'Select Image'
5990
- type: '', // 'image', ''
5991
- field: false, // field instance
5992
- allowedTypes: '', // '.jpg, .png, etc'
5993
- library: 'all', // 'all', 'uploadedTo'
5994
- multiple: false, // false, true, 'add'
5995
- attachment: 0, // the attachment to edit
5996
- autoOpen: true, // open the popup automatically
5997
- open: function(){}, // callback after close
5998
- select: function(){}, // callback after select
5999
- close: function(){} // callback after close
6000
- });
6001
-
6002
- // initialize
6003
- if( args.mode == 'edit' ) {
6004
- popup = new acf.models.EditMediaPopup( args );
6005
- } else {
6006
- popup = new acf.models.SelectMediaPopup( args );
6007
- }
6008
-
6009
- // open popup (allow frame customization before opening)
6010
- if( args.autoOpen ) {
6011
- setTimeout(function(){
6012
- popup.open();
6013
- }, 1);
6014
- }
6015
-
6016
- // action
6017
- acf.doAction('new_media_popup', popup);
6018
-
6019
- // return
6020
- return popup;
6021
- };
6022
-
6023
-
6024
- /**
6025
- * getPostID
6026
- *
6027
- * description
6028
- *
6029
- * @date 10/1/18
6030
- * @since 5.6.5
6031
- *
6032
- * @param type $var Description. Default.
6033
- * @return type Description.
6034
- */
6035
-
6036
- var getPostID = function() {
6037
- var postID = acf.get('post_id');
6038
- return acf.isNumeric(postID) ? postID : 0;
6039
- }
6040
-
6041
-
6042
- /**
6043
- * acf.getMimeTypes
6044
- *
6045
- * description
6046
- *
6047
- * @date 11/1/18
6048
- * @since 5.6.5
6049
- *
6050
- * @param type $var Description. Default.
6051
- * @return type Description.
6052
- */
6053
-
6054
- acf.getMimeTypes = function(){
6055
- return this.get('mimeTypes');
6056
- };
6057
-
6058
- acf.getMimeType = function( name ){
6059
-
6060
- // vars
6061
- var allTypes = acf.getMimeTypes();
6062
-
6063
- // search
6064
- if( allTypes[name] !== undefined ) {
6065
- return allTypes[name];
6066
- }
6067
-
6068
- // some types contain a mixed key such as "jpg|jpeg|jpe"
6069
- for( var key in allTypes ) {
6070
- if( key.indexOf(name) !== -1 ) {
6071
- return allTypes[key];
6072
- }
6073
- }
6074
-
6075
- // return
6076
- return false;
6077
- };
6078
-
6079
-
6080
- /**
6081
- * MediaPopup
6082
- *
6083
- * description
6084
- *
6085
- * @date 10/1/18
6086
- * @since 5.6.5
6087
- *
6088
- * @param type $var Description. Default.
6089
- * @return type Description.
6090
- */
6091
-
6092
- var MediaPopup = acf.Model.extend({
6093
-
6094
- id: 'MediaPopup',
6095
- data: {},
6096
- defaults: {},
6097
- frame: false,
6098
-
6099
- setup: function( props ){
6100
- $.extend(this.data, props);
6101
- },
6102
-
6103
- initialize: function(){
6104
-
6105
- // vars
6106
- var options = this.getFrameOptions();
6107
-
6108
- // add states
6109
- this.addFrameStates( options );
6110
-
6111
- // create frame
6112
- var frame = wp.media( options );
6113
-
6114
- // add args reference
6115
- frame.acf = this;
6116
-
6117
- // add events
6118
- this.addFrameEvents( frame, options );
6119
-
6120
- // strore frame
6121
- this.frame = frame;
6122
- },
6123
-
6124
- open: function(){
6125
- this.frame.open();
6126
- },
6127
-
6128
- close: function(){
6129
- this.frame.close();
6130
- },
6131
-
6132
- remove: function(){
6133
- this.frame.detach();
6134
- this.frame.remove();
6135
- },
6136
-
6137
- getFrameOptions: function(){
6138
-
6139
- // vars
6140
- var options = {
6141
- title: this.get('title'),
6142
- multiple: this.get('multiple'),
6143
- library: {},
6144
- states: []
6145
- };
6146
-
6147
- // type
6148
- if( this.get('type') ) {
6149
- options.library.type = this.get('type');
6150
- }
6151
-
6152
- // type
6153
- if( this.get('library') === 'uploadedTo' ) {
6154
- options.library.uploadedTo = getPostID();
6155
- }
6156
-
6157
- // attachment
6158
- if( this.get('attachment') ) {
6159
- options.library.post__in = [ this.get('attachment') ];
6160
- }
6161
-
6162
- // button
6163
- if( this.get('button') ) {
6164
- options.button = {
6165
- text: this.get('button')
6166
- };
6167
- }
6168
-
6169
- // return
6170
- return options;
6171
- },
6172
-
6173
- addFrameStates: function( options ){
6174
-
6175
- // create query
6176
- var Query = wp.media.query( options.library );
6177
-
6178
- // add _acfuploader
6179
- // this is super wack!
6180
- // if you add _acfuploader to the options.library args, new uploads will not be added to the library view.
6181
- // this has been traced back to the wp.media.model.Query initialize function (which can't be overriden)
6182
- // Adding any custom args will cause the Attahcments to not observe the uploader queue
6183
- // To bypass this security issue, we add in the args AFTER the Query has been initialized
6184
- // options.library._acfuploader = settings.field;
6185
- if( this.get('field') && acf.isset(Query, 'mirroring', 'args') ) {
6186
- Query.mirroring.args._acfuploader = this.get('field');
6187
- }
6188
-
6189
- // add states
6190
- options.states.push(
6191
-
6192
- // main state
6193
- new wp.media.controller.Library({
6194
- library: Query,
6195
- multiple: this.get('multiple'),
6196
- title: this.get('title'),
6197
- priority: 20,
6198
- filterable: 'all',
6199
- editable: true,
6200
- allowLocalEdits: true
6201
- })
6202
-
6203
- );
6204
-
6205
- // edit image functionality (added in WP 3.9)
6206
- if( acf.isset(wp, 'media', 'controller', 'EditImage') ) {
6207
- options.states.push( new wp.media.controller.EditImage() );
6208
- }
6209
- },
6210
-
6211
- addFrameEvents: function( frame, options ){
6212
-
6213
- // log all events
6214
- //frame.on('all', function( e ) {
6215
- // console.log( 'frame all: %o', e );
6216
- //});
6217
-
6218
- // add class
6219
- frame.on('open',function() {
6220
- this.$el.closest('.media-modal').addClass('acf-media-modal -' + this.acf.get('mode') );
6221
- }, frame);
6222
-
6223
- // edit image view
6224
- // source: media-views.js:2410 editImageContent()
6225
- frame.on('content:render:edit-image', function(){
6226
-
6227
- var image = this.state().get('image');
6228
- var view = new wp.media.view.EditImage({ model: image, controller: this }).render();
6229
- this.content.set( view );
6230
-
6231
- // after creating the wrapper view, load the actual editor via an ajax call
6232
- view.loadEditor();
6233
-
6234
- }, frame);
6235
-
6236
- // update toolbar button
6237
- //frame.on( 'toolbar:create:select', function( toolbar ) {
6238
- // toolbar.view = new wp.media.view.Toolbar.Select({
6239
- // text: frame.options._button,
6240
- // controller: this
6241
- // });
6242
- //}, frame );
6243
-
6244
- // on select
6245
- frame.on('select', function() {
6246
-
6247
- // vars
6248
- var selection = frame.state().get('selection');
6249
-
6250
- // if selecting images
6251
- if( selection ) {
6252
-
6253
- // loop
6254
- selection.each(function( attachment, i ){
6255
- frame.acf.get('select').apply( frame.acf, [attachment, i] );
6256
- });
6257
- }
6258
- });
6259
-
6260
- // on close
6261
- frame.on('close',function(){
6262
-
6263
- // callback and remove
6264
- setTimeout(function(){
6265
- frame.acf.get('close').apply( frame.acf );
6266
- frame.acf.remove();
6267
- }, 1);
6268
- });
6269
- }
6270
- });
6271
-
6272
-
6273
- /**
6274
- * acf.models.SelectMediaPopup
6275
- *
6276
- * description
6277
- *
6278
- * @date 10/1/18
6279
- * @since 5.6.5
6280
- *
6281
- * @param type $var Description. Default.
6282
- * @return type Description.
6283
- */
6284
-
6285
- acf.models.SelectMediaPopup = MediaPopup.extend({
6286
- id: 'SelectMediaPopup',
6287
- setup: function( props ){
6288
-
6289
- // default button
6290
- if( !props.button ) {
6291
- props.button = acf._x('Select', 'verb');
6292
- }
6293
-
6294
- // parent
6295
- MediaPopup.prototype.setup.apply(this, arguments);
6296
- },
6297
-
6298
- addFrameEvents: function( frame, options ){
6299
-
6300
- // plupload
6301
- // adds _acfuploader param to validate uploads
6302
- if( acf.isset(_wpPluploadSettings, 'defaults', 'multipart_params') ) {
6303
-
6304
- // add _acfuploader so that Uploader will inherit
6305
- _wpPluploadSettings.defaults.multipart_params._acfuploader = this.get('field');
6306
-
6307
- // remove acf_field so future Uploaders won't inherit
6308
- frame.on('open', function(){
6309
- delete _wpPluploadSettings.defaults.multipart_params._acfuploader;
6310
- });
6311
- }
6312
-
6313
- // browse
6314
- frame.on('content:activate:browse', function(){
6315
-
6316
- // vars
6317
- var toolbar = false;
6318
-
6319
- // populate above vars making sure to allow for failure
6320
- // perhaps toolbar does not exist because the frame open is Upload Files
6321
- try {
6322
- toolbar = frame.content.get().toolbar;
6323
- } catch(e) {
6324
- console.log(e);
6325
- return;
6326
- }
6327
-
6328
- // callback
6329
- frame.acf.customizeFilters.apply(frame.acf, [toolbar]);
6330
- });
6331
-
6332
- // parent
6333
- MediaPopup.prototype.addFrameEvents.apply(this, arguments);
6334
-
6335
- },
6336
-
6337
- customizeFilters: function( toolbar ){
6338
-
6339
- // vars
6340
- var filters = toolbar.get('filters');
6341
-
6342
- // image
6343
- if( this.get('type') == 'image' ) {
6344
-
6345
- // update all
6346
- filters.filters.all.text = acf.__('All images');
6347
-
6348
- // remove some filters
6349
- delete filters.filters.audio;
6350
- delete filters.filters.video;
6351
- delete filters.filters.image;
6352
-
6353
- // update all filters to show images
6354
- $.each(filters.filters, function( i, filter ){
6355
- filter.props.type = filter.props.type || 'image';
6356
- });
6357
- }
6358
-
6359
- // specific types
6360
- if( this.get('allowedTypes') ) {
6361
-
6362
- // convert ".jpg, .png" into ["jpg", "png"]
6363
- var allowedTypes = this.get('allowedTypes').split(' ').join('').split('.').join('').split(',');
6364
-
6365
- // loop
6366
- allowedTypes.map(function( name ){
6367
-
6368
- // get type
6369
- var mimeType = acf.getMimeType( name );
6370
-
6371
- // bail early if no type
6372
- if( !mimeType ) return;
6373
-
6374
- // create new filter
6375
- var newFilter = {
6376
- text: mimeType,
6377
- props: {
6378
- status: null,
6379
- type: mimeType,
6380
- uploadedTo: null,
6381
- orderby: 'date',
6382
- order: 'DESC'
6383
- },
6384
- priority: 20
6385
- };
6386
-
6387
- // append
6388
- filters.filters[ mimeType ] = newFilter;
6389
-
6390
- });
6391
- }
6392
-
6393
-
6394
-
6395
- // uploaded to post
6396
- if( this.get('library') === 'uploadedTo' ) {
6397
-
6398
- // vars
6399
- var uploadedTo = this.frame.options.library.uploadedTo;
6400
-
6401
- // remove some filters
6402
- delete filters.filters.unattached;
6403
- delete filters.filters.uploaded;
6404
-
6405
- // add uploadedTo to filters
6406
- $.each(filters.filters, function( i, filter ){
6407
- filter.text += ' (' + acf.__('Uploaded to this post') + ')';
6408
- filter.props.uploadedTo = uploadedTo;
6409
- });
6410
- }
6411
-
6412
- // add _acfuploader to filters
6413
- var field = this.get('field');
6414
- $.each(filters.filters, function( k, filter ){
6415
- filter.props._acfuploader = field;
6416
- });
6417
-
6418
- // add _acfuplaoder to search
6419
- var search = toolbar.get('search');
6420
- search.model.attributes._acfuploader = field;
6421
-
6422
- // render (custom function added to prototype)
6423
- if( filters.renderFilters ) {
6424
- filters.renderFilters();
6425
- }
6426
- }
6427
- });
6428
-
6429
-
6430
- /**
6431
- * acf.models.EditMediaPopup
6432
- *
6433
- * description
6434
- *
6435
- * @date 10/1/18
6436
- * @since 5.6.5
6437
- *
6438
- * @param type $var Description. Default.
6439
- * @return type Description.
6440
- */
6441
-
6442
- acf.models.EditMediaPopup = MediaPopup.extend({
6443
- id: 'SelectMediaPopup',
6444
- setup: function( props ){
6445
-
6446
- // default button
6447
- if( !props.button ) {
6448
- props.button = acf._x('Update', 'verb');
6449
- }
6450
-
6451
- // parent
6452
- MediaPopup.prototype.setup.apply(this, arguments);
6453
- },
6454
-
6455
- addFrameEvents: function( frame, options ){
6456
-
6457
- // add class
6458
- frame.on('open',function() {
6459
-
6460
- // add class
6461
- this.$el.closest('.media-modal').addClass('acf-expanded');
6462
-
6463
- // set to browse
6464
- if( this.content.mode() != 'browse' ) {
6465
- this.content.mode('browse');
6466
- }
6467
-
6468
- // set selection
6469
- var state = this.state();
6470
- var selection = state.get('selection');
6471
- var attachment = wp.media.attachment( frame.acf.get('attachment') );
6472
- selection.add( attachment );
6473
-
6474
- }, frame);
6475
-
6476
- // parent
6477
- MediaPopup.prototype.addFrameEvents.apply(this, arguments);
6478
-
6479
- }
6480
- });
6481
-
6482
-
6483
- /**
6484
- * customizePrototypes
6485
- *
6486
- * description
6487
- *
6488
- * @date 11/1/18
6489
- * @since 5.6.5
6490
- *
6491
- * @param type $var Description. Default.
6492
- * @return type Description.
6493
- */
6494
-
6495
- var customizePrototypes = new acf.Model({
6496
- id: 'customizePrototypes',
6497
- wait: 'ready',
6498
-
6499
- initialize: function(){
6500
-
6501
- // bail early if no media views
6502
- if( !acf.isset(window, 'wp', 'media', 'view') ) {
6503
- return;
6504
- }
6505
-
6506
- // fix bug where CPT without "editor" does not set post.id setting which then prevents uploadedTo from working
6507
- var postID = getPostID();
6508
- if( postID && acf.isset(wp, 'media', 'view', 'settings', 'post') ) {
6509
- wp.media.view.settings.post.id = postID;
6510
- }
6511
-
6512
- // customize
6513
- this.customizeAttachmentsButton();
6514
- this.customizeAttachmentsRouter();
6515
- this.customizeAttachmentFilters();
6516
- this.customizeAttachmentCompat();
6517
- this.customizeAttachmentLibrary();
6518
- },
6519
-
6520
- customizeAttachmentsButton: function(){
6521
-
6522
- // validate
6523
- if( !acf.isset(wp, 'media', 'view', 'Button') ) {
6524
- return;
6525
- }
6526
-
6527
- // Extend
6528
- var Button = wp.media.view.Button;
6529
- wp.media.view.Button = Button.extend({
6530
-
6531
- // Fix bug where "Select" button appears blank after editing an image.
6532
- // Do this by simplifying Button initialize function and avoid deleting this.options.
6533
- initialize: function() {
6534
- var options = _.defaults( this.options, this.defaults );
6535
- this.model = new Backbone.Model( options );
6536
- this.listenTo( this.model, 'change', this.render );
6537
- }
6538
- });
6539
-
6540
- },
6541
-
6542
- customizeAttachmentsRouter: function(){
6543
-
6544
- // validate
6545
- if( !acf.isset(wp, 'media', 'view', 'Router') ) {
6546
- return;
6547
- }
6548
-
6549
- // vars
6550
- var Parent = wp.media.view.Router;
6551
-
6552
- // extend
6553
- wp.media.view.Router = Parent.extend({
6554
-
6555
- addExpand: function(){
6556
-
6557
- // vars
6558
- var $a = $([
6559
- '<a href="#" class="acf-expand-details">',
6560
- '<span class="is-closed"><i class="acf-icon -left -small"></i>' + acf.__('Expand Details') + '</span>',
6561
- '<span class="is-open"><i class="acf-icon -right -small"></i>' + acf.__('Collapse Details') + '</span>',
6562
- '</a>'
6563
- ].join(''));
6564
-
6565
- // add events
6566
- $a.on('click', function( e ){
6567
- e.preventDefault();
6568
- var $div = $(this).closest('.media-modal');
6569
- if( $div.hasClass('acf-expanded') ) {
6570
- $div.removeClass('acf-expanded');
6571
- } else {
6572
- $div.addClass('acf-expanded');
6573
- }
6574
- });
6575
-
6576
- // append
6577
- this.$el.append( $a );
6578
- },
6579
-
6580
- initialize: function(){
6581
-
6582
- // initialize
6583
- Parent.prototype.initialize.apply( this, arguments );
6584
-
6585
- // add buttons
6586
- this.addExpand();
6587
-
6588
- // return
6589
- return this;
6590
- }
6591
- });
6592
- },
6593
-
6594
- customizeAttachmentFilters: function(){
6595
-
6596
- // validate
6597
- if( !acf.isset(wp, 'media', 'view', 'AttachmentFilters', 'All') ) {
6598
- return;
6599
- }
6600
-
6601
- // vars
6602
- var Parent = wp.media.view.AttachmentFilters.All;
6603
-
6604
- // renderFilters
6605
- // copied from media-views.js:6939
6606
- Parent.prototype.renderFilters = function(){
6607
-
6608
- // Build `<option>` elements.
6609
- this.$el.html( _.chain( this.filters ).map( function( filter, value ) {
6610
- return {
6611
- el: $( '<option></option>' ).val( value ).html( filter.text )[0],
6612
- priority: filter.priority || 50
6613
- };
6614
- }, this ).sortBy('priority').pluck('el').value() );
6615
-
6616
- };
6617
- },
6618
-
6619
- customizeAttachmentCompat: function(){
6620
-
6621
- // validate
6622
- if( !acf.isset(wp, 'media', 'view', 'AttachmentCompat') ) {
6623
- return;
6624
- }
6625
-
6626
- // vars
6627
- var AttachmentCompat = wp.media.view.AttachmentCompat;
6628
- var timeout = false;
6629
-
6630
- // extend
6631
- wp.media.view.AttachmentCompat = AttachmentCompat.extend({
6632
-
6633
- render: function() {
6634
-
6635
- // WP bug
6636
- // When multiple media frames exist on the same page (WP content, WYSIWYG, image, file ),
6637
- // WP creates multiple instances of this AttachmentCompat view.
6638
- // Each instance will attempt to render when a new modal is created.
6639
- // Use a property to avoid this and only render once per instance.
6640
- if( this.rendered ) {
6641
- return this;
6642
- }
6643
-
6644
- // render HTML
6645
- AttachmentCompat.prototype.render.apply( this, arguments );
6646
-
6647
- // when uploading, render is called twice.
6648
- // ignore first render by checking for #acf-form-data element
6649
- if( !this.$('#acf-form-data').length ) {
6650
- return this;
6651
- }
6652
-
6653
- // clear timeout
6654
- clearTimeout( timeout );
6655
-
6656
- // setTimeout
6657
- timeout = setTimeout($.proxy(function(){
6658
- this.rendered = true;
6659
- acf.doAction('append', this.$el);
6660
- }, this), 50);
6661
-
6662
- // return
6663
- return this;
6664
- },
6665
-
6666
- save: function( event ) {
6667
- var data = {};
6668
-
6669
- if ( event ) {
6670
- event.preventDefault();
6671
- }
6672
-
6673
- //_.each( this.$el.serializeArray(), function( pair ) {
6674
- // data[ pair.name ] = pair.value;
6675
- //});
6676
-
6677
- // Serialize data more thoroughly to allow chckbox inputs to save.
6678
- data = acf.serializeForAjax(this.$el);
6679
-
6680
- this.controller.trigger( 'attachment:compat:waiting', ['waiting'] );
6681
- this.model.saveCompat( data ).always( _.bind( this.postSave, this ) );
6682
- }
6683
- });
6684
-
6685
- },
6686
-
6687
- customizeAttachmentLibrary: function(){
6688
-
6689
- // validate
6690
- if( !acf.isset(wp, 'media', 'view', 'Attachment', 'Library') ) {
6691
- return;
6692
- }
6693
-
6694
- // vars
6695
- var AttachmentLibrary = wp.media.view.Attachment.Library;
6696
-
6697
- // extend
6698
- wp.media.view.Attachment.Library = AttachmentLibrary.extend({
6699
-
6700
- render: function() {
6701
-
6702
- // vars
6703
- var popup = acf.isget(this, 'controller', 'acf');
6704
- var attributes = acf.isget(this, 'model', 'attributes');
6705
-
6706
- // check vars exist to avoid errors
6707
- if( popup && attributes ) {
6708
-
6709
- // show errors
6710
- if( attributes.acf_errors ) {
6711
- this.$el.addClass('acf-disabled');
6712
- }
6713
-
6714
- // disable selected
6715
- var selected = popup.get('selected');
6716
- if( selected && selected.indexOf(attributes.id) > -1 ) {
6717
- this.$el.addClass('acf-selected');
6718
- }
6719
- }
6720
-
6721
- // render
6722
- return AttachmentLibrary.prototype.render.apply( this, arguments );
6723
-
6724
- },
6725
-
6726
-
6727
- /*
6728
- * toggleSelection
6729
- *
6730
- * This function is called before an attachment is selected
6731
- * A good place to check for errors and prevent the 'select' function from being fired
6732
- *
6733
- * @type function
6734
- * @date 29/09/2016
6735
- * @since 5.4.0
6736
- *
6737
- * @param options (object)
6738
- * @return n/a
6739
- */
6740
-
6741
- toggleSelection: function( options ) {
6742
-
6743
- // vars
6744
- // source: wp-includes/js/media-views.js:2880
6745
- var collection = this.collection,
6746
- selection = this.options.selection,
6747
- model = this.model,
6748
- single = selection.single();
6749
-
6750
-
6751
- // vars
6752
- var frame = this.controller;
6753
- var errors = acf.isget(this, 'model', 'attributes', 'acf_errors');
6754
- var $sidebar = frame.$el.find('.media-frame-content .media-sidebar');
6755
-
6756
- // remove previous error
6757
- $sidebar.children('.acf-selection-error').remove();
6758
-
6759
- // show attachment details
6760
- $sidebar.children().removeClass('acf-hidden');
6761
-
6762
- // add message
6763
- if( frame && errors ) {
6764
-
6765
- // vars
6766
- var filename = acf.isget(this, 'model', 'attributes', 'filename');
6767
-
6768
- // hide attachment details
6769
- // Gallery field continues to show previously selected attachment...
6770
- $sidebar.children().addClass('acf-hidden');
6771
-
6772
- // append message
6773
- $sidebar.prepend([
6774
- '<div class="acf-selection-error">',
6775
- '<span class="selection-error-label">' + acf.__('Restricted') +'</span>',
6776
- '<span class="selection-error-filename">' + filename + '</span>',
6777
- '<span class="selection-error-message">' + errors + '</span>',
6778
- '</div>'
6779
- ].join(''));
6780
-
6781
- // reset selection (unselects all attachments)
6782
- selection.reset();
6783
-
6784
- // set single (attachment displayed in sidebar)
6785
- selection.single( model );
6786
-
6787
- // return and prevent 'select' form being fired
6788
- return;
6789
-
6790
- }
6791
-
6792
- // return
6793
- return AttachmentLibrary.prototype.toggleSelection.apply( this, arguments );
6794
- }
6795
- });
6796
- }
6797
- });
6798
 
6799
- })(jQuery);
6800
- (function($, undefined){
6801
-
6802
- acf.screen = new acf.Model({
6803
-
6804
- active: true,
6805
-
6806
- xhr: false,
6807
-
6808
- timeout: false,
6809
-
6810
- wait: 'load',
6811
-
6812
- events: {
6813
- 'change #page_template': 'onChange',
6814
- 'change #parent_id': 'onChange',
6815
- 'change #post-formats-select': 'onChange',
6816
- 'change .categorychecklist': 'onChange',
6817
- 'change .tagsdiv': 'onChange',
6818
- 'change .acf-taxonomy-field[data-save="1"]': 'onChange',
6819
- 'change #product-type': 'onChange'
6820
- },
6821
-
6822
- isPost: function(){
6823
- return acf.get('screen') === 'post';
6824
- },
6825
-
6826
- isUser: function(){
6827
- return acf.get('screen') === 'user';
6828
- },
6829
-
6830
- isTaxonomy: function(){
6831
- return acf.get('screen') === 'taxonomy';
6832
- },
6833
-
6834
- isAttachment: function(){
6835
- return acf.get('screen') === 'attachment';
6836
- },
6837
-
6838
- isNavMenu: function(){
6839
- return acf.get('screen') === 'nav_menu';
6840
- },
6841
-
6842
- isWidget: function(){
6843
- return acf.get('screen') === 'widget';
6844
- },
6845
-
6846
- isComment: function(){
6847
- return acf.get('screen') === 'comment';
6848
- },
6849
-
6850
- getPageTemplate: function(){
6851
- var $el = $('#page_template');
6852
- return $el.length ? $el.val() : null;
6853
- },
6854
-
6855
- getPageParent: function( e, $el ){
6856
- var $el = $('#parent_id');
6857
- return $el.length ? $el.val() : null;
6858
- },
6859
-
6860
- getPageType: function( e, $el ){
6861
- return this.getPageParent() ? 'child' : 'parent';
6862
- },
6863
-
6864
- getPostType: function(){
6865
- return $('#post_type').val();
6866
- },
6867
-
6868
- getPostFormat: function( e, $el ){
6869
- var $el = $('#post-formats-select input:checked');
6870
- if( $el.length ) {
6871
- var val = $el.val();
6872
- return (val == '0') ? 'standard' : val;
6873
- }
6874
- return null;
6875
- },
6876
-
6877
- getPostCoreTerms: function(){
6878
-
6879
- // vars
6880
- var terms = {};
6881
-
6882
- // serialize WP taxonomy postboxes
6883
- var data = acf.serialize( $('.categorydiv, .tagsdiv') );
6884
-
6885
- // use tax_input (tag, custom-taxonomy) when possible.
6886
- // this data is already formatted in taxonomy => [terms].
6887
- if( data.tax_input ) {
6888
- terms = data.tax_input;
6889
- }
6890
-
6891
- // append "category" which uses a different name
6892
- if( data.post_category ) {
6893
- terms.category = data.post_category;
6894
- }
6895
-
6896
- // convert any string values (tags) into array format
6897
- for( var tax in terms ) {
6898
- if( !acf.isArray(terms[tax]) ) {
6899
- terms[tax] = terms[tax].split(/,[\s]?/);
6900
- }
6901
- }
6902
-
6903
- // return
6904
- return terms;
6905
- },
6906
-
6907
- getPostTerms: function(){
6908
-
6909
- // Get core terms.
6910
- var terms = this.getPostCoreTerms();
6911
-
6912
- // loop over taxonomy fields and add their values
6913
- acf.getFields({type: 'taxonomy'}).map(function( field ){
6914
-
6915
- // ignore fields that don't save
6916
- if( !field.get('save') ) {
6917
- return;
6918
- }
6919
-
6920
- // vars
6921
- var val = field.val();
6922
- var tax = field.get('taxonomy');
6923
-
6924
- // check val
6925
- if( val ) {
6926
-
6927
- // ensure terms exists
6928
- terms[ tax ] = terms[ tax ] || [];
6929
-
6930
- // ensure val is an array
6931
- val = acf.isArray(val) ? val : [val];
6932
-
6933
- // append
6934
- terms[ tax ] = terms[ tax ].concat( val );
6935
- }
6936
- });
6937
-
6938
- // add WC product type
6939
- if( (productType = this.getProductType()) !== null ) {
6940
- terms.product_type = [productType];
6941
- }
6942
-
6943
- // remove duplicate values
6944
- for( var tax in terms ) {
6945
- terms[tax] = acf.uniqueArray(terms[tax]);
6946
- }
6947
-
6948
- // return
6949
- return terms;
6950
- },
6951
-
6952
- getProductType: function(){
6953
- var $el = $('#product-type');
6954
- return $el.length ? $el.val() : null;
6955
- },
6956
-
6957
- check: function(){
6958
-
6959
- // bail early if not for post
6960
- if( acf.get('screen') !== 'post' ) {
6961
- return;
6962
- }
6963
-
6964
- // abort XHR if is already loading AJAX data
6965
- if( this.xhr ) {
6966
- this.xhr.abort();
6967
- }
6968
-
6969
- // vars
6970
- var ajaxData = acf.parseArgs(this.data, {
6971
- action: 'acf/ajax/check_screen',
6972
- screen: acf.get('screen'),
6973
- exists: []
6974
- });
6975
-
6976
- // post id
6977
- if( this.isPost() ) {
6978
- ajaxData.post_id = acf.get('post_id');
6979
- }
6980
-
6981
- // post type
6982
- if( (postType = this.getPostType()) !== null ) {
6983
- ajaxData.post_type = postType;
6984
- }
6985
-
6986
- // page template
6987
- if( (pageTemplate = this.getPageTemplate()) !== null ) {
6988
- ajaxData.page_template = pageTemplate;
6989
- }
6990
-
6991
- // page parent
6992
- if( (pageParent = this.getPageParent()) !== null ) {
6993
- ajaxData.page_parent = pageParent;
6994
- }
6995
-
6996
- // page type
6997
- if( (pageType = this.getPageType()) !== null ) {
6998
- ajaxData.page_type = pageType;
6999
- }
7000
-
7001
- // post format
7002
- if( (postFormat = this.getPostFormat()) !== null ) {
7003
- ajaxData.post_format = postFormat;
7004
- }
7005
-
7006
- // post terms
7007
- if( (postTerms = this.getPostTerms()) !== null ) {
7008
- ajaxData.post_terms = postTerms;
7009
- }
7010
-
7011
- // add array of existing postboxes to increase performance and reduce JSON HTML
7012
- acf.getPostboxes().map(function( postbox ){
7013
- ajaxData.exists.push( postbox.get('key') );
7014
- });
7015
-
7016
- // filter
7017
- ajaxData = acf.applyFilters('check_screen_args', ajaxData);
7018
-
7019
- // success
7020
- var onSuccess = function( json ){
7021
-
7022
- // Render post screen.
7023
- if( acf.get('screen') == 'post' ) {
7024
- this.renderPostScreen( json );
7025
-
7026
- // Render user screen.
7027
- } else if( acf.get('screen') == 'user' ) {
7028
- this.renderUserScreen( json );
7029
- }
7030
-
7031
- // action
7032
- acf.doAction('check_screen_complete', json, ajaxData);
7033
- };
7034
-
7035
- // ajax
7036
- this.xhr = $.ajax({
7037
- url: acf.get('ajaxurl'),
7038
- data: acf.prepareForAjax( ajaxData ),
7039
- type: 'post',
7040
- dataType: 'json',
7041
- context: this,
7042
- success: onSuccess
7043
- });
7044
- },
7045
-
7046
- onChange: function( e, $el ){
7047
- this.setTimeout(this.check, 1);
7048
- },
7049
-
7050
- renderPostScreen: function( data ){
7051
-
7052
- // Helper function to copy events
7053
- var copyEvents = function( $from, $to ){
7054
- var events = $._data($from[0]).events;
7055
- for( var type in events ) {
7056
- for( var i = 0; i < events[type].length; i++ ) {
7057
- $to.on( type, events[type][i].handler );
7058
- }
7059
- }
7060
- }
7061
-
7062
- // Helper function to sort metabox.
7063
- var sortMetabox = function( id, ids ){
7064
-
7065
- // Find position of id within ids.
7066
- var index = ids.indexOf( id );
7067
-
7068
- // Bail early if index not found.
7069
- if( index == -1 ) {
7070
- return false;
7071
- }
7072
-
7073
- // Loop over metaboxes behind (in reverse order).
7074
- for( var i = index-1; i >= 0; i-- ) {
7075
- if( $('#'+ids[i]).length ) {
7076
- return $('#'+ids[i]).after( $('#'+id) );
7077
- }
7078
- }
7079
-
7080
- // Loop over metaboxes infront.
7081
- for( var i = index+1; i < ids.length; i++ ) {
7082
- if( $('#'+ids[i]).length ) {
7083
- return $('#'+ids[i]).before( $('#'+id) );
7084
- }
7085
- }
7086
-
7087
- // Return false if not sorted.
7088
- return false;
7089
- };
7090
-
7091
- // Keep track of visible and hidden postboxes.
7092
- data.visible = [];
7093
- data.hidden = [];
7094
-
7095
- // Show these postboxes.
7096
- data.results = data.results.map(function( result, i ){
7097
-
7098
- // vars
7099
- var postbox = acf.getPostbox( result.id );
7100
-
7101
- // Prevent "acf_after_title" position in Block Editor.
7102
- if( acf.isGutenberg() && result.position == "acf_after_title" ) {
7103
- result.position = 'normal';
7104
- }
7105
-
7106
- // Create postbox if doesn't exist.
7107
- if( !postbox ) {
7108
- var wpMinorVersion = parseFloat( acf.get('wp_version') );
7109
- if( wpMinorVersion >= 5.5 ) {
7110
- var postboxHeader = [
7111
- '<div class="postbox-header">',
7112
- '<h2 class="hndle ui-sortable-handle">',
7113
- '<span>' + acf.escHtml( result.title ) + '</span>',
7114
- '</h2>',
7115
- '<div class="handle-actions hide-if-no-js">',
7116
- '<button type="button" class="handlediv" aria-expanded="true">',
7117
- '<span class="screen-reader-text">Toggle panel: ' + acf.escHtml( result.title ) + '</span>',
7118
- '<span class="toggle-indicator" aria-hidden="true"></span>',
7119
- '</button>',
7120
- '</div>',
7121
- '</div>'
7122
- ].join('');
7123
- } else {
7124
- var postboxHeader = [
7125
- '<button type="button" class="handlediv" aria-expanded="true">',
7126
- '<span class="screen-reader-text">Toggle panel: ' + acf.escHtml( result.title ) + '</span>',
7127
- '<span class="toggle-indicator" aria-hidden="true"></span>',
7128
- '</button>',
7129
- '<h2 class="hndle ui-sortable-handle">',
7130
- '<span>' + acf.escHtml( result.title ) + '</span>',
7131
- '</h2>',
7132
- ].join('');
7133
- }
7134
-
7135
- // Create it.
7136
- var $postbox = $([
7137
- '<div id="' + result.id + '" class="postbox">',
7138
- postboxHeader,
7139
- '<div class="inside">',
7140
- result.html,
7141
- '</div>',
7142
- '</div>'
7143
- ].join(''));
7144
-
7145
- // Create new hide toggle.
7146
- if( $('#adv-settings').length ) {
7147
- var $prefs = $('#adv-settings .metabox-prefs');
7148
- var $label = $([
7149
- '<label for="' + result.id + '-hide">',
7150
- '<input class="hide-postbox-tog" name="' + result.id + '-hide" type="checkbox" id="' + result.id + '-hide" value="' + result.id + '" checked="checked">',
7151
- ' ' + result.title,
7152
- '</label>'
7153
- ].join(''));
7154
-
7155
- // Copy default WP events onto checkbox.
7156
- copyEvents( $prefs.find('input').first(), $label.find('input') );
7157
-
7158
- // Append hide label
7159
- $prefs.append( $label );
7160
- }
7161
-
7162
- // Copy default WP events onto metabox.
7163
- if( $('.postbox').length ) {
7164
- copyEvents( $('.postbox .handlediv').first(), $postbox.children('.handlediv') );
7165
- copyEvents( $('.postbox .hndle').first(), $postbox.children('.hndle') );
7166
- }
7167
-
7168
- // Append metabox to the bottom of "side-sortables".
7169
- if( result.position === 'side' ) {
7170
- $('#' + result.position + '-sortables').append( $postbox );
7171
-
7172
- // Prepend metabox to the top of "normal-sortbables".
7173
- } else {
7174
- $('#' + result.position + '-sortables').prepend( $postbox );
7175
- }
7176
-
7177
- // Position metabox amongst existing ACF metaboxes within the same location.
7178
- var order = [];
7179
- data.results.map(function( _result ){
7180
- if( result.position === _result.position && $('#' + result.position + '-sortables #' + _result.id).length ) {
7181
- order.push( _result.id );
7182
- }
7183
- });
7184
- sortMetabox(result.id, order)
7185
-
7186
- // Check 'sorted' for user preference.
7187
- if( data.sorted ) {
7188
-
7189
- // Loop over each position (acf_after_title, side, normal).
7190
- for( var position in data.sorted ) {
7191
-
7192
- // Explode string into array of ids.
7193
- var order = data.sorted[position].split(',');
7194
-
7195
- // Position metabox relative to order.
7196
- if( sortMetabox(result.id, order) ) {
7197
- break;
7198
- }
7199
- }
7200
- }
7201
-
7202
- // Initalize it (modifies HTML).
7203
- postbox = acf.newPostbox( result );
7204
-
7205
- // Trigger action.
7206
- acf.doAction('append', $postbox);
7207
- acf.doAction('append_postbox', postbox);
7208
- }
7209
-
7210
- // show postbox
7211
- postbox.showEnable();
7212
-
7213
- // append
7214
- data.visible.push( result.id );
7215
-
7216
- // Return result (may have changed).
7217
- return result;
7218
- });
7219
-
7220
- // Hide these postboxes.
7221
- acf.getPostboxes().map(function( postbox ){
7222
- if( data.visible.indexOf( postbox.get('id') ) === -1 ) {
7223
-
7224
- // Hide postbox.
7225
- postbox.hideDisable();
7226
-
7227
- // Append to data.
7228
- data.hidden.push( postbox.get('id') );
7229
- }
7230
- });
7231
-
7232
- // Update style.
7233
- $('#acf-style').html( data.style );
7234
-
7235
- // Do action.
7236
- acf.doAction( 'refresh_post_screen', data );
7237
- },
7238
-
7239
- renderUserScreen: function( json ){
7240
-
7241
- }
7242
- });
7243
-
7244
- /**
7245
- * gutenScreen
7246
- *
7247
- * Adds compatibility with the Gutenberg edit screen.
7248
- *
7249
- * @date 11/12/18
7250
- * @since 5.8.0
7251
- *
7252
- * @param void
7253
- * @return void
7254
- */
7255
- var gutenScreen = new acf.Model({
7256
-
7257
- // Keep a reference to the most recent post attributes.
7258
- postEdits: {},
7259
-
7260
- // Wait until assets have been loaded.
7261
- wait: 'prepare',
7262
-
7263
- initialize: function(){
7264
-
7265
- // Bail early if not Gutenberg.
7266
- if( !acf.isGutenberg() ) {
7267
- return;
7268
- }
7269
-
7270
- // Listen for changes (use debounced version as this can fires often).
7271
- wp.data.subscribe( acf.debounce(this.onChange).bind(this) );
7272
-
7273
- // Customize "acf.screen.get" functions.
7274
- acf.screen.getPageTemplate = this.getPageTemplate;
7275
- acf.screen.getPageParent = this.getPageParent;
7276
- acf.screen.getPostType = this.getPostType;
7277
- acf.screen.getPostFormat = this.getPostFormat;
7278
- acf.screen.getPostCoreTerms = this.getPostCoreTerms;
7279
-
7280
- // Disable unload
7281
- acf.unload.disable();
7282
-
7283
- // Refresh metaboxes since WP 5.3.
7284
- var wpMinorVersion = parseFloat( acf.get('wp_version') );
7285
- if( wpMinorVersion >= 5.3 ) {
7286
- this.addAction( 'refresh_post_screen', this.onRefreshPostScreen );
7287
- }
7288
-
7289
- // Trigger "refresh" after WP has moved metaboxes into place.
7290
- wp.domReady( acf.refresh );
7291
- },
7292
-
7293
- onChange: function(){
7294
-
7295
- // Determine attributes that can trigger a refresh.
7296
- var attributes = [ 'template', 'parent', 'format' ];
7297
-
7298
- // Append taxonomy attribute names to this list.
7299
- ( wp.data.select( 'core' ).getTaxonomies() || [] ).map(function( taxonomy ){
7300
- attributes.push( taxonomy.rest_base );
7301
- });
7302
-
7303
- // Get relevant current post edits.
7304
- var _postEdits = wp.data.select( 'core/editor' ).getPostEdits();
7305
- var postEdits = {};
7306
- attributes.map(function( k ){
7307
- if( _postEdits[k] !== undefined ) {
7308
- postEdits[k] = _postEdits[k];
7309
- }
7310
- });
7311
-
7312
- // Detect change.
7313
- if( JSON.stringify(postEdits) !== JSON.stringify(this.postEdits) ) {
7314
- this.postEdits = postEdits;
7315
-
7316
- // Check screen.
7317
- acf.screen.check();
7318
- }
7319
- },
7320
-
7321
- getPageTemplate: function(){
7322
- return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'template' );
7323
- },
7324
-
7325
- getPageParent: function( e, $el ){
7326
- return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'parent' );
7327
- },
7328
-
7329
- getPostType: function(){
7330
- return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'type' );
7331
- },
7332
-
7333
- getPostFormat: function( e, $el ){
7334
- return wp.data.select( 'core/editor' ).getEditedPostAttribute( 'format' );
7335
- },
7336
-
7337
- getPostCoreTerms: function(){
7338
-
7339
- // vars
7340
- var terms = {};
7341
-
7342
- // Loop over taxonomies.
7343
- var taxonomies = wp.data.select( 'core' ).getTaxonomies() || [];
7344
- taxonomies.map(function( taxonomy ){
7345
-
7346
- // Append selected taxonomies to terms object.
7347
- var postTerms = wp.data.select( 'core/editor' ).getEditedPostAttribute( taxonomy.rest_base );
7348
- if( postTerms ) {
7349
- terms[ taxonomy.slug ] = postTerms;
7350
- }
7351
- });
7352
-
7353
- // return
7354
- return terms;
7355
- },
7356
-
7357
- /**
7358
- * onRefreshPostScreen
7359
- *
7360
- * Fires after the Post edit screen metaboxs are refreshed to update the Block Editor API state.
7361
- *
7362
- * @date 11/11/19
7363
- * @since 5.8.7
7364
- *
7365
- * @param object data The "check_screen" JSON response data.
7366
- * @return void
7367
- */
7368
- onRefreshPostScreen: function( data ) {
7369
-
7370
- // Extract vars.
7371
- var select = wp.data.select( 'core/edit-post' );
7372
- var dispatch = wp.data.dispatch( 'core/edit-post' );
7373
-
7374
- // Load current metabox locations and data.
7375
- var locations = {};
7376
- select.getActiveMetaBoxLocations().map(function( location ){
7377
- locations[ location ] = select.getMetaBoxesPerLocation( location );
7378
- });
7379
-
7380
- // Generate flat array of existing ids.
7381
- var ids = [];
7382
- for( var k in locations ) {
7383
- locations[k].map(function( m ){
7384
- ids.push( m.id );
7385
- });
7386
- }
7387
-
7388
- // Append new ACF metaboxes (ignore those which already exist).
7389
- data.results.filter(function( r ){
7390
- return ( ids.indexOf( r.id ) === -1 );
7391
- }).map(function( result, i ){
7392
-
7393
- // Ensure location exists.
7394
- var location = result.position;
7395
- locations[ location ] = locations[ location ] || [];
7396
-
7397
- // Append.
7398
- locations[ location ].push({
7399
- id: result.id,
7400
- title: result.title
7401
- });
7402
- });
7403
-
7404
- // Remove hidden ACF metaboxes.
7405
- for( var k in locations ) {
7406
- locations[k] = locations[k].filter(function( m ){
7407
- return ( data.hidden.indexOf( m.id ) === -1 );
7408
- });
7409
- }
7410
-
7411
- // Update state.
7412
- dispatch.setAvailableMetaBoxesPerLocation( locations );
7413
- }
7414
- });
7415
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7416
  })(jQuery);
7417
- (function($, undefined){
7418
-
7419
- /**
7420
- * acf.newSelect2
7421
- *
7422
- * description
7423
- *
7424
- * @date 13/1/18
7425
- * @since 5.6.5
7426
- *
7427
- * @param type $var Description. Default.
7428
- * @return type Description.
7429
- */
7430
-
7431
- acf.newSelect2 = function( $select, props ){
7432
-
7433
- // defaults
7434
- props = acf.parseArgs(props, {
7435
- allowNull: false,
7436
- placeholder: '',
7437
- multiple: false,
7438
- field: false,
7439
- ajax: false,
7440
- ajaxAction: '',
7441
- ajaxData: function( data ){ return data; },
7442
- ajaxResults: function( json ){ return json; },
7443
- });
7444
-
7445
- // initialize
7446
- if( getVersion() == 4 ) {
7447
- var select2 = new Select2_4( $select, props );
7448
- } else {
7449
- var select2 = new Select2_3( $select, props );
7450
- }
7451
-
7452
- // actions
7453
- acf.doAction('new_select2', select2);
7454
-
7455
- // return
7456
- return select2;
7457
- };
7458
-
7459
- /**
7460
- * getVersion
7461
- *
7462
- * description
7463
- *
7464
- * @date 13/1/18
7465
- * @since 5.6.5
7466
- *
7467
- * @param type $var Description. Default.
7468
- * @return type Description.
7469
- */
7470
-
7471
- function getVersion() {
7472
-
7473
- // v4
7474
- if( acf.isset(window, 'jQuery', 'fn', 'select2', 'amd') ) {
7475
- return 4;
7476
- }
7477
-
7478
- // v3
7479
- if( acf.isset(window, 'Select2') ) {
7480
- return 3;
7481
- }
7482
-
7483
- // return
7484
- return false;
7485
- }
7486
-
7487
- /**
7488
- * Select2
7489
- *
7490
- * description
7491
- *
7492
- * @date 13/1/18
7493
- * @since 5.6.5
7494
- *
7495
- * @param type $var Description. Default.
7496
- * @return type Description.
7497
- */
7498
-
7499
- var Select2 = acf.Model.extend({
7500
-
7501
- setup: function( $select, props ){
7502
- $.extend(this.data, props);
7503
- this.$el = $select;
7504
- },
7505
-
7506
- initialize: function(){
7507
-
7508
- },
7509
-
7510
- selectOption: function( value ){
7511
- var $option = this.getOption( value );
7512
- if( !$option.prop('selected') ) {
7513
- $option.prop('selected', true).trigger('change');
7514
- }
7515
- },
7516
-
7517
- unselectOption: function( value ){
7518
- var $option = this.getOption( value );
7519
- if( $option.prop('selected') ) {
7520
- $option.prop('selected', false).trigger('change');
7521
- }
7522
- },
7523
-
7524
- getOption: function( value ){
7525
- return this.$('option[value="' + value + '"]');
7526
- },
7527
-
7528
- addOption: function( option ){
7529
-
7530
- // defaults
7531
- option = acf.parseArgs(option, {
7532
- id: '',
7533
- text: '',
7534
- selected: false
7535
- });
7536
-
7537
- // vars
7538
- var $option = this.getOption( option.id );
7539
-
7540
- // append
7541
- if( !$option.length ) {
7542
- $option = $('<option></option>');
7543
- $option.html( option.text );
7544
- $option.attr('value', option.id);
7545
- $option.prop('selected', option.selected);
7546
- this.$el.append($option);
7547
- }
7548
-
7549
- // chain
7550
- return $option;
7551
- },
7552
-
7553
- getValue: function(){
7554
-
7555
- // vars
7556
- var val = [];
7557
- var $options = this.$el.find('option:selected');
7558
-
7559
- // bail early if no selected
7560
- if( !$options.exists() ) {
7561
- return val;
7562
- }
7563
-
7564
- // sort by attribute
7565
- $options = $options.sort(function(a, b) {
7566
- return +a.getAttribute('data-i') - +b.getAttribute('data-i');
7567
- });
7568
-
7569
- // loop
7570
- $options.each(function(){
7571
- var $el = $(this);
7572
- val.push({
7573
- $el: $el,
7574
- id: $el.attr('value'),
7575
- text: $el.text(),
7576
- });
7577
- });
7578
-
7579
- // return
7580
- return val;
7581
-
7582
- },
7583
-
7584
- mergeOptions: function(){
7585
-
7586
- },
7587
-
7588
- getChoices: function(){
7589
-
7590
- // callback
7591
- var crawl = function( $parent ){
7592
-
7593
- // vars
7594
- var choices = [];
7595
-
7596
- // loop
7597
- $parent.children().each(function(){
7598
-
7599
- // vars
7600
- var $child = $(this);
7601
-
7602
- // optgroup
7603
- if( $child.is('optgroup') ) {
7604
-
7605
- choices.push({
7606
- text: $child.attr('label'),
7607
- children: crawl( $child )
7608
- });
7609
-
7610
- // option
7611
- } else {
7612
-
7613
- choices.push({
7614
- id: $child.attr('value'),
7615
- text: $child.text()
7616
- });
7617
- }
7618
- });
7619
-
7620
- // return
7621
- return choices;
7622
- };
7623
-
7624
- // crawl
7625
- return crawl( this.$el );
7626
- },
7627
-
7628
- getAjaxData: function( params ){
7629
-
7630
- // vars
7631
- var ajaxData = {
7632
- action: this.get('ajaxAction'),
7633
- s: params.term || '',
7634
- paged: params.page || 1
7635
- };
7636
-
7637
- // field helper
7638
- var field = this.get('field');
7639
- if( field ) {
7640
- ajaxData.field_key = field.get('key');
7641
- }
7642
-
7643
- // callback
7644
- var callback = this.get('ajaxData');
7645
- if( callback ) {
7646
- ajaxData = callback.apply( this, [ajaxData, params] );
7647
- }
7648
-
7649
- // filter
7650
- ajaxData = acf.applyFilters( 'select2_ajax_data', ajaxData, this.data, this.$el, (field || false), this );
7651
-
7652
- // return
7653
- return acf.prepareForAjax(ajaxData);
7654
- },
7655
-
7656
- getAjaxResults: function( json, params ){
7657
-
7658
- // defaults
7659
- json = acf.parseArgs(json, {
7660
- results: false,
7661
- more: false,
7662
- });
7663
-
7664
- // callback
7665
- var callback = this.get('ajaxResults');
7666
- if( callback ) {
7667
- json = callback.apply( this, [json, params] );
7668
- }
7669
-
7670
- // filter
7671
- json = acf.applyFilters( 'select2_ajax_results', json, params, this );
7672
-
7673
- // return
7674
- return json;
7675
- },
7676
-
7677
- processAjaxResults: function( json, params ){
7678
-
7679
- // vars
7680
- var json = this.getAjaxResults( json, params );
7681
-
7682
- // change more to pagination
7683
- if( json.more ) {
7684
- json.pagination = { more: true };
7685
- }
7686
-
7687
- // merge together groups
7688
- setTimeout($.proxy(this.mergeOptions, this), 1);
7689
-
7690
- // return
7691
- return json;
7692
- },
7693
-
7694
- destroy: function(){
7695
-
7696
- // destroy via api
7697
- if( this.$el.data('select2') ) {
7698
- this.$el.select2('destroy');
7699
- }
7700
-
7701
- // destory via HTML (duplicating HTML does not contain data)
7702
- this.$el.siblings('.select2-container').remove();
7703
- }
7704
-
7705
- });
7706
-
7707
-
7708
- /**
7709
- * Select2_4
7710
- *
7711
- * description
7712
- *
7713
- * @date 13/1/18
7714
- * @since 5.6.5
7715
- *
7716
- * @param type $var Description. Default.
7717
- * @return type Description.
7718
- */
7719
-
7720
- var Select2_4 = Select2.extend({
7721
-
7722
- initialize: function(){
7723
-
7724
- // vars
7725
- var $select = this.$el;
7726
- var options = {
7727
- width: '100%',
7728
- allowClear: this.get('allowNull'),
7729
- placeholder: this.get('placeholder'),
7730
- multiple: this.get('multiple'),
7731
- data: [],
7732
- escapeMarkup: function( markup ) {
7733
- if (typeof markup !== 'string') {
7734
- return markup;
7735
- }
7736
- return acf.escHtml( markup );
7737
- }
7738
- };
7739
-
7740
- // Only use the template if SelectWoo is not loaded to work around https://github.com/woocommerce/woocommerce/pull/30473
7741
- if ( ! acf.isset(window, 'jQuery', 'fn', 'selectWoo') ) {
7742
-
7743
- options.templateSelection = function( selection ) {
7744
- var $selection = $('<span class="acf-selection"></span>');
7745
- $selection.html( acf.escHtml( selection.text ) );
7746
- $selection.data('element', selection.element);
7747
- return $selection;
7748
- };
7749
-
7750
- }
7751
-
7752
- // multiple
7753
- if( options.multiple ) {
7754
-
7755
- // reorder options
7756
- this.getValue().map(function( item ){
7757
- item.$el.detach().appendTo( $select );
7758
- });
7759
- }
7760
-
7761
- // Temporarily remove conflicting attribute.
7762
- var attrAjax = $select.attr( 'data-ajax' );
7763
- if( attrAjax !== undefined ) {
7764
- $select.removeData('ajax');
7765
- $select.removeAttr('data-ajax');
7766
- }
7767
-
7768
- // ajax
7769
- if( this.get('ajax') ) {
7770
-
7771
- options.ajax = {
7772
- url: acf.get('ajaxurl'),
7773
- delay: 250,
7774
- dataType: 'json',
7775
- type: 'post',
7776
- cache: false,
7777
- data: $.proxy(this.getAjaxData, this),
7778
- processResults: $.proxy(this.processAjaxResults, this),
7779
- };
7780
- }
7781
-
7782
- // filter for 3rd party customization
7783
- //options = acf.applyFilters( 'select2_args', options, $select, this );
7784
- var field = this.get('field');
7785
- options = acf.applyFilters( 'select2_args', options, $select, this.data, (field || false), this );
7786
-
7787
- // add select2
7788
- $select.select2( options );
7789
-
7790
- // get container (Select2 v4 does not return this from constructor)
7791
- var $container = $select.next('.select2-container');
7792
-
7793
- // multiple
7794
- if( options.multiple ) {
7795
-
7796
- // vars
7797
- var $ul = $container.find('ul');
7798
-
7799
- // sortable
7800
- $ul.sortable({
7801
- stop: function( e ) {
7802
-
7803
- // loop
7804
- $ul.find('.select2-selection__choice').each(function() {
7805
-
7806
- // Attempt to use .data if it exists (select2 version < 4.0.6) or use our template data instead.
7807
- if ( $(this).data('data') ) {
7808
- var $option = $( $(this).data('data').element );
7809
- } else {
7810
- var $option = $( $(this).children('span.acf-selection').data('element') );
7811
- }
7812
-
7813
- // detach and re-append to end
7814
- $option.detach().appendTo( $select );
7815
- });
7816
-
7817
- // trigger change on input (JS error if trigger on select)
7818
- $select.trigger('change');
7819
- }
7820
- });
7821
-
7822
- // on select, move to end
7823
- $select.on('select2:select', this.proxy(function( e ){
7824
- this.getOption( e.params.data.id ).detach().appendTo( this.$el );
7825
- }));
7826
- }
7827
-
7828
- // add class
7829
- $container.addClass('-acf');
7830
-
7831
- // Add back temporarily removed attr.
7832
- if( attrAjax !== undefined ) {
7833
- $select.attr('data-ajax', attrAjax);
7834
- }
7835
-
7836
- // action for 3rd party customization
7837
- acf.doAction('select2_init', $select, options, this.data, (field || false), this);
7838
- },
7839
-
7840
- mergeOptions: function(){
7841
-
7842
- // vars
7843
- var $prevOptions = false;
7844
- var $prevGroup = false;
7845
-
7846
- // loop
7847
- $('.select2-results__option[role="group"]').each(function(){
7848
-
7849
- // vars
7850
- var $options = $(this).children('ul');
7851
- var $group = $(this).children('strong');
7852
-
7853
- // compare to previous
7854
- if( $prevGroup && $prevGroup.text() === $group.text() ) {
7855
- $prevOptions.append( $options.children() );
7856
- $(this).remove();
7857
- return;
7858
- }
7859
-
7860
- // update vars
7861
- $prevOptions = $options;
7862
- $prevGroup = $group;
7863
-
7864
- });
7865
- },
7866
-
7867
- });
7868
-
7869
- /**
7870
- * Select2_3
7871
- *
7872
- * description
7873
- *
7874
- * @date 13/1/18
7875
- * @since 5.6.5
7876
- *
7877
- * @param type $var Description. Default.
7878
- * @return type Description.
7879
- */
7880
-
7881
- var Select2_3 = Select2.extend({
7882
-
7883
- initialize: function(){
7884
-
7885
- // vars
7886
- var $select = this.$el;
7887
- var value = this.getValue();
7888
- var multiple = this.get('multiple');
7889
- var options = {
7890
- width: '100%',
7891
- allowClear: this.get('allowNull'),
7892
- placeholder: this.get('placeholder'),
7893
- separator: '||',
7894
- multiple: this.get('multiple'),
7895
- data: this.getChoices(),
7896
- escapeMarkup: function( string ){
7897
- return acf.escHtml( string );
7898
- },
7899
- dropdownCss: {
7900
- 'z-index': '999999999'
7901
- },
7902
- initSelection: function( element, callback ) {
7903
- if( multiple ) {
7904
- callback( value );
7905
- } else {
7906
- callback( value.shift() );
7907
- }
7908
- }
7909
- };
7910
-
7911
- // get hidden input
7912
- var $input = $select.siblings('input');
7913
- if( !$input.length ) {
7914
- $input = $('<input type="hidden" />');
7915
- $select.before( $input );
7916
- }
7917
-
7918
- // set input value
7919
- inputValue = value.map(function(item){ return item.id }).join('||');
7920
- $input.val( inputValue );
7921
-
7922
- // multiple
7923
- if( options.multiple ) {
7924
-
7925
- // reorder options
7926
- value.map(function( item ){
7927
- item.$el.detach().appendTo( $select );
7928
- });
7929
- }
7930
-
7931
- // remove blank option as we have a clear all button
7932
- if( options.allowClear ) {
7933
- options.data = options.data.filter(function(item){
7934
- return item.id !== '';
7935
- });
7936
- }
7937
-
7938
- // remove conflicting atts
7939
- $select.removeData('ajax');
7940
- $select.removeAttr('data-ajax');
7941
-
7942
- // ajax
7943
- if( this.get('ajax') ) {
7944
-
7945
- options.ajax = {
7946
- url: acf.get('ajaxurl'),
7947
- quietMillis: 250,
7948
- dataType: 'json',
7949
- type: 'post',
7950
- cache: false,
7951
- data: $.proxy(this.getAjaxData, this),
7952
- results: $.proxy(this.processAjaxResults, this),
7953
- };
7954
- }
7955
-
7956
- // filter for 3rd party customization
7957
- var field = this.get('field');
7958
- options = acf.applyFilters( 'select2_args', options, $select, this.data, (field || false), this );
7959
-
7960
- // add select2
7961
- $input.select2( options );
7962
-
7963
- // get container
7964
- var $container = $input.select2('container');
7965
-
7966
- // helper to find this select's option
7967
- var getOption = $.proxy(this.getOption, this);
7968
-
7969
- // multiple
7970
- if( options.multiple ) {
7971
-
7972
- // vars
7973
- var $ul = $container.find('ul');
7974
-
7975
- // sortable
7976
- $ul.sortable({
7977
- stop: function() {
7978
-
7979
- // loop
7980
- $ul.find('.select2-search-choice').each(function() {
7981
-
7982
- // vars
7983
- var data = $(this).data('select2Data');
7984
- var $option = getOption( data.id );
7985
-
7986
- // detach and re-append to end
7987
- $option.detach().appendTo( $select );
7988
- });
7989
-
7990
- // trigger change on input (JS error if trigger on select)
7991
- $select.trigger('change');
7992
- }
7993
- });
7994
- }
7995
-
7996
- // on select, create option and move to end
7997
- $input.on('select2-selecting', function( e ){
7998
-
7999
- // vars
8000
- var item = e.choice;
8001
- var $option = getOption( item.id );
8002
-
8003
- // create if doesn't exist
8004
- if( !$option.length ) {
8005
- $option = $('<option value="' + item.id + '">' + item.text + '</option>');
8006
- }
8007
-
8008
- // detach and re-append to end
8009
- $option.detach().appendTo( $select );
8010
- });
8011
-
8012
- // add class
8013
- $container.addClass('-acf');
8014
-
8015
- // action for 3rd party customization
8016
- acf.doAction('select2_init', $select, options, this.data, (field || false), this);
8017
-
8018
- // change
8019
- $input.on('change', function(){
8020
- var val = $input.val();
8021
- if( val.indexOf('||') ) {
8022
- val = val.split('||');
8023
- }
8024
- $select.val( val ).trigger('change');
8025
- });
8026
-
8027
- // hide select
8028
- $select.hide();
8029
- },
8030
-
8031
- mergeOptions: function(){
8032
-
8033
- // vars
8034
- var $prevOptions = false;
8035
- var $prevGroup = false;
8036
-
8037
- // loop
8038
- $('#select2-drop .select2-result-with-children').each(function(){
8039
-
8040
- // vars
8041
- var $options = $(this).children('ul');
8042
- var $group = $(this).children('.select2-result-label');
8043
-
8044
- // compare to previous
8045
- if( $prevGroup && $prevGroup.text() === $group.text() ) {
8046
- $prevGroup.append( $options.children() );
8047
- $(this).remove();
8048
- return;
8049
- }
8050
-
8051
- // update vars
8052
- $prevOptions = $options;
8053
- $prevGroup = $group;
8054
-
8055
- });
8056
-
8057
- },
8058
-
8059
- getAjaxData: function( term, page ){
8060
-
8061
- // create Select2 v4 params
8062
- var params = {
8063
- term: term,
8064
- page: page
8065
- }
8066
-
8067
- // return
8068
- return Select2.prototype.getAjaxData.apply(this, [params]);
8069
- },
8070
-
8071
- });
8072
-
8073
-
8074
- // manager
8075
- var select2Manager = new acf.Model({
8076
- priority: 5,
8077
- wait: 'prepare',
8078
- actions: {
8079
- 'duplicate': 'onDuplicate'
8080
- },
8081
- initialize: function(){
8082
-
8083
- // vars
8084
- var locale = acf.get('locale');
8085
- var rtl = acf.get('rtl');
8086
- var l10n = acf.get('select2L10n');
8087
- var version = getVersion();
8088
-
8089
- // bail ealry if no l10n
8090
- if( !l10n ) {
8091
- return false;
8092
- }
8093
-
8094
- // bail early if 'en'
8095
- if( locale.indexOf('en') === 0 ) {
8096
- return false;
8097
- }
8098
-
8099
- // initialize
8100
- if( version == 4 ) {
8101
- this.addTranslations4();
8102
- } else if( version == 3 ) {
8103
- this.addTranslations3();
8104
- }
8105
- },
8106
-
8107
- addTranslations4: function(){
8108
-
8109
- // vars
8110
- var l10n = acf.get('select2L10n');
8111
- var locale = acf.get('locale');
8112
-
8113
- // modify local to match html[lang] attribute (used by Select2)
8114
- locale = locale.replace('_', '-');
8115
-
8116
- // select2L10n
8117
- var select2L10n = {
8118
- errorLoading: function () {
8119
- return l10n.load_fail;
8120
- },
8121
- inputTooLong: function (args) {
8122
- var overChars = args.input.length - args.maximum;
8123
- if( overChars > 1 ) {
8124
- return l10n.input_too_long_n.replace( '%d', overChars );
8125
- }
8126
- return l10n.input_too_long_1;
8127
- },
8128
- inputTooShort: function( args ){
8129
- var remainingChars = args.minimum - args.input.length;
8130
- if( remainingChars > 1 ) {
8131
- return l10n.input_too_short_n.replace( '%d', remainingChars );
8132
- }
8133
- return l10n.input_too_short_1;
8134
- },
8135
- loadingMore: function () {
8136
- return l10n.load_more;
8137
- },
8138
- maximumSelected: function( args ) {
8139
- var maximum = args.maximum;
8140
- if( maximum > 1 ) {
8141
- return l10n.selection_too_long_n.replace( '%d', maximum );
8142
- }
8143
- return l10n.selection_too_long_1;
8144
- },
8145
- noResults: function () {
8146
- return l10n.matches_0;
8147
- },
8148
- searching: function () {
8149
- return l10n.searching;
8150
- }
8151
- };
8152
-
8153
- // append
8154
- jQuery.fn.select2.amd.define('select2/i18n/' + locale, [], function(){
8155
- return select2L10n;
8156
- });
8157
- },
8158
-
8159
- addTranslations3: function(){
8160
-
8161
- // vars
8162
- var l10n = acf.get('select2L10n');
8163
- var locale = acf.get('locale');
8164
-
8165
- // modify local to match html[lang] attribute (used by Select2)
8166
- locale = locale.replace('_', '-');
8167
-
8168
- // select2L10n
8169
- var select2L10n = {
8170
- formatMatches: function( matches ) {
8171
- if( matches > 1 ) {
8172
- return l10n.matches_n.replace( '%d', matches );
8173
- }
8174
- return l10n.matches_1;
8175
- },
8176
- formatNoMatches: function() {
8177
- return l10n.matches_0;
8178
- },
8179
- formatAjaxError: function() {
8180
- return l10n.load_fail;
8181
- },
8182
- formatInputTooShort: function( input, min ) {
8183
- var remainingChars = min - input.length;
8184
- if( remainingChars > 1 ) {
8185
- return l10n.input_too_short_n.replace( '%d', remainingChars );
8186
- }
8187
- return l10n.input_too_short_1;
8188
- },
8189
- formatInputTooLong: function( input, max ) {
8190
- var overChars = input.length - max;
8191
- if( overChars > 1 ) {
8192
- return l10n.input_too_long_n.replace( '%d', overChars );
8193
- }
8194
- return l10n.input_too_long_1;
8195
- },
8196
- formatSelectionTooBig: function( maximum ) {
8197
- if( maximum > 1 ) {
8198
- return l10n.selection_too_long_n.replace( '%d', maximum );
8199
- }
8200
- return l10n.selection_too_long_1;
8201
- },
8202
- formatLoadMore: function() {
8203
- return l10n.load_more;
8204
- },
8205
- formatSearching: function() {
8206
- return l10n.searching;
8207
- }
8208
- };
8209
-
8210
- // ensure locales exists
8211
- $.fn.select2.locales = $.fn.select2.locales || {};
8212
-
8213
- // append
8214
- $.fn.select2.locales[ locale ] = select2L10n;
8215
- $.extend($.fn.select2.defaults, select2L10n);
8216
- },
8217
-
8218
- onDuplicate: function( $el, $el2 ){
8219
- $el2.find('.select2-container').remove();
8220
- }
8221
-
8222
- });
8223
-
8224
- })(jQuery);
8225
- (function($, undefined){
8226
-
8227
- acf.tinymce = {
8228
-
8229
- /*
8230
- * defaults
8231
- *
8232
- * This function will return default mce and qt settings
8233
- *
8234
- * @type function
8235
- * @date 18/8/17
8236
- * @since 5.6.0
8237
- *
8238
- * @param $post_id (int)
8239
- * @return $post_id (int)
8240
- */
8241
-
8242
- defaults: function(){
8243
-
8244
- // bail early if no tinyMCEPreInit
8245
- if( typeof tinyMCEPreInit === 'undefined' ) return false;
8246
-
8247
- // vars
8248
- var defaults = {
8249
- tinymce: tinyMCEPreInit.mceInit.acf_content,
8250
- quicktags: tinyMCEPreInit.qtInit.acf_content
8251
- };
8252
-
8253
- // return
8254
- return defaults;
8255
- },
8256
-
8257
-
8258
- /*
8259
- * initialize
8260
- *
8261
- * This function will initialize the tinymce and quicktags instances
8262
- *
8263
- * @type function
8264
- * @date 18/8/17
8265
- * @since 5.6.0
8266
- *
8267
- * @param $post_id (int)
8268
- * @return $post_id (int)
8269
- */
8270
-
8271
- initialize: function( id, args ){
8272
-
8273
- // defaults
8274
- args = acf.parseArgs(args, {
8275
- tinymce: true,
8276
- quicktags: true,
8277
- toolbar: 'full',
8278
- mode: 'visual', // visual,text
8279
- field: false
8280
- });
8281
-
8282
- // tinymce
8283
- if( args.tinymce ) {
8284
- this.initializeTinymce( id, args );
8285
- }
8286
-
8287
- // quicktags
8288
- if( args.quicktags ) {
8289
- this.initializeQuicktags( id, args );
8290
- }
8291
- },
8292
-
8293
-
8294
- /*
8295
- * initializeTinymce
8296
- *
8297
- * This function will initialize the tinymce instance
8298
- *
8299
- * @type function
8300
- * @date 18/8/17
8301
- * @since 5.6.0
8302
- *
8303
- * @param $post_id (int)
8304
- * @return $post_id (int)
8305
- */
8306
-
8307
- initializeTinymce: function( id, args ){
8308
-
8309
- // vars
8310
- var $textarea = $('#'+id);
8311
- var defaults = this.defaults();
8312
- var toolbars = acf.get('toolbars');
8313
- var field = args.field || false;
8314
- var $field = field.$el || false;
8315
-
8316
- // bail early
8317
- if( typeof tinymce === 'undefined' ) return false;
8318
- if( !defaults ) return false;
8319
-
8320
- // check if exists
8321
- if( tinymce.get(id) ) {
8322
- return this.enable( id );
8323
- }
8324
-
8325
- // settings
8326
- var init = $.extend( {}, defaults.tinymce, args.tinymce );
8327
- init.id = id;
8328
- init.selector = '#' + id;
8329
-
8330
- // toolbar
8331
- var toolbar = args.toolbar;
8332
- if( toolbar && toolbars && toolbars[toolbar] ) {
8333
-
8334
- for( var i = 1; i <= 4; i++ ) {
8335
- init[ 'toolbar' + i ] = toolbars[toolbar][i] || '';
8336
- }
8337
- }
8338
-
8339
- // event
8340
- init.setup = function( ed ){
8341
-
8342
- ed.on('change', function(e) {
8343
- ed.save(); // save to textarea
8344
- $textarea.trigger('change');
8345
- });
8346
-
8347
- // Fix bug where Gutenberg does not hear "mouseup" event and tries to select multiple blocks.
8348
- ed.on('mouseup', function(e) {
8349
- var event = new MouseEvent('mouseup');
8350
- window.dispatchEvent(event);
8351
- });
8352
-
8353
- // Temporarily comment out. May not be necessary due to wysiwyg field actions.
8354
- //ed.on('unload', function(e) {
8355
- // acf.tinymce.remove( id );
8356
- //});
8357
- };
8358
-
8359
- // disable wp_autoresize_on (no solution yet for fixed toolbar)
8360
- init.wp_autoresize_on = false;
8361
-
8362
- // Enable wpautop allowing value to save without <p> tags.
8363
- // Only if the "TinyMCE Advanced" plugin hasn't already set this functionality.
8364
- if( !init.tadv_noautop ) {
8365
- init.wpautop = true;
8366
- }
8367
-
8368
- // hook for 3rd party customization
8369
- init = acf.applyFilters('wysiwyg_tinymce_settings', init, id, field);
8370
-
8371
- // z-index fix (caused too many conflicts)
8372
- //if( acf.isset(tinymce,'ui','FloatPanel') ) {
8373
- // tinymce.ui.FloatPanel.zIndex = 900000;
8374
- //}
8375
-
8376
- // store settings
8377
- tinyMCEPreInit.mceInit[ id ] = init;
8378
-
8379
- // visual tab is active
8380
- if( args.mode == 'visual' ) {
8381
-
8382
- // init
8383
- var result = tinymce.init( init );
8384
-
8385
- // get editor
8386
- var ed = tinymce.get( id );
8387
-
8388
- // validate
8389
- if( !ed ) {
8390
- return false;
8391
- }
8392
-
8393
- // add reference
8394
- ed.acf = args.field;
8395
-
8396
- // action
8397
- acf.doAction('wysiwyg_tinymce_init', ed, ed.id, init, field);
8398
- }
8399
- },
8400
-
8401
- /*
8402
- * initializeQuicktags
8403
- *
8404
- * This function will initialize the quicktags instance
8405
- *
8406
- * @type function
8407
- * @date 18/8/17
8408
- * @since 5.6.0
8409
- *
8410
- * @param $post_id (int)
8411
- * @return $post_id (int)
8412
- */
8413
-
8414
- initializeQuicktags: function( id, args ){
8415
-
8416
- // vars
8417
- var defaults = this.defaults();
8418
-
8419
- // bail early
8420
- if( typeof quicktags === 'undefined' ) return false;
8421
- if( !defaults ) return false;
8422
-
8423
- // settings
8424
- var init = $.extend( {}, defaults.quicktags, args.quicktags );
8425
- init.id = id;
8426
-
8427
- // filter
8428
- var field = args.field || false;
8429
- var $field = field.$el || false;
8430
- init = acf.applyFilters('wysiwyg_quicktags_settings', init, init.id, field);
8431
-
8432
- // store settings
8433
- tinyMCEPreInit.qtInit[ id ] = init;
8434
-
8435
- // init
8436
- var ed = quicktags( init );
8437
-
8438
- // validate
8439
- if( !ed ) {
8440
- return false;
8441
- }
8442
-
8443
- // generate HTML
8444
- this.buildQuicktags( ed );
8445
-
8446
- // action for 3rd party customization
8447
- acf.doAction('wysiwyg_quicktags_init', ed, ed.id, init, field);
8448
- },
8449
-
8450
-
8451
- /*
8452
- * buildQuicktags
8453
- *
8454
- * This function will build the quicktags HTML
8455
- *
8456
- * @type function
8457
- * @date 18/8/17
8458
- * @since 5.6.0
8459
- *
8460
- * @param $post_id (int)
8461
- * @return $post_id (int)
8462
- */
8463
-
8464
- buildQuicktags: function( ed ){
8465
-
8466
- var canvas, name, settings, theButtons, html, ed, id, i, use, instanceId,
8467
- defaults = ',strong,em,link,block,del,ins,img,ul,ol,li,code,more,close,';
8468
-
8469
- canvas = ed.canvas;
8470
- name = ed.name;
8471
- settings = ed.settings;
8472
- html = '';
8473
- theButtons = {};
8474
- use = '';
8475
- instanceId = ed.id;
8476
-
8477
- // set buttons
8478
- if ( settings.buttons ) {
8479
- use = ','+settings.buttons+',';
8480
- }
8481
-
8482
- for ( i in edButtons ) {
8483
- if ( ! edButtons[i] ) {
8484
- continue;
8485
- }
8486
-
8487
- id = edButtons[i].id;
8488
- if ( use && defaults.indexOf( ',' + id + ',' ) !== -1 && use.indexOf( ',' + id + ',' ) === -1 ) {
8489
- continue;
8490
- }
8491
-
8492
- if ( ! edButtons[i].instance || edButtons[i].instance === instanceId ) {
8493
- theButtons[id] = edButtons[i];
8494
-
8495
- if ( edButtons[i].html ) {
8496
- html += edButtons[i].html( name + '_' );
8497
- }
8498
- }
8499
- }
8500
-
8501
- if ( use && use.indexOf(',dfw,') !== -1 ) {
8502
- theButtons.dfw = new QTags.DFWButton();
8503
- html += theButtons.dfw.html( name + '_' );
8504
- }
8505
-
8506
- if ( 'rtl' === document.getElementsByTagName( 'html' )[0].dir ) {
8507
- theButtons.textdirection = new QTags.TextDirectionButton();
8508
- html += theButtons.textdirection.html( name + '_' );
8509
- }
8510
-
8511
- ed.toolbar.innerHTML = html;
8512
- ed.theButtons = theButtons;
8513
-
8514
- if ( typeof jQuery !== 'undefined' ) {
8515
- jQuery( document ).triggerHandler( 'quicktags-init', [ ed ] );
8516
- }
8517
-
8518
- },
8519
-
8520
- disable: function( id ){
8521
- this.destroyTinymce( id );
8522
- },
8523
-
8524
- remove: function( id ){
8525
- this.destroyTinymce( id );
8526
- },
8527
-
8528
- destroy: function( id ){
8529
- this.destroyTinymce( id );
8530
- },
8531
-
8532
- destroyTinymce: function( id ){
8533
-
8534
- // bail early
8535
- if( typeof tinymce === 'undefined' ) return false;
8536
-
8537
- // get editor
8538
- var ed = tinymce.get( id );
8539
-
8540
- // bail early if no editor
8541
- if( !ed ) return false;
8542
-
8543
- // save
8544
- ed.save();
8545
-
8546
- // destroy editor
8547
- ed.destroy();
8548
-
8549
- // return
8550
- return true;
8551
- },
8552
-
8553
- enable: function( id ){
8554
- this.enableTinymce( id );
8555
- },
8556
-
8557
- enableTinymce: function( id ){
8558
-
8559
- // bail early
8560
- if( typeof switchEditors === 'undefined' ) return false;
8561
-
8562
- // bail ealry if not initialized
8563
- if( typeof tinyMCEPreInit.mceInit[ id ] === 'undefined' ) return false;
8564
-
8565
- // Ensure textarea element is visible
8566
- // - Fixes bug in block editor when switching between "Block" and "Document" tabs.
8567
- $('#'+id).show();
8568
-
8569
- // toggle
8570
- switchEditors.go( id, 'tmce');
8571
-
8572
- // return
8573
- return true;
8574
- }
8575
- };
8576
-
8577
- var editorManager = new acf.Model({
8578
-
8579
- // hook in before fieldsEventManager, conditions, etc
8580
- priority: 5,
8581
-
8582
- actions: {
8583
- 'prepare': 'onPrepare',
8584
- 'ready': 'onReady',
8585
- },
8586
- onPrepare: function(){
8587
-
8588
- // find hidden editor which may exist within a field
8589
- var $div = $('#acf-hidden-wp-editor');
8590
-
8591
- // move to footer
8592
- if( $div.exists() ) {
8593
- $div.appendTo('body');
8594
- }
8595
- },
8596
- onReady: function(){
8597
-
8598
- // Restore wp.editor functions used by tinymce removed in WP5.
8599
- if( acf.isset(window,'wp','oldEditor') ) {
8600
- wp.editor.autop = wp.oldEditor.autop;
8601
- wp.editor.removep = wp.oldEditor.removep;
8602
- }
8603
-
8604
- // bail early if no tinymce
8605
- if( !acf.isset(window,'tinymce','on') ) return;
8606
-
8607
- // restore default activeEditor
8608
- tinymce.on('AddEditor', function( data ){
8609
-
8610
- // vars
8611
- var editor = data.editor;
8612
-
8613
- // bail early if not 'acf'
8614
- if( editor.id.substr(0, 3) !== 'acf' ) return;
8615
-
8616
- // override if 'content' exists
8617
- editor = tinymce.editors.content || editor;
8618
-
8619
- // update vars
8620
- tinymce.activeEditor = editor;
8621
- wpActiveEditor = editor.id;
8622
- });
8623
- }
8624
- });
8625
-
8626
  })(jQuery);
8627
- (function($, undefined){
8628
-
8629
- /**
8630
- * Validator
8631
- *
8632
- * The model for validating forms
8633
- *
8634
- * @date 4/9/18
8635
- * @since 5.7.5
8636
- *
8637
- * @param void
8638
- * @return void
8639
- */
8640
- var Validator = acf.Model.extend({
8641
-
8642
- /** @var string The model identifier. */
8643
- id: 'Validator',
8644
-
8645
- /** @var object The model data. */
8646
- data: {
8647
-
8648
- /** @var array The form errors. */
8649
- errors: [],
8650
-
8651
- /** @var object The form notice. */
8652
- notice: null,
8653
-
8654
- /** @var string The form status. loading, invalid, valid */
8655
- status: ''
8656
- },
8657
-
8658
- /** @var object The model events. */
8659
- events: {
8660
- 'changed:status': 'onChangeStatus'
8661
- },
8662
-
8663
- /**
8664
- * addErrors
8665
- *
8666
- * Adds errors to the form.
8667
- *
8668
- * @date 4/9/18
8669
- * @since 5.7.5
8670
- *
8671
- * @param array errors An array of errors.
8672
- * @return void
8673
- */
8674
- addErrors: function( errors ){
8675
- errors.map( this.addError, this );
8676
- },
8677
-
8678
- /**
8679
- * addError
8680
- *
8681
- * Adds and error to the form.
8682
- *
8683
- * @date 4/9/18
8684
- * @since 5.7.5
8685
- *
8686
- * @param object error An error object containing input and message.
8687
- * @return void
8688
- */
8689
- addError: function( error ){
8690
- this.data.errors.push( error );
8691
- },
8692
-
8693
- /**
8694
- * hasErrors
8695
- *
8696
- * Returns true if the form has errors.
8697
- *
8698
- * @date 4/9/18
8699
- * @since 5.7.5
8700
- *
8701
- * @param void
8702
- * @return bool
8703
- */
8704
- hasErrors: function(){
8705
- return this.data.errors.length;
8706
- },
8707
-
8708
- /**
8709
- * clearErrors
8710
- *
8711
- * Removes any errors.
8712
- *
8713
- * @date 4/9/18
8714
- * @since 5.7.5
8715
- *
8716
- * @param void
8717
- * @return void
8718
- */
8719
- clearErrors: function(){
8720
- return this.data.errors = [];
8721
- },
8722
-
8723
- /**
8724
- * getErrors
8725
- *
8726
- * Returns the forms errors.
8727
- *
8728
- * @date 4/9/18
8729
- * @since 5.7.5
8730
- *
8731
- * @param void
8732
- * @return array
8733
- */
8734
- getErrors: function(){
8735
- return this.data.errors;
8736
- },
8737
-
8738
- /**
8739
- * getFieldErrors
8740
- *
8741
- * Returns the forms field errors.
8742
- *
8743
- * @date 4/9/18
8744
- * @since 5.7.5
8745
- *
8746
- * @param void
8747
- * @return array
8748
- */
8749
- getFieldErrors: function(){
8750
-
8751
- // vars
8752
- var errors = [];
8753
- var inputs = [];
8754
-
8755
- // loop
8756
- this.getErrors().map(function(error){
8757
-
8758
- // bail early if global
8759
- if( !error.input ) return;
8760
-
8761
- // update if exists
8762
- var i = inputs.indexOf(error.input);
8763
- if( i > -1 ) {
8764
- errors[ i ] = error;
8765
-
8766
- // update
8767
- } else {
8768
- errors.push( error );
8769
- inputs.push( error.input );
8770
- }
8771
- });
8772
-
8773
- // return
8774
- return errors;
8775
- },
8776
-
8777
- /**
8778
- * getGlobalErrors
8779
- *
8780
- * Returns the forms global errors (errors without a specific input).
8781
- *
8782
- * @date 4/9/18
8783
- * @since 5.7.5
8784
- *
8785
- * @param void
8786
- * @return array
8787
- */
8788
- getGlobalErrors: function(){
8789
-
8790
- // return array of errors that contain no input
8791
- return this.getErrors().filter(function(error){
8792
- return !error.input;
8793
- });
8794
- },
8795
-
8796
- /**
8797
- * showErrors
8798
- *
8799
- * Displays all errors for this form.
8800
- *
8801
- * @date 4/9/18
8802
- * @since 5.7.5
8803
- *
8804
- * @param void
8805
- * @return void
8806
- */
8807
- showErrors: function(){
8808
-
8809
- // bail early if no errors
8810
- if( !this.hasErrors() ) {
8811
- return;
8812
- }
8813
-
8814
- // vars
8815
- var fieldErrors = this.getFieldErrors();
8816
- var globalErrors = this.getGlobalErrors();
8817
-
8818
- // vars
8819
- var errorCount = 0;
8820
- var $scrollTo = false;
8821
-
8822
- // loop
8823
- fieldErrors.map(function( error ){
8824
-
8825
- // get input
8826
- var $input = this.$('[name="' + error.input + '"]').first();
8827
-
8828
- // if $_POST value was an array, this $input may not exist
8829
- if( !$input.length ) {
8830
- $input = this.$('[name^="' + error.input + '"]').first();
8831
- }
8832
-
8833
- // bail early if input doesn't exist
8834
- if( !$input.length ) {
8835
- return;
8836
- }
8837
-
8838
- // increase
8839
- errorCount++;
8840
-
8841
- // get field
8842
- var field = acf.getClosestField( $input );
8843
-
8844
- // show error
8845
- field.showError( error.message );
8846
-
8847
- // set $scrollTo
8848
- if( !$scrollTo ) {
8849
- $scrollTo = field.$el;
8850
- }
8851
- }, this);
8852
-
8853
- // errorMessage
8854
- var errorMessage = acf.__('Validation failed');
8855
- globalErrors.map(function( error ){
8856
- errorMessage += '. ' + error.message;
8857
- });
8858
- if( errorCount == 1 ) {
8859
- errorMessage += '. ' + acf.__('1 field requires attention');
8860
- } else if( errorCount > 1 ) {
8861
- errorMessage += '. ' + acf.__('%d fields require attention').replace('%d', errorCount);
8862
- }
8863
-
8864
- // notice
8865
- if( this.has('notice') ) {
8866
- this.get('notice').update({
8867
- type: 'error',
8868
- text: errorMessage
8869
- });
8870
- } else {
8871
- var notice = acf.newNotice({
8872
- type: 'error',
8873
- text: errorMessage,
8874
- target: this.$el
8875
- });
8876
- this.set('notice', notice);
8877
- }
8878
-
8879
- // if no $scrollTo, set to message
8880
- if( !$scrollTo ) {
8881
- $scrollTo = this.get('notice').$el;
8882
- }
8883
-
8884
- // timeout
8885
- setTimeout(function(){
8886
- $("html, body").animate({ scrollTop: $scrollTo.offset().top - ( $(window).height() / 2 ) }, 500);
8887
- }, 10);
8888
- },
8889
-
8890
- /**
8891
- * onChangeStatus
8892
- *
8893
- * Update the form class when changing the 'status' data
8894
- *
8895
- * @date 4/9/18
8896
- * @since 5.7.5
8897
- *
8898
- * @param object e The event object.
8899
- * @param jQuery $el The form element.
8900
- * @param string value The new status.
8901
- * @param string prevValue The old status.
8902
- * @return void
8903
- */
8904
- onChangeStatus: function( e, $el, value, prevValue ){
8905
- this.$el.removeClass('is-'+prevValue).addClass('is-'+value);
8906
- },
8907
-
8908
- /**
8909
- * validate
8910
- *
8911
- * Vaildates the form via AJAX.
8912
- *
8913
- * @date 4/9/18
8914
- * @since 5.7.5
8915
- *
8916
- * @param object args A list of settings to customize the validation process.
8917
- * @return bool True if the form is valid.
8918
- */
8919
- validate: function( args ){
8920
-
8921
- // default args
8922
- args = acf.parseArgs(args, {
8923
-
8924
- // trigger event
8925
- event: false,
8926
-
8927
- // reset the form after submit
8928
- reset: false,
8929
-
8930
- // loading callback
8931
- loading: function(){},
8932
-
8933
- // complete callback
8934
- complete: function(){},
8935
-
8936
- // failure callback
8937
- failure: function(){},
8938
-
8939
- // success callback
8940
- success: function( $form ){
8941
- $form.submit();
8942
- }
8943
- });
8944
-
8945
- // return true if is valid - allows form submit
8946
- if( this.get('status') == 'valid' ) {
8947
- return true;
8948
- }
8949
-
8950
- // return false if is currently validating - prevents form submit
8951
- if( this.get('status') == 'validating' ) {
8952
- return false;
8953
- }
8954
-
8955
- // return true if no ACF fields exist (no need to validate)
8956
- if( !this.$('.acf-field').length ) {
8957
- return true;
8958
- }
8959
-
8960
- // if event is provided, create a new success callback.
8961
- if( args.event ) {
8962
- var event = $.Event(null, args.event);
8963
- args.success = function(){
8964
- acf.enableSubmit( $(event.target) ).trigger( event );
8965
- }
8966
- }
8967
-
8968
- // action for 3rd party
8969
- acf.doAction('validation_begin', this.$el);
8970
-
8971
- // lock form
8972
- acf.lockForm( this.$el );
8973
-
8974
- // loading callback
8975
- args.loading( this.$el, this );
8976
-
8977
- // update status
8978
- this.set('status', 'validating');
8979
-
8980
- // success callback
8981
- var onSuccess = function( json ){
8982
-
8983
- // validate
8984
- if( !acf.isAjaxSuccess(json) ) {
8985
- return;
8986
- }
8987
-
8988
- // filter
8989
- var data = acf.applyFilters('validation_complete', json.data, this.$el, this);
8990
-
8991
- // add errors
8992
- if( !data.valid ) {
8993
- this.addErrors( data.errors );
8994
- }
8995
- };
8996
-
8997
- // complete
8998
- var onComplete = function(){
8999
-
9000
- // unlock form
9001
- acf.unlockForm( this.$el );
9002
-
9003
- // failure
9004
- if( this.hasErrors() ) {
9005
-
9006
- // update status
9007
- this.set('status', 'invalid');
9008
-
9009
- // action
9010
- acf.doAction('validation_failure', this.$el, this);
9011
-
9012
- // display errors
9013
- this.showErrors();
9014
-
9015
- // failure callback
9016
- args.failure( this.$el, this );
9017
-
9018
- // success
9019
- } else {
9020
-
9021
- // update status
9022
- this.set('status', 'valid');
9023
-
9024
- // remove previous error message
9025
- if( this.has('notice') ) {
9026
- this.get('notice').update({
9027
- type: 'success',
9028
- text: acf.__('Validation successful'),
9029
- timeout: 1000
9030
- });
9031
- }
9032
-
9033
- // action
9034
- acf.doAction('validation_success', this.$el, this);
9035
- acf.doAction('submit', this.$el);
9036
-
9037
- // success callback (submit form)
9038
- args.success( this.$el, this );
9039
-
9040
- // lock form
9041
- acf.lockForm( this.$el );
9042
-
9043
- // reset
9044
- if( args.reset ) {
9045
- this.reset();
9046
- }
9047
- }
9048
-
9049
- // complete callback
9050
- args.complete( this.$el, this );
9051
-
9052
- // clear errors
9053
- this.clearErrors();
9054
- };
9055
-
9056
- // serialize form data
9057
- var data = acf.serialize( this.$el );
9058
- data.action = 'acf/validate_save_post';
9059
-
9060
- // ajax
9061
- $.ajax({
9062
- url: acf.get('ajaxurl'),
9063
- data: acf.prepareForAjax(data),
9064
- type: 'post',
9065
- dataType: 'json',
9066
- context: this,
9067
- success: onSuccess,
9068
- complete: onComplete
9069
- });
9070
-
9071
- // return false to fail validation and allow AJAX
9072
- return false
9073
- },
9074
-
9075
- /**
9076
- * setup
9077
- *
9078
- * Called during the constructor function to setup this instance
9079
- *
9080
- * @date 4/9/18
9081
- * @since 5.7.5
9082
- *
9083
- * @param jQuery $form The form element.
9084
- * @return void
9085
- */
9086
- setup: function( $form ){
9087
-
9088
- // set $el
9089
- this.$el = $form;
9090
- },
9091
-
9092
- /**
9093
- * reset
9094
- *
9095
- * Rests the validation to be used again.
9096
- *
9097
- * @date 6/9/18
9098
- * @since 5.7.5
9099
- *
9100
- * @param void
9101
- * @return void
9102
- */
9103
- reset: function(){
9104
-
9105
- // reset data
9106
- this.set('errors', []);
9107
- this.set('notice', null);
9108
- this.set('status', '');
9109
-
9110
- // unlock form
9111
- acf.unlockForm( this.$el );
9112
- }
9113
- });
9114
-
9115
- /**
9116
- * getValidator
9117
- *
9118
- * Returns the instance for a given form element.
9119
- *
9120
- * @date 4/9/18
9121
- * @since 5.7.5
9122
- *
9123
- * @param jQuery $el The form element.
9124
- * @return object
9125
- */
9126
- var getValidator = function( $el ){
9127
-
9128
- // instantiate
9129
- var validator = $el.data('acf');
9130
- if( !validator ) {
9131
- validator = new Validator( $el );
9132
- }
9133
-
9134
- // return
9135
- return validator;
9136
- };
9137
-
9138
- /**
9139
- * acf.validateForm
9140
- *
9141
- * A helper function for the Validator.validate() function.
9142
- * Returns true if form is valid, or fetches a validation request and returns false.
9143
- *
9144
- * @date 4/4/18
9145
- * @since 5.6.9
9146
- *
9147
- * @param object args A list of settings to customize the validation process.
9148
- * @return bool
9149
- */
9150
-
9151
- acf.validateForm = function( args ){
9152
- return getValidator( args.form ).validate( args );
9153
- };
9154
-
9155
- /**
9156
- * acf.enableSubmit
9157
- *
9158
- * Enables a submit button and returns the element.
9159
- *
9160
- * @date 30/8/18
9161
- * @since 5.7.4
9162
- *
9163
- * @param jQuery $submit The submit button.
9164
- * @return jQuery
9165
- */
9166
- acf.enableSubmit = function( $submit ){
9167
- return $submit.removeClass('disabled');
9168
- };
9169
-
9170
- /**
9171
- * acf.disableSubmit
9172
- *
9173
- * Disables a submit button and returns the element.
9174
- *
9175
- * @date 30/8/18
9176
- * @since 5.7.4
9177
- *
9178
- * @param jQuery $submit The submit button.
9179
- * @return jQuery
9180
- */
9181
- acf.disableSubmit = function( $submit ){
9182
- return $submit.addClass('disabled');
9183
- };
9184
-
9185
- /**
9186
- * acf.showSpinner
9187
- *
9188
- * Shows the spinner element.
9189
- *
9190
- * @date 4/9/18
9191
- * @since 5.7.5
9192
- *
9193
- * @param jQuery $spinner The spinner element.
9194
- * @return jQuery
9195
- */
9196
- acf.showSpinner = function( $spinner ){
9197
- $spinner.addClass('is-active'); // add class (WP > 4.2)
9198
- $spinner.css('display', 'inline-block'); // css (WP < 4.2)
9199
- return $spinner;
9200
- };
9201
-
9202
- /**
9203
- * acf.hideSpinner
9204
- *
9205
- * Hides the spinner element.
9206
- *
9207
- * @date 4/9/18
9208
- * @since 5.7.5
9209
- *
9210
- * @param jQuery $spinner The spinner element.
9211
- * @return jQuery
9212
- */
9213
- acf.hideSpinner = function( $spinner ){
9214
- $spinner.removeClass('is-active'); // add class (WP > 4.2)
9215
- $spinner.css('display', 'none'); // css (WP < 4.2)
9216
- return $spinner;
9217
- };
9218
-
9219
- /**
9220
- * acf.lockForm
9221
- *
9222
- * Locks a form by disabeling its primary inputs and showing a spinner.
9223
- *
9224
- * @date 4/9/18
9225
- * @since 5.7.5
9226
- *
9227
- * @param jQuery $form The form element.
9228
- * @return jQuery
9229
- */
9230
- acf.lockForm = function( $form ){
9231
-
9232
- // vars
9233
- var $wrap = findSubmitWrap( $form );
9234
- var $submit = $wrap.find('.button, [type="submit"]');
9235
- var $spinner = $wrap.find('.spinner, .acf-spinner');
9236
-
9237
- // hide all spinners (hides the preview spinner)
9238
- acf.hideSpinner( $spinner );
9239
-
9240
- // lock
9241
- acf.disableSubmit( $submit );
9242
- acf.showSpinner( $spinner.last() );
9243
- return $form;
9244
- };
9245
-
9246
- /**
9247
- * acf.unlockForm
9248
- *
9249
- * Unlocks a form by enabeling its primary inputs and hiding all spinners.
9250
- *
9251
- * @date 4/9/18
9252
- * @since 5.7.5
9253
- *
9254
- * @param jQuery $form The form element.
9255
- * @return jQuery
9256
- */
9257
- acf.unlockForm = function( $form ){
9258
-
9259
- // vars
9260
- var $wrap = findSubmitWrap( $form );
9261
- var $submit = $wrap.find('.button, [type="submit"]');
9262
- var $spinner = $wrap.find('.spinner, .acf-spinner');
9263
-
9264
- // unlock
9265
- acf.enableSubmit( $submit );
9266
- acf.hideSpinner( $spinner );
9267
- return $form;
9268
- };
9269
-
9270
- /**
9271
- * findSubmitWrap
9272
- *
9273
- * An internal function to find the 'primary' form submit wrapping element.
9274
- *
9275
- * @date 4/9/18
9276
- * @since 5.7.5
9277
- *
9278
- * @param jQuery $form The form element.
9279
- * @return jQuery
9280
- */
9281
- var findSubmitWrap = function( $form ){
9282
-
9283
- // default post submit div
9284
- var $wrap = $form.find('#submitdiv');
9285
- if( $wrap.length ) {
9286
- return $wrap;
9287
- }
9288
-
9289
- // 3rd party publish box
9290
- var $wrap = $form.find('#submitpost');
9291
- if( $wrap.length ) {
9292
- return $wrap;
9293
- }
9294
-
9295
- // term, user
9296
- var $wrap = $form.find('p.submit').last();
9297
- if( $wrap.length ) {
9298
- return $wrap;
9299
- }
9300
-
9301
- // front end form
9302
- var $wrap = $form.find('.acf-form-submit');
9303
- if( $wrap.length ) {
9304
- return $wrap;
9305
- }
9306
-
9307
- // default
9308
- return $form;
9309
- };
9310
-
9311
- /**
9312
- * A debounced function to trigger a form submission.
9313
- *
9314
- * @date 15/07/2020
9315
- * @since 5.9.0
9316
- *
9317
- * @param type Var Description.
9318
- * @return type Description.
9319
- */
9320
- var submitFormDebounced = acf.debounce(function( $form ){
9321
- $form.submit();
9322
- });
9323
-
9324
- /**
9325
- * acf.validation
9326
- *
9327
- * Global validation logic
9328
- *
9329
- * @date 4/4/18
9330
- * @since 5.6.9
9331
- *
9332
- * @param void
9333
- * @return void
9334
- */
9335
-
9336
- acf.validation = new acf.Model({
9337
-
9338
- /** @var string The model identifier. */
9339
- id: 'validation',
9340
-
9341
- /** @var bool The active state. Set to false before 'prepare' to prevent validation. */
9342
- active: true,
9343
-
9344
- /** @var string The model initialize time. */
9345
- wait: 'prepare',
9346
-
9347
- /** @var object The model actions. */
9348
- actions: {
9349
- 'ready': 'addInputEvents',
9350
- 'append': 'addInputEvents'
9351
- },
9352
-
9353
- /** @var object The model events. */
9354
- events: {
9355
- 'click input[type="submit"]': 'onClickSubmit',
9356
- 'click button[type="submit"]': 'onClickSubmit',
9357
- //'click #editor .editor-post-publish-button': 'onClickSubmitGutenberg',
9358
- 'click #save-post': 'onClickSave',
9359
- 'submit form#post': 'onSubmitPost',
9360
- 'submit form': 'onSubmit',
9361
- },
9362
-
9363
- /**
9364
- * initialize
9365
- *
9366
- * Called when initializing the model.
9367
- *
9368
- * @date 4/9/18
9369
- * @since 5.7.5
9370
- *
9371
- * @param void
9372
- * @return void
9373
- */
9374
- initialize: function(){
9375
-
9376
- // check 'validation' setting
9377
- if( !acf.get('validation') ) {
9378
- this.active = false;
9379
- this.actions = {};
9380
- this.events = {};
9381
- }
9382
- },
9383
-
9384
- /**
9385
- * enable
9386
- *
9387
- * Enables validation.
9388
- *
9389
- * @date 4/9/18
9390
- * @since 5.7.5
9391
- *
9392
- * @param void
9393
- * @return void
9394
- */
9395
- enable: function(){
9396
- this.active = true;
9397
- },
9398
-
9399
- /**
9400
- * disable
9401
- *
9402
- * Disables validation.
9403
- *
9404
- * @date 4/9/18
9405
- * @since 5.7.5
9406
- *
9407
- * @param void
9408
- * @return void
9409
- */
9410
- disable: function(){
9411
- this.active = false;
9412
- },
9413
-
9414
- /**
9415
- * reset
9416
- *
9417
- * Rests the form validation to be used again
9418
- *
9419
- * @date 6/9/18
9420
- * @since 5.7.5
9421
- *
9422
- * @param jQuery $form The form element.
9423
- * @return void
9424
- */
9425
- reset: function( $form ){
9426
- getValidator( $form ).reset();
9427
- },
9428
-
9429
- /**
9430
- * addInputEvents
9431
- *
9432
- * Adds 'invalid' event listeners to HTML inputs.
9433
- *
9434
- * @date 4/9/18
9435
- * @since 5.7.5
9436
- *
9437
- * @param jQuery $el The element being added / readied.
9438
- * @return void
9439
- */
9440
- addInputEvents: function( $el ){
9441
-
9442
- // Bug exists in Safari where custom "invalid" handeling prevents draft from saving.
9443
- if( acf.get('browser') === 'safari' )
9444
- return;
9445
-
9446
- // vars
9447
- var $inputs = $('.acf-field [name]', $el);
9448
-
9449
- // check
9450
- if( $inputs.length ) {
9451
- this.on( $inputs, 'invalid', 'onInvalid' );
9452
- }
9453
- },
9454
-
9455
- /**
9456
- * onInvalid
9457
- *
9458
- * Callback for the 'invalid' event.
9459
- *
9460
- * @date 4/9/18
9461
- * @since 5.7.5
9462
- *
9463
- * @param object e The event object.
9464
- * @param jQuery $el The input element.
9465
- * @return void
9466
- */
9467
- onInvalid: function( e, $el ){
9468
-
9469
- // prevent default
9470
- // - prevents browser error message
9471
- // - also fixes chrome bug where 'hidden-by-tab' field throws focus error
9472
- e.preventDefault();
9473
-
9474
- // vars
9475
- var $form = $el.closest('form');
9476
-
9477
- // check form exists
9478
- if( $form.length ) {
9479
-
9480
- // add error to validator
9481
- getValidator( $form ).addError({
9482
- input: $el.attr('name'),
9483
- message: acf.strEscape( e.target.validationMessage )
9484
- });
9485
-
9486
- // trigger submit on $form
9487
- // - allows for "save", "preview" and "publish" to work
9488
- submitFormDebounced( $form );
9489
- }
9490
- },
9491
-
9492
- /**
9493
- * onClickSubmit
9494
- *
9495
- * Callback when clicking submit.
9496
- *
9497
- * @date 4/9/18
9498
- * @since 5.7.5
9499
- *
9500
- * @param object e The event object.
9501
- * @param jQuery $el The input element.
9502
- * @return void
9503
- */
9504
- onClickSubmit: function( e, $el ){
9505
-
9506
- // store the "click event" for later use in this.onSubmit()
9507
- this.set('originalEvent', e);
9508
- },
9509
-
9510
- /**
9511
- * onClickSave
9512
- *
9513
- * Set ignore to true when saving a draft.
9514
- *
9515
- * @date 4/9/18
9516
- * @since 5.7.5
9517
- *
9518
- * @param object e The event object.
9519
- * @param jQuery $el The input element.
9520
- * @return void
9521
- */
9522
- onClickSave: function( e, $el ) {
9523
- this.set('ignore', true);
9524
- },
9525
-
9526
- /**
9527
- * onClickSubmitGutenberg
9528
- *
9529
- * Custom validation event for the gutenberg editor.
9530
- *
9531
- * @date 29/10/18
9532
- * @since 5.8.0
9533
- *
9534
- * @param object e The event object.
9535
- * @param jQuery $el The input element.
9536
- * @return void
9537
- */
9538
- onClickSubmitGutenberg: function( e, $el ){
9539
-
9540
- // validate
9541
- var valid = acf.validateForm({
9542
- form: $('#editor'),
9543
- event: e,
9544
- reset: true,
9545
- failure: function( $form, validator ){
9546
- var $notice = validator.get('notice').$el;
9547
- $notice.appendTo('.components-notice-list');
9548
- $notice.find('.acf-notice-dismiss').removeClass('small');
9549
- }
9550
- });
9551
-
9552
- // if not valid, stop event and allow validation to continue
9553
- if( !valid ) {
9554
- e.preventDefault();
9555
- e.stopImmediatePropagation();
9556
- }
9557
- },
9558
-
9559
- /**
9560
- * onSubmitPost
9561
- *
9562
- * Callback when the 'post' form is submit.
9563
- *
9564
- * @date 5/3/19
9565
- * @since 5.7.13
9566
- *
9567
- * @param object e The event object.
9568
- * @param jQuery $el The input element.
9569
- * @return void
9570
- */
9571
- onSubmitPost: function( e, $el ) {
9572
-
9573
- // Check if is preview.
9574
- if( $('input#wp-preview').val() === 'dopreview' ) {
9575
-
9576
- // Ignore validation.
9577
- this.set('ignore', true);
9578
-
9579
- // Unlock form to fix conflict with core "submit.edit-post" event causing all submit buttons to be disabled.
9580
- acf.unlockForm( $el )
9581
- }
9582
- },
9583
-
9584
- /**
9585
- * onSubmit
9586
- *
9587
- * Callback when the form is submit.
9588
- *
9589
- * @date 4/9/18
9590
- * @since 5.7.5
9591
- *
9592
- * @param object e The event object.
9593
- * @param jQuery $el The input element.
9594
- * @return void
9595
- */
9596
- onSubmit: function( e, $el ){
9597
-
9598
- // Allow form to submit if...
9599
- if(
9600
- // Validation has been disabled.
9601
- !this.active
9602
-
9603
- // Or this event is to be ignored.
9604
- || this.get('ignore')
9605
-
9606
- // Or this event has already been prevented.
9607
- || e.isDefaultPrevented()
9608
- ) {
9609
- // Return early and call reset function.
9610
- return this.allowSubmit();
9611
- }
9612
-
9613
- // Validate form.
9614
- var valid = acf.validateForm({
9615
- form: $el,
9616
- event: this.get('originalEvent')
9617
- });
9618
-
9619
- // If not valid, stop event to prevent form submit.
9620
- if( !valid ) {
9621
- e.preventDefault();
9622
- }
9623
- },
9624
-
9625
- /**
9626
- * allowSubmit
9627
- *
9628
- * Resets data during onSubmit when the form is allowed to submit.
9629
- *
9630
- * @date 5/3/19
9631
- * @since 5.7.13
9632
- *
9633
- * @param void
9634
- * @return void
9635
- */
9636
- allowSubmit: function(){
9637
-
9638
- // Reset "ignore" state.
9639
- this.set('ignore', false);
9640
-
9641
- // Reset "originalEvent" object.
9642
- this.set('originalEvent', false);
9643
-
9644
- // Return true
9645
- return true;
9646
- }
9647
- });
9648
-
9649
- var gutenbergValidation = new acf.Model({
9650
- wait: 'prepare',
9651
- initialize: function(){
9652
-
9653
- // Bail early if not Gutenberg.
9654
- if( !acf.isGutenberg() ) {
9655
- return;
9656
- }
9657
-
9658
- // Custommize the editor.
9659
- this.customizeEditor();
9660
- },
9661
- customizeEditor: function(){
9662
-
9663
- // Extract vars.
9664
- var editor = wp.data.dispatch( 'core/editor' );
9665
- var editorSelect = wp.data.select( 'core/editor' );
9666
- var notices = wp.data.dispatch( 'core/notices' );
9667
-
9668
- // Backup original method.
9669
- var savePost = editor.savePost;
9670
-
9671
- // Listen for changes to post status and perform actions:
9672
- // a) Enable validation for "publish" action.
9673
- // b) Remember last non "publish" status used for restoring after validation fail.
9674
- var useValidation = false;
9675
- var lastPostStatus = '';
9676
- wp.data.subscribe(function() {
9677
- var postStatus = editorSelect.getEditedPostAttribute( 'status' );
9678
- useValidation = ( postStatus === 'publish' || postStatus === 'future' );
9679
- lastPostStatus = ( postStatus !== 'publish' ) ? postStatus : lastPostStatus;
9680
- });
9681
-
9682
- // Create validation version.
9683
- editor.savePost = function( options ){
9684
- options = options || {};
9685
-
9686
- // Backup vars.
9687
- var _this = this;
9688
- var _args = arguments;
9689
-
9690
- // Perform validation within a Promise.
9691
- return new Promise(function( resolve, reject ) {
9692
-
9693
- // Bail early if is autosave or preview.
9694
- if( options.isAutosave || options.isPreview ) {
9695
- return resolve( 'Validation ignored (autosave).' );
9696
- }
9697
-
9698
- // Bail early if validation is not needed.
9699
- if( !useValidation ) {
9700
- return resolve( 'Validation ignored (draft).' );
9701
- }
9702
-
9703
- // Validate the editor form.
9704
- var valid = acf.validateForm({
9705
- form: $('#editor'),
9706
- reset: true,
9707
- complete: function( $form, validator ){
9708
-
9709
- // Always unlock the form after AJAX.
9710
- editor.unlockPostSaving( 'acf' );
9711
- },
9712
- failure: function( $form, validator ){
9713
-
9714
- // Get validation error and append to Gutenberg notices.
9715
- var notice = validator.get('notice');
9716
- notices.createErrorNotice( notice.get('text'), {
9717
- id: 'acf-validation',
9718
- isDismissible: true
9719
- });
9720
- notice.remove();
9721
-
9722
- // Restore last non "publish" status.
9723
- if( lastPostStatus ) {
9724
- editor.editPost({
9725
- status: lastPostStatus
9726
- });
9727
- }
9728
-
9729
- // Rejext promise and prevent savePost().
9730
- reject( 'Validation failed.' );
9731
- },
9732
- success: function(){
9733
- notices.removeNotice( 'acf-validation' );
9734
-
9735
- // Resolve promise and allow savePost().
9736
- resolve( 'Validation success.' );
9737
- }
9738
- });
9739
-
9740
- // Resolve promise and allow savePost() if no validation is needed.
9741
- if( valid ) {
9742
- resolve( 'Validation bypassed.' );
9743
-
9744
- // Otherwise, lock the form and wait for AJAX response.
9745
- } else {
9746
- editor.lockPostSaving( 'acf' );
9747
- }
9748
- }).then(function(){
9749
- return savePost.apply(_this, _args);
9750
- }).catch(function(err){
9751
- // Nothing to do here, user is alerted of validation issues.
9752
- });
9753
- };
9754
- }
9755
- });
9756
-
9757
  })(jQuery);
9758
- (function($, undefined){
9759
-
9760
- /**
9761
- * refreshHelper
9762
- *
9763
- * description
9764
- *
9765
- * @date 1/7/18
9766
- * @since 5.6.9
9767
- *
9768
- * @param type $var Description. Default.
9769
- * @return type Description.
9770
- */
9771
-
9772
- var refreshHelper = new acf.Model({
9773
- priority: 90,
9774
- actions: {
9775
- 'new_field': 'refresh',
9776
- 'show_field': 'refresh',
9777
- 'hide_field': 'refresh',
9778
- 'remove_field': 'refresh',
9779
- 'unmount_field': 'refresh',
9780
- 'remount_field': 'refresh',
9781
- },
9782
- refresh: function(){
9783
- acf.refresh();
9784
- }
9785
- });
9786
-
9787
- /**
9788
- * mountHelper
9789
- *
9790
- * Adds compatiblity for the 'unmount' and 'remount' actions added in 5.8.0
9791
- *
9792
- * @date 7/3/19
9793
- * @since 5.7.14
9794
- *
9795
- * @param void
9796
- * @return void
9797
- */
9798
- var mountHelper = new acf.Model({
9799
- priority: 1,
9800
- actions: {
9801
- 'sortstart': 'onSortstart',
9802
- 'sortstop': 'onSortstop'
9803
- },
9804
- onSortstart: function( $item ){
9805
- acf.doAction('unmount', $item);
9806
- },
9807
- onSortstop: function( $item ){
9808
- acf.doAction('remount', $item);
9809
- }
9810
- });
9811
-
9812
- /**
9813
- * sortableHelper
9814
- *
9815
- * Adds compatibility for sorting a <tr> element
9816
- *
9817
- * @date 6/3/18
9818
- * @since 5.6.9
9819
- *
9820
- * @param void
9821
- * @return void
9822
- */
9823
-
9824
- var sortableHelper = new acf.Model({
9825
- actions: {
9826
- 'sortstart': 'onSortstart'
9827
- },
9828
- onSortstart: function( $item, $placeholder ){
9829
-
9830
- // if $item is a tr, apply some css to the elements
9831
- if( $item.is('tr') ) {
9832
-
9833
- // replace $placeholder children with a single td
9834
- // fixes "width calculation issues" due to conditional logic hiding some children
9835
- $placeholder.html('<td style="padding:0;" colspan="' + $placeholder.children().length + '"></td>');
9836
-
9837
- // add helper class to remove absolute positioning
9838
- $item.addClass('acf-sortable-tr-helper');
9839
-
9840
- // set fixed widths for children
9841
- $item.children().each(function(){
9842
- $(this).width( $(this).width() );
9843
- });
9844
-
9845
- // mimic height
9846
- $placeholder.height( $item.height() + 'px' );
9847
-
9848
- // remove class
9849
- $item.removeClass('acf-sortable-tr-helper');
9850
- }
9851
- }
9852
- });
9853
-
9854
- /**
9855
- * duplicateHelper
9856
- *
9857
- * Fixes browser bugs when duplicating an element
9858
- *
9859
- * @date 6/3/18
9860
- * @since 5.6.9
9861
- *
9862
- * @param void
9863
- * @return void
9864
- */
9865
-
9866
- var duplicateHelper = new acf.Model({
9867
- actions: {
9868
- 'after_duplicate': 'onAfterDuplicate'
9869
- },
9870
- onAfterDuplicate: function( $el, $el2 ){
9871
-
9872
- // get original values
9873
- var vals = [];
9874
- $el.find('select').each(function(i){
9875
- vals.push( $(this).val() );
9876
- });
9877
-
9878
- // set duplicate values
9879
- $el2.find('select').each(function(i){
9880
- $(this).val( vals[i] );
9881
- });
9882
- }
9883
- });
9884
-
9885
- /**
9886
- * tableHelper
9887
- *
9888
- * description
9889
- *
9890
- * @date 6/3/18
9891
- * @since 5.6.9
9892
- *
9893
- * @param type $var Description. Default.
9894
- * @return type Description.
9895
- */
9896
-
9897
- var tableHelper = new acf.Model({
9898
-
9899
- id: 'tableHelper',
9900
-
9901
- priority: 20,
9902
-
9903
- actions: {
9904
- 'refresh': 'renderTables'
9905
- },
9906
-
9907
- renderTables: function( $el ){
9908
-
9909
- // loop
9910
- var self = this;
9911
- $('.acf-table:visible').each(function(){
9912
- self.renderTable( $(this) );
9913
- });
9914
- },
9915
-
9916
- renderTable: function( $table ){
9917
-
9918
- // vars
9919
- var $ths = $table.find('> thead > tr:visible > th[data-key]');
9920
- var $tds = $table.find('> tbody > tr:visible > td[data-key]');
9921
-
9922
- // bail early if no thead
9923
- if( !$ths.length || !$tds.length ) {
9924
- return false;
9925
- }
9926
-
9927
-
9928
- // visiblity
9929
- $ths.each(function( i ){
9930
-
9931
- // vars
9932
- var $th = $(this);
9933
- var key = $th.data('key');
9934
- var $cells = $tds.filter('[data-key="' + key + '"]');
9935
- var $hidden = $cells.filter('.acf-hidden');
9936
-
9937
- // always remove empty and allow cells to be hidden
9938
- $cells.removeClass('acf-empty');
9939
-
9940
- // hide $th if all cells are hidden
9941
- if( $cells.length === $hidden.length ) {
9942
- acf.hide( $th );
9943
-
9944
- // force all hidden cells to appear empty
9945
- } else {
9946
- acf.show( $th );
9947
- $hidden.addClass('acf-empty');
9948
- }
9949
- });
9950
-
9951
-
9952
- // clear width
9953
- $ths.css('width', 'auto');
9954
-
9955
- // get visible
9956
- $ths = $ths.not('.acf-hidden');
9957
-
9958
- // vars
9959
- var availableWidth = 100;
9960
- var colspan = $ths.length;
9961
-
9962
- // set custom widths first
9963
- var $fixedWidths = $ths.filter('[data-width]');
9964
- $fixedWidths.each(function(){
9965
- var width = $(this).data('width');
9966
- $(this).css('width', width + '%');
9967
- availableWidth -= width;
9968
- });
9969
-
9970
- // set auto widths
9971
- var $auoWidths = $ths.not('[data-width]');
9972
- if( $auoWidths.length ) {
9973
- var width = availableWidth / $auoWidths.length;
9974
- $auoWidths.css('width', width + '%');
9975
- availableWidth = 0;
9976
- }
9977
-
9978
- // avoid stretching issue
9979
- if( availableWidth > 0 ) {
9980
- $ths.last().css('width', 'auto');
9981
- }
9982
-
9983
-
9984
- // update colspan on collapsed
9985
- $tds.filter('.-collapsed-target').each(function(){
9986
-
9987
- // vars
9988
- var $td = $(this);
9989
-
9990
- // check if collapsed
9991
- if( $td.parent().hasClass('-collapsed') ) {
9992
- $td.attr('colspan', $ths.length);
9993
- } else {
9994
- $td.removeAttr('colspan');
9995
- }
9996
- });
9997
- }
9998
- });
9999
-
10000
-
10001
- /**
10002
- * fieldsHelper
10003
- *
10004
- * description
10005
- *
10006
- * @date 6/3/18
10007
- * @since 5.6.9
10008
- *
10009
- * @param type $var Description. Default.
10010
- * @return type Description.
10011
- */
10012
-
10013
- var fieldsHelper = new acf.Model({
10014
-
10015
- id: 'fieldsHelper',
10016
-
10017
- priority: 30,
10018
-
10019
- actions: {
10020
- 'refresh': 'renderGroups'
10021
- },
10022
-
10023
- renderGroups: function(){
10024
-
10025
- // loop
10026
- var self = this;
10027
- $('.acf-fields:visible').each(function(){
10028
- self.renderGroup( $(this) );
10029
- });
10030
- },
10031
-
10032
- renderGroup: function( $el ){
10033
-
10034
- // vars
10035
- var top = 0;
10036
- var height = 0;
10037
- var $row = $();
10038
-
10039
- // get fields
10040
- var $fields = $el.children('.acf-field[data-width]:visible');
10041
-
10042
- // bail early if no fields
10043
- if( !$fields.length ) {
10044
- return false;
10045
- }
10046
-
10047
- // bail ealry if is .-left
10048
- if( $el.hasClass('-left') ) {
10049
- $fields.removeAttr('data-width');
10050
- $fields.css('width', 'auto');
10051
- return false;
10052
- }
10053
-
10054
- // reset fields
10055
- $fields.removeClass('-r0 -c0').css({'min-height': 0});
10056
-
10057
- // loop
10058
- $fields.each(function( i ){
10059
-
10060
- // vars
10061
- var $field = $(this);
10062
- var position = $field.position();
10063
- var thisTop = Math.ceil( position.top );
10064
- var thisLeft = Math.ceil( position.left );
10065
-
10066
- // detect change in row
10067
- if( $row.length && thisTop > top ) {
10068
-
10069
- // set previous heights
10070
- $row.css({'min-height': height+'px'});
10071
-
10072
- // update position due to change in row above
10073
- position = $field.position();
10074
- thisTop = Math.ceil( position.top );
10075
- thisLeft = Math.ceil( position.left );
10076
-
10077
- // reset vars
10078
- top = 0;
10079
- height = 0;
10080
- $row = $();
10081
- }
10082
-
10083
- // rtl
10084
- if( acf.get('rtl') ) {
10085
- thisLeft = Math.ceil( $field.parent().width() - (position.left + $field.outerWidth()) );
10086
- }
10087
-
10088
- // add classes
10089
- if( thisTop == 0 ) {
10090
- $field.addClass('-r0');
10091
- } else if( thisLeft == 0 ) {
10092
- $field.addClass('-c0');
10093
- }
10094
-
10095
- // get height after class change
10096
- // - add 1 for subpixel rendering
10097
- var thisHeight = Math.ceil( $field.outerHeight() ) + 1;
10098
-
10099
- // set height
10100
- height = Math.max( height, thisHeight );
10101
-
10102
- // set y
10103
- top = Math.max( top, thisTop );
10104
-
10105
- // append
10106
- $row = $row.add( $field );
10107
- });
10108
-
10109
- // clean up
10110
- if( $row.length ) {
10111
- $row.css({'min-height': height+'px'});
10112
- }
10113
- }
10114
- });
10115
-
10116
- /**
10117
- * Adds a body class when holding down the "shift" key.
10118
- *
10119
- * @date 06/05/2020
10120
- * @since 5.9.0
10121
- */
10122
- var bodyClassShiftHelper = new acf.Model({
10123
- id: 'bodyClassShiftHelper',
10124
- events: {
10125
- 'keydown': 'onKeyDown',
10126
- 'keyup': 'onKeyUp'
10127
- },
10128
- isShiftKey: function( e ){
10129
- return ( e.keyCode === 16 );
10130
- },
10131
- onKeyDown: function( e ){
10132
- if( this.isShiftKey(e) ) {
10133
- $('body').addClass('acf-keydown-shift');
10134
- }
10135
- },
10136
- onKeyUp: function( e ){
10137
- if( this.isShiftKey(e) ) {
10138
- $('body').removeClass('acf-keydown-shift');
10139
- }
10140
- },
10141
- });
10142
-
10143
  })(jQuery);
10144
- (function($, undefined){
10145
-
10146
- /**
10147
- * acf.newCompatibility
10148
- *
10149
- * Inserts a new __proto__ object compatibility layer
10150
- *
10151
- * @date 15/2/18
10152
- * @since 5.6.9
10153
- *
10154
- * @param object instance The object to modify.
10155
- * @param object compatibilty Optional. The compatibilty layer.
10156
- * @return object compatibilty
10157
- */
10158
-
10159
- acf.newCompatibility = function( instance, compatibilty ){
10160
-
10161
- // defaults
10162
- compatibilty = compatibilty || {};
10163
-
10164
- // inherit __proto_-
10165
- compatibilty.__proto__ = instance.__proto__;
10166
-
10167
- // inject
10168
- instance.__proto__ = compatibilty;
10169
-
10170
- // reference
10171
- instance.compatibility = compatibilty;
10172
-
10173
- // return
10174
- return compatibilty;
10175
- };
10176
-
10177
- /**
10178
- * acf.getCompatibility
10179
- *
10180
- * Returns the compatibility layer for a given instance
10181
- *
10182
- * @date 13/3/18
10183
- * @since 5.6.9
10184
- *
10185
- * @param object instance The object to look in.
10186
- * @return object|null compatibility The compatibility object or null on failure.
10187
- */
10188
-
10189
- acf.getCompatibility = function( instance ) {
10190
- return instance.compatibility || null;
10191
- };
10192
-
10193
- /**
10194
- * acf (compatibility)
10195
- *
10196
- * Compatibility layer for the acf object
10197
- *
10198
- * @date 15/2/18
10199
- * @since 5.6.9
10200
- *
10201
- * @param void
10202
- * @return void
10203
- */
10204
-
10205
- var _acf = acf.newCompatibility(acf, {
10206
-
10207
- // storage
10208
- l10n: {},
10209
- o: {},
10210
- fields: {},
10211
-
10212
- // changed function names
10213
- update: acf.set,
10214
- add_action: acf.addAction,
10215
- remove_action: acf.removeAction,
10216
- do_action: acf.doAction,
10217
- add_filter: acf.addFilter,
10218
- remove_filter: acf.removeFilter,
10219
- apply_filters: acf.applyFilters,
10220
- parse_args: acf.parseArgs,
10221
- disable_el: acf.disable,
10222
- disable_form: acf.disable,
10223
- enable_el: acf.enable,
10224
- enable_form: acf.enable,
10225
- update_user_setting: acf.updateUserSetting,
10226
- prepare_for_ajax: acf.prepareForAjax,
10227
- is_ajax_success: acf.isAjaxSuccess,
10228
- remove_el: acf.remove,
10229
- remove_tr: acf.remove,
10230
- str_replace: acf.strReplace,
10231
- render_select: acf.renderSelect,
10232
- get_uniqid: acf.uniqid,
10233
- serialize_form: acf.serialize,
10234
- esc_html: acf.strEscape,
10235
- str_sanitize: acf.strSanitize,
10236
-
10237
- });
10238
-
10239
- _acf._e = function( k1, k2 ){
10240
-
10241
- // defaults
10242
- k1 = k1 || '';
10243
- k2 = k2 || '';
10244
-
10245
- // compability
10246
- var compatKey = k2 ? k1 + '.' + k2 : k1;
10247
- var compats = {
10248
- 'image.select': 'Select Image',
10249
- 'image.edit': 'Edit Image',
10250
- 'image.update': 'Update Image'
10251
- };
10252
- if( compats[compatKey] ) {
10253
- return acf.__(compats[compatKey]);
10254
- }
10255
-
10256
- // try k1
10257
- var string = this.l10n[ k1 ] || '';
10258
-
10259
- // try k2
10260
- if( k2 ) {
10261
- string = string[ k2 ] || '';
10262
- }
10263
-
10264
- // return
10265
- return string;
10266
- };
10267
-
10268
- _acf.get_selector = function( s ) {
10269
-
10270
- // vars
10271
- var selector = '.acf-field';
10272
-
10273
- // bail early if no search
10274
- if( !s ) {
10275
- return selector;
10276
- }
10277
-
10278
- // compatibility with object
10279
- if( $.isPlainObject(s) ) {
10280
- if( $.isEmptyObject(s) ) {
10281
- return selector;
10282
- } else {
10283
- for( var k in s ) { s = s[k]; break; }
10284
- }
10285
- }
10286
-
10287
- // append
10288
- selector += '-' + s;
10289
-
10290
- // replace underscores (split/join replaces all and is faster than regex!)
10291
- selector = acf.strReplace('_', '-', selector);
10292
-
10293
- // remove potential double up
10294
- selector = acf.strReplace('field-field-', 'field-', selector);
10295
-
10296
- // return
10297
- return selector;
10298
- };
10299
-
10300
- _acf.get_fields = function( s, $el, all ){
10301
-
10302
- // args
10303
- var args = {
10304
- is: s || '',
10305
- parent: $el || false,
10306
- suppressFilters: all || false,
10307
- };
10308
-
10309
- // change 'field_123' to '.acf-field-123'
10310
- if( args.is ) {
10311
- args.is = this.get_selector( args.is );
10312
- }
10313
-
10314
- // return
10315
- return acf.findFields(args);
10316
- };
10317
-
10318
- _acf.get_field = function( s, $el ){
10319
-
10320
- // get fields
10321
- var $fields = this.get_fields.apply(this, arguments);
10322
-
10323
- // return
10324
- if( $fields.length ) {
10325
- return $fields.first();
10326
- } else {
10327
- return false;
10328
- }
10329
- };
10330
-
10331
- _acf.get_closest_field = function( $el, s ){
10332
- return $el.closest( this.get_selector(s) );
10333
- };
10334
-
10335
- _acf.get_field_wrap = function( $el ){
10336
- return $el.closest( this.get_selector() );
10337
- };
10338
-
10339
- _acf.get_field_key = function( $field ){
10340
- return $field.data('key');
10341
- };
10342
-
10343
- _acf.get_field_type = function( $field ){
10344
- return $field.data('type');
10345
- };
10346
-
10347
- _acf.get_data = function( $el, defaults ){
10348
- return acf.parseArgs( $el.data(), defaults );
10349
- };
10350
-
10351
- _acf.maybe_get = function( obj, key, value ){
10352
-
10353
- // default
10354
- if( value === undefined ) {
10355
- value = null;
10356
- }
10357
-
10358
- // get keys
10359
- keys = String(key).split('.');
10360
-
10361
- // acf.isget
10362
- for( var i = 0; i < keys.length; i++ ) {
10363
- if( !obj.hasOwnProperty(keys[i]) ) {
10364
- return value;
10365
- }
10366
- obj = obj[ keys[i] ];
10367
- }
10368
- return obj;
10369
- };
10370
-
10371
-
10372
- /**
10373
- * hooks
10374
- *
10375
- * Modify add_action and add_filter functions to add compatibility with changed $field parameter
10376
- * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field
10377
- *
10378
- * @date 12/5/18
10379
- * @since 5.6.9
10380
- *
10381
- * @param void
10382
- * @return void
10383
- */
10384
-
10385
- var compatibleArgument = function( arg ){
10386
- return ( arg instanceof acf.Field ) ? arg.$el : arg;
10387
- };
10388
-
10389
- var compatibleArguments = function( args ){
10390
- return acf.arrayArgs( args ).map( compatibleArgument );
10391
- }
10392
-
10393
- var compatibleCallback = function( origCallback ){
10394
- return function(){
10395
-
10396
- // convert to compatible arguments
10397
- if( arguments.length ) {
10398
- var args = compatibleArguments(arguments);
10399
-
10400
- // add default argument for 'ready', 'append' and 'load' events
10401
- } else {
10402
- var args = [ $(document) ];
10403
- }
10404
-
10405
- // return
10406
- return origCallback.apply(this, args);
10407
- }
10408
- }
10409
-
10410
- _acf.add_action = function( action, callback, priority, context ){
10411
-
10412
- // handle multiple actions
10413
- var actions = action.split(' ');
10414
- var length = actions.length;
10415
- if( length > 1 ) {
10416
- for( var i = 0; i < length; i++) {
10417
- action = actions[i];
10418
- _acf.add_action.apply(this, arguments);
10419
- }
10420
- return this;
10421
- }
10422
-
10423
- // single
10424
- var callback = compatibleCallback(callback);
10425
- return acf.addAction.apply(this, arguments);
10426
- };
10427
-
10428
- _acf.add_filter = function( action, callback, priority, context ){
10429
- var callback = compatibleCallback(callback);
10430
- return acf.addFilter.apply(this, arguments);
10431
- };
10432
-
10433
- /*
10434
- * acf.model
10435
- *
10436
- * This model acts as a scafold for action.event driven modules
10437
- *
10438
- * @type object
10439
- * @date 8/09/2014
10440
- * @since 5.0.0
10441
- *
10442
- * @param (object)
10443
- * @return (object)
10444
- */
10445
-
10446
- _acf.model = {
10447
- actions: {},
10448
- filters: {},
10449
- events: {},
10450
- extend: function( args ){
10451
-
10452
- // extend
10453
- var model = $.extend( {}, this, args );
10454
-
10455
- // setup actions
10456
- $.each(model.actions, function( name, callback ){
10457
- model._add_action( name, callback );
10458
- });
10459
-
10460
- // setup filters
10461
- $.each(model.filters, function( name, callback ){
10462
- model._add_filter( name, callback );
10463
- });
10464
-
10465
- // setup events
10466
- $.each(model.events, function( name, callback ){
10467
- model._add_event( name, callback );
10468
- });
10469
-
10470
- // return
10471
- return model;
10472
- },
10473
-
10474
- _add_action: function( name, callback ) {
10475
-
10476
- // split
10477
- var model = this,
10478
- data = name.split(' ');
10479
-
10480
- // add missing priority
10481
- var name = data[0] || '',
10482
- priority = data[1] || 10;
10483
-
10484
- // add action
10485
- acf.add_action(name, model[ callback ], priority, model);
10486
-
10487
- },
10488
-
10489
- _add_filter: function( name, callback ) {
10490
-
10491
- // split
10492
- var model = this,
10493
- data = name.split(' ');
10494
-
10495
- // add missing priority
10496
- var name = data[0] || '',
10497
- priority = data[1] || 10;
10498
-
10499
- // add action
10500
- acf.add_filter(name, model[ callback ], priority, model);
10501
- },
10502
-
10503
- _add_event: function( name, callback ) {
10504
-
10505
- // vars
10506
- var model = this,
10507
- i = name.indexOf(' '),
10508
- event = (i > 0) ? name.substr(0,i) : name,
10509
- selector = (i > 0) ? name.substr(i+1) : '';
10510
-
10511
- // event
10512
- var fn = function( e ){
10513
-
10514
- // append $el to event object
10515
- e.$el = $(this);
10516
-
10517
- // append $field to event object (used in field group)
10518
- if( acf.field_group ) {
10519
- e.$field = e.$el.closest('.acf-field-object');
10520
- }
10521
-
10522
- // event
10523
- if( typeof model.event === 'function' ) {
10524
- e = model.event( e );
10525
- }
10526
-
10527
- // callback
10528
- model[ callback ].apply(model, arguments);
10529
-
10530
- };
10531
-
10532
- // add event
10533
- if( selector ) {
10534
- $(document).on(event, selector, fn);
10535
- } else {
10536
- $(document).on(event, fn);
10537
- }
10538
- },
10539
-
10540
- get: function( name, value ){
10541
-
10542
- // defaults
10543
- value = value || null;
10544
-
10545
- // get
10546
- if( typeof this[ name ] !== 'undefined' ) {
10547
- value = this[ name ];
10548
- }
10549
-
10550
- // return
10551
- return value;
10552
- },
10553
-
10554
- set: function( name, value ){
10555
-
10556
- // set
10557
- this[ name ] = value;
10558
-
10559
- // function for 3rd party
10560
- if( typeof this[ '_set_' + name ] === 'function' ) {
10561
- this[ '_set_' + name ].apply(this);
10562
- }
10563
-
10564
- // return for chaining
10565
- return this;
10566
- }
10567
- };
10568
-
10569
- /*
10570
- * field
10571
- *
10572
- * This model sets up many of the field's interactions
10573
- *
10574
- * @type function
10575
- * @date 21/02/2014
10576
- * @since 3.5.1
10577
- *
10578
- * @param n/a
10579
- * @return n/a
10580
- */
10581
-
10582
- _acf.field = acf.model.extend({
10583
- type: '',
10584
- o: {},
10585
- $field: null,
10586
- _add_action: function( name, callback ) {
10587
-
10588
- // vars
10589
- var model = this;
10590
-
10591
- // update name
10592
- name = name + '_field/type=' + model.type;
10593
-
10594
- // add action
10595
- acf.add_action(name, function( $field ){
10596
-
10597
- // focus
10598
- model.set('$field', $field);
10599
-
10600
- // callback
10601
- model[ callback ].apply(model, arguments);
10602
- });
10603
- },
10604
-
10605
- _add_filter: function( name, callback ) {
10606
-
10607
- // vars
10608
- var model = this;
10609
-
10610
- // update name
10611
- name = name + '_field/type=' + model.type;
10612
-
10613
- // add action
10614
- acf.add_filter(name, function( $field ){
10615
-
10616
- // focus
10617
- model.set('$field', $field);
10618
-
10619
- // callback
10620
- model[ callback ].apply(model, arguments);
10621
- });
10622
- },
10623
-
10624
- _add_event: function( name, callback ) {
10625
-
10626
- // vars
10627
- var model = this,
10628
- event = name.substr(0,name.indexOf(' ')),
10629
- selector = name.substr(name.indexOf(' ')+1),
10630
- context = acf.get_selector(model.type);
10631
-
10632
- // add event
10633
- $(document).on(event, context + ' ' + selector, function( e ){
10634
-
10635
- // vars
10636
- var $el = $(this);
10637
- var $field = acf.get_closest_field( $el, model.type );
10638
-
10639
- // bail early if no field
10640
- if( !$field.length ) return;
10641
-
10642
- // focus
10643
- if( !$field.is(model.$field) ) {
10644
- model.set('$field', $field);
10645
- }
10646
-
10647
- // append to event
10648
- e.$el = $el;
10649
- e.$field = $field;
10650
-
10651
- // callback
10652
- model[ callback ].apply(model, [e]);
10653
- });
10654
- },
10655
-
10656
- _set_$field: function(){
10657
-
10658
- // callback
10659
- if( typeof this.focus === 'function' ) {
10660
- this.focus();
10661
- }
10662
- },
10663
-
10664
- // depreciated
10665
- doFocus: function( $field ){
10666
- return this.set('$field', $field);
10667
- }
10668
- });
10669
-
10670
-
10671
- /**
10672
- * validation
10673
- *
10674
- * description
10675
- *
10676
- * @date 15/2/18
10677
- * @since 5.6.9
10678
- *
10679
- * @param type $var Description. Default.
10680
- * @return type Description.
10681
- */
10682
-
10683
- var _validation = acf.newCompatibility(acf.validation, {
10684
- remove_error: function( $field ){
10685
- acf.getField( $field ).removeError();
10686
- },
10687
- add_warning: function( $field, message ){
10688
- acf.getField( $field ).showNotice({
10689
- text: message,
10690
- type: 'warning',
10691
- timeout: 1000
10692
- });
10693
- },
10694
- fetch: acf.validateForm,
10695
- enableSubmit: acf.enableSubmit,
10696
- disableSubmit: acf.disableSubmit,
10697
- showSpinner: acf.showSpinner,
10698
- hideSpinner: acf.hideSpinner,
10699
- unlockForm: acf.unlockForm,
10700
- lockForm: acf.lockForm
10701
- });
10702
-
10703
-
10704
- /**
10705
- * tooltip
10706
- *
10707
- * description
10708
- *
10709
- * @date 15/2/18
10710
- * @since 5.6.9
10711
- *
10712
- * @param type $var Description. Default.
10713
- * @return type Description.
10714
- */
10715
-
10716
- _acf.tooltip = {
10717
-
10718
- tooltip: function( text, $el ){
10719
-
10720
- var tooltip = acf.newTooltip({
10721
- text: text,
10722
- target: $el
10723
- });
10724
-
10725
- // return
10726
- return tooltip.$el;
10727
- },
10728
-
10729
- temp: function( text, $el ){
10730
-
10731
- var tooltip = acf.newTooltip({
10732
- text: text,
10733
- target: $el,
10734
- timeout: 250
10735
- });
10736
- },
10737
-
10738
- confirm: function( $el, callback, text, button_y, button_n ){
10739
-
10740
- var tooltip = acf.newTooltip({
10741
- confirm: true,
10742
- text: text,
10743
- target: $el,
10744
- confirm: function(){
10745
- callback(true);
10746
- },
10747
- cancel: function(){
10748
- callback(false);
10749
- }
10750
- });
10751
- },
10752
-
10753
- confirm_remove: function( $el, callback ){
10754
-
10755
- var tooltip = acf.newTooltip({
10756
- confirmRemove: true,
10757
- target: $el,
10758
- confirm: function(){
10759
- callback(true);
10760
- },
10761
- cancel: function(){
10762
- callback(false);
10763
- }
10764
- });
10765
- },
10766
- };
10767
-
10768
- /**
10769
- * tooltip
10770
- *
10771
- * description
10772
- *
10773
- * @date 15/2/18
10774
- * @since 5.6.9
10775
- *
10776
- * @param type $var Description. Default.
10777
- * @return type Description.
10778
- */
10779
-
10780
- _acf.media = new acf.Model({
10781
- activeFrame: false,
10782
- actions: {
10783
- 'new_media_popup': 'onNewMediaPopup'
10784
- },
10785
-
10786
- frame: function(){
10787
- return this.activeFrame;
10788
- },
10789
-
10790
- onNewMediaPopup: function( popup ){
10791
- this.activeFrame = popup.frame;
10792
- },
10793
-
10794
- popup: function( props ){
10795
-
10796
- // update props
10797
- if( props.mime_types ) {
10798
- props.allowedTypes = props.mime_types;
10799
- }
10800
- if( props.id ) {
10801
- props.attachment = props.id;
10802
- }
10803
-
10804
- // new
10805
- var popup = acf.newMediaPopup( props );
10806
-
10807
- // append
10808
- /*
10809
- if( props.selected ) {
10810
- popup.selected = props.selected;
10811
- }
10812
- */
10813
-
10814
- // return
10815
- return popup.frame;
10816
- }
10817
- });
10818
-
10819
-
10820
- /**
10821
- * Select2
10822
- *
10823
- * description
10824
- *
10825
- * @date 11/6/18
10826
- * @since 5.6.9
10827
- *
10828
- * @param type $var Description. Default.
10829
- * @return type Description.
10830
- */
10831
-
10832
- _acf.select2 = {
10833
- init: function( $select, args, $field ){
10834
-
10835
- // compatible args
10836
- if( args.allow_null ) {
10837
- args.allowNull = args.allow_null;
10838
- }
10839
- if( args.ajax_action ) {
10840
- args.ajaxAction = args.ajax_action;
10841
- }
10842
- if( $field ) {
10843
- args.field = acf.getField($field);
10844
- }
10845
-
10846
- // return
10847
- return acf.newSelect2( $select, args );
10848
- },
10849
-
10850
- destroy: function( $select ){
10851
- return acf.getInstance( $select ).destroy();
10852
-
10853
- },
10854
- };
10855
-
10856
- /**
10857
- * postbox
10858
- *
10859
- * description
10860
- *
10861
- * @date 11/6/18
10862
- * @since 5.6.9
10863
- *
10864
- * @param type $var Description. Default.
10865
- * @return type Description.
10866
- */
10867
-
10868
- _acf.postbox = {
10869
- render: function( args ){
10870
-
10871
- // compatible args
10872
- if( args.edit_url ) {
10873
- args.editLink = args.edit_url;
10874
- }
10875
- if( args.edit_title ) {
10876
- args.editTitle = args.edit_title;
10877
- }
10878
-
10879
- // return
10880
- return acf.newPostbox( args );
10881
- }
10882
- };
10883
-
10884
- /**
10885
- * acf.screen
10886
- *
10887
- * description
10888
- *
10889
- * @date 11/6/18
10890
- * @since 5.6.9
10891
- *
10892
- * @param type $var Description. Default.
10893
- * @return type Description.
10894
- */
10895
-
10896
- acf.newCompatibility(acf.screen, {
10897
- update: function(){
10898
- return this.set.apply(this, arguments);
10899
- },
10900
- fetch: acf.screen.check
10901
- });
10902
- _acf.ajax = acf.screen;
10903
-
10904
- })(jQuery);
1
+ /******/ (function() { // webpackBootstrap
2
+ /******/ var __webpack_modules__ = ({
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js":
5
+ /*!****************************************************************************!*\
6
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-compatibility.js ***!
7
+ \****************************************************************************/
8
+ /***/ (function() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
+ (function ($, undefined) {
11
+ /**
12
+ * acf.newCompatibility
13
+ *
14
+ * Inserts a new __proto__ object compatibility layer
15
+ *
16
+ * @date 15/2/18
17
+ * @since 5.6.9
18
+ *
19
+ * @param object instance The object to modify.
20
+ * @param object compatibilty Optional. The compatibilty layer.
21
+ * @return object compatibilty
22
+ */
23
+ acf.newCompatibility = function (instance, compatibilty) {
24
+ // defaults
25
+ compatibilty = compatibilty || {}; // inherit __proto_-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
+ compatibilty.__proto__ = instance.__proto__; // inject
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
+ instance.__proto__ = compatibilty; // reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
+ instance.compatibility = compatibilty; // return
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
+ return compatibilty;
34
+ };
35
+ /**
36
+ * acf.getCompatibility
37
+ *
38
+ * Returns the compatibility layer for a given instance
39
+ *
40
+ * @date 13/3/18
41
+ * @since 5.6.9
42
+ *
43
+ * @param object instance The object to look in.
44
+ * @return object|null compatibility The compatibility object or null on failure.
45
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
+ acf.getCompatibility = function (instance) {
49
+ return instance.compatibility || null;
50
+ };
51
+ /**
52
+ * acf (compatibility)
53
+ *
54
+ * Compatibility layer for the acf object
55
+ *
56
+ * @date 15/2/18
57
+ * @since 5.6.9
58
+ *
59
+ * @param void
60
+ * @return void
61
+ */
62
+
63
+
64
+ var _acf = acf.newCompatibility(acf, {
65
+ // storage
66
+ l10n: {},
67
+ o: {},
68
+ fields: {},
69
+ // changed function names
70
+ update: acf.set,
71
+ add_action: acf.addAction,
72
+ remove_action: acf.removeAction,
73
+ do_action: acf.doAction,
74
+ add_filter: acf.addFilter,
75
+ remove_filter: acf.removeFilter,
76
+ apply_filters: acf.applyFilters,
77
+ parse_args: acf.parseArgs,
78
+ disable_el: acf.disable,
79
+ disable_form: acf.disable,
80
+ enable_el: acf.enable,
81
+ enable_form: acf.enable,
82
+ update_user_setting: acf.updateUserSetting,
83
+ prepare_for_ajax: acf.prepareForAjax,
84
+ is_ajax_success: acf.isAjaxSuccess,
85
+ remove_el: acf.remove,
86
+ remove_tr: acf.remove,
87
+ str_replace: acf.strReplace,
88
+ render_select: acf.renderSelect,
89
+ get_uniqid: acf.uniqid,
90
+ serialize_form: acf.serialize,
91
+ esc_html: acf.strEscape,
92
+ str_sanitize: acf.strSanitize
93
+ });
94
+
95
+ _acf._e = function (k1, k2) {
96
+ // defaults
97
+ k1 = k1 || '';
98
+ k2 = k2 || ''; // compability
99
+
100
+ var compatKey = k2 ? k1 + '.' + k2 : k1;
101
+ var compats = {
102
+ 'image.select': 'Select Image',
103
+ 'image.edit': 'Edit Image',
104
+ 'image.update': 'Update Image'
105
+ };
106
+
107
+ if (compats[compatKey]) {
108
+ return acf.__(compats[compatKey]);
109
+ } // try k1
110
+
111
+
112
+ var string = this.l10n[k1] || ''; // try k2
113
+
114
+ if (k2) {
115
+ string = string[k2] || '';
116
+ } // return
117
+
118
+
119
+ return string;
120
+ };
121
+
122
+ _acf.get_selector = function (s) {
123
+ // vars
124
+ var selector = '.acf-field'; // bail early if no search
125
+
126
+ if (!s) {
127
+ return selector;
128
+ } // compatibility with object
129
+
130
+
131
+ if ($.isPlainObject(s)) {
132
+ if ($.isEmptyObject(s)) {
133
+ return selector;
134
+ } else {
135
+ for (var k in s) {
136
+ s = s[k];
137
+ break;
138
+ }
139
+ }
140
+ } // append
141
+
142
+
143
+ selector += '-' + s; // replace underscores (split/join replaces all and is faster than regex!)
144
+
145
+ selector = acf.strReplace('_', '-', selector); // remove potential double up
146
+
147
+ selector = acf.strReplace('field-field-', 'field-', selector); // return
148
+
149
+ return selector;
150
+ };
151
+
152
+ _acf.get_fields = function (s, $el, all) {
153
+ // args
154
+ var args = {
155
+ is: s || '',
156
+ parent: $el || false,
157
+ suppressFilters: all || false
158
+ }; // change 'field_123' to '.acf-field-123'
159
+
160
+ if (args.is) {
161
+ args.is = this.get_selector(args.is);
162
+ } // return
163
+
164
+
165
+ return acf.findFields(args);
166
+ };
167
+
168
+ _acf.get_field = function (s, $el) {
169
+ // get fields
170
+ var $fields = this.get_fields.apply(this, arguments); // return
171
+
172
+ if ($fields.length) {
173
+ return $fields.first();
174
+ } else {
175
+ return false;
176
+ }
177
+ };
178
+
179
+ _acf.get_closest_field = function ($el, s) {
180
+ return $el.closest(this.get_selector(s));
181
+ };
182
+
183
+ _acf.get_field_wrap = function ($el) {
184
+ return $el.closest(this.get_selector());
185
+ };
186
+
187
+ _acf.get_field_key = function ($field) {
188
+ return $field.data('key');
189
+ };
190
+
191
+ _acf.get_field_type = function ($field) {
192
+ return $field.data('type');
193
+ };
194
+
195
+ _acf.get_data = function ($el, defaults) {
196
+ return acf.parseArgs($el.data(), defaults);
197
+ };
198
+
199
+ _acf.maybe_get = function (obj, key, value) {
200
+ // default
201
+ if (value === undefined) {
202
+ value = null;
203
+ } // get keys
204
+
205
+
206
+ keys = String(key).split('.'); // acf.isget
207
+
208
+ for (var i = 0; i < keys.length; i++) {
209
+ if (!obj.hasOwnProperty(keys[i])) {
210
+ return value;
211
+ }
212
+
213
+ obj = obj[keys[i]];
214
+ }
215
+
216
+ return obj;
217
+ };
218
+ /**
219
+ * hooks
220
+ *
221
+ * Modify add_action and add_filter functions to add compatibility with changed $field parameter
222
+ * Using the acf.add_action() or acf.add_filter() functions will interpret new field parameters as jQuery $field
223
+ *
224
+ * @date 12/5/18
225
+ * @since 5.6.9
226
+ *
227
+ * @param void
228
+ * @return void
229
+ */
230
+
231
+
232
+ var compatibleArgument = function (arg) {
233
+ return arg instanceof acf.Field ? arg.$el : arg;
234
+ };
235
+
236
+ var compatibleArguments = function (args) {
237
+ return acf.arrayArgs(args).map(compatibleArgument);
238
+ };
239
+
240
+ var compatibleCallback = function (origCallback) {
241
+ return function () {
242
+ // convert to compatible arguments
243
+ if (arguments.length) {
244
+ var args = compatibleArguments(arguments); // add default argument for 'ready', 'append' and 'load' events
245
+ } else {
246
+ var args = [$(document)];
247
+ } // return
248
+
249
+
250
+ return origCallback.apply(this, args);
251
+ };
252
+ };
253
+
254
+ _acf.add_action = function (action, callback, priority, context) {
255
+ // handle multiple actions
256
+ var actions = action.split(' ');
257
+ var length = actions.length;
258
+
259
+ if (length > 1) {
260
+ for (var i = 0; i < length; i++) {
261
+ action = actions[i];
262
+
263
+ _acf.add_action.apply(this, arguments);
264
+ }
265
+
266
+ return this;
267
+ } // single
268
+
269
+
270
+ var callback = compatibleCallback(callback);
271
+ return acf.addAction.apply(this, arguments);
272
+ };
273
+
274
+ _acf.add_filter = function (action, callback, priority, context) {
275
+ var callback = compatibleCallback(callback);
276
+ return acf.addFilter.apply(this, arguments);
277
+ };
278
+ /*
279
+ * acf.model
280
+ *
281
+ * This model acts as a scafold for action.event driven modules
282
+ *
283
+ * @type object
284
+ * @date 8/09/2014
285
+ * @since 5.0.0
286
+ *
287
+ * @param (object)
288
+ * @return (object)
289
+ */
290
+
291
+
292
+ _acf.model = {
293
+ actions: {},
294
+ filters: {},
295
+ events: {},
296
+ extend: function (args) {
297
+ // extend
298
+ var model = $.extend({}, this, args); // setup actions
299
+
300
+ $.each(model.actions, function (name, callback) {
301
+ model._add_action(name, callback);
302
+ }); // setup filters
303
+
304
+ $.each(model.filters, function (name, callback) {
305
+ model._add_filter(name, callback);
306
+ }); // setup events
307
+
308
+ $.each(model.events, function (name, callback) {
309
+ model._add_event(name, callback);
310
+ }); // return
311
+
312
+ return model;
313
+ },
314
+ _add_action: function (name, callback) {
315
+ // split
316
+ var model = this,
317
+ data = name.split(' '); // add missing priority
318
+
319
+ var name = data[0] || '',
320
+ priority = data[1] || 10; // add action
321
+
322
+ acf.add_action(name, model[callback], priority, model);
323
+ },
324
+ _add_filter: function (name, callback) {
325
+ // split
326
+ var model = this,
327
+ data = name.split(' '); // add missing priority
328
+
329
+ var name = data[0] || '',
330
+ priority = data[1] || 10; // add action
331
+
332
+ acf.add_filter(name, model[callback], priority, model);
333
+ },
334
+ _add_event: function (name, callback) {
335
+ // vars
336
+ var model = this,
337
+ i = name.indexOf(' '),
338
+ event = i > 0 ? name.substr(0, i) : name,
339
+ selector = i > 0 ? name.substr(i + 1) : ''; // event
340
+
341
+ var fn = function (e) {
342
+ // append $el to event object
343
+ e.$el = $(this); // append $field to event object (used in field group)
344
+
345
+ if (acf.field_group) {
346
+ e.$field = e.$el.closest('.acf-field-object');
347
+ } // event
348
+
349
+
350
+ if (typeof model.event === 'function') {
351
+ e = model.event(e);
352
+ } // callback
353
+
354
+
355
+ model[callback].apply(model, arguments);
356
+ }; // add event
357
+
358
+
359
+ if (selector) {
360
+ $(document).on(event, selector, fn);
361
+ } else {
362
+ $(document).on(event, fn);
363
+ }
364
+ },
365
+ get: function (name, value) {
366
+ // defaults
367
+ value = value || null; // get
368
+
369
+ if (typeof this[name] !== 'undefined') {
370
+ value = this[name];
371
+ } // return
372
+
373
+
374
+ return value;
375
+ },
376
+ set: function (name, value) {
377
+ // set
378
+ this[name] = value; // function for 3rd party
379
+
380
+ if (typeof this['_set_' + name] === 'function') {
381
+ this['_set_' + name].apply(this);
382
+ } // return for chaining
383
+
384
+
385
+ return this;
386
+ }
387
+ };
388
+ /*
389
+ * field
390
+ *
391
+ * This model sets up many of the field's interactions
392
+ *
393
+ * @type function
394
+ * @date 21/02/2014
395
+ * @since 3.5.1
396
+ *
397
+ * @param n/a
398
+ * @return n/a
399
+ */
400
+
401
+ _acf.field = acf.model.extend({
402
+ type: '',
403
+ o: {},
404
+ $field: null,
405
+ _add_action: function (name, callback) {
406
+ // vars
407
+ var model = this; // update name
408
+
409
+ name = name + '_field/type=' + model.type; // add action
410
+
411
+ acf.add_action(name, function ($field) {
412
+ // focus
413
+ model.set('$field', $field); // callback
414
+
415
+ model[callback].apply(model, arguments);
416
+ });
417
+ },
418
+ _add_filter: function (name, callback) {
419
+ // vars
420
+ var model = this; // update name
421
+
422
+ name = name + '_field/type=' + model.type; // add action
423
+
424
+ acf.add_filter(name, function ($field) {
425
+ // focus
426
+ model.set('$field', $field); // callback
427
+
428
+ model[callback].apply(model, arguments);
429
+ });
430
+ },
431
+ _add_event: function (name, callback) {
432
+ // vars
433
+ var model = this,
434
+ event = name.substr(0, name.indexOf(' ')),
435
+ selector = name.substr(name.indexOf(' ') + 1),
436
+ context = acf.get_selector(model.type); // add event
437
+
438
+ $(document).on(event, context + ' ' + selector, function (e) {
439
+ // vars
440
+ var $el = $(this);
441
+ var $field = acf.get_closest_field($el, model.type); // bail early if no field
442
+
443
+ if (!$field.length) return; // focus
444
+
445
+ if (!$field.is(model.$field)) {
446
+ model.set('$field', $field);
447
+ } // append to event
448
+
449
+
450
+ e.$el = $el;
451
+ e.$field = $field; // callback
452
+
453
+ model[callback].apply(model, [e]);
454
+ });
455
+ },
456
+ _set_$field: function () {
457
+ // callback
458
+ if (typeof this.focus === 'function') {
459
+ this.focus();
460
+ }
461
+ },
462
+ // depreciated
463
+ doFocus: function ($field) {
464
+ return this.set('$field', $field);
465
+ }
466
+ });
467
+ /**
468
+ * validation
469
+ *
470
+ * description
471
+ *
472
+ * @date 15/2/18
473
+ * @since 5.6.9
474
+ *
475
+ * @param type $var Description. Default.
476
+ * @return type Description.
477
+ */
478
+
479
+ var _validation = acf.newCompatibility(acf.validation, {
480
+ remove_error: function ($field) {
481
+ acf.getField($field).removeError();
482
+ },
483
+ add_warning: function ($field, message) {
484
+ acf.getField($field).showNotice({
485
+ text: message,
486
+ type: 'warning',
487
+ timeout: 1000
488
+ });
489
+ },
490
+ fetch: acf.validateForm,
491
+ enableSubmit: acf.enableSubmit,
492
+ disableSubmit: acf.disableSubmit,
493
+ showSpinner: acf.showSpinner,
494
+ hideSpinner: acf.hideSpinner,
495
+ unlockForm: acf.unlockForm,
496
+ lockForm: acf.lockForm
497
+ });
498
+ /**
499
+ * tooltip
500
+ *
501
+ * description
502
+ *
503
+ * @date 15/2/18
504
+ * @since 5.6.9
505
+ *
506
+ * @param type $var Description. Default.
507
+ * @return type Description.
508
+ */
509
+
510
+
511
+ _acf.tooltip = {
512
+ tooltip: function (text, $el) {
513
+ var tooltip = acf.newTooltip({
514
+ text: text,
515
+ target: $el
516
+ }); // return
517
+
518
+ return tooltip.$el;
519
+ },
520
+ temp: function (text, $el) {
521
+ var tooltip = acf.newTooltip({
522
+ text: text,
523
+ target: $el,
524
+ timeout: 250
525
+ });
526
+ },
527
+ confirm: function ($el, callback, text, button_y, button_n) {
528
+ var tooltip = acf.newTooltip({
529
+ confirm: true,
530
+ text: text,
531
+ target: $el,
532
+ confirm: function () {
533
+ callback(true);
534
+ },
535
+ cancel: function () {
536
+ callback(false);
537
+ }
538
+ });
539
+ },
540
+ confirm_remove: function ($el, callback) {
541
+ var tooltip = acf.newTooltip({
542
+ confirmRemove: true,
543
+ target: $el,
544
+ confirm: function () {
545
+ callback(true);
546
+ },
547
+ cancel: function () {
548
+ callback(false);
549
+ }
550
+ });
551
+ }
552
+ };
553
+ /**
554
+ * tooltip
555
+ *
556
+ * description
557
+ *
558
+ * @date 15/2/18
559
+ * @since 5.6.9
560
+ *
561
+ * @param type $var Description. Default.
562
+ * @return type Description.
563
+ */
564
+
565
+ _acf.media = new acf.Model({
566
+ activeFrame: false,
567
+ actions: {
568
+ new_media_popup: 'onNewMediaPopup'
569
+ },
570
+ frame: function () {
571
+ return this.activeFrame;
572
+ },
573
+ onNewMediaPopup: function (popup) {
574
+ this.activeFrame = popup.frame;
575
+ },
576
+ popup: function (props) {
577
+ // update props
578
+ if (props.mime_types) {
579
+ props.allowedTypes = props.mime_types;
580
+ }
581
+
582
+ if (props.id) {
583
+ props.attachment = props.id;
584
+ } // new
585
+
586
+
587
+ var popup = acf.newMediaPopup(props); // append
588
+
589
+ /*
590
+ if( props.selected ) {
591
+ popup.selected = props.selected;
592
+ }
593
+ */
594
+ // return
595
+
596
+ return popup.frame;
597
+ }
598
+ });
599
+ /**
600
+ * Select2
601
+ *
602
+ * description
603
+ *
604
+ * @date 11/6/18
605
+ * @since 5.6.9
606
+ *
607
+ * @param type $var Description. Default.
608
+ * @return type Description.
609
+ */
610
+
611
+ _acf.select2 = {
612
+ init: function ($select, args, $field) {
613
+ // compatible args
614
+ if (args.allow_null) {
615
+ args.allowNull = args.allow_null;
616
+ }
617
+
618
+ if (args.ajax_action) {
619
+ args.ajaxAction = args.ajax_action;
620
+ }
621
+
622
+ if ($field) {
623
+ args.field = acf.getField($field);
624
+ } // return
625
+
626
+
627
+ return acf.newSelect2($select, args);
628
+ },
629
+ destroy: function ($select) {
630
+ return acf.getInstance($select).destroy();
631
+ }
632
+ };
633
+ /**
634
+ * postbox
635
+ *
636
+ * description
637
+ *
638
+ * @date 11/6/18
639
+ * @since 5.6.9
640
+ *
641
+ * @param type $var Description. Default.
642
+ * @return type Description.
643
+ */
644
+
645
+ _acf.postbox = {
646
+ render: function (args) {
647
+ // compatible args
648
+ if (args.edit_url) {
649
+ args.editLink = args.edit_url;
650
+ }
651
+
652
+ if (args.edit_title) {
653
+ args.editTitle = args.edit_title;
654
+ } // return
655
+
656
+
657
+ return acf.newPostbox(args);
658
+ }
659
+ };
660
+ /**
661
+ * acf.screen
662
+ *
663
+ * description
664
+ *
665
+ * @date 11/6/18
666
+ * @since 5.6.9
667
+ *
668
+ * @param type $var Description. Default.
669
+ * @return type Description.
670
+ */
671
+
672
+ acf.newCompatibility(acf.screen, {
673
+ update: function () {
674
+ return this.set.apply(this, arguments);
675
+ },
676
+ fetch: acf.screen.check
677
+ });
678
+ _acf.ajax = acf.screen;
679
  })(jQuery);
680
+
681
+ /***/ }),
682
+
683
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js":
684
+ /*!******************************************************************************!*\
685
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-condition-types.js ***!
686
+ \******************************************************************************/
687
+ /***/ (function() {
688
+
689
+ (function ($, undefined) {
690
+ var __ = acf.__;
691
+
692
+ var parseString = function (val) {
693
+ return val ? '' + val : '';
694
+ };
695
+
696
+ var isEqualTo = function (v1, v2) {
697
+ return parseString(v1).toLowerCase() === parseString(v2).toLowerCase();
698
+ };
699
+
700
+ var isEqualToNumber = function (v1, v2) {
701
+ return parseFloat(v1) === parseFloat(v2);
702
+ };
703
+
704
+ var isGreaterThan = function (v1, v2) {
705
+ return parseFloat(v1) > parseFloat(v2);
706
+ };
707
+
708
+ var isLessThan = function (v1, v2) {
709
+ return parseFloat(v1) < parseFloat(v2);
710
+ };
711
+
712
+ var inArray = function (v1, array) {
713
+ // cast all values as string
714
+ array = array.map(function (v2) {
715
+ return parseString(v2);
716
+ });
717
+ return array.indexOf(v1) > -1;
718
+ };
719
+
720
+ var containsString = function (haystack, needle) {
721
+ return parseString(haystack).indexOf(parseString(needle)) > -1;
722
+ };
723
+
724
+ var matchesPattern = function (v1, pattern) {
725
+ var regexp = new RegExp(parseString(pattern), 'gi');
726
+ return parseString(v1).match(regexp);
727
+ };
728
+ /**
729
+ * hasValue
730
+ *
731
+ * description
732
+ *
733
+ * @date 1/2/18
734
+ * @since 5.6.5
735
+ *
736
+ * @param void
737
+ * @return void
738
+ */
739
+
740
+
741
+ var HasValue = acf.Condition.extend({
742
+ type: 'hasValue',
743
+ operator: '!=empty',
744
+ label: __('Has any value'),
745
+ fieldTypes: ['text', 'textarea', 'number', 'range', 'email', 'url', 'password', 'image', 'file', 'wysiwyg', 'oembed', 'select', 'checkbox', 'radio', 'button_group', 'link', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user', 'google_map', 'date_picker', 'date_time_picker', 'time_picker', 'color_picker'],
746
+ match: function (rule, field) {
747
+ let val = field.val();
748
+
749
+ if (val instanceof Array) {
750
+ val = val.length;
751
+ }
752
+
753
+ return val ? true : false;
754
+ },
755
+ choices: function (fieldObject) {
756
+ return '<input type="text" disabled="" />';
757
+ }
758
+ });
759
+ acf.registerConditionType(HasValue);
760
+ /**
761
+ * hasValue
762
+ *
763
+ * description
764
+ *
765
+ * @date 1/2/18
766
+ * @since 5.6.5
767
+ *
768
+ * @param void
769
+ * @return void
770
+ */
771
+
772
+ var HasNoValue = HasValue.extend({
773
+ type: 'hasNoValue',
774
+ operator: '==empty',
775
+ label: __('Has no value'),
776
+ match: function (rule, field) {
777
+ return !HasValue.prototype.match.apply(this, arguments);
778
+ }
779
+ });
780
+ acf.registerConditionType(HasNoValue);
781
+ /**
782
+ * EqualTo
783
+ *
784
+ * description
785
+ *
786
+ * @date 1/2/18
787
+ * @since 5.6.5
788
+ *
789
+ * @param void
790
+ * @return void
791
+ */
792
+
793
+ var EqualTo = acf.Condition.extend({
794
+ type: 'equalTo',
795
+ operator: '==',
796
+ label: __('Value is equal to'),
797
+ fieldTypes: ['text', 'textarea', 'number', 'range', 'email', 'url', 'password'],
798
+ match: function (rule, field) {
799
+ if (acf.isNumeric(rule.value)) {
800
+ return isEqualToNumber(rule.value, field.val());
801
+ } else {
802
+ return isEqualTo(rule.value, field.val());
803
+ }
804
+ },
805
+ choices: function (fieldObject) {
806
+ return '<input type="text" />';
807
+ }
808
+ });
809
+ acf.registerConditionType(EqualTo);
810
+ /**
811
+ * NotEqualTo
812
+ *
813
+ * description
814
+ *
815
+ * @date 1/2/18
816
+ * @since 5.6.5
817
+ *
818
+ * @param void
819
+ * @return void
820
+ */
821
+
822
+ var NotEqualTo = EqualTo.extend({
823
+ type: 'notEqualTo',
824
+ operator: '!=',
825
+ label: __('Value is not equal to'),
826
+ match: function (rule, field) {
827
+ return !EqualTo.prototype.match.apply(this, arguments);
828
+ }
829
+ });
830
+ acf.registerConditionType(NotEqualTo);
831
+ /**
832
+ * PatternMatch
833
+ *
834
+ * description
835
+ *
836
+ * @date 1/2/18
837
+ * @since 5.6.5
838
+ *
839
+ * @param void
840
+ * @return void
841
+ */
842
+
843
+ var PatternMatch = acf.Condition.extend({
844
+ type: 'patternMatch',
845
+ operator: '==pattern',
846
+ label: __('Value matches pattern'),
847
+ fieldTypes: ['text', 'textarea', 'email', 'url', 'password', 'wysiwyg'],
848
+ match: function (rule, field) {
849
+ return matchesPattern(field.val(), rule.value);
850
+ },
851
+ choices: function (fieldObject) {
852
+ return '<input type="text" placeholder="[a-z0-9]" />';
853
+ }
854
+ });
855
+ acf.registerConditionType(PatternMatch);
856
+ /**
857
+ * Contains
858
+ *
859
+ * description
860
+ *
861
+ * @date 1/2/18
862
+ * @since 5.6.5
863
+ *
864
+ * @param void
865
+ * @return void
866
+ */
867
+
868
+ var Contains = acf.Condition.extend({
869
+ type: 'contains',
870
+ operator: '==contains',
871
+ label: __('Value contains'),
872
+ fieldTypes: ['text', 'textarea', 'number', 'email', 'url', 'password', 'wysiwyg', 'oembed', 'select'],
873
+ match: function (rule, field) {
874
+ return containsString(field.val(), rule.value);
875
+ },
876
+ choices: function (fieldObject) {
877
+ return '<input type="text" />';
878
+ }
879
+ });
880
+ acf.registerConditionType(Contains);
881
+ /**
882
+ * TrueFalseEqualTo
883
+ *
884
+ * description
885
+ *
886
+ * @date 1/2/18
887
+ * @since 5.6.5
888
+ *
889
+ * @param void
890
+ * @return void
891
+ */
892
+
893
+ var TrueFalseEqualTo = EqualTo.extend({
894
+ type: 'trueFalseEqualTo',
895
+ choiceType: 'select',
896
+ fieldTypes: ['true_false'],
897
+ choices: function (field) {
898
+ return [{
899
+ id: 1,
900
+ text: __('Checked')
901
+ }];
902
+ }
903
+ });
904
+ acf.registerConditionType(TrueFalseEqualTo);
905
+ /**
906
+ * TrueFalseNotEqualTo
907
+ *
908
+ * description
909
+ *
910
+ * @date 1/2/18
911
+ * @since 5.6.5
912
+ *
913
+ * @param void
914
+ * @return void
915
+ */
916
+
917
+ var TrueFalseNotEqualTo = NotEqualTo.extend({
918
+ type: 'trueFalseNotEqualTo',
919
+ choiceType: 'select',
920
+ fieldTypes: ['true_false'],
921
+ choices: function (field) {
922
+ return [{
923
+ id: 1,
924
+ text: __('Checked')
925
+ }];
926
+ }
927
+ });
928
+ acf.registerConditionType(TrueFalseNotEqualTo);
929
+ /**
930
+ * SelectEqualTo
931
+ *
932
+ * description
933
+ *
934
+ * @date 1/2/18
935
+ * @since 5.6.5
936
+ *
937
+ * @param void
938
+ * @return void
939
+ */
940
+
941
+ var SelectEqualTo = acf.Condition.extend({
942
+ type: 'selectEqualTo',
943
+ operator: '==',
944
+ label: __('Value is equal to'),
945
+ fieldTypes: ['select', 'checkbox', 'radio', 'button_group'],
946
+ match: function (rule, field) {
947
+ var val = field.val();
948
+
949
+ if (val instanceof Array) {
950
+ return inArray(rule.value, val);
951
+ } else {
952
+ return isEqualTo(rule.value, val);
953
+ }
954
+ },
955
+ choices: function (fieldObject) {
956
+ // vars
957
+ var choices = [];
958
+ var lines = fieldObject.$setting('choices textarea').val().split('\n'); // allow null
959
+
960
+ if (fieldObject.$input('allow_null').prop('checked')) {
961
+ choices.push({
962
+ id: '',
963
+ text: __('Null')
964
+ });
965
+ } // loop
966
+
967
+
968
+ lines.map(function (line) {
969
+ // split
970
+ line = line.split(':'); // default label to value
971
+
972
+ line[1] = line[1] || line[0]; // append
973
+
974
+ choices.push({
975
+ id: line[0].trim(),
976
+ text: line[1].trim()
977
+ });
978
+ }); // return
979
+
980
+ return choices;
981
+ }
982
+ });
983
+ acf.registerConditionType(SelectEqualTo);
984
+ /**
985
+ * SelectNotEqualTo
986
+ *
987
+ * description
988
+ *
989
+ * @date 1/2/18
990
+ * @since 5.6.5
991
+ *
992
+ * @param void
993
+ * @return void
994
+ */
995
+
996
+ var SelectNotEqualTo = SelectEqualTo.extend({
997
+ type: 'selectNotEqualTo',
998
+ operator: '!=',
999
+ label: __('Value is not equal to'),
1000
+ match: function (rule, field) {
1001
+ return !SelectEqualTo.prototype.match.apply(this, arguments);
1002
+ }
1003
+ });
1004
+ acf.registerConditionType(SelectNotEqualTo);
1005
+ /**
1006
+ * GreaterThan
1007
+ *
1008
+ * description
1009
+ *
1010
+ * @date 1/2/18
1011
+ * @since 5.6.5
1012
+ *
1013
+ * @param void
1014
+ * @return void
1015
+ */
1016
+
1017
+ var GreaterThan = acf.Condition.extend({
1018
+ type: 'greaterThan',
1019
+ operator: '>',
1020
+ label: __('Value is greater than'),
1021
+ fieldTypes: ['number', 'range'],
1022
+ match: function (rule, field) {
1023
+ var val = field.val();
1024
+
1025
+ if (val instanceof Array) {
1026
+ val = val.length;
1027
+ }
1028
+
1029
+ return isGreaterThan(val, rule.value);
1030
+ },
1031
+ choices: function (fieldObject) {
1032
+ return '<input type="number" />';
1033
+ }
1034
+ });
1035
+ acf.registerConditionType(GreaterThan);
1036
+ /**
1037
+ * LessThan
1038
+ *
1039
+ * description
1040
+ *
1041
+ * @date 1/2/18
1042
+ * @since 5.6.5
1043
+ *
1044
+ * @param void
1045
+ * @return void
1046
+ */
1047
+
1048
+ var LessThan = GreaterThan.extend({
1049
+ type: 'lessThan',
1050
+ operator: '<',
1051
+ label: __('Value is less than'),
1052
+ match: function (rule, field) {
1053
+ var val = field.val();
1054
+
1055
+ if (val instanceof Array) {
1056
+ val = val.length;
1057
+ }
1058
+
1059
+ if (val === undefined || val === null || val === false) {
1060
+ return true;
1061
+ }
1062
+
1063
+ return isLessThan(val, rule.value);
1064
+ },
1065
+ choices: function (fieldObject) {
1066
+ return '<input type="number" />';
1067
+ }
1068
+ });
1069
+ acf.registerConditionType(LessThan);
1070
+ /**
1071
+ * SelectedGreaterThan
1072
+ *
1073
+ * description
1074
+ *
1075
+ * @date 1/2/18
1076
+ * @since 5.6.5
1077
+ *
1078
+ * @param void
1079
+ * @return void
1080
+ */
1081
+
1082
+ var SelectionGreaterThan = GreaterThan.extend({
1083
+ type: 'selectionGreaterThan',
1084
+ label: __('Selection is greater than'),
1085
+ fieldTypes: ['checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user']
1086
+ });
1087
+ acf.registerConditionType(SelectionGreaterThan);
1088
+ /**
1089
+ * SelectedGreaterThan
1090
+ *
1091
+ * description
1092
+ *
1093
+ * @date 1/2/18
1094
+ * @since 5.6.5
1095
+ *
1096
+ * @param void
1097
+ * @return void
1098
+ */
1099
+
1100
+ var SelectionLessThan = LessThan.extend({
1101
+ type: 'selectionLessThan',
1102
+ label: __('Selection is less than'),
1103
+ fieldTypes: ['checkbox', 'select', 'post_object', 'page_link', 'relationship', 'taxonomy', 'user']
1104
+ });
1105
+ acf.registerConditionType(SelectionLessThan);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1106
  })(jQuery);
1107
+
1108
+ /***/ }),
1109
+
1110
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js":
1111
+ /*!************************************************************************!*\
1112
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-condition.js ***!
1113
+ \************************************************************************/
1114
+ /***/ (function() {
1115
+
1116
+ (function ($, undefined) {
1117
+ // vars
1118
+ var storage = [];
1119
+ /**
1120
+ * acf.Condition
1121
+ *
1122
+ * description
1123
+ *
1124
+ * @date 23/3/18
1125
+ * @since 5.6.9
1126
+ *
1127
+ * @param type $var Description. Default.
1128
+ * @return type Description.
1129
+ */
1130
+
1131
+ acf.Condition = acf.Model.extend({
1132
+ type: '',
1133
+ // used for model name
1134
+ operator: '==',
1135
+ // rule operator
1136
+ label: '',
1137
+ // label shown when editing fields
1138
+ choiceType: 'input',
1139
+ // input, select
1140
+ fieldTypes: [],
1141
+ // auto connect this conditions with these field types
1142
+ data: {
1143
+ conditions: false,
1144
+ // the parent instance
1145
+ field: false,
1146
+ // the field which we query against
1147
+ rule: {} // the rule [field, operator, value]
1148
+
1149
+ },
1150
+ events: {
1151
+ change: 'change',
1152
+ keyup: 'change',
1153
+ enableField: 'change',
1154
+ disableField: 'change'
1155
+ },
1156
+ setup: function (props) {
1157
+ $.extend(this.data, props);
1158
+ },
1159
+ getEventTarget: function ($el, event) {
1160
+ return $el || this.get('field').$el;
1161
+ },
1162
+ change: function (e, $el) {
1163
+ this.get('conditions').change(e);
1164
+ },
1165
+ match: function (rule, field) {
1166
+ return false;
1167
+ },
1168
+ calculate: function () {
1169
+ return this.match(this.get('rule'), this.get('field'));
1170
+ },
1171
+ choices: function (field) {
1172
+ return '<input type="text" />';
1173
+ }
1174
+ });
1175
+ /**
1176
+ * acf.newCondition
1177
+ *
1178
+ * description
1179
+ *
1180
+ * @date 1/2/18
1181
+ * @since 5.6.5
1182
+ *
1183
+ * @param type $var Description. Default.
1184
+ * @return type Description.
1185
+ */
1186
+
1187
+ acf.newCondition = function (rule, conditions) {
1188
+ // currently setting up conditions for fieldX, this field is the 'target'
1189
+ var target = conditions.get('field'); // use the 'target' to find the 'trigger' field.
1190
+ // - this field is used to setup the conditional logic events
1191
+
1192
+ var field = target.getField(rule.field); // bail ealry if no target or no field (possible if field doesn't exist due to HTML error)
1193
+
1194
+ if (!target || !field) {
1195
+ return false;
1196
+ } // vars
1197
+
1198
+
1199
+ var args = {
1200
+ rule: rule,
1201
+ target: target,
1202
+ conditions: conditions,
1203
+ field: field
1204
+ }; // vars
1205
+
1206
+ var fieldType = field.get('type');
1207
+ var operator = rule.operator; // get avaibale conditions
1208
+
1209
+ var conditionTypes = acf.getConditionTypes({
1210
+ fieldType: fieldType,
1211
+ operator: operator
1212
+ }); // instantiate
1213
+
1214
+ var model = conditionTypes[0] || acf.Condition; // instantiate
1215
+
1216
+ var condition = new model(args); // return
1217
+
1218
+ return condition;
1219
+ };
1220
+ /**
1221
+ * mid
1222
+ *
1223
+ * Calculates the model ID for a field type
1224
+ *
1225
+ * @date 15/12/17
1226
+ * @since 5.6.5
1227
+ *
1228
+ * @param string type
1229
+ * @return string
1230
+ */
1231
+
1232
+
1233
+ var modelId = function (type) {
1234
+ return acf.strPascalCase(type || '') + 'Condition';
1235
+ };
1236
+ /**
1237
+ * acf.registerConditionType
1238
+ *
1239
+ * description
1240
+ *
1241
+ * @date 1/2/18
1242
+ * @since 5.6.5
1243
+ *
1244
+ * @param type $var Description. Default.
1245
+ * @return type Description.
1246
+ */
1247
+
1248
+
1249
+ acf.registerConditionType = function (model) {
1250
+ // vars
1251
+ var proto = model.prototype;
1252
+ var type = proto.type;
1253
+ var mid = modelId(type); // store model
1254
+
1255
+ acf.models[mid] = model; // store reference
1256
+
1257
+ storage.push(type);
1258
+ };
1259
+ /**
1260
+ * acf.getConditionType
1261
+ *
1262
+ * description
1263
+ *
1264
+ * @date 1/2/18
1265
+ * @since 5.6.5
1266
+ *
1267
+ * @param type $var Description. Default.
1268
+ * @return type Description.
1269
+ */
1270
+
1271
+
1272
+ acf.getConditionType = function (type) {
1273
+ var mid = modelId(type);
1274
+ return acf.models[mid] || false;
1275
+ };
1276
+ /**
1277
+ * acf.registerConditionForFieldType
1278
+ *
1279
+ * description
1280
+ *
1281
+ * @date 1/2/18
1282
+ * @since 5.6.5
1283
+ *
1284
+ * @param type $var Description. Default.
1285
+ * @return type Description.
1286
+ */
1287
+
1288
+
1289
+ acf.registerConditionForFieldType = function (conditionType, fieldType) {
1290
+ // get model
1291
+ var model = acf.getConditionType(conditionType); // append
1292
+
1293
+ if (model) {
1294
+ model.prototype.fieldTypes.push(fieldType);
1295
+ }
1296
+ };
1297
+ /**
1298
+ * acf.getConditionTypes
1299
+ *
1300
+ * description
1301
+ *
1302
+ * @date 1/2/18
1303
+ * @since 5.6.5
1304
+ *
1305
+ * @param type $var Description. Default.
1306
+ * @return type Description.
1307
+ */
1308
+
1309
+
1310
+ acf.getConditionTypes = function (args) {
1311
+ // defaults
1312
+ args = acf.parseArgs(args, {
1313
+ fieldType: '',
1314
+ operator: ''
1315
+ }); // clonse available types
1316
+
1317
+ var types = []; // loop
1318
+
1319
+ storage.map(function (type) {
1320
+ // vars
1321
+ var model = acf.getConditionType(type);
1322
+ var ProtoFieldTypes = model.prototype.fieldTypes;
1323
+ var ProtoOperator = model.prototype.operator; // check fieldType
1324
+
1325
+ if (args.fieldType && ProtoFieldTypes.indexOf(args.fieldType) === -1) {
1326
+ return;
1327
+ } // check operator
1328
+
1329
+
1330
+ if (args.operator && ProtoOperator !== args.operator) {
1331
+ return;
1332
+ } // append
1333
+
1334
+
1335
+ types.push(model);
1336
+ }); // return
1337
+
1338
+ return types;
1339
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1340
  })(jQuery);
1341
+
1342
+ /***/ }),
1343
+
1344
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js":
1345
+ /*!*************************************************************************!*\
1346
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-conditions.js ***!
1347
+ \*************************************************************************/
1348
+ /***/ (function() {
1349
+
1350
+ (function ($, undefined) {
1351
+ // vars
1352
+ var CONTEXT = 'conditional_logic';
1353
+ /**
1354
+ * conditionsManager
1355
+ *
1356
+ * description
1357
+ *
1358
+ * @date 1/2/18
1359
+ * @since 5.6.5
1360
+ *
1361
+ * @param type $var Description. Default.
1362
+ * @return type Description.
1363
+ */
1364
+
1365
+ var conditionsManager = new acf.Model({
1366
+ id: 'conditionsManager',
1367
+ priority: 20,
1368
+ // run actions later
1369
+ actions: {
1370
+ new_field: 'onNewField'
1371
+ },
1372
+ onNewField: function (field) {
1373
+ if (field.has('conditions')) {
1374
+ field.getConditions().render();
1375
+ }
1376
+ }
1377
+ });
1378
+ /**
1379
+ * acf.Field.prototype.getField
1380
+ *
1381
+ * Finds a field that is related to another field
1382
+ *
1383
+ * @date 1/2/18
1384
+ * @since 5.6.5
1385
+ *
1386
+ * @param type $var Description. Default.
1387
+ * @return type Description.
1388
+ */
1389
+
1390
+ var getSiblingField = function (field, key) {
1391
+ // find sibling (very fast)
1392
+ var fields = acf.getFields({
1393
+ key: key,
1394
+ sibling: field.$el,
1395
+ suppressFilters: true
1396
+ }); // find sibling-children (fast)
1397
+ // needed for group fields, accordions, etc
1398
+
1399
+ if (!fields.length) {
1400
+ fields = acf.getFields({
1401
+ key: key,
1402
+ parent: field.$el.parent(),
1403
+ suppressFilters: true
1404
+ });
1405
+ } // return
1406
+
1407
+
1408
+ if (fields.length) {
1409
+ return fields[0];
1410
+ }
1411
+
1412
+ return false;
1413
+ };
1414
+
1415
+ acf.Field.prototype.getField = function (key) {
1416
+ // get sibling field
1417
+ var field = getSiblingField(this, key); // return early
1418
+
1419
+ if (field) {
1420
+ return field;
1421
+ } // move up through each parent and try again
1422
+
1423
+
1424
+ var parents = this.parents();
1425
+
1426
+ for (var i = 0; i < parents.length; i++) {
1427
+ // get sibling field
1428
+ field = getSiblingField(parents[i], key); // return early
1429
+
1430
+ if (field) {
1431
+ return field;
1432
+ }
1433
+ } // return
1434
+
1435
+
1436
+ return false;
1437
+ };
1438
+ /**
1439
+ * acf.Field.prototype.getConditions
1440
+ *
1441
+ * Returns the field's conditions instance
1442
+ *
1443
+ * @date 1/2/18
1444
+ * @since 5.6.5
1445
+ *
1446
+ * @param type $var Description. Default.
1447
+ * @return type Description.
1448
+ */
1449
+
1450
+
1451
+ acf.Field.prototype.getConditions = function () {
1452
+ // instantiate
1453
+ if (!this.conditions) {
1454
+ this.conditions = new Conditions(this);
1455
+ } // return
1456
+
1457
+
1458
+ return this.conditions;
1459
+ };
1460
+ /**
1461
+ * Conditions
1462
+ *
1463
+ * description
1464
+ *
1465
+ * @date 1/2/18
1466
+ * @since 5.6.5
1467
+ *
1468
+ * @param type $var Description. Default.
1469
+ * @return type Description.
1470
+ */
1471
+
1472
+
1473
+ var timeout = false;
1474
+ var Conditions = acf.Model.extend({
1475
+ id: 'Conditions',
1476
+ data: {
1477
+ field: false,
1478
+ // The field with "data-conditions" (target).
1479
+ timeStamp: false,
1480
+ // Reference used during "change" event.
1481
+ groups: [] // The groups of condition instances.
1482
+
1483
+ },
1484
+ setup: function (field) {
1485
+ // data
1486
+ this.data.field = field; // vars
1487
+
1488
+ var conditions = field.get('conditions'); // detect groups
1489
+
1490
+ if (conditions instanceof Array) {
1491
+ // detect groups
1492
+ if (conditions[0] instanceof Array) {
1493
+ // loop
1494
+ conditions.map(function (rules, i) {
1495
+ this.addRules(rules, i);
1496
+ }, this); // detect rules
1497
+ } else {
1498
+ this.addRules(conditions);
1499
+ } // detect rule
1500
+
1501
+ } else {
1502
+ this.addRule(conditions);
1503
+ }
1504
+ },
1505
+ change: function (e) {
1506
+ // this function may be triggered multiple times per event due to multiple condition classes
1507
+ // compare timestamp to allow only 1 trigger per event
1508
+ if (this.get('timeStamp') === e.timeStamp) {
1509
+ return false;
1510
+ } else {
1511
+ this.set('timeStamp', e.timeStamp, true);
1512
+ } // render condition and store result
1513
+
1514
+
1515
+ var changed = this.render();
1516
+ },
1517
+ render: function () {
1518
+ return this.calculate() ? this.show() : this.hide();
1519
+ },
1520
+ show: function () {
1521
+ return this.get('field').showEnable(this.cid, CONTEXT);
1522
+ },
1523
+ hide: function () {
1524
+ return this.get('field').hideDisable(this.cid, CONTEXT);
1525
+ },
1526
+ calculate: function () {
1527
+ // vars
1528
+ var pass = false; // loop
1529
+
1530
+ this.getGroups().map(function (group) {
1531
+ // igrnore this group if another group passed
1532
+ if (pass) return; // find passed
1533
+
1534
+ var passed = group.filter(function (condition) {
1535
+ return condition.calculate();
1536
+ }); // if all conditions passed, update the global var
1537
+
1538
+ if (passed.length == group.length) {
1539
+ pass = true;
1540
+ }
1541
+ });
1542
+ return pass;
1543
+ },
1544
+ hasGroups: function () {
1545
+ return this.data.groups != null;
1546
+ },
1547
+ getGroups: function () {
1548
+ return this.data.groups;
1549
+ },
1550
+ addGroup: function () {
1551
+ var group = [];
1552
+ this.data.groups.push(group);
1553
+ return group;
1554
+ },
1555
+ hasGroup: function (i) {
1556
+ return this.data.groups[i] != null;
1557
+ },
1558
+ getGroup: function (i) {
1559
+ return this.data.groups[i];
1560
+ },
1561
+ removeGroup: function (i) {
1562
+ this.data.groups[i].delete;
1563
+ return this;
1564
+ },
1565
+ addRules: function (rules, group) {
1566
+ rules.map(function (rule) {
1567
+ this.addRule(rule, group);
1568
+ }, this);
1569
+ },
1570
+ addRule: function (rule, group) {
1571
+ // defaults
1572
+ group = group || 0; // vars
1573
+
1574
+ var groupArray; // get group
1575
+
1576
+ if (this.hasGroup(group)) {
1577
+ groupArray = this.getGroup(group);
1578
+ } else {
1579
+ groupArray = this.addGroup();
1580
+ } // instantiate
1581
+
1582
+
1583
+ var condition = acf.newCondition(rule, this); // bail ealry if condition failed (field did not exist)
1584
+
1585
+ if (!condition) {
1586
+ return false;
1587
+ } // add rule
1588
+
1589
+
1590
+ groupArray.push(condition);
1591
+ },
1592
+ hasRule: function () {},
1593
+ getRule: function (rule, group) {
1594
+ // defaults
1595
+ rule = rule || 0;
1596
+ group = group || 0;
1597
+ return this.data.groups[group][rule];
1598
+ },
1599
+ removeRule: function () {}
1600
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1601
  })(jQuery);
1602
+
1603
+ /***/ }),
1604
+
1605
+ /***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js":
1606
+ /*!******************************************************************************!*\
1607
+ !*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-field-accordion.js ***!
1608
+ \******************************************************************************/
1609
+ /***/ (function() {
1610
+
1611
+ (function ($, undefined) {
1612
+ var i = 0;
1613
+ var Field = acf.Field.extend({
1614
+ type: 'accordion',
1615
+ wait: '',
1616
+ $control: function () {
1617
+ return this.$('.acf-fields:first');
1618
+ },
1619
+ initialize: function () {
1620
+ // Bail early if this is a duplicate of an existing initialized accordion.
1621
+ if (this.$el.hasClass('acf-accordion')) {
1622
+ return;
1623
+ } // bail early if is cell
1624
+
1625
+
1626
+ if (this.$el.is('td')) return; // enpoint
1627
+
1628
+ if (this.get('endpoint')) {
1629
+ return this.remove();
1630
+ } // vars
1631
+
1632
+
1633
+ var $field = this.$el;
1634
+ var $label = this.$labelWrap();
1635
+ var $input = this.$inputWrap();
1636
+ var $wrap = this.$control();
1637
+ var $instructions = $input.children('.description'); // force description into label
1638
+
1639
+ if ($instructions.length) {
1640
+ $label.append($instructions);
1641
+ } // table
1642
+
1643
+
1644
+ if (this.$el.is('tr')) {
1645
+ // vars
1646
+ var $table = this.$el.closest('table');
1647
+ var $newLabel = $('<div class="acf-accordion-title"/>');
1648
+ var $newInput = $('<div class="acf-accordion-content"/>');
1649
+ var $newTable = $('<table class="' + $table.attr('class') + '"/>');
1650
+ var $newWrap = $('<tbody/>'); // dom
1651
+
1652
+ $newLabel.append($label.html());
1653
+ $newTable.append($newWrap);
1654
+ $newInput.append($newTable);
1655
+ $input.append($newLabel);
1656
+ $input.append($newInput); // modify
1657
+
1658
+ $label.remove();
1659
+ $wrap.remove();
1660
+ $input.attr('colspan', 2); // update vars
1661
+
1662
+ $label = $newLabel;
1663
+ $input = $newInput;
1664
+ $wrap = $newWrap;
1665
+ } // add classes
1666
+
1667
+
1668
+ $field.addClass('acf-accordion');
1669
+ $label.addClass('acf-accordion-title');
1670
+ $input.addClass('acf-accordion-content'); // index
1671
+
1672
+ i++; // multi-expand
1673
+
1674
+ if (this.get('multi_expand')) {
1675
+ $field.attr('multi-expand', 1);
1676
+ } // open
1677
+
1678
+
1679
+ var order = acf.getPreference('this.accordions') || [];
1680
+
1681
+ if (order[i - 1] !== undefined) {
1682
+ this.set('open', order[i - 1]);
1683
+ }
1684
+
1685
+ if (this.get('open')) {
1686
+ $field.addClass('-open');
1687
+ $input.css('display', 'block'); // needed for accordion to close smoothly
1688
+ } // add icon
1689
+
1690
+
1691
+ $label.prepend(accordionManager.iconHtml({
1692
+ open: this.get('open')
1693
+ })); // classes
1694
+ // - remove 'inside' which is a #poststuff WP class
1695
+
1696
+ var $parent = $field.parent();
1697
+ $wrap.addClass($parent.hasClass('-left') ? '-left' : '');
1698
+ $wrap.addClass($parent.hasClass('-clear') ? '-clear' : ''); // append
1699
+
1700
+ $wrap.append($field.nextUntil('.acf-field-accordion', '.acf-field')); // clean up
1701
+
1702
+ $wrap.removeAttr('data-open data-multi_expand data-endpoint');
1703
+ }
1704
+ });
1705
+ acf.registerFieldType(Field);
1706
+ /**
1707
+ * accordionManager
1708
+ *
1709
+ * Events manager for the acf accordion
1710
+ *
1711
+ * @date 14/2/18
1712
+ * @since 5.6.9
1713
+ *
1714
+ * @param void
1715
+ * @return void
1716
+ */
1717
+
1718
+ var accordionManager = new acf.Model({
1719
+ actions: {
1720
+ unload: 'onUnload'
1721
+ },
1722
+ events: {
1723
+ 'click .acf-accordion-title': 'onClick',
1724
+ 'invalidField .acf-accordion': 'onInvalidField'
1725
+ },
1726
+ isOpen: function ($el) {
1727
+ return $el.hasClass('-open');
1728
+ },
1729
+ toggle: function ($el) {
1730
+ if (this.isOpen($el)) {
1731
+ this.close($el);
1732
+ } else {
1733
+ this.open($el);
1734
+ }
1735
+ },
1736
+ iconHtml: function (props) {
1737
+ // Use SVG inside Gutenberg editor.
1738
+ if (acf.isGutenberg()) {
1739
+ if (props.open) {
1740
+ return '<svg class="acf-accordion-icon" width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true" focusable="false"><g><path fill="none" d="M0,0h24v24H0V0z"></path></g><g><path d="M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z"></path></g></svg>';
1741
+ } else {
1742
+ return '<svg class="acf-accordion-icon" width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true" focusable="false"><g><path fill="none" d="M0,0h24v24H0V0z"></path></g><g><path d="M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"></path></g></svg>';
1743
+ }
1744
+ } else {
1745
+ if (props.open) {
1746
+ return '<i clas