Version Description
- 2021-03-01 =
- Major Update!
- Dropped support for Flexible Checkout Fields PRO version lower than 3.0
- Added new admin page to manage plugin settings
- Added validation for fields on settings page
Download this release
Release Info
Developer | wpdesk |
Plugin | Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager |
Version | 3.0.0 |
Comparing to | |
See all releases |
Code changes from version 2.9.2 to 3.0.0
- assets/css/admin.css +0 -203
- assets/css/admin.min.css +1 -1
- assets/css/new-admin.css +1 -0
- assets/fonts/icons/icomoon.eot +0 -0
- assets/fonts/icons/icomoon.svg +49 -0
- assets/fonts/icons/icomoon.ttf +0 -0
- assets/fonts/icons/icomoon.woff +0 -0
- assets/fonts/icons/selection.json +1 -0
- assets/js/new-admin.js +38 -0
- classes/filed-validation.php +1 -1
- classes/plugin.php +0 -64
- classes/settings.php +2 -292
- classes/views/settings-ads.php +0 -28
- classes/views/settings-fields.php +0 -1123
- classes/views/settings-pro.php +0 -26
- classes/views/settings-settings.php +0 -40
- classes/views/settings-tabs.php +0 -18
- flexible-checkout-fields.php +6 -6
- lang/flexible-checkout-fields.pot +237 -356
- readme.txt +7 -1
- src/Admin/NoticeReview.php +1 -1
- src/Admin/Page.php +41 -0
- src/Field/FieldData.php +66 -0
- src/Field/Type/CheckboxType.php +55 -0
- src/Field/Type/ColorType.php +55 -0
- src/Field/Type/DateType.php +55 -0
- src/Field/Type/DefaultType.php +107 -0
- src/Field/Type/FileType.php +55 -0
- src/Field/Type/HeadingType.php +55 -0
- src/Field/Type/HtmlType.php +55 -0
- src/Field/Type/Multiselect.php +55 -0
- src/Field/Type/RadioType.php +55 -0
- src/Field/Type/SelectType.php +55 -0
- src/Field/Type/TextType.php +114 -0
- src/Field/Type/TextareaType.php +114 -0
- src/Field/Type/TimeType.php +55 -0
- src/Field/Type/TypeAbstract.php +87 -0
- src/Field/Type/TypeIntegration.php +73 -0
- src/Field/Type/TypeInterface.php +79 -0
- src/Field/Type/Wc/WcAddress2Type.php +108 -0
- src/Field/Type/Wc/WcCountryType.php +101 -0
- src/Field/Type/Wc/WcDefaultType.php +127 -0
- src/Field/Type/Wc/WcNotesType.php +114 -0
- src/Field/Type/Wc/WcPostcodeType.php +103 -0
- src/Field/Type/Wc/WcStateType.php +103 -0
- src/Field/Types.php +62 -0
- src/Helpers/Shortener.php +2 -2
- src/Plugin.php +8 -1
- src/Settings/Form/EditFieldsForm.php +133 -0
- src/Settings/Form/FormAbstract.php +17 -0
- src/Settings/Form/FormIntegration.php +80 -0
- src/Settings/Form/FormInterface.php +40 -0
- src/Settings/Form/SettingsPageForm.php +99 -0
- src/Settings/Forms.php +28 -0
- src/Settings/Menu.php +108 -0
- src/Settings/Option/CssOption.php +91 -0
- src/Settings/Option/CustomFieldOption.php +56 -0
- src/Settings/Option/DisplayOnAccountAddressOption.php +55 -0
- src/Settings/Option/DisplayOnAccountOrderOption.php +55 -0
- src/Settings/Option/DisplayOnEmailsOption.php +55 -0
- src/Settings/Option/DisplayOnOption.php +74 -0
- src/Settings/Option/DisplayOnThankYouOption.php +55 -0
- src/Settings/Option/DisplayOnWithoutAddressOption.php +33 -0
- src/Settings/Option/EnabledOption.php +81 -0
- src/Settings/Option/FieldTypeOption.php +47 -0
- src/Settings/Option/FormattingFieldLabelOption.php +55 -0
- src/Settings/Option/FormattingNewLineOption.php +55 -0
- src/Settings/Option/FormattingOption.php +70 -0
- src/Settings/Option/FormattingStateAbbrOption.php +55 -0
- src/Settings/Option/FormattingStateCommaOption.php +55 -0
- src/Settings/Option/FormattingStateOption.php +70 -0
- src/Settings/Option/FormattingWcOption.php +29 -0
- src/Settings/Option/LabelOption.php +79 -0
- src/Settings/Option/LabelOptionallyOption.php +27 -0
- src/Settings/Option/LogicAdvOption.php +72 -0
- src/Settings/Option/NameOption.php +75 -0
- src/Settings/Option/OptionAbstract.php +302 -0
- src/Settings/Option/OptionIntegration.php +81 -0
- src/Settings/Option/OptionInterface.php +186 -0
- src/Settings/Option/PlaceholderOption.php +56 -0
- src/Settings/Option/PricingAdvOption.php +63 -0
- src/Settings/Option/PriorityOption.php +58 -0
- src/Settings/Option/RequiredHiddenOption.php +35 -0
- src/Settings/Option/RequiredOption.php +56 -0
- src/Settings/Option/SettingJqueryCssOption.php +56 -0
- src/Settings/Option/SettingJqueryOption.php +58 -0
- src/Settings/Option/SettingSectionsAdvOption.php +53 -0
- src/Settings/Option/ValidationInfoOption.php +62 -0
- src/Settings/Option/ValidationOption.php +86 -0
- src/Settings/Page.php +240 -0
- src/Settings/Route/RouteAbstract.php +45 -0
- src/Settings/Route/RouteIntegration.php +97 -0
- src/Settings/Route/RouteInterface.php +46 -0
- src/Settings/Route/UpdateFormFieldsRoute.php +69 -0
- src/Settings/Route/UpdateFormSettingsRoute.php +66 -0
- src/Settings/Routes.php +28 -0
- src/Settings/Tab/AdvancedTab.php +46 -0
- src/Settings/Tab/AppearanceTab.php +46 -0
- src/Settings/Tab/DisplayTab.php +46 -0
- src/Settings/Tab/GeneralTab.php +46 -0
- src/Settings/Tab/LogicTab.php +46 -0
- src/Settings/Tab/PricingTab.php +46 -0
- src/Settings/Tab/TabAbstract.php +17 -0
- src/Settings/Tab/TabIntegration.php +69 -0
- src/Settings/Tab/TabInterface.php +35 -0
- src/Settings/Tabs.php +36 -0
- templates/views/admin-page.php +88 -0
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +84 -0
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +88 -4
- vendor_prefixed/monolog/monolog/composer.json +3 -10
- vendor_prefixed/monolog/monolog/src/Monolog/ErrorHandler.php +1 -0
- vendor_prefixed/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php +1 -0
- vendor_prefixed/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php +1 -1
- vendor_prefixed/monolog/monolog/src/Monolog/Handler/GelfHandler.php +1 -1
- vendor_prefixed/monolog/monolog/src/Monolog/Handler/HipChatHandler.php +2 -2
- vendor_prefixed/monolog/monolog/src/Monolog/Handler/RavenHandler.php +1 -1
- vendor_prefixed/monolog/monolog/src/Monolog/Handler/RedisHandler.php +1 -1
- vendor_prefixed/monolog/monolog/src/Monolog/Handler/StreamHandler.php +1 -1
- vendor_prefixed/monolog/monolog/src/Monolog/Logger.php +1 -1
- vendor_prefixed/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php +28 -3
- vendor_prefixed/monolog/monolog/src/Monolog/Utils.php +1 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/CommandProvider.php +2 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php +1 -1
- vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php +37 -0
- vendor_prefixed/wpdesk/wp-plugin-flow/composer.json +5 -5
- vendor_prefixed/wpdesk/wp-plugin-flow/src/Initialization/HelperInstanceAsFilterTrait.php +1 -1
- vendor_prefixed/wpdesk/wp-wpdesk-license/src/ApiManager/class-wc-api-manager.php +1 -1
- vendor_prefixed/wpdesk/wp-wpdesk-license/src/Page/License/Action/LicenseActivation.php +1 -1
- vendor_prefixed/wpdesk/wp-wpdesk-license/src/ServerAddressRepository.php +18 -1
- vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/class-wpdesk-tracker.php +3 -7
- vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/views/tracker-notice.php +0 -2
- views/settings-field-advanced-js.php +0 -11
- views/settings-field-advanced.php +0 -13
- views/settings-field-pricing-js.php +0 -11
- views/settings-field-pricing.php +0 -13
assets/css/admin.css
CHANGED
@@ -1,206 +1,3 @@
|
|
1 |
-
/* Global */
|
2 |
-
.woocommerce_page_inspire_checkout_fields_settings .spinner {
|
3 |
-
float: left;
|
4 |
-
}
|
5 |
-
|
6 |
-
.woocommerce_page_inspire_checkout_fields_settings input[type="text"],
|
7 |
-
.woocommerce_page_inspire_checkout_fields_settings input[type="number"],
|
8 |
-
.woocommerce_page_inspire_checkout_fields_settings textarea,
|
9 |
-
.woocommerce_page_inspire_checkout_fields_settings select {
|
10 |
-
width: 100%;
|
11 |
-
}
|
12 |
-
|
13 |
-
span.inspire-file-error {
|
14 |
-
color: red;
|
15 |
-
font-weight: bold;
|
16 |
-
}
|
17 |
-
|
18 |
-
.woocommerce_page_inspire_checkout_fields_settings .hide {
|
19 |
-
display: none;
|
20 |
-
}
|
21 |
-
|
22 |
-
.woocommerce_page_inspire_checkout_fields_settings .rate {
|
23 |
-
text-align: center;
|
24 |
-
}
|
25 |
-
|
26 |
-
.woocommerce_page_inspire_checkout_fields_settings .rate a {
|
27 |
-
text-decoration: none;
|
28 |
-
}
|
29 |
-
|
30 |
-
/* Add New Field Box */
|
31 |
-
.woocommerce_page_inspire_checkout_fields_settings .add-new-field-box h3 {
|
32 |
-
background: #f5f5f5;
|
33 |
-
border-bottom: 1px solid #ddd;
|
34 |
-
color: #23282d;
|
35 |
-
font-size: 14px;
|
36 |
-
line-height: 21px;
|
37 |
-
padding: 10px 10px 11px 14px;
|
38 |
-
margin: 0;
|
39 |
-
}
|
40 |
-
|
41 |
-
.woocommerce_page_inspire_checkout_fields_settings #add-new-field .accordion-section-content {
|
42 |
-
padding: 11px 13px 8px;
|
43 |
-
}
|
44 |
-
|
45 |
-
.woocommerce_page_inspire_checkout_fields_settings .add-new-field-content > div {
|
46 |
-
margin: 5px 0 10px;
|
47 |
-
}
|
48 |
-
|
49 |
-
.woocommerce_page_inspire_checkout_fields_settings .add-new-field-box .stuffbox {
|
50 |
-
margin-top: 25px;
|
51 |
-
}
|
52 |
-
|
53 |
-
/* Fields */
|
54 |
-
.woocommerce_page_inspire_checkout_fields_settings #nav-menu-header h3 {
|
55 |
-
color: #23282d;
|
56 |
-
font-size: 14px;
|
57 |
-
float: left;
|
58 |
-
line-height: 28px;
|
59 |
-
margin: 0;
|
60 |
-
}
|
61 |
-
|
62 |
-
.woocommerce_page_inspire_checkout_fields_settings .fields-container {
|
63 |
-
border-right: 1px solid #ddd;
|
64 |
-
float: left;
|
65 |
-
width: 513px;
|
66 |
-
}
|
67 |
-
|
68 |
-
.woocommerce_page_inspire_checkout_fields_settings ul.fields {
|
69 |
-
padding-top: 0;
|
70 |
-
}
|
71 |
-
|
72 |
-
.woocommerce_page_inspire_checkout_fields_settings .menu-item-bar .menu-item-handle,
|
73 |
-
.woocommerce_page_inspire_checkout_fields_settings .menu-item-settings {
|
74 |
-
width: 100%;
|
75 |
-
max-width: 100%;
|
76 |
-
box-sizing: border-box;
|
77 |
-
}
|
78 |
-
|
79 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-item .menu-item-bar .menu-item-handle .item-title {
|
80 |
-
margin-right: 1.5em;
|
81 |
-
overflow: hidden;
|
82 |
-
text-overflow: ellipsis;
|
83 |
-
white-space: nowrap;
|
84 |
-
}
|
85 |
-
/*
|
86 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-item .menu-item-bar .menu-item-handle .item-title:before {
|
87 |
-
content: '\f333';
|
88 |
-
font-family: Dashicons;
|
89 |
-
text-align: center;
|
90 |
-
line-height: 1;
|
91 |
-
color: #999;
|
92 |
-
display: block;
|
93 |
-
width: 20px;
|
94 |
-
float: left;
|
95 |
-
height: 17px;
|
96 |
-
line-height: 22px;
|
97 |
-
}
|
98 |
-
*/
|
99 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-item.just-added .menu-item-bar .menu-item-handle {
|
100 |
-
border-color: #999;
|
101 |
-
}
|
102 |
-
|
103 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-item.field-hidden .item-title {
|
104 |
-
color: #898e93;
|
105 |
-
font-style: italic;
|
106 |
-
}
|
107 |
-
|
108 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-item .menu-item-bar .menu-item-handle .item-type {
|
109 |
-
float:right;
|
110 |
-
padding: unset;
|
111 |
-
font-weight: normal;
|
112 |
-
font-style: italic;
|
113 |
-
}
|
114 |
-
|
115 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings {
|
116 |
-
display: none;
|
117 |
-
padding: 10px 0 10px 10px;
|
118 |
-
}
|
119 |
-
|
120 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings select {
|
121 |
-
max-width: 100%;
|
122 |
-
}
|
123 |
-
|
124 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings-tab-container > div {
|
125 |
-
margin: 5px 0 10px;
|
126 |
-
}
|
127 |
-
|
128 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings label {
|
129 |
-
display: block;
|
130 |
-
margin-bottom: 5px;
|
131 |
-
}
|
132 |
-
|
133 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings .element-option {
|
134 |
-
display: none;
|
135 |
-
}
|
136 |
-
|
137 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings .element-option.show {
|
138 |
-
display: block;
|
139 |
-
}
|
140 |
-
|
141 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings a.remove-field {
|
142 |
-
color: #a00;
|
143 |
-
display: inline-block;
|
144 |
-
margin: 10px 0 5px 420px;
|
145 |
-
text-decoration: none;
|
146 |
-
}
|
147 |
-
|
148 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings a.remove-field:hover {
|
149 |
-
color: red;
|
150 |
-
}
|
151 |
-
|
152 |
-
.woocommerce_page_inspire_checkout_fields_settings #nav-menu-footer {
|
153 |
-
border-top: 1px solid #ddd;
|
154 |
-
clear: both;
|
155 |
-
}
|
156 |
-
|
157 |
-
.woocommerce_page_inspire_checkout_fields_settings #nav-menu-footer .button {
|
158 |
-
float: left;
|
159 |
-
}
|
160 |
-
|
161 |
-
.woocommerce_page_inspire_checkout_fields_settings #nav-menu-footer .reset_settings {
|
162 |
-
border: none;
|
163 |
-
box-shadow: none;
|
164 |
-
color: #a00;
|
165 |
-
float: right;
|
166 |
-
padding: 0;
|
167 |
-
}
|
168 |
-
|
169 |
-
.woocommerce_page_inspire_checkout_fields_settings #nav-menu-footer .reset_settings:hover {
|
170 |
-
color: red;
|
171 |
-
}
|
172 |
-
|
173 |
-
/* Tabs */
|
174 |
-
.woocommerce_page_inspire_checkout_fields_settings .fields-container .nav-tab {
|
175 |
-
font-size: 12px;
|
176 |
-
margin-left: 0;
|
177 |
-
margin-right: .5em;
|
178 |
-
}
|
179 |
-
|
180 |
-
.woocommerce_page_inspire_checkout_fields_settings .fields-container .nav-tab-active,
|
181 |
-
.woocommerce_page_inspire_checkout_fields_settings .fields-container .nav-tab-active:focus,
|
182 |
-
.woocommerce_page_inspire_checkout_fields_settings .fields-container .nav-tab-active:focus:active,
|
183 |
-
.woocommerce_page_inspire_checkout_fields_settings .fields-container .nav-tab-active:hover {
|
184 |
-
background-color: #fff;
|
185 |
-
border-bottom: 0;
|
186 |
-
}
|
187 |
-
|
188 |
-
.woocommerce_page_inspire_checkout_fields_settings .nav-tab-wrapper {
|
189 |
-
border-bottom: 0;
|
190 |
-
margin-right: 10px;
|
191 |
-
}
|
192 |
-
|
193 |
-
.woocommerce_page_inspire_checkout_fields_settings .field-settings-tab-container {
|
194 |
-
border: 1px solid #ccc;
|
195 |
-
margin-top: -1px;
|
196 |
-
margin-right: 10px;
|
197 |
-
padding: 4px 10px 0;
|
198 |
-
}
|
199 |
-
|
200 |
-
.display-options-info, .display-options-heading {
|
201 |
-
display: none;
|
202 |
-
}
|
203 |
-
|
204 |
/* Edit Order */
|
205 |
.post-type-shop_order .edit_address .form-left {
|
206 |
float: left !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/* Edit Order */
|
2 |
.post-type-shop_order .edit_address .form-left {
|
3 |
float: left !important;
|
assets/css/admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.
|
1 |
+
.post-type-shop_order .edit_address .form-left{float:left!important;clear:left}.post-type-shop_order .edit_address .form-right{float:right!important}.field-validation-info,.field-validation-heading{display:none}p.help,.field-item p.description,.add-new-field-content p.description,span.description,.form-wrap p{overflow:auto}
|
assets/css/new-admin.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@font-face{font-family:icomoon;src:url(../fonts/icons/icomoon.eot);src:url(../fonts/icons/icomoon.woff) format("woff"),url(../fonts/icons/icomoon.eot#iefix) format("embedded-opentype"),url(../fonts/icons/icomoon.ttf) format("truetype"),url(../fonts/icons/icomoon.svg#icomoon) format("svg");font-weight:400;font-style:normal}.icon-align-left:before{content:"\E900"!important}.icon-align-left:before,.icon-bookmark:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-bookmark:before{content:"\E920"!important}.icon-brush:before{content:"\E901"!important}.icon-brush:before,.icon-calendar-alt:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-calendar-alt:before{content:"\E902"!important}.icon-caret-down:before{content:"\E903"!important}.icon-caret-down:before,.icon-caret-left:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-caret-left:before{content:"\E904"!important}.icon-caret-right:before{content:"\E905"!important}.icon-caret-right:before,.icon-caret-up:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-caret-up:before{content:"\E906"!important}.icon-check:before{content:"\E907"!important}.icon-check-square:before,.icon-check:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-check-square:before{content:"\E908"!important}.icon-clock:before{content:"\E909"!important}.icon-clock:before,.icon-code:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-code:before{content:"\E90A"!important}.icon-cog:before{content:"\E90B"!important}.icon-cog:before,.icon-cogs:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-cogs:before{content:"\E90C"!important}.icon-dollar-sign:before{content:"\E90D"!important}.icon-dollar-sign:before,.icon-ellipsis-v:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-ellipsis-v:before{content:"\E90E"!important}.icon-exchange-alt:before{content:"\E90F"!important}.icon-exchange-alt:before,.icon-exclamation-triangle:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-exclamation-triangle:before{content:"\E926"!important}.icon-eye:before{content:"\E910"!important}.icon-eye:before,.icon-font:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-font:before{content:"\E911"!important}.icon-heading:before{content:"\E912"!important}.icon-heading:before,.icon-heart:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-heart:before{content:"\E921"!important}.icon-list-ul:before{content:"\E913"!important}.icon-list-ul:before,.icon-long-arrow-alt-down:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-long-arrow-alt-down:before{content:"\E914"!important}.icon-long-arrow-alt-left:before{content:"\E915"!important}.icon-long-arrow-alt-left:before,.icon-long-arrow-alt-right:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-long-arrow-alt-right:before{content:"\E916"!important}.icon-long-arrow-alt-up:before{content:"\E917"!important}.icon-long-arrow-alt-up:before,.icon-magic:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-magic:before{content:"\E918"!important}.icon-palette:before{content:"\E919"!important}.icon-palette:before,.icon-plugin-symbol:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-plugin-symbol:before{content:"\E923"!important}.icon-plus:before{content:"\E91A"!important}.icon-plus:before,.icon-question-circle:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-question-circle:before{content:"\E91B"!important}.icon-spinner:before{content:"\E925"!important}.icon-spinner:before,.icon-star:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-star:before{content:"\E922"!important}.icon-tasks:before{content:"\E91D"!important}.icon-tasks-alt:before,.icon-tasks:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-tasks-alt:before{content:"\E91C"!important}.icon-times:before{content:"\E91E"!important}.icon-times:before,.icon-trash-alt:before{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-trash-alt:before{content:"\E924"!important}.icon-upload:before{content:"\E91F"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfSettings,.fcfSettings *,.fcfSettings :after,.fcfSettings :before{margin:0;padding:0;box-sizing:border-box;box-shadow:none;text-decoration:none}.fcfSettings a,.fcfSettings a:focus{box-shadow:none;outline:0}.fcfSettings__headline{position:relative;padding:2px 0 2px 50px;font-weight:400;font-size:24px;line-height:1.375;color:#1e1e1e}.fcfSettings__headline:before{position:absolute;top:50%;left:0;transform:translateY(-50%);font-size:30px;line-height:1;color:#0073aa;content:"\E923"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfSettings__footer{padding:2px 0;font-size:14px;line-height:1.8571428571;text-align:center}.fcfSettings__footer a{font-weight:500;color:inherit}.fcfSettings__footerIcon{display:inline-block;padding:0 3px}.fcfSettings__footerIcon+.fcfSettings__footerIcon{margin-left:-6px}.fcfSettings__footerIcon--heart:before{color:#dc3232;content:"\E921"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfSettings__footerIcon--star:before{color:#ffb900;content:"\E922"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfSettings__columns{display:flex;flex-wrap:wrap;width:calc(100% + 20px);margin:0 -10px}.fcfSettings__columns--reverse{flex-direction:row-reverse}.fcfSettings__columns--margin{margin-top:20px}.fcfSettings__column{width:40%;padding:10px}.fcfSettings__column--wide,.fcfSettings__column:first-child:last-child{flex:1}.fcfButton{position:relative;display:inline-block;padding:7px 20px;font-weight:500;font-size:14px;line-height:1.8571428571;color:#1e1e1e;text-align:center;background:none;border:1px solid transparent;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;overflow:hidden;transition:color .3s;z-index:1}.fcfButton[disabled]{pointer-events:none}.fcfButton:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .3s;z-index:-1}.fcfButton--bg:after{opacity:1}.fcfButton--bg:hover:after{opacity:0}.fcfButton--border:hover:after{opacity:1}.fcfButton--wide{width:100%}.fcfButton--small{padding:2px 20px}.fcfButton--bg{color:#fff}.fcfButton--border:hover{color:#fff!important}.fcfButton--green{border-color:#46b450}.fcfButton--green:after{background-color:#46b450}.fcfButton--green.fcfButton--bg:hover,.fcfButton--green.fcfButton--border{color:#46b450}.fcfButton--blue{border-color:#0073aa}.fcfButton--blue:after{background-color:#0073aa}.fcfButton--blue.fcfButton--bg:hover,.fcfButton--blue.fcfButton--border{color:#0073aa}.fcfButton--red{border-color:#dc3232}.fcfButton--red:after{background-color:#dc3232}.fcfButton--red.fcfButton--bg:hover,.fcfButton--red.fcfButton--border{color:#dc3232}.fcfFields__items{padding:10px}.fcfFields__item{margin:0;padding:10px;outline:none;pointer-events:none}.fcfFields__itemInner{background-color:#fff;border:1px solid #e2e4e7;pointer-events:auto}.fcfFields__itemHeader{position:relative}.fcfFields__itemHeader:before{position:absolute;top:50%;left:20px;transform:translateY(-50%);font-size:16px;line-height:1;color:rgba(30,30,30,.25);content:"\E90F"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfFields__itemHeaderOuter{display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 56px}.fcfFields__itemHeaderInner{display:flex;align-items:center;flex:1}.fcfFields__itemHeaderTitle{flex:1;padding:12px 20px 12px 0;font-weight:500;font-size:14px;line-height:1.8571428571;color:#1e1e1e}.fcfFields__item--disabled .fcfFields__itemHeaderTitle{color:rgba(30,30,30,.25);font-style:italic}.fcfFields__itemHeaderDesc{padding:12px 0;font-size:12px;line-height:1.8571428571;color:rgba(30,30,30,.5)}.fcfFields__itemHeaderDesc--flag{position:relative;padding-left:30px}.fcfFields__itemHeaderDesc--flag:before{position:absolute;top:50%;left:0;transform:translateY(-50%);margin-top:1px;font-size:16px;line-height:1;color:#0073aa;content:"\E923"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfFields__itemHeaderButtons{display:flex;padding-left:20px}.fcfFields__itemHeaderButton{position:relative}.fcfFields__itemHeaderButtonInner{position:relative;width:36px;height:36px;padding:10px;line-height:0;text-align:center;border:0;outline:0;background:none;cursor:pointer;z-index:1}.fcfFields__itemHeaderButtonInner:before{content:"";font-size:16px;line-height:1;color:#1e1e1e}.fcfFields__itemHeaderButtonInner:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f0f0f0;border-radius:50%;opacity:0;transition:opacity .3s;z-index:-1}.fcfFields__item--disabled .fcfFields__itemHeaderButtonInner:after{background-color:#fff}.fcfFields__itemHeaderButtonInner--open:before{font-size:6px;content:"\E903"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfFields__itemHeaderButtonInner--close:before{font-size:6px;content:"\E906"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfFields__itemHeaderButtonInner--remove:before{color:#dc3232;content:"\E924"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfFields__itemHeaderButtonInner:hover:after{opacity:1}.fcfFields__itemContent{border-top:1px solid #f0f0f0}.fcfFields__itemTabs{background-color:rgba(0,0,0,.025);border-bottom:1px solid #f0f0f0}.fcfOptions__rows{padding:5px 20px}.fcfOptions__column .fcfOptions__rows{padding:0}.fcfOptions__row{padding:5px 0}.fcfOptions__column .fcfOptions__row{padding:0}.fcfOptions__row--padding{padding:15px 0}.fcfOptions__row--sub{padding-left:30px}.fcfOptions__columns{position:relative;display:flex;flex-wrap:wrap}.fcfOptions__columns--button{padding-right:30px}.fcfOptions__columns--button+.fcfOptions__columns--button:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:calc(100% - 20px);height:1px;background-color:#e2e4e7}.fcfOptions__column{position:relative;flex:1;max-width:100%;padding:0 10px}.fcfOptions__column--small{position:absolute;top:50%;right:0;transform:translateY(-50%);min-width:auto!important;padding:0!important}.fcfOptions__column--center{padding:5px 0 10px;text-align:center}.fcfOptions__columnButton{position:relative;margin-top:20px;padding:10px;font-size:0;border:0;outline:0;background:none;cursor:pointer;z-index:1}.fcfOptions__columnButton:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#f0f0f0;border-radius:50%;opacity:0;transition:opacity .3s;z-index:-1}.fcfOptions__columnButton:hover:after{opacity:1}.fcfOptions__columnButton--remove:before{font-size:10px;line-height:1;color:#dc3232;content:"\E91E"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfOptions__error,.fcfOptions__label,.fcfOptions__labelInner,.fcfOptions__rowLabel{display:block;padding:2px 0;font-size:14px;line-height:1.8571428571;color:#1e1e1e}.fcfOptions__label{position:relative;display:inline-block;font-weight:500;z-index:1}.fcfOptions__label--line{display:block;font-size:0;overflow:hidden}.fcfOptions__labelInner{display:inline-block;max-width:calc(100% - 30px);margin-left:20px;padding:0 10px;color:#1e1e1e;background-color:#fff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fcfOptions__labelInner:before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background-color:rgba(226,228,231,.75);z-index:-1}.fcfOptions__error{position:relative;margin-bottom:10px;padding-left:36px;padding-right:10px;font-weight:500;color:#fff;background-color:#dc3232}.fcfOptions__checkbox~.fcfOptions__error{margin-top:5px}.fcfOptions__error:before{position:absolute;top:50%;left:10px;transform:translateY(-50%);font-size:16px;line-height:1;content:"\E926"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfOptions__labelHelp,.fcfOptions__labelHelpIcon{position:relative;display:inline-block}.fcfOptions__labelHelpIcon{padding:0 10px;z-index:1}.fcfOptions__labelHelpIcon:before{display:block;font-size:14px;line-height:1.8571428571;color:#0073aa;transition:transform .3s;content:"\E91B"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfOptions__labelHelpIcon:hover:before{transform:scale(1.5)}.fcfOptions__input,.fcfOptions__select,.fcfOptions__textarea{margin-bottom:10px}.fcfSettings .fcfOptions__input,.fcfSettings .fcfOptions__textarea{display:block;width:100%;max-width:none;padding:7px 10px;font-size:14px;line-height:1.8571428571;color:#1e1e1e;border:1px solid #e2e4e7;border-radius:0}.fcfSettings .fcfOptions__input:focus,.fcfSettings .fcfOptions__textarea:focus{border-color:#e2e4e7;box-shadow:none;outline:0;color:#1e1e1e}.fcfSettings .fcfOptions__input[disabled],.fcfSettings .fcfOptions__textarea[disabled]{color:#1e1e1e;border-color:#e2e4e7;background-color:rgba(226,228,231,.5);text-shadow:none}.fcfSettings .fcfOptions__checkbox,.fcfSettings .fcfOptions__radio{display:none}.fcfOptions__checkbox+.fcfOptions__label,.fcfOptions__radio+.fcfOptions__label{padding-left:30px;transition:color .3s}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__checkbox+.fcfOptions__label:before,.fcfOptions__radio+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:before{content:"";position:absolute;top:calc(50% - 10px);left:0;width:20px;height:20px}.fcfOptions__checkbox+.fcfOptions__label:before,.fcfOptions__radio+.fcfOptions__label:before{border:1px solid #e2e4e7}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:after{font-size:10px;line-height:2;text-align:center;color:#46b450;transform:scale(0);transition:transform .3s}.fcfOptions__checkbox:hover+.fcfOptions__label,.fcfOptions__radio:hover+.fcfOptions__label{color:rgba(30,30,30,.5)}.fcfOptions__checkbox[disabled]+.fcfOptions__label:before,.fcfOptions__radio[disabled]+.fcfOptions__label:before{background-color:rgba(226,228,231,.5);border-color:#e2e4e7}.fcfOptions__checkbox+.fcfOptions__label:after{content:"\E907"!important}.fcfOptions__checkbox+.fcfOptions__label:after,.fcfOptions__radio+.fcfOptions__label:after{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfOptions__radio+.fcfOptions__label:after{content:"\E91E"!important}.fcfOptions__checkbox[checked]+.fcfOptions__label:after,.fcfOptions__radio[checked]+.fcfOptions__label:after{transform:scale(1)}.fcfOptions__boxes{padding-bottom:10px}.fcfOptions__boxesItems{display:flex;flex-wrap:wrap;margin:-5px}.fcfOptions__boxesItem{width:50%;padding:5px}.fcfSettings .fcfOptions__boxesItemInput{display:none}.fcfOptions__boxesItemLabel{position:relative;display:flex;justify-content:center;align-items:center;min-height:100%;padding:7px 10px 7px 42px;font-size:14px;line-height:1.8571428571;color:#1e1e1e;text-align:center;border:1px solid #e2e4e7;transition:color .3s}.fcfOptions__boxesItemLabel:hover{color:rgba(30,30,30,.5)}.fcfOptions__boxesItemLabel:before{position:absolute;top:calc(50% - 11px);left:10px;font-size:22px;line-height:1;color:rgba(30,30,30,.75)!important}.fcfOptions__boxesItemLabel:after{content:"";position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);border:2px solid #0073aa;opacity:0;transition:opacity .3s}.fcfOptions__boxesItemInput:checked+.fcfOptions__boxesItemLabel{color:#1e1e1e}.fcfOptions__boxesItemInput:checked+.fcfOptions__boxesItemLabel:after{opacity:1}.fcfOptions__info{margin:0 -20px;padding:10px 0}.fcfOptions__row:first-child .fcfOptions__info{margin-top:-20px}.fcfOptions__row:last-child .fcfOptions__info{margin-bottom:-20px}.fcfOptions__infoInner{padding:12px 20px;font-size:14px;line-height:1.8571428571;color:#fff;background-color:#0073aa}.fcfOptions__info--green .fcfOptions__infoInner{background-color:#46b450}.fcfOptions__infoInner a{position:relative;display:inline-block;font-weight:500;color:inherit;white-space:nowrap;transition:opacity .3s}.fcfOptions__infoInner a:hover{opacity:.5}.fcfOptions__infoInner a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:#fff}.fcfOptions__infoInner a.fcfArrowLink{padding-right:18px;text-transform:uppercase;letter-spacing:1px;opacity:1}.fcfOptions__infoInner a.fcfArrowLink:after{width:0;transition:width .3s}.fcfOptions__infoInner a.fcfArrowLink:hover:after{width:100%}.fcfOptions__infoInner a.fcfArrowLink:before{position:absolute;top:50%;right:0;transform:translateY(-50%);font-size:6px;line-height:1;content:"\E916"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfOptions__infoInner p{font-size:14px;line-height:1.8571428571}.fcfOptions__infoInner p strong{font-weight:400;font-size:20px;line-height:1.75}.fcfOptions__infoInner ul{padding-left:10px}.fcfOptions__infoInner ul li{position:relative;padding-left:20px}.fcfOptions__infoInner ul li:before{position:absolute;top:50%;left:0;transform:translateY(-50%);font-size:10px;line-height:1;content:"\E907"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfOptions__infoInner p,.fcfOptions__infoInner ul{margin-top:10px}.fcfOptions__infoInner p:first-child,.fcfOptions__infoInner ul:first-child{margin-top:0}.fcfTabs__items{display:flex;flex-wrap:wrap;margin:0;padding:0}.fcfTabs--lines .fcfTabs__items{margin-top:10px;margin-bottom:-10px}.fcfTabs__item{position:relative;margin:0 0 -1px;padding:0;border-bottom:1px solid #f0f0f0}.fcfTabs--lines .fcfTabs__item{padding-right:3px}.fcfTabs--lines .fcfTabs__item:after{content:"";position:absolute;top:calc(50% - 3px);right:0;width:6px;height:6px;background-color:#0073aa;border-radius:50%}.fcfTabs__item:last-child:after{display:none}.fcfTabs__itemLink{position:relative;display:block;padding:12px 20px;font-weight:500;font-size:16px;line-height:1.75;text-align:center;color:#1e1e1e;transition:color .3s}.fcfTabs--small .fcfTabs__itemLink{font-size:14px}.fcfTabs--lines .fcfTabs__itemLink{padding:2px 20px;font-weight:400}.fcfTabs__itemLink:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:3px;background-color:#0073aa;transition:width .3s}.fcfTabs--lines .fcfTabs__itemLink:after{display:none}.fcfTabs__itemLink[class*=icon-]{padding:12px 15px 12px 41px}.fcfTabs__itemLink[class*=icon-]:before{position:absolute;top:calc(50% - 8px);left:15px;font-size:16px;line-height:1;color:rgba(30,30,30,.5);transition:color .3s}.fcfTabs__itemLink:hover,.fcfTabs__itemLink:hover:before{color:#0073aa}.fcfTabs__itemLink--active{pointer-events:none}.fcfTabs__itemLink--active:after{width:100%}.fcfTabs--lines .fcfTabs__itemLink--active{font-weight:500;color:#0073aa}.fcfTooltip{cursor:default}.fcfTooltip__outer{bottom:calc(100% + 10px);z-index:10000}.fcfTooltip__outer,.fcfTooltip__outer:before{position:absolute;left:50%;transform:translateX(-50%)}.fcfTooltip__outer:before{content:"";top:100%;width:0;height:0;border-color:#1e1e1e transparent transparent;border-style:solid;border-width:5px 5px 0}.fcfTooltip__inner{width:400px;max-width:calc(100vw - 40px);background-color:#1e1e1e}.fcfTooltip__text{padding:5px 10px;font-weight:400;font-size:14px;line-height:1.4285714286;color:#fff;text-align:center}.fcfTooltip__buttons{display:flex;justify-content:center;padding:5px}.fcfTooltip__button{padding:5px}.fcfWidget+.fcfWidget{margin-top:30px}.fcfWidget__inner{background-color:#fff;border:1px solid #e2e4e7;border-radius:3px}.fcfWidget__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e4e7}.fcfWidget__headerTitle{padding:12px 20px;font-weight:400;font-size:20px;line-height:1.75;color:#1e1e1e}.fcfWidget__headerButtons{padding:0 10px}.fcfWidget__contentPlaceholder{padding:12px 20px;font-weight:500;font-size:14px;line-height:1.8571428571;color:#1e1e1e;text-align:center}.fcfWidget__footer{padding:10px;border-top:1px solid #f0f0f0}.fcfWidget__buttons{display:flex;flex-wrap:wrap;justify-content:space-between}.fcfWidget__button{position:relative;min-width:250px;padding:10px}.fcfWidget__buttonIcon{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.fcfWidget__buttonIcon:first-child{right:calc(100% + 10px)}.fcfWidget__buttonIcon:last-child{left:calc(100% + 10px)}.fcfWidget__buttonIconInner:before{display:block;font-size:20px;line-height:1}.fcfWidget__buttonIcon--loading .fcfWidget__buttonIconInner:before{color:#1e1e1e;animation:rotate 1s ease-out infinite;content:"\E925"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfWidget__buttonIcon--success .fcfWidget__buttonIconInner:before{color:#46b450;content:"\E907"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fcfWidget__buttonIcon--error .fcfWidget__buttonIconInner:before{color:#dc3232;content:"\E926"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reactSelect__control{min-height:42px!important;background:none!important;border:1px solid #e2e4e7!important;border-radius:0!important;box-shadow:none!important}.reactSelect__indicators{position:relative;width:42px;border-left:1px solid #e2e4e7!important}.reactSelect__indicators:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6px;line-height:1;color:#1e1e1e;content:"\E903"!important}.reactSelect__control--menu-is-open .reactSelect__indicators:after,.reactSelect__indicators:after{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reactSelect__control--menu-is-open .reactSelect__indicators:after{content:"\E906"!important}.reactSelect__indicators *{display:none!important}.reactSelect__value-container{padding:4px 10px!important}.reactSelect__input input{margin:0 2px!important;min-height:0!important;font-size:14px!important;line-height:1.5714285714!important;color:#1e1e1e!important;box-shadow:none!important}.reactSelect__single-value{max-width:calc(100% - 20px)!important}.reactSelect__multi-value{border-radius:0!important;background-color:#e2e4e7!important}.reactSelect__multi-value__label{padding:2px 0 2px 10px!important;font-size:12px!important;line-height:2!important;color:#1e1e1e!important}.reactSelect__multi-value__remove{position:relative;width:30px;background:none!important;cursor:pointer}.reactSelect__multi-value__remove:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;line-height:1;color:#1e1e1e;transition:color .3s;content:"\E91E"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reactSelect__multi-value__remove:hover:after{color:#dc3232}.reactSelect__multi-value__remove *{display:none!important}.reactSelect__menu{margin:0!important;border-radius:0!important;box-shadow:none!important;z-index:10!important}.reactSelect__menu-notice{padding:7px 10px!important;font-size:14px!important;line-height:1.8571428571!important;color:#fff!important;background-color:#1e1e1e!important}.reactSelect__menu-list{padding:0!important}.reactSelect__option{position:relative;padding:7px 10px!important;font-size:14px!important;line-height:1.8571428571!important;color:#fff!important;border:1px solid #1e1e1e;background-color:#1e1e1e!important;cursor:pointer!important;transition:background-color .3s}.reactSelect__option+.reactSelect__option{margin-top:-1px;border-top:1px solid hsla(0,0%,100%,.25)}.reactSelect__option--is-focused{background-color:#0073aa!important}.reactSelect__option--is-selected{padding-right:42px!important;background-color:#1e1e1e!important;cursor:auto!important}.reactSelect__option--is-selected:before{position:absolute;top:50%;right:0;width:42px;transform:translateY(-50%);font-size:16px;line-height:1;text-align:center;color:#46b450;content:"\E907"!important;font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:1366px){.fcfSettings__column{width:100%}.fcfSettings__column+.fcfSettings__column{margin-top:10px}.fcfFields__items{padding:0}}@media (max-width:768px){.fcfOptions__columns{display:block}}@media (max-width:600px){.fcfFields__itemHeaderInner{display:block}.fcfFields__itemHeaderDesc{margin-top:-20px}.fcfOptions__boxesItem{width:100%}.fcfWidget__header{display:block}.fcfWidget__button{width:100%;padding:10px 40px}.fcfWidget__buttonIcon:first-child{right:0}.fcfWidget__buttonIcon:last-child{left:0}}@media (max-width:1024px),(min-width:1367px) and (max-width:1600px){.fcfOptions__row--sub{padding-left:0}.fcfOptions__columns--button{padding-right:35px}.fcfOptions__column{min-width:50%}}
|
assets/fonts/icons/icomoon.eot
ADDED
Binary file
|
assets/fonts/icons/icomoon.svg
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Generated by IcoMoon</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="icomoon" horiz-adv-x="1024">
|
7 |
+
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
+
<missing-glyph horiz-adv-x="1024" />
|
9 |
+
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
+
<glyph unicode="" glyph-name="align-left" d="M29.248 228.576h599.552c16.224 0 29.248 13.024 29.248 29.248 0 0 0 0 0 0v87.552c0 16.224-13.024 29.248-29.248 29.248 0 0 0 0 0 0h-599.552c-16.224 0.224-29.248-12.8-29.248-29.024 0 0 0 0 0 0v-87.552c0-16.448 13.024-29.472 29.248-29.472 0 0 0 0 0 0zM29.248 813.728h599.552c16.224 0 29.248 13.024 29.248 29.248 0 0 0 0 0 0v87.776c0.224 16.224-12.8 29.248-29.024 29.248 0 0 0 0 0 0h-599.776c-16.224 0-29.248-13.024-29.248-29.248 0 0 0 0 0 0v-87.552c0-16.448 13.024-29.472 29.248-29.472 0 0 0 0 0 0zM987.424 667.424h-950.848c-20.128 0-36.576-16.448-36.576-36.576v-73.152c0-20.128 16.448-36.576 36.576-36.576h950.848c20.128 0 36.576 16.448 36.576 36.576v73.152c0 20.128-16.448 36.576-36.576 36.576zM987.424 82.272h-950.848c-20.128 0-36.576-16.448-36.576-36.576v-73.152c0-20.128 16.448-36.576 36.576-36.576h950.848c20.128 0 36.576 16.448 36.576 36.576v73.152c0 20.128-16.448 36.576-36.576 36.576z" />
|
11 |
+
<glyph unicode="" glyph-name="brush" d="M832 960h-640c-35.392 0-64-28.608-64-64v-448h768v448c0 35.392-28.608 64-64 64zM128 320c0-70.784 57.408-128 128-128h128v-128c0-70.784 57.408-128 128-128s128 57.216 128 128v128h128c70.592 0 128 57.216 128 128v64h-768v-64zM512 112c26.592 0 48-21.408 48-48s-21.6-48-48-48-48 21.6-48 48c0 26.592 21.6 48 48 48z" />
|
12 |
+
<glyph unicode="" glyph-name="calendar-alt" d="M360 384h-80c-13.184 0-24 10.784-24 24v80c0 13.184 10.816 24 24 24h80c13.184 0 24-10.816 24-24v-80c0-13.216-10.816-24-24-24zM576 408v80c0 13.184-10.784 24-24 24h-80c-13.184 0-24-10.816-24-24v-80c0-13.216 10.816-24 24-24h80c13.216 0 24 10.784 24 24zM768 408v80c0 13.184-10.784 24-24 24h-80c-13.216 0-24-10.816-24-24v-80c0-13.216 10.784-24 24-24h80c13.216 0 24 10.784 24 24zM576 216v80c0 13.216-10.784 24-24 24h-80c-13.184 0-24-10.784-24-24v-80c0-13.216 10.816-24 24-24h80c13.216 0 24 10.784 24 24zM384 216v80c0 13.216-10.816 24-24 24h-80c-13.184 0-24-10.784-24-24v-80c0-13.216 10.816-24 24-24h80c13.184 0 24 10.784 24 24zM768 216v80c0 13.216-10.784 24-24 24h-80c-13.216 0-24-10.784-24-24v-80c0-13.216 10.784-24 24-24h80c13.216 0 24 10.784 24 24zM960 736v-704c0-52.992-43.008-96-96-96h-704c-52.992 0-96 43.008-96 96v704c0 52.992 43.008 96 96 96h96v104c0 13.184 10.816 24 24 24h80c13.184 0 24-10.816 24-24v-104h256v104c0 13.184 10.784 24 24 24h80c13.216 0 24-10.816 24-24v-104h96c52.992 0 96-43.008 96-96zM864 44v596h-704v-596c0-6.592 5.408-12 12-12h680c6.592 0 12 5.408 12 12z" />
|
13 |
+
<glyph unicode="" glyph-name="caret-down" horiz-adv-x="1806" d="M121.471 960h1562.724c108.109 0 162.164-130.581 85.637-207.108l-781.058-781.665c-47.374-47.374-124.508-47.374-171.881 0l-781.058 781.665c-76.527 76.527-22.472 207.108 85.637 207.108z" />
|
14 |
+
<glyph unicode="" glyph-name="caret-left" horiz-adv-x="581" d="M580.863 891.137v-885.929c0-61.289-74.028-91.933-117.412-48.549l-443.137 442.792c-26.857 26.857-26.857 70.585 0 97.442l442.792 442.792c43.384 43.384 117.757 12.74 117.757-48.549z" />
|
15 |
+
<glyph unicode="" glyph-name="caret-right" horiz-adv-x="581" d="M0 4.863v886.273c0 61.289 74.028 91.933 117.412 48.549l443.137-443.137c26.857-26.857 26.857-70.585 0-97.442l-443.137-442.792c-43.384-43.384-117.412-12.74-117.412 48.549z" />
|
16 |
+
<glyph unicode="" glyph-name="caret-up" horiz-adv-x="1805" d="M1683.803-64h-1562.404c-108.045 0-162.068 130.504-85.586 206.985l781.202 781.202c47.346 47.346 124.434 47.346 171.779 0l781.202-781.202c75.874-75.874 21.852-206.985-86.193-206.985v0z" />
|
17 |
+
<glyph unicode="" glyph-name="check" d="M347.8 81.2l-332.8 332.8c-20 20-20 52.4 0 72.4l72.4 72.4c20 20 52.4 20 72.4 0l224.2-224.2 480.2 480.2c20 20 52.4 20 72.4 0l72.4-72.4c20-20 20-52.4 0-72.4l-588.799-588.799c-20-20-52.4-20-72.4 0v0z" />
|
18 |
+
<glyph unicode="" glyph-name="check-square" d="M914.272 960h-804.576c-60.576 0-109.728-49.152-109.728-109.728v-804.576c0-60.576 49.152-109.728 109.728-109.728h804.576c60.576 0 109.728 49.152 109.728 109.728v804.576c0 60.576-49.152 109.728-109.728 109.728zM914.272 45.728h-804.576v804.576h804.576v-804.576zM832.224 598.176l-394.528-391.328c-10.752-10.752-28.128-10.528-38.848 0.224l-207.552 209.152c-10.752 10.752-10.528 28.128 0.224 38.848l51.872 51.424c10.752 10.752 28.128 10.528 38.848-0.224l136.672-137.824 323.2 320.448c10.752 10.752 28.128 10.528 38.848-0.224l51.424-51.872c10.752-10.528 10.528-27.872-0.224-38.624v0z" />
|
19 |
+
<glyph unicode="" glyph-name="clock" d="M512 960c-282.848 0-512-229.152-512-512s229.152-512 512-512 512 229.152 512 512-229.152 512-512 512zM512 35.104c-228.128 0-412.896 184.768-412.896 412.896s184.768 412.896 412.896 412.896 412.896-184.768 412.896-412.896-184.768-412.896-412.896-412.896zM639.584 250.624l-175.264 127.392c-6.4 4.736-10.112 12.192-10.112 20.032v339.008c0 13.632 11.136 24.768 24.768 24.768h66.080c13.632 0 24.768-11.136 24.768-24.768v-292.544l137.92-100.32c11.136-8.064 13.408-23.52 5.376-34.688l-38.816-53.472c-8.064-10.944-23.52-13.408-34.688-5.376v0z" />
|
20 |
+
<glyph unicode="" glyph-name="code" d="M446.24 39.264l-97.6 28.32c-10.24 2.88-16 13.6-13.12 23.84l218.368 752.256c2.88 10.24 13.6 16 23.84 13.12l97.6-28.32c10.24-2.88 16-13.6 13.12-23.84l-218.368-752.256c-3.040-10.24-13.6-16.16-23.84-13.12zM263.872 218.752l69.6 74.24c7.36 7.84 6.88 20.32-1.28 27.52l-144.96 127.52 144.96 127.52c8.16 7.2 8.8 19.68 1.28 27.52l-69.6 74.24c-7.2 7.68-19.36 8.16-27.2 0.8l-230.528-215.968c-8.16-7.52-8.16-20.48 0-28l230.528-216.128c7.84-7.36 20-7.040 27.2 0.8v0zM787.328 217.792l230.528 216.128c8.16 7.52 8.16 20.48 0 28l-230.528 216.288c-7.68 7.2-19.84 6.88-27.2-0.8l-69.6-74.24c-7.36-7.84-6.88-20.32 1.28-27.52l144.96-127.68-144.96-127.52c-8.16-7.2-8.8-19.68-1.28-27.52l69.6-74.24c7.2-7.84 19.36-8.16 27.2-0.96v0z" />
|
21 |
+
<glyph unicode="" glyph-name="cog" d="M989.6 324.96l-87.936 50.784c8.864 47.904 8.864 97.024 0 144.928l87.936 50.784c10.112 5.792 14.656 17.76 11.36 28.896-22.912 73.504-61.92 139.968-112.928 195.296-7.84 8.48-20.64 10.528-30.56 4.736l-87.936-50.784c-36.96 31.808-79.488 56.352-125.536 72.48v101.376c0 11.552-8.064 21.664-19.392 24.16-75.776 16.928-153.408 16.096-225.44 0-11.36-2.464-19.392-12.608-19.392-24.16v-101.568c-45.824-16.32-88.352-40.864-125.536-72.48l-87.744 50.784c-10.112 5.792-22.72 3.936-30.56-4.736-51.008-55.136-90.016-121.6-112.928-195.296-3.52-11.136 1.248-23.136 11.36-28.896l87.936-50.784c-8.864-47.904-8.864-97.024 0-144.928l-87.936-50.784c-10.112-5.792-14.656-17.76-11.36-28.896 22.912-73.504 61.92-139.968 112.928-195.296 7.84-8.48 20.64-10.528 30.56-4.736l87.936 50.784c36.96-31.808 79.488-56.352 125.536-72.48v-101.568c0-11.552 8.064-21.664 19.392-24.16 75.776-16.928 153.408-16.096 225.44 0 11.36 2.464 19.392 12.608 19.392 24.16v101.568c45.824 16.32 88.352 40.864 125.536 72.48l87.936-50.784c10.112-5.792 22.72-3.936 30.56 4.736 51.008 55.136 90.016 121.6 112.928 195.296 3.104 11.36-1.44 23.328-11.552 29.12zM511.872 283.040c-91.040 0-165.152 74.112-165.152 165.152s74.112 165.152 165.152 165.152 165.152-74.112 165.152-165.152-74.112-165.152-165.152-165.152z" />
|
22 |
+
<glyph unicode="" glyph-name="cogs" d="M819.456 550.816l-13.12-22.88c-4.8-8.48-15.040-12-24.16-8.64-18.88 7.040-36.16 17.12-51.36 29.76-7.36 6.080-9.28 16.8-4.48 25.12l13.12 22.88c-11.040 12.8-19.68 27.68-25.44 43.84h-26.4c-9.6 0-17.92 6.88-19.52 16.48-3.2 19.2-3.36 39.36 0 59.36 1.6 9.6 9.92 16.64 19.52 16.64h26.4c5.76 16.16 14.4 31.040 25.44 43.84l-13.12 22.88c-4.8 8.32-3.040 19.040 4.48 25.12 15.2 12.64 32.64 22.72 51.36 29.76 9.12 3.36 19.36-0.16 24.16-8.64l13.12-22.88c16.8 3.040 33.92 3.040 50.72 0l13.12 22.88c4.8 8.48 15.040 12 24.16 8.64 18.88-7.040 36.16-17.12 51.36-29.76 7.36-6.080 9.28-16.8 4.48-25.12l-13.12-22.88c11.040-12.8 19.68-27.68 25.44-43.84h26.4c9.6 0 17.92-6.88 19.52-16.48 3.2-19.2 3.36-39.36 0-59.36-1.6-9.6-9.92-16.64-19.52-16.64h-26.4c-5.76-16.16-14.4-31.040-25.44-43.84l13.12-22.88c4.8-8.32 3.040-19.040-4.48-25.12-15.2-12.64-32.64-22.72-51.36-29.76-9.12-3.36-19.36 0.16-24.16 8.64l-13.12 22.88c-16.64-3.040-33.92-3.040-50.72 0zM802.656 644.896c61.6-47.36 131.84 22.88 84.48 84.48-61.6 47.52-131.84-22.88-84.48-84.48zM618.144 398.624l53.92-26.88c16.16-9.28 23.2-28.96 16.8-46.56-14.24-38.72-42.24-74.24-68.16-105.28-11.84-14.24-32.32-17.76-48.48-8.48l-46.56 26.88c-25.6-21.92-55.36-39.36-87.84-50.72v-53.76c0-18.56-13.28-34.56-31.52-37.76-39.36-6.72-80.64-7.040-121.44 0-18.4 3.2-32 19.040-32 37.76v53.76c-32.48 11.52-62.24 28.8-87.84 50.72l-46.56-26.72c-16-9.28-36.64-5.76-48.48 8.48-25.92 31.040-53.28 66.56-67.52 105.12-6.4 17.44 0.64 37.12 16.8 46.56l53.28 26.88c-6.24 33.44-6.24 67.84 0 101.44l-53.28 27.040c-16.16 9.28-23.36 28.96-16.8 46.4 14.24 38.72 41.6 74.24 67.52 105.28 11.84 14.24 32.32 17.76 48.48 8.48l46.56-26.88c25.6 21.92 55.36 39.36 87.84 50.72v53.92c0 18.4 13.12 34.4 31.36 37.6 39.36 6.72 80.8 7.040 121.6 0.16 18.4-3.2 32-19.040 32-37.76v-53.76c32.48-11.52 62.24-28.8 87.84-50.72l46.56 26.88c16 9.28 36.64 5.76 48.48-8.48 25.92-31.040 53.12-66.56 67.36-105.28 6.4-17.44 0.16-37.12-16-46.56l-53.92-26.88c6.24-33.6 6.24-68 0-101.6zM429.984 364.864c94.72 123.2-45.92 263.872-169.12 169.12-94.72-123.2 45.92-263.872 169.12-169.12zM819.456 72.544l-13.12-22.88c-4.8-8.48-15.040-12-24.16-8.64-18.88 7.040-36.16 17.12-51.36 29.76-7.36 6.080-9.28 16.8-4.48 25.12l13.12 22.88c-11.040 12.8-19.68 27.68-25.44 43.84h-26.4c-9.6 0-17.92 6.88-19.52 16.48-3.2 19.2-3.36 39.36 0 59.36 1.6 9.6 9.92 16.64 19.52 16.64h26.4c5.76 16.16 14.4 31.040 25.44 43.84l-13.12 22.88c-4.8 8.32-3.040 19.040 4.48 25.12 15.2 12.64 32.64 22.72 51.36 29.76 9.12 3.36 19.36-0.16 24.16-8.64l13.12-22.88c16.8 3.040 33.92 3.040 50.72 0l13.12 22.88c4.8 8.48 15.040 12 24.16 8.64 18.88-7.040 36.16-17.12 51.36-29.76 7.36-6.080 9.28-16.8 4.48-25.12l-13.12-22.88c11.040-12.8 19.68-27.68 25.44-43.84h26.4c9.6 0 17.92-6.88 19.52-16.48 3.2-19.2 3.36-39.36 0-59.36-1.6-9.6-9.92-16.64-19.52-16.64h-26.4c-5.76-16.16-14.4-31.040-25.44-43.84l13.12-22.88c4.8-8.32 3.040-19.040-4.48-25.12-15.2-12.64-32.64-22.72-51.36-29.76-9.12-3.36-19.36 0.16-24.16 8.64l-13.12 22.88c-16.64-3.040-33.92-3.040-50.72 0zM802.656 166.784c61.6-47.36 131.84 22.88 84.48 84.48-61.6 47.36-131.84-22.88-84.48-84.48v0z" />
|
23 |
+
<glyph unicode="" glyph-name="dollar-sign" d="M642.4 493.184l-216 63.2c-24.992 7.2-42.4 30.592-42.4 56.608 0 32.608 26.4 59.008 59.008 59.008h132.608c24.384 0 48.384-7.392 68.384-20.992 12.192-8.192 28.608-6.208 39.008 4l69.6 68c14.208 13.792 12.192 36.8-3.616 48.992-48.992 38.4-110.208 59.808-172.992 60v96c0 17.6-14.4 32-32 32h-64c-17.6 0-32-14.4-32-32v-96h-4.992c-127.392 0-229.792-109.408-218.016-239.2 8.416-92.192 78.816-167.2 167.616-193.184l204.992-60c24.992-7.392 42.4-30.592 42.4-56.608 0-32.608-26.4-59.008-59.008-59.008h-132.608c-24.384 0-48.384 7.392-68.384 20.992-12.192 8.192-28.608 6.208-39.008-4l-69.6-68c-14.208-13.792-12.192-36.8 3.616-48.992 48.992-38.4 110.208-59.808 172.992-60v-96c0-17.6 14.4-32 32-32h64c17.6 0 32 14.4 32 32v96.384c93.216 1.792 180.608 57.216 211.392 145.408 43.008 123.2-29.216 249.6-144.992 283.392v0z" />
|
24 |
+
<glyph unicode="" glyph-name="ellipsis-v" d="M637.568 61.568c0-69.344-56.224-125.568-125.568-125.568s-125.568 56.224-125.568 125.568c0 69.344 56.224 125.568 125.568 125.568s125.568-56.224 125.568-125.568zM637.568 447.872c0-69.344-56.224-125.568-125.568-125.568s-125.568 56.224-125.568 125.568c0 69.344 56.224 125.568 125.568 125.568s125.568-56.224 125.568-125.568zM637.568 834.432c0-69.344-56.224-125.568-125.568-125.568s-125.568 56.224-125.568 125.568c0 69.344 56.224 125.568 125.568 125.568s125.568-56.224 125.568-125.568z" />
|
25 |
+
<glyph unicode="" glyph-name="exchange-alt" d="M271.904 911.712v-719.52h95.936c42.912 0 63.968-51.968 34.112-82.080l-159.904-159.904c-18.912-18.912-49.312-18.912-67.68 0l-159.904 159.904c-30.368 30.368-9.056 82.080 33.568 82.080h95.936v719.52c0 26.656 21.6 47.968 47.968 47.968h31.968c26.368 0 47.968-21.312 47.968-47.968v0zM799.84-63.68h31.968c26.656 0 47.968 21.312 47.968 47.968v719.52h95.936c42.912 0 63.968 51.712 34.112 82.080l-159.904 159.904c-18.656 18.912-49.024 18.912-67.68 0l-159.904-159.904c-30.368-30.368-8.8-82.080 33.568-82.080h95.936v-719.52c0-26.656 21.6-47.968 47.968-47.968v0z" />
|
26 |
+
<glyph unicode="" glyph-name="eye" d="M511.936 647.136c-18.848-0.352-37.504-3.2-55.456-8.896 8.352-14.592 12.8-31.104 12.8-48 0-54.944-44.64-99.552-99.552-99.552-16.896 0.192-33.408 4.608-48 12.8-30.4-105.248 30.4-215.488 135.84-245.696 105.44-30.4 215.488 30.4 245.888 135.84s-30.4 215.488-135.84 245.888c-18.144 5.152-36.8 7.648-55.648 7.648zM1017.728 473.952c-96.352 188.096-287.296 315.392-505.792 315.392s-409.44-127.296-505.792-315.392c-8.192-16.352-8.192-35.552 0-51.904 96.352-188.096 287.296-315.392 505.792-315.392s409.44 127.296 505.792 315.392c8.352 16.352 8.352 35.552 0 51.904zM511.936 192c-175.296 0-336.192 97.792-422.944 256 86.752 158.24 247.488 256 422.944 256s336.192-97.792 422.944-256c-86.752-158.24-247.488-256-422.944-256z" />
|
27 |
+
<glyph unicode="" glyph-name="font" d="M987.424 82.272h-53.472l-298.752 828.128c-10.048 29.728-37.952 49.6-69.248 49.6h-107.872c-31.328 0-59.2-19.872-69.248-49.6l-298.752-828.128h-53.472c-20.128 0-36.576-16.448-36.576-36.576v-73.152c0-20.128 16.448-36.576 36.576-36.576h292.576c20.128 0 36.576 16.448 36.576 36.576v73.152c0 20.128-16.448 36.576-36.576 36.576h-44.8l53.248 146.272h348.8l53.248-146.272h-44.8c-20.128 0-36.576-16.448-36.576-36.576v-73.152c0-20.128 16.448-36.576 36.576-36.576h292.576c20.128 0 36.576 16.448 36.576 36.576v73.152c0 20.128-16.448 36.576-36.576 36.576zM404.352 411.424l107.648 296 107.648-296h-215.328z" />
|
28 |
+
<glyph unicode="" glyph-name="heading" d="M921.6 789.344v-682.656h68.256c18.784 0 34.144-15.36 34.144-34.144v-68.256c0-18.784-15.36-34.144-34.144-34.144h-341.344c-18.784 0-34.144 15.36-34.144 34.144v68.256c0 18.784 15.36 34.144 34.144 34.144h68.256v273.056h-409.6v-273.056h68.256c18.784 0 34.144-15.36 34.144-34.144v-68.256c0-18.784-15.36-34.144-34.144-34.144h-341.344c-18.784 0-34.144 15.36-34.144 34.144v68.256c0 18.784 15.36 34.144 34.144 34.144h68.256v682.656h-68.256c-18.784 0-34.144 15.36-34.144 34.144v68.256c0 18.784 15.36 34.144 34.144 34.144h341.344c18.784 0 34.144-15.36 34.144-34.144v-68.256c0-18.784-15.36-34.144-34.144-34.144h-68.256v-273.056h409.6v273.056h-68.256c-18.784 0-34.144 15.36-34.144 34.144v68.256c0 18.784 15.36 34.144 34.144 34.144h341.344c18.784 0 34.144-15.36 34.144-34.144v-68.256c0-18.784-15.36-34.144-34.144-34.144h-68.256z" />
|
29 |
+
<glyph unicode="" glyph-name="list-ul" d="M96 864c-52.992 0-96-43.008-96-96s43.008-96 96-96 96 43.008 96 96-43.008 96-96 96zM96 544c-52.992 0-96-43.008-96-96s43.008-96 96-96 96 43.008 96 96-43.008 96-96 96zM96 224c-52.992 0-96-43.008-96-96s43.008-96 96-96 96 43.008 96 96-43.008 96-96 96zM992 192h-640c-17.6 0-32-14.4-32-32v-64c0-17.6 14.4-32 32-32h640c17.6 0 32 14.4 32 32v64c0 17.6-14.4 32-32 32zM992 832h-640c-17.6 0-32-14.4-32-32v-64c0-17.6 14.4-32 32-32h640c17.6 0 32 14.4 32 32v64c0 17.6-14.4 32-32 32zM992 512h-640c-17.6 0-32-14.4-32-32v-64c0-17.6 14.4-32 32-32h640c17.6 0 32 14.4 32 32v64c0 17.6-14.4 32-32 32z" />
|
30 |
+
<glyph unicode="" glyph-name="long-arrow-alt-down" horiz-adv-x="503" d="M343.086 242.514v690.057c0 15.086-12.343 27.429-27.429 27.429h-128c-15.086 0-27.429-12.343-27.429-27.429v-690.057h-105.371c-48.914 0-73.371-59.2-38.857-93.714l196.8-196.8c21.486-21.486 56.229-21.486 77.486 0l196.8 196.8c34.514 34.514 10.057 93.714-38.857 93.714h-105.143z" />
|
31 |
+
<glyph unicode="" glyph-name="long-arrow-alt-left" horiz-adv-x="2083" d="M623.608 261.987h1403.931c30.692 0 55.804 25.112 55.804 55.804v260.418c0 30.692-25.112 55.804-55.804 55.804h-1403.931v214.38c0 99.517-120.443 149.275-190.663 79.055l-400.392-400.392c-43.713-43.713-43.713-114.398 0-157.646l400.392-400.392c70.22-70.22 190.663-20.461 190.663 79.055v213.915z" />
|
32 |
+
<glyph unicode="" glyph-name="long-arrow-alt-right" horiz-adv-x="2083" d="M1459.735 634.013h-1403.931c-30.692 0-55.804-25.112-55.804-55.804v-260.418c0-30.692 25.112-55.804 55.804-55.804h1403.931v-214.38c0-99.517 120.443-149.275 190.663-79.055l400.392 400.392c43.713 43.713 43.713 114.398 0 157.646l-400.392 400.392c-70.22 70.22-190.663 20.461-190.663-79.055v-213.915z" />
|
33 |
+
<glyph unicode="" glyph-name="long-arrow-alt-up" horiz-adv-x="503" d="M160.229 653.486v-690.057c0-15.086 12.343-27.429 27.429-27.429h128c15.086 0 27.429 12.343 27.429 27.429v690.057h105.371c48.914 0 73.371 59.2 38.857 93.714l-196.8 196.8c-21.486 21.486-56.229 21.486-77.486 0l-196.8-196.8c-34.514-34.514-10.057-93.714 38.857-93.714h105.143z" />
|
34 |
+
<glyph unicode="" glyph-name="magic" d="M448 768.032l32 64 64 32-64 32-32 64-32-64-64-32 64-32 32-64zM160.064 640.064l53.376 106.592 106.592 53.376-106.592 53.376-53.376 106.592-53.376-106.592-106.592-53.376 106.592-53.376 53.376-106.592zM863.936 384.096l-53.376-106.592-106.592-53.376 106.592-53.376 53.376-106.592 53.376 106.592 106.592 53.376-106.592 53.376-53.376 106.592zM1005.12 771.648l-169.568 169.568c-12.608 12.608-28.992 18.784-45.376 18.784s-32.8-6.208-45.184-18.784l-726.048-726.048c-24.992-24.992-24.992-65.6 0-90.592l169.568-169.76c12.608-12.608 28.8-18.784 45.184-18.784s32.8 6.208 45.184 18.784l726.048 726.048c25.184 25.184 25.184 65.792 0.192 90.784zM718.976 553.088l-101.792 101.792 172.96 173.152 101.792-101.792-172.96-173.152z" />
|
35 |
+
<glyph unicode="" glyph-name="palette" d="M408.576 949.92c-198.816-38.816-359.008-198.592-398.208-396.8-74.016-374.016 263.392-652.8 517.6-613.408 82.4 12.8 122.816 109.216 84.992 183.392-46.208 90.816 19.808 196.8 121.792 196.8h159.392c71.616 0 129.6 59.2 129.792 130.592-0.992 315.2-287.808 563.2-615.424 499.424zM191.968 319.904c-35.392 0-64 28.608-64 64s28.608 64 64 64 64-28.608 64-64-28.608-64-64-64zM256 575.936c-35.392 0-64 28.608-64 64s28.608 64 64 64 64-28.608 64-64-28.608-64-64-64zM512 703.936c-35.392 0-64 28.608-64 64s28.608 64 64 64 64-28.608 64-64-28.608-64-64-64zM768 575.936c-35.392 0-64 28.608-64 64s28.608 64 64 64 64-28.608 64-64-28.608-64-64-64z" />
|
36 |
+
<glyph unicode="" glyph-name="plus" d="M950.857 557.714h-329.143v329.143c0 40.457-32.686 73.143-73.143 73.143h-73.143c-40.457 0-73.143-32.686-73.143-73.143v-329.143h-329.143c-40.457 0-73.143-32.686-73.143-73.143v-73.143c0-40.457 32.686-73.143 73.143-73.143h329.143v-329.143c0-40.457 32.686-73.143 73.143-73.143h73.143c40.457 0 73.143 32.686 73.143 73.143v329.143h329.143c40.457 0 73.143 32.686 73.143 73.143v73.143c0 40.457-32.686 73.143-73.143 73.143z" />
|
37 |
+
<glyph unicode="" glyph-name="question-circle" d="M512 960c-282.848 0-512-229.376-512-512 0-282.848 229.152-512 512-512s512 229.152 512 512c0 282.624-229.152 512-512 512zM512 35.104c-228.128 0-412.896 184.576-412.896 412.896 0 228.128 184.768 412.896 412.896 412.896s412.896-184.768 412.896-412.896c0-228.128-184.576-412.896-412.896-412.896zM733.312 561.952c0-138.528-149.472-140.608-149.472-191.808v-12.992c0-13.632-11.136-24.768-24.768-24.768h-94.144c-13.632 0-24.768 11.136-24.768 24.768v17.952c0 73.696 55.936 103.232 98.272 126.976 36.32 20.224 58.432 34.080 58.432 61.12 0 35.52-45.408 59.264-82.176 59.264-47.904 0-69.984-22.72-100.96-61.92-8.48-10.528-23.744-12.608-34.464-4.32l-57.408 43.552c-10.528 8.064-12.992 22.912-5.376 33.856 48.736 71.648 110.88 111.904 207.68 111.904 101.152-0.192 209.12-79.264 209.12-183.52zM598.72 216.768c0-47.904-38.816-86.72-86.72-86.72s-86.72 38.816-86.72 86.72 38.816 86.72 86.72 86.72 86.72-38.816 86.72-86.72z" />
|
38 |
+
<glyph unicode="" glyph-name="tasks-alt" d="M278.4 889.6c-9.6 9.6-22.4 9.6-32 0v0l-128-128-44.8 44.8c-9.6 9.6-25.6 9.6-35.2 0v0l-32-32c-9.6-9.6-9.6-25.6 0-35.2v0l96-96c9.6-9.6 25.6-9.6 35.2 0l176 176c9.6 9.6 9.6 25.6 0 35.2l-35.2 35.2zM992 192h-576c-19.2 0-32-16-32-32v-64c0-16 12.8-32 32-32h576c16 0 32 16 32 32v64c0 19.2-16 32-32 32zM992 832h-576c-19.2 0-32-16-32-32v-64c0-19.2 12.8-32 32-32h576c16 0 32 12.8 32 32v64c0 19.2-16 32-32 32zM992 512h-576c-19.2 0-32-12.8-32-32v-64c0-16 12.8-32 32-32h576c16 0 32 16 32 32v64c0 19.2-16 32-32 32z" />
|
39 |
+
<glyph unicode="" glyph-name="tasks" d="M279.232 889.568c-9.408 9.408-24.608 9.408-33.984 0 0 0 0 0 0 0l-127.392-126.592-45.408 44.192c-9.408 9.408-24.608 9.408-33.984 0 0 0 0 0 0 0l-31.392-31.392c-9.408-9.408-9.408-24.608 0-33.984 0 0 0 0 0 0l95.2-94.784c9.792-9.408 25.408-9.408 35.2 0l175.584 175.584c9.408 9.408 9.408 24.608 0.192 33.984l-33.984 32.992zM279.232 571.2c-9.408 9.408-24.608 9.408-33.984 0 0 0 0 0 0 0l-127.392-127.392-45.408 44.192c-9.408 9.408-24.608 9.408-33.984 0 0 0 0 0 0 0l-31.392-31.392c-9.408-9.408-9.408-24.608 0-33.984 0 0 0 0 0 0l95.008-95.008c9.792-9.408 25.408-9.408 35.2 0l175.776 175.808c9.408 9.408 9.408 24.384 0.192 33.792l-33.984 33.984zM992 192.608h-575.968c-17.6 0-32-14.4-32-32v-64c0-17.6 14.4-32 32-32h575.968c17.6 0 32 14.4 32 32v64c0 17.6-14.4 32-32 32zM992 832.576h-575.968c-17.6 0-32-14.4-32-32v-64c0-17.6 14.4-32 32-32h575.968c17.6 0 32 14.4 32 32v64c0 17.6-14.4 32-32 32zM992 512.608h-575.968c-17.6 0-32-14.4-32-32v-64c0-17.6 14.4-32 32-32h575.968c17.6 0 32 14.4 32 32v64c0 17.6-14.4 32-32 32zM279.232 250.016c-9.408 9.408-24.608 9.408-33.984 0 0 0 0 0 0 0l-127.392-127.392-45.408 44.192c-9.408 9.408-24.608 9.408-33.984 0 0 0 0 0 0 0l-31.392-31.392c-9.408-9.408-9.408-24.608 0-33.984 0 0 0 0 0 0l95.008-95.008c9.792-9.408 25.408-9.408 35.2 0l175.776 175.808c9.408 9.408 9.408 24.384 0.192 33.792l-33.984 33.984z" />
|
40 |
+
<glyph unicode="" glyph-name="times" d="M706.036 448l291.2 291.2c35.782 35.782 35.782 93.673 0 129.455l-64.582 64.582c-35.782 35.782-93.673 35.782-129.455 0l-291.2-291.2-291.2 291.2c-35.491 35.782-93.673 35.782-129.164 0l-64.873-64.582c-35.782-35.782-35.782-93.673 0-129.455l291.2-291.2-291.2-291.2c-35.782-35.782-35.782-93.673 0-129.455l64.582-64.582c35.782-35.782 93.673-35.782 129.455 0l291.2 291.2 291.2-291.2c35.782-35.782 93.673-35.782 129.455 0l64.582 64.582c35.782 35.782 35.782 93.673 0 129.455l-291.2 291.2z" />
|
41 |
+
<glyph unicode="" glyph-name="upload" d="M592 192.064h-160c-26.592 0-48 21.408-48 48v336h-175.392c-35.584 0-53.408 43.008-28.192 68.192l304.192 304.384c15.008 15.008 39.584 15.008 54.592 0l304.384-304.384c25.216-25.184 7.392-68.192-28.192-68.192h-175.392v-336c0-26.592-21.408-48-48-48zM1024 208.064v-224c0-26.592-21.408-48-48-48h-928c-26.592 0-48 21.408-48 48v224c0 26.592 21.408 48 48 48h272v-16c0-61.792 50.208-112 112-112h160c61.792 0 112 50.208 112 112v16h272c26.592 0 48-21.408 48-48zM776 32.064c0 22.016-18.016 40-40 40s-40-18.016-40-40 18.016-40 40-40 40 18.016 40 40zM904 32.064c0 22.016-18.016 40-40 40s-40-18.016-40-40 18.016-40 40-40 40 18.016 40 40z" />
|
42 |
+
<glyph unicode="" glyph-name="bookmark" d="M0.267-64c0 348-0.533 637.867 0 1024h1024c0-275.2 0-675.467 0-1024l-511.467 512-512.533-512z" />
|
43 |
+
<glyph unicode="" glyph-name="heart" horiz-adv-x="1170" d="M1056.686 890.057c-125.257 106.743-311.543 87.543-426.514-31.086l-45.029-46.4-45.029 46.4c-114.743 118.629-301.257 137.829-426.514 31.086-143.543-122.514-151.086-342.4-22.629-475.2l442.286-456.686c28.571-29.486 74.971-29.486 103.543 0l442.286 456.686c128.686 132.8 121.143 352.686-22.4 475.2v0z" />
|
44 |
+
<glyph unicode="" glyph-name="star" horiz-adv-x="1070" d="M477.507 924.407l-130.574-264.748-292.143-42.592c-52.39-7.599-73.386-72.186-35.393-109.179l211.359-205.96-49.99-290.943c-8.998-52.59 46.391-91.982 92.782-67.387l261.349 137.373 261.349-137.373c46.391-24.395 101.78 14.797 92.782 67.387l-49.99 290.943 211.359 205.96c37.993 36.993 16.997 101.58-35.393 109.179l-292.143 42.592-130.574 264.748c-23.395 47.191-91.182 47.791-114.778 0v0z" />
|
45 |
+
<glyph unicode="" glyph-name="plugin-symbol" d="M142.222 391.111h-113.778c-15.644 0-28.444-12.8-28.444-28.444v-113.778c0-15.644 12.8-28.444 28.444-28.444h113.778c15.644 0 28.444 12.8 28.444 28.444v113.778c0 15.644-12.8 28.444-28.444 28.444zM142.222 960h-113.778c-15.644 0-28.444-12.8-28.444-28.444v-113.778c0-15.644 12.8-28.444 28.444-28.444h113.778c15.644 0 28.444 12.8 28.444 28.444v113.778c0 15.644-12.8 28.444-28.444 28.444zM142.222 675.556h-113.778c-15.644 0-28.444-12.8-28.444-28.444v-113.778c0-15.644 12.8-28.444 28.444-28.444h113.778c15.644 0 28.444 12.8 28.444 28.444v113.778c0 15.644-12.8 28.444-28.444 28.444zM995.556 362.667h-682.667c-15.644 0-28.444-12.8-28.444-28.444v-56.889c0-15.644 12.8-28.444 28.444-28.444h682.667c15.644 0 28.444 12.8 28.444 28.444v56.889c0 15.644-12.8 28.444-28.444 28.444zM995.556 931.556h-682.667c-15.644 0-28.444-12.8-28.444-28.444v-56.889c0-15.644 12.8-28.444 28.444-28.444h682.667c15.644 0 28.444 12.8 28.444 28.444v56.889c0 15.644-12.8 28.444-28.444 28.444zM995.556 647.111h-682.667c-15.644 0-28.444-12.8-28.444-28.444v-56.889c0-15.644 12.8-28.444 28.444-28.444h682.667c15.644 0 28.444 12.8 28.444 28.444v56.889c0 15.644-12.8 28.444-28.444 28.444zM142.222 106.667h-113.778c-15.644 0-28.444-12.8-28.444-28.444v-113.778c0-15.644 12.8-28.444 28.444-28.444h113.778c15.644 0 28.444 12.8 28.444 28.444v113.778c0 15.644-12.8 28.444-28.444 28.444zM995.556 78.222h-682.667c-15.644 0-28.444-12.8-28.444-28.444v-56.889c0-15.644 12.8-28.444 28.444-28.444h682.667c15.644 0 28.444 12.8 28.444 28.444v56.889c0 15.644-12.8 28.444-28.444 28.444z" />
|
46 |
+
<glyph unicode="" glyph-name="trash-alt" d="M599.999 128h48c13.255 0 24 10.745 24 24v0 432c0 13.255-10.745 24-24 24v0h-48c-13.255 0-24-10.745-24-24v0-432c0-13.255 10.745-24 24-24v0zM927.999 800h-164.82l-68 113.4c-17.083 28.11-47.539 46.6-82.314 46.6-0.016 0-0.032 0-0.048 0h-201.637c-0.002 0-0.004 0-0.006 0-34.775 0-65.231-18.49-82.074-46.175l-0.24-0.425-68.040-113.4h-164.82c-17.673 0-32-14.327-32-32v0-32c0-17.673 14.327-32 32-32v0h32v-672c0-53.019 42.981-96 96-96v0h576c53.019 0 96 42.981 96 96v0 672h32c17.673 0 32 14.327 32 32v0 32c0 17.673-14.327 32-32 32v0zM407.679 858.18c2.136 3.511 5.941 5.82 10.286 5.82 0.012 0 0.024 0 0.036 0h187.998c0.004 0 0.009 0 0.014 0 4.345 0 8.15-2.309 10.256-5.767l0.030-0.053 34.92-58.18h-278.44zM799.999 32h-576v672h576zM375.999 128h48c13.255 0 24 10.745 24 24v0 432c0 13.255-10.745 24-24 24v0h-48c-13.255 0-24-10.745-24-24v0-432c0-13.255 10.745-24 24-24v0z" />
|
47 |
+
<glyph unicode="" glyph-name="spinner" d="M608 864c0-53.020-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM512 128c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96zM928 544c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.98 96-96 96zM192 448c0 53.020-42.98 96-96 96s-96-42.98-96-96 42.98-96 96-96 96 42.98 96 96zM217.844 249.844c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96c0 53.018-42.982 96-96 96zM806.156 249.844c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96c0 53.018-42.98 96-96 96zM217.844 838.156c-53.020 0-96-42.98-96-96s42.98-96 96-96 96 42.98 96 96-42.982 96-96 96z" />
|
48 |
+
<glyph unicode="" glyph-name="exclamation-triangle" d="M1012.475 120.866c32.814-56.878-8.375-127.977-73.915-127.977h-853.13c-65.666 0-106.665 71.209-73.915 127.977l426.571 739.605c32.83 56.905 115.058 56.802 147.829 0l426.56-739.605zM512.001 273.778c-45.164 0-81.778-36.613-81.778-81.778s36.613-81.778 81.778-81.778 81.778 36.613 81.778 81.778-36.613 81.778-81.778 81.778zM434.36 567.726l13.188-241.778c0.617-11.314 9.972-20.171 21.301-20.171h86.304c11.33 0 20.684 8.857 21.301 20.171l13.188 241.778c0.667 12.22-9.063 22.496-21.301 22.496h-112.681c-12.238 0-21.966-10.276-21.3-22.496z" />
|
49 |
+
</font></defs></svg>
|
assets/fonts/icons/icomoon.ttf
ADDED
Binary file
|
assets/fonts/icons/icomoon.woff
ADDED
Binary file
|
assets/fonts/icons/selection.json
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M29.248 731.424h599.552c16.224 0 29.248-13.024 29.248-29.248 0 0 0 0 0 0v-87.552c0-16.224-13.024-29.248-29.248-29.248 0 0 0 0 0 0h-599.552c-16.224-0.224-29.248 12.8-29.248 29.024 0 0 0 0 0 0v87.552c0 16.448 13.024 29.472 29.248 29.472 0 0 0 0 0 0zM29.248 146.272h599.552c16.224 0 29.248-13.024 29.248-29.248 0 0 0 0 0 0v-87.776c0.224-16.224-12.8-29.248-29.024-29.248 0 0 0 0 0 0h-599.776c-16.224 0-29.248 13.024-29.248 29.248 0 0 0 0 0 0v87.552c0 16.448 13.024 29.472 29.248 29.472 0 0 0 0 0 0zM987.424 292.576h-950.848c-20.128 0-36.576 16.448-36.576 36.576v73.152c0 20.128 16.448 36.576 36.576 36.576h950.848c20.128 0 36.576-16.448 36.576-36.576v-73.152c0-20.128-16.448-36.576-36.576-36.576zM987.424 877.728h-950.848c-20.128 0-36.576 16.448-36.576 36.576v73.152c0 20.128 16.448 36.576 36.576 36.576h950.848c20.128 0 36.576-16.448 36.576-36.576v-73.152c0-20.128-16.448-36.576-36.576-36.576z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align-left"],"grid":0},"attrs":[{}],"properties":{"order":249,"id":0,"name":"align-left","prevSize":64,"code":59648},"setIdx":0,"setId":0,"iconIdx":0},{"icon":{"paths":["M0.267 1024c0-348-0.533-637.867 0-1024h1024c0 275.2 0 675.467 0 1024l-511.467-512-512.533 512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["bookmark"],"grid":0},"attrs":[{}],"properties":{"order":250,"id":1,"name":"bookmark","prevSize":64,"code":59680},"setIdx":0,"setId":0,"iconIdx":1},{"icon":{"paths":["M832 0h-640c-35.392 0-64 28.608-64 64v448h768v-448c0-35.392-28.608-64-64-64zM128 640c0 70.784 57.408 128 128 128h128v128c0 70.784 57.408 128 128 128s128-57.216 128-128v-128h128c70.592 0 128-57.216 128-128v-64h-768v64zM512 848c26.592 0 48 21.408 48 48s-21.6 48-48 48-48-21.6-48-48c0-26.592 21.6-48 48-48z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["brush"],"grid":0},"attrs":[{}],"properties":{"order":251,"id":2,"name":"brush","prevSize":64,"code":59649},"setIdx":0,"setId":0,"iconIdx":2},{"icon":{"paths":["M360 576h-80c-13.184 0-24-10.784-24-24v-80c0-13.184 10.816-24 24-24h80c13.184 0 24 10.816 24 24v80c0 13.216-10.816 24-24 24zM576 552v-80c0-13.184-10.784-24-24-24h-80c-13.184 0-24 10.816-24 24v80c0 13.216 10.816 24 24 24h80c13.216 0 24-10.784 24-24zM768 552v-80c0-13.184-10.784-24-24-24h-80c-13.216 0-24 10.816-24 24v80c0 13.216 10.784 24 24 24h80c13.216 0 24-10.784 24-24zM576 744v-80c0-13.216-10.784-24-24-24h-80c-13.184 0-24 10.784-24 24v80c0 13.216 10.816 24 24 24h80c13.216 0 24-10.784 24-24zM384 744v-80c0-13.216-10.816-24-24-24h-80c-13.184 0-24 10.784-24 24v80c0 13.216 10.816 24 24 24h80c13.184 0 24-10.784 24-24zM768 744v-80c0-13.216-10.784-24-24-24h-80c-13.216 0-24 10.784-24 24v80c0 13.216 10.784 24 24 24h80c13.216 0 24-10.784 24-24zM960 224v704c0 52.992-43.008 96-96 96h-704c-52.992 0-96-43.008-96-96v-704c0-52.992 43.008-96 96-96h96v-104c0-13.184 10.816-24 24-24h80c13.184 0 24 10.816 24 24v104h256v-104c0-13.184 10.784-24 24-24h80c13.216 0 24 10.816 24 24v104h96c52.992 0 96 43.008 96 96zM864 916v-596h-704v596c0 6.592 5.408 12 12 12h680c6.592 0 12-5.408 12-12z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["calendar-alt"],"grid":0},"attrs":[{}],"properties":{"order":252,"id":3,"name":"calendar-alt","prevSize":64,"code":59650},"setIdx":0,"setId":0,"iconIdx":3},{"icon":{"paths":["M121.471 0h1562.724c108.109 0 162.164 130.581 85.637 207.108l-781.058 781.665c-47.374 47.374-124.508 47.374-171.881 0l-781.058-781.665c-76.527-76.527-22.472-207.108 85.637-207.108z"],"width":1806,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["caret-down"],"grid":0},"attrs":[{}],"properties":{"order":253,"id":4,"name":"caret-down","prevSize":64,"code":59651},"setIdx":0,"setId":0,"iconIdx":4},{"icon":{"paths":["M580.863 68.863v885.929c0 61.289-74.028 91.933-117.412 48.549l-443.137-442.792c-26.857-26.857-26.857-70.585 0-97.442l442.792-442.792c43.384-43.384 117.757-12.74 117.757 48.549z"],"width":581,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["caret-left"],"grid":0},"attrs":[{}],"properties":{"order":254,"id":5,"name":"caret-left","prevSize":64,"code":59652},"setIdx":0,"setId":0,"iconIdx":5},{"icon":{"paths":["M0 955.137v-886.273c0-61.289 74.028-91.933 117.412-48.549l443.137 443.137c26.857 26.857 26.857 70.585 0 97.442l-443.137 442.792c-43.384 43.384-117.412 12.74-117.412-48.549z"],"width":581,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["caret-right"],"grid":0},"attrs":[{}],"properties":{"order":255,"id":6,"name":"caret-right","prevSize":64,"code":59653},"setIdx":0,"setId":0,"iconIdx":6},{"icon":{"paths":["M1683.803 1024h-1562.404c-108.045 0-162.068-130.504-85.586-206.985l781.202-781.202c47.346-47.346 124.434-47.346 171.779 0l781.202 781.202c75.874 75.874 21.852 206.985-86.193 206.985v0z"],"width":1805,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["caret-up"],"grid":0},"attrs":[{}],"properties":{"order":256,"id":7,"name":"caret-up","prevSize":64,"code":59654},"setIdx":0,"setId":0,"iconIdx":7},{"icon":{"paths":["M347.8 878.8l-332.8-332.8c-20-20-20-52.4 0-72.4l72.4-72.4c20-20 52.4-20 72.4 0l224.2 224.2 480.2-480.2c20-20 52.4-20 72.4 0l72.4 72.4c20 20 20 52.4 0 72.4l-588.799 588.799c-20 20-52.4 20-72.4 0v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["check"],"grid":0},"attrs":[{}],"properties":{"order":257,"id":8,"name":"check","prevSize":64,"code":59655},"setIdx":0,"setId":0,"iconIdx":8},{"icon":{"paths":["M914.272 0h-804.576c-60.576 0-109.728 49.152-109.728 109.728v804.576c0 60.576 49.152 109.728 109.728 109.728h804.576c60.576 0 109.728-49.152 109.728-109.728v-804.576c0-60.576-49.152-109.728-109.728-109.728zM914.272 914.272h-804.576v-804.576h804.576v804.576zM832.224 361.824l-394.528 391.328c-10.752 10.752-28.128 10.528-38.848-0.224l-207.552-209.152c-10.752-10.752-10.528-28.128 0.224-38.848l51.872-51.424c10.752-10.752 28.128-10.528 38.848 0.224l136.672 137.824 323.2-320.448c10.752-10.752 28.128-10.528 38.848 0.224l51.424 51.872c10.752 10.528 10.528 27.872-0.224 38.624v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["check-square"],"grid":0},"attrs":[{}],"properties":{"order":258,"id":9,"name":"check-square","prevSize":64,"code":59656},"setIdx":0,"setId":0,"iconIdx":9},{"icon":{"paths":["M512 0c-282.848 0-512 229.152-512 512s229.152 512 512 512 512-229.152 512-512-229.152-512-512-512zM512 924.896c-228.128 0-412.896-184.768-412.896-412.896s184.768-412.896 412.896-412.896 412.896 184.768 412.896 412.896-184.768 412.896-412.896 412.896zM639.584 709.376l-175.264-127.392c-6.4-4.736-10.112-12.192-10.112-20.032v-339.008c0-13.632 11.136-24.768 24.768-24.768h66.080c13.632 0 24.768 11.136 24.768 24.768v292.544l137.92 100.32c11.136 8.064 13.408 23.52 5.376 34.688l-38.816 53.472c-8.064 10.944-23.52 13.408-34.688 5.376v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["clock"],"grid":0},"attrs":[{}],"properties":{"order":259,"id":10,"name":"clock","prevSize":64,"code":59657},"setIdx":0,"setId":0,"iconIdx":10},{"icon":{"paths":["M446.24 920.736l-97.6-28.32c-10.24-2.88-16-13.6-13.12-23.84l218.368-752.256c2.88-10.24 13.6-16 23.84-13.12l97.6 28.32c10.24 2.88 16 13.6 13.12 23.84l-218.368 752.256c-3.040 10.24-13.6 16.16-23.84 13.12zM263.872 741.248l69.6-74.24c7.36-7.84 6.88-20.32-1.28-27.52l-144.96-127.52 144.96-127.52c8.16-7.2 8.8-19.68 1.28-27.52l-69.6-74.24c-7.2-7.68-19.36-8.16-27.2-0.8l-230.528 215.968c-8.16 7.52-8.16 20.48 0 28l230.528 216.128c7.84 7.36 20 7.040 27.2-0.8v0zM787.328 742.208l230.528-216.128c8.16-7.52 8.16-20.48 0-28l-230.528-216.288c-7.68-7.2-19.84-6.88-27.2 0.8l-69.6 74.24c-7.36 7.84-6.88 20.32 1.28 27.52l144.96 127.68-144.96 127.52c-8.16 7.2-8.8 19.68-1.28 27.52l69.6 74.24c7.2 7.84 19.36 8.16 27.2 0.96v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["code"],"grid":0},"attrs":[{}],"properties":{"order":260,"id":11,"name":"code","prevSize":64,"code":59658},"setIdx":0,"setId":0,"iconIdx":11},{"icon":{"paths":["M989.6 635.040l-87.936-50.784c8.864-47.904 8.864-97.024 0-144.928l87.936-50.784c10.112-5.792 14.656-17.76 11.36-28.896-22.912-73.504-61.92-139.968-112.928-195.296-7.84-8.48-20.64-10.528-30.56-4.736l-87.936 50.784c-36.96-31.808-79.488-56.352-125.536-72.48v-101.376c0-11.552-8.064-21.664-19.392-24.16-75.776-16.928-153.408-16.096-225.44 0-11.36 2.464-19.392 12.608-19.392 24.16v101.568c-45.824 16.32-88.352 40.864-125.536 72.48l-87.744-50.784c-10.112-5.792-22.72-3.936-30.56 4.736-51.008 55.136-90.016 121.6-112.928 195.296-3.52 11.136 1.248 23.136 11.36 28.896l87.936 50.784c-8.864 47.904-8.864 97.024 0 144.928l-87.936 50.784c-10.112 5.792-14.656 17.76-11.36 28.896 22.912 73.504 61.92 139.968 112.928 195.296 7.84 8.48 20.64 10.528 30.56 4.736l87.936-50.784c36.96 31.808 79.488 56.352 125.536 72.48v101.568c0 11.552 8.064 21.664 19.392 24.16 75.776 16.928 153.408 16.096 225.44 0 11.36-2.464 19.392-12.608 19.392-24.16v-101.568c45.824-16.32 88.352-40.864 125.536-72.48l87.936 50.784c10.112 5.792 22.72 3.936 30.56-4.736 51.008-55.136 90.016-121.6 112.928-195.296 3.104-11.36-1.44-23.328-11.552-29.12zM511.872 676.96c-91.040 0-165.152-74.112-165.152-165.152s74.112-165.152 165.152-165.152 165.152 74.112 165.152 165.152-74.112 165.152-165.152 165.152z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["cog"],"grid":0},"attrs":[{}],"properties":{"order":261,"id":12,"name":"cog","prevSize":64,"code":59659},"setIdx":0,"setId":0,"iconIdx":12},{"icon":{"paths":["M819.456 409.184l-13.12 22.88c-4.8 8.48-15.040 12-24.16 8.64-18.88-7.040-36.16-17.12-51.36-29.76-7.36-6.080-9.28-16.8-4.48-25.12l13.12-22.88c-11.040-12.8-19.68-27.68-25.44-43.84h-26.4c-9.6 0-17.92-6.88-19.52-16.48-3.2-19.2-3.36-39.36 0-59.36 1.6-9.6 9.92-16.64 19.52-16.64h26.4c5.76-16.16 14.4-31.040 25.44-43.84l-13.12-22.88c-4.8-8.32-3.040-19.040 4.48-25.12 15.2-12.64 32.64-22.72 51.36-29.76 9.12-3.36 19.36 0.16 24.16 8.64l13.12 22.88c16.8-3.040 33.92-3.040 50.72 0l13.12-22.88c4.8-8.48 15.040-12 24.16-8.64 18.88 7.040 36.16 17.12 51.36 29.76 7.36 6.080 9.28 16.8 4.48 25.12l-13.12 22.88c11.040 12.8 19.68 27.68 25.44 43.84h26.4c9.6 0 17.92 6.88 19.52 16.48 3.2 19.2 3.36 39.36 0 59.36-1.6 9.6-9.92 16.64-19.52 16.64h-26.4c-5.76 16.16-14.4 31.040-25.44 43.84l13.12 22.88c4.8 8.32 3.040 19.040-4.48 25.12-15.2 12.64-32.64 22.72-51.36 29.76-9.12 3.36-19.36-0.16-24.16-8.64l-13.12-22.88c-16.64 3.040-33.92 3.040-50.72 0zM802.656 315.104c61.6 47.36 131.84-22.88 84.48-84.48-61.6-47.52-131.84 22.88-84.48 84.48zM618.144 561.376l53.92 26.88c16.16 9.28 23.2 28.96 16.8 46.56-14.24 38.72-42.24 74.24-68.16 105.28-11.84 14.24-32.32 17.76-48.48 8.48l-46.56-26.88c-25.6 21.92-55.36 39.36-87.84 50.72v53.76c0 18.56-13.28 34.56-31.52 37.76-39.36 6.72-80.64 7.040-121.44 0-18.4-3.2-32-19.040-32-37.76v-53.76c-32.48-11.52-62.24-28.8-87.84-50.72l-46.56 26.72c-16 9.28-36.64 5.76-48.48-8.48-25.92-31.040-53.28-66.56-67.52-105.12-6.4-17.44 0.64-37.12 16.8-46.56l53.28-26.88c-6.24-33.44-6.24-67.84 0-101.44l-53.28-27.040c-16.16-9.28-23.36-28.96-16.8-46.4 14.24-38.72 41.6-74.24 67.52-105.28 11.84-14.24 32.32-17.76 48.48-8.48l46.56 26.88c25.6-21.92 55.36-39.36 87.84-50.72v-53.92c0-18.4 13.12-34.4 31.36-37.6 39.36-6.72 80.8-7.040 121.6-0.16 18.4 3.2 32 19.040 32 37.76v53.76c32.48 11.52 62.24 28.8 87.84 50.72l46.56-26.88c16-9.28 36.64-5.76 48.48 8.48 25.92 31.040 53.12 66.56 67.36 105.28 6.4 17.44 0.16 37.12-16 46.56l-53.92 26.88c6.24 33.6 6.24 68 0 101.6zM429.984 595.136c94.72-123.2-45.92-263.872-169.12-169.12-94.72 123.2 45.92 263.872 169.12 169.12zM819.456 887.456l-13.12 22.88c-4.8 8.48-15.040 12-24.16 8.64-18.88-7.040-36.16-17.12-51.36-29.76-7.36-6.080-9.28-16.8-4.48-25.12l13.12-22.88c-11.040-12.8-19.68-27.68-25.44-43.84h-26.4c-9.6 0-17.92-6.88-19.52-16.48-3.2-19.2-3.36-39.36 0-59.36 1.6-9.6 9.92-16.64 19.52-16.64h26.4c5.76-16.16 14.4-31.040 25.44-43.84l-13.12-22.88c-4.8-8.32-3.040-19.040 4.48-25.12 15.2-12.64 32.64-22.72 51.36-29.76 9.12-3.36 19.36 0.16 24.16 8.64l13.12 22.88c16.8-3.040 33.92-3.040 50.72 0l13.12-22.88c4.8-8.48 15.040-12 24.16-8.64 18.88 7.040 36.16 17.12 51.36 29.76 7.36 6.080 9.28 16.8 4.48 25.12l-13.12 22.88c11.040 12.8 19.68 27.68 25.44 43.84h26.4c9.6 0 17.92 6.88 19.52 16.48 3.2 19.2 3.36 39.36 0 59.36-1.6 9.6-9.92 16.64-19.52 16.64h-26.4c-5.76 16.16-14.4 31.040-25.44 43.84l13.12 22.88c4.8 8.32 3.040 19.040-4.48 25.12-15.2 12.64-32.64 22.72-51.36 29.76-9.12 3.36-19.36-0.16-24.16-8.64l-13.12-22.88c-16.64 3.040-33.92 3.040-50.72 0zM802.656 793.216c61.6 47.36 131.84-22.88 84.48-84.48-61.6-47.36-131.84 22.88-84.48 84.48v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["cogs"],"grid":0},"attrs":[{}],"properties":{"order":262,"id":13,"name":"cogs","prevSize":64,"code":59660},"setIdx":0,"setId":0,"iconIdx":13},{"icon":{"paths":["M642.4 466.816l-216-63.2c-24.992-7.2-42.4-30.592-42.4-56.608 0-32.608 26.4-59.008 59.008-59.008h132.608c24.384 0 48.384 7.392 68.384 20.992 12.192 8.192 28.608 6.208 39.008-4l69.6-68c14.208-13.792 12.192-36.8-3.616-48.992-48.992-38.4-110.208-59.808-172.992-60v-96c0-17.6-14.4-32-32-32h-64c-17.6 0-32 14.4-32 32v96h-4.992c-127.392 0-229.792 109.408-218.016 239.2 8.416 92.192 78.816 167.2 167.616 193.184l204.992 60c24.992 7.392 42.4 30.592 42.4 56.608 0 32.608-26.4 59.008-59.008 59.008h-132.608c-24.384 0-48.384-7.392-68.384-20.992-12.192-8.192-28.608-6.208-39.008 4l-69.6 68c-14.208 13.792-12.192 36.8 3.616 48.992 48.992 38.4 110.208 59.808 172.992 60v96c0 17.6 14.4 32 32 32h64c17.6 0 32-14.4 32-32v-96.384c93.216-1.792 180.608-57.216 211.392-145.408 43.008-123.2-29.216-249.6-144.992-283.392v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["dollar-sign"],"grid":0},"attrs":[{}],"properties":{"order":263,"id":14,"name":"dollar-sign","prevSize":64,"code":59661},"setIdx":0,"setId":0,"iconIdx":14},{"icon":{"paths":["M637.568 898.432c0 69.344-56.224 125.568-125.568 125.568s-125.568-56.224-125.568-125.568c0-69.344 56.224-125.568 125.568-125.568s125.568 56.224 125.568 125.568z","M637.568 512.128c0 69.344-56.224 125.568-125.568 125.568s-125.568-56.224-125.568-125.568c0-69.344 56.224-125.568 125.568-125.568s125.568 56.224 125.568 125.568z","M637.568 125.568c0 69.344-56.224 125.568-125.568 125.568s-125.568-56.224-125.568-125.568c0-69.344 56.224-125.568 125.568-125.568s125.568 56.224 125.568 125.568z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["ellipsis-v"],"grid":0},"attrs":[{},{},{}],"properties":{"order":264,"id":15,"name":"ellipsis-v","prevSize":64,"code":59662},"setIdx":0,"setId":0,"iconIdx":15},{"icon":{"paths":["M271.904 48.288v719.52h95.936c42.912 0 63.968 51.968 34.112 82.080l-159.904 159.904c-18.912 18.912-49.312 18.912-67.68 0l-159.904-159.904c-30.368-30.368-9.056-82.080 33.568-82.080h95.936v-719.52c0-26.656 21.6-47.968 47.968-47.968h31.968c26.368 0 47.968 21.312 47.968 47.968v0zM799.84 1023.68h31.968c26.656 0 47.968-21.312 47.968-47.968v-719.52h95.936c42.912 0 63.968-51.712 34.112-82.080l-159.904-159.904c-18.656-18.912-49.024-18.912-67.68 0l-159.904 159.904c-30.368 30.368-8.8 82.080 33.568 82.080h95.936v719.52c0 26.656 21.6 47.968 47.968 47.968v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["exchange-alt"],"grid":0},"attrs":[{}],"properties":{"order":265,"id":16,"name":"exchange-alt","prevSize":64,"code":59663},"setIdx":0,"setId":0,"iconIdx":16},{"icon":{"paths":["M1012.475 839.134c32.814 56.878-8.375 127.977-73.915 127.977h-853.13c-65.666 0-106.665-71.209-73.915-127.977l426.571-739.605c32.83-56.905 115.058-56.802 147.829 0l426.56 739.605zM512.001 686.222c-45.164 0-81.778 36.613-81.778 81.778s36.613 81.778 81.778 81.778 81.778-36.613 81.778-81.778-36.613-81.778-81.778-81.778zM434.36 392.274l13.188 241.778c0.617 11.314 9.972 20.171 21.301 20.171h86.304c11.33 0 20.684-8.857 21.301-20.171l13.188-241.778c0.667-12.22-9.063-22.496-21.301-22.496h-112.681c-12.238 0-21.966 10.276-21.3 22.496z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["exclamation-triangle"]},"attrs":[{}],"properties":{"order":248,"id":38,"name":"exclamation-triangle","prevSize":64,"code":59686},"setIdx":0,"setId":0,"iconIdx":17},{"icon":{"paths":["M511.936 312.864c-18.848 0.352-37.504 3.2-55.456 8.896 8.352 14.592 12.8 31.104 12.8 48 0 54.944-44.64 99.552-99.552 99.552-16.896-0.192-33.408-4.608-48-12.8-30.4 105.248 30.4 215.488 135.84 245.696 105.44 30.4 215.488-30.4 245.888-135.84s-30.4-215.488-135.84-245.888c-18.144-5.152-36.8-7.648-55.648-7.648zM1017.728 486.048c-96.352-188.096-287.296-315.392-505.792-315.392s-409.44 127.296-505.792 315.392c-8.192 16.352-8.192 35.552 0 51.904 96.352 188.096 287.296 315.392 505.792 315.392s409.44-127.296 505.792-315.392c8.352-16.352 8.352-35.552 0-51.904zM511.936 768c-175.296 0-336.192-97.792-422.944-256 86.752-158.24 247.488-256 422.944-256s336.192 97.792 422.944 256c-86.752 158.24-247.488 256-422.944 256z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["eye"],"grid":0},"attrs":[{}],"properties":{"order":266,"id":17,"name":"eye","prevSize":64,"code":59664},"setIdx":0,"setId":0,"iconIdx":18},{"icon":{"paths":["M987.424 877.728h-53.472l-298.752-828.128c-10.048-29.728-37.952-49.6-69.248-49.6h-107.872c-31.328 0-59.2 19.872-69.248 49.6l-298.752 828.128h-53.472c-20.128 0-36.576 16.448-36.576 36.576v73.152c0 20.128 16.448 36.576 36.576 36.576h292.576c20.128 0 36.576-16.448 36.576-36.576v-73.152c0-20.128-16.448-36.576-36.576-36.576h-44.8l53.248-146.272h348.8l53.248 146.272h-44.8c-20.128 0-36.576 16.448-36.576 36.576v73.152c0 20.128 16.448 36.576 36.576 36.576h292.576c20.128 0 36.576-16.448 36.576-36.576v-73.152c0-20.128-16.448-36.576-36.576-36.576zM404.352 548.576l107.648-296 107.648 296h-215.328z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["font"],"grid":0},"attrs":[{}],"properties":{"order":267,"id":18,"name":"font","prevSize":64,"code":59665},"setIdx":0,"setId":0,"iconIdx":19},{"icon":{"paths":["M921.6 170.656v682.656h68.256c18.784 0 34.144 15.36 34.144 34.144v68.256c0 18.784-15.36 34.144-34.144 34.144h-341.344c-18.784 0-34.144-15.36-34.144-34.144v-68.256c0-18.784 15.36-34.144 34.144-34.144h68.256v-273.056h-409.6v273.056h68.256c18.784 0 34.144 15.36 34.144 34.144v68.256c0 18.784-15.36 34.144-34.144 34.144h-341.344c-18.784 0-34.144-15.36-34.144-34.144v-68.256c0-18.784 15.36-34.144 34.144-34.144h68.256v-682.656h-68.256c-18.784 0-34.144-15.36-34.144-34.144v-68.256c0-18.784 15.36-34.144 34.144-34.144h341.344c18.784 0 34.144 15.36 34.144 34.144v68.256c0 18.784-15.36 34.144-34.144 34.144h-68.256v273.056h409.6v-273.056h-68.256c-18.784 0-34.144-15.36-34.144-34.144v-68.256c0-18.784 15.36-34.144 34.144-34.144h341.344c18.784 0 34.144 15.36 34.144 34.144v68.256c0 18.784-15.36 34.144-34.144 34.144h-68.256z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["heading"],"grid":0},"attrs":[{}],"properties":{"order":268,"id":19,"name":"heading","prevSize":64,"code":59666},"setIdx":0,"setId":0,"iconIdx":20},{"icon":{"paths":["M1056.686 69.943c-125.257-106.743-311.543-87.543-426.514 31.086l-45.029 46.4-45.029-46.4c-114.743-118.629-301.257-137.829-426.514-31.086-143.543 122.514-151.086 342.4-22.629 475.2l442.286 456.686c28.571 29.486 74.971 29.486 103.543 0l442.286-456.686c128.686-132.8 121.143-352.686-22.4-475.2v0z"],"width":1170,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["heart"],"grid":0},"attrs":[{}],"properties":{"order":269,"id":20,"name":"heart","prevSize":64,"code":59681},"setIdx":0,"setId":0,"iconIdx":21},{"icon":{"paths":["M96 96c-52.992 0-96 43.008-96 96s43.008 96 96 96 96-43.008 96-96-43.008-96-96-96zM96 416c-52.992 0-96 43.008-96 96s43.008 96 96 96 96-43.008 96-96-43.008-96-96-96zM96 736c-52.992 0-96 43.008-96 96s43.008 96 96 96 96-43.008 96-96-43.008-96-96-96zM992 768h-640c-17.6 0-32 14.4-32 32v64c0 17.6 14.4 32 32 32h640c17.6 0 32-14.4 32-32v-64c0-17.6-14.4-32-32-32zM992 128h-640c-17.6 0-32 14.4-32 32v64c0 17.6 14.4 32 32 32h640c17.6 0 32-14.4 32-32v-64c0-17.6-14.4-32-32-32zM992 448h-640c-17.6 0-32 14.4-32 32v64c0 17.6 14.4 32 32 32h640c17.6 0 32-14.4 32-32v-64c0-17.6-14.4-32-32-32z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["list-ul"],"grid":0},"attrs":[{}],"properties":{"order":270,"id":21,"name":"list-ul","prevSize":64,"code":59667},"setIdx":0,"setId":0,"iconIdx":22},{"icon":{"paths":["M343.086 717.486v-690.057c0-15.086-12.343-27.429-27.429-27.429h-128c-15.086 0-27.429 12.343-27.429 27.429v690.057h-105.371c-48.914 0-73.371 59.2-38.857 93.714l196.8 196.8c21.486 21.486 56.229 21.486 77.486 0l196.8-196.8c34.514-34.514 10.057-93.714-38.857-93.714h-105.143z"],"width":503,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["long-arrow-alt-down"],"grid":0},"attrs":[{}],"properties":{"order":271,"id":22,"name":"long-arrow-alt-down","prevSize":64,"code":59668},"setIdx":0,"setId":0,"iconIdx":23},{"icon":{"paths":["M623.608 698.013h1403.931c30.692 0 55.804-25.112 55.804-55.804v-260.418c0-30.692-25.112-55.804-55.804-55.804h-1403.931v-214.38c0-99.517-120.443-149.275-190.663-79.055l-400.392 400.392c-43.713 43.713-43.713 114.398 0 157.646l400.392 400.392c70.22 70.22 190.663 20.461 190.663-79.055v-213.915z"],"width":2083,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["long-arrow-alt-left"],"grid":0},"attrs":[{}],"properties":{"order":272,"id":23,"name":"long-arrow-alt-left","prevSize":64,"code":59669},"setIdx":0,"setId":0,"iconIdx":24},{"icon":{"paths":["M1459.735 325.987h-1403.931c-30.692 0-55.804 25.112-55.804 55.804v260.418c0 30.692 25.112 55.804 55.804 55.804h1403.931v214.38c0 99.517 120.443 149.275 190.663 79.055l400.392-400.392c43.713-43.713 43.713-114.398 0-157.646l-400.392-400.392c-70.22-70.22-190.663-20.461-190.663 79.055v213.915z"],"width":2083,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["long-arrow-alt-right"],"grid":0},"attrs":[{}],"properties":{"order":273,"id":24,"name":"long-arrow-alt-right","prevSize":64,"code":59670},"setIdx":0,"setId":0,"iconIdx":25},{"icon":{"paths":["M160.229 306.514v690.057c0 15.086 12.343 27.429 27.429 27.429h128c15.086 0 27.429-12.343 27.429-27.429v-690.057h105.371c48.914 0 73.371-59.2 38.857-93.714l-196.8-196.8c-21.486-21.486-56.229-21.486-77.486 0l-196.8 196.8c-34.514 34.514-10.057 93.714 38.857 93.714h105.143z"],"width":503,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["long-arrow-alt-up"],"grid":0},"attrs":[{}],"properties":{"order":274,"id":25,"name":"long-arrow-alt-up","prevSize":64,"code":59671},"setIdx":0,"setId":0,"iconIdx":26},{"icon":{"paths":["M448 191.968l32-64 64-32-64-32-32-64-32 64-64 32 64 32 32 64zM160.064 319.936l53.376-106.592 106.592-53.376-106.592-53.376-53.376-106.592-53.376 106.592-106.592 53.376 106.592 53.376 53.376 106.592zM863.936 575.904l-53.376 106.592-106.592 53.376 106.592 53.376 53.376 106.592 53.376-106.592 106.592-53.376-106.592-53.376-53.376-106.592zM1005.12 188.352l-169.568-169.568c-12.608-12.608-28.992-18.784-45.376-18.784s-32.8 6.208-45.184 18.784l-726.048 726.048c-24.992 24.992-24.992 65.6 0 90.592l169.568 169.76c12.608 12.608 28.8 18.784 45.184 18.784s32.8-6.208 45.184-18.784l726.048-726.048c25.184-25.184 25.184-65.792 0.192-90.784zM718.976 406.912l-101.792-101.792 172.96-173.152 101.792 101.792-172.96 173.152z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["magic"],"grid":0},"attrs":[{}],"properties":{"order":275,"id":26,"name":"magic","prevSize":64,"code":59672},"setIdx":0,"setId":0,"iconIdx":27},{"icon":{"paths":["M408.576 10.080c-198.816 38.816-359.008 198.592-398.208 396.8-74.016 374.016 263.392 652.8 517.6 613.408 82.4-12.8 122.816-109.216 84.992-183.392-46.208-90.816 19.808-196.8 121.792-196.8h159.392c71.616 0 129.6-59.2 129.792-130.592-0.992-315.2-287.808-563.2-615.424-499.424zM191.968 640.096c-35.392 0-64-28.608-64-64s28.608-64 64-64 64 28.608 64 64-28.608 64-64 64zM256 384.064c-35.392 0-64-28.608-64-64s28.608-64 64-64 64 28.608 64 64-28.608 64-64 64zM512 256.064c-35.392 0-64-28.608-64-64s28.608-64 64-64 64 28.608 64 64-28.608 64-64 64zM768 384.064c-35.392 0-64-28.608-64-64s28.608-64 64-64 64 28.608 64 64-28.608 64-64 64z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["palette"],"grid":0},"attrs":[{}],"properties":{"order":276,"id":27,"name":"palette","prevSize":64,"code":59673},"setIdx":0,"setId":0,"iconIdx":28},{"icon":{"paths":["M142.222 568.889h-113.778c-15.644 0-28.444 12.8-28.444 28.444v113.778c0 15.644 12.8 28.444 28.444 28.444h113.778c15.644 0 28.444-12.8 28.444-28.444v-113.778c0-15.644-12.8-28.444-28.444-28.444zM142.222 0h-113.778c-15.644 0-28.444 12.8-28.444 28.444v113.778c0 15.644 12.8 28.444 28.444 28.444h113.778c15.644 0 28.444-12.8 28.444-28.444v-113.778c0-15.644-12.8-28.444-28.444-28.444zM142.222 284.444h-113.778c-15.644 0-28.444 12.8-28.444 28.444v113.778c0 15.644 12.8 28.444 28.444 28.444h113.778c15.644 0 28.444-12.8 28.444-28.444v-113.778c0-15.644-12.8-28.444-28.444-28.444zM995.556 597.333h-682.667c-15.644 0-28.444 12.8-28.444 28.444v56.889c0 15.644 12.8 28.444 28.444 28.444h682.667c15.644 0 28.444-12.8 28.444-28.444v-56.889c0-15.644-12.8-28.444-28.444-28.444zM995.556 28.444h-682.667c-15.644 0-28.444 12.8-28.444 28.444v56.889c0 15.644 12.8 28.444 28.444 28.444h682.667c15.644 0 28.444-12.8 28.444-28.444v-56.889c0-15.644-12.8-28.444-28.444-28.444zM995.556 312.889h-682.667c-15.644 0-28.444 12.8-28.444 28.444v56.889c0 15.644 12.8 28.444 28.444 28.444h682.667c15.644 0 28.444-12.8 28.444-28.444v-56.889c0-15.644-12.8-28.444-28.444-28.444zM142.222 853.333h-113.778c-15.644 0-28.444 12.8-28.444 28.444v113.778c0 15.644 12.8 28.444 28.444 28.444h113.778c15.644 0 28.444-12.8 28.444-28.444v-113.778c0-15.644-12.8-28.444-28.444-28.444zM995.556 881.778h-682.667c-15.644 0-28.444 12.8-28.444 28.444v56.889c0 15.644 12.8 28.444 28.444 28.444h682.667c15.644 0 28.444-12.8 28.444-28.444v-56.889c0-15.644-12.8-28.444-28.444-28.444z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["plugin-symbol"]},"attrs":[{}],"properties":{"order":277,"id":35,"name":"plugin-symbol","prevSize":64,"code":59683},"setIdx":0,"setId":0,"iconIdx":29},{"icon":{"paths":["M950.857 402.286h-329.143v-329.143c0-40.457-32.686-73.143-73.143-73.143h-73.143c-40.457 0-73.143 32.686-73.143 73.143v329.143h-329.143c-40.457 0-73.143 32.686-73.143 73.143v73.143c0 40.457 32.686 73.143 73.143 73.143h329.143v329.143c0 40.457 32.686 73.143 73.143 73.143h73.143c40.457 0 73.143-32.686 73.143-73.143v-329.143h329.143c40.457 0 73.143-32.686 73.143-73.143v-73.143c0-40.457-32.686-73.143-73.143-73.143z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["plus"],"grid":0},"attrs":[{}],"properties":{"order":278,"id":28,"name":"plus","prevSize":64,"code":59674},"setIdx":0,"setId":0,"iconIdx":30},{"icon":{"paths":["M512 0c-282.848 0-512 229.376-512 512 0 282.848 229.152 512 512 512s512-229.152 512-512c0-282.624-229.152-512-512-512zM512 924.896c-228.128 0-412.896-184.576-412.896-412.896 0-228.128 184.768-412.896 412.896-412.896s412.896 184.768 412.896 412.896c0 228.128-184.576 412.896-412.896 412.896zM733.312 398.048c0 138.528-149.472 140.608-149.472 191.808v12.992c0 13.632-11.136 24.768-24.768 24.768h-94.144c-13.632 0-24.768-11.136-24.768-24.768v-17.952c0-73.696 55.936-103.232 98.272-126.976 36.32-20.224 58.432-34.080 58.432-61.12 0-35.52-45.408-59.264-82.176-59.264-47.904 0-69.984 22.72-100.96 61.92-8.48 10.528-23.744 12.608-34.464 4.32l-57.408-43.552c-10.528-8.064-12.992-22.912-5.376-33.856 48.736-71.648 110.88-111.904 207.68-111.904 101.152 0.192 209.12 79.264 209.12 183.52zM598.72 743.232c0 47.904-38.816 86.72-86.72 86.72s-86.72-38.816-86.72-86.72 38.816-86.72 86.72-86.72 86.72 38.816 86.72 86.72z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["question-circle"],"grid":0},"attrs":[{}],"properties":{"order":279,"id":29,"name":"question-circle","prevSize":64,"code":59675},"setIdx":0,"setId":0,"iconIdx":31},{"icon":{"paths":["M608 96c0 53.020-42.98 96-96 96s-96-42.98-96-96 42.98-96 96-96 96 42.98 96 96zM512 832c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM928 416c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM192 512c0-53.020-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM217.844 710.156c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-53.018-42.982-96-96-96zM806.156 710.156c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-53.018-42.98-96-96-96zM217.844 121.844c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.982-96-96-96z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["spinner"]},"attrs":[{}],"properties":{"order":280,"id":37,"name":"spinner","prevSize":64,"code":59685},"setIdx":0,"setId":0,"iconIdx":32},{"icon":{"paths":["M477.507 35.593l-130.574 264.748-292.143 42.592c-52.39 7.599-73.386 72.186-35.393 109.179l211.359 205.96-49.99 290.943c-8.998 52.59 46.391 91.982 92.782 67.387l261.349-137.373 261.349 137.373c46.391 24.395 101.78-14.797 92.782-67.387l-49.99-290.943 211.359-205.96c37.993-36.993 16.997-101.58-35.393-109.179l-292.143-42.592-130.574-264.748c-23.395-47.191-91.182-47.791-114.778 0v0z"],"width":1070,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["star"],"grid":0},"attrs":[{}],"properties":{"order":281,"id":30,"name":"star","prevSize":64,"code":59682},"setIdx":0,"setId":0,"iconIdx":33},{"icon":{"paths":["M279.232 70.432c-9.408-9.408-24.608-9.408-33.984 0 0 0 0 0 0 0l-127.392 126.592-45.408-44.192c-9.408-9.408-24.608-9.408-33.984 0 0 0 0 0 0 0l-31.392 31.392c-9.408 9.408-9.408 24.608 0 33.984 0 0 0 0 0 0l95.2 94.784c9.792 9.408 25.408 9.408 35.2 0l175.584-175.584c9.408-9.408 9.408-24.608 0.192-33.984l-33.984-32.992zM279.232 388.8c-9.408-9.408-24.608-9.408-33.984 0 0 0 0 0 0 0l-127.392 127.392-45.408-44.192c-9.408-9.408-24.608-9.408-33.984 0 0 0 0 0 0 0l-31.392 31.392c-9.408 9.408-9.408 24.608 0 33.984 0 0 0 0 0 0l95.008 95.008c9.792 9.408 25.408 9.408 35.2 0l175.776-175.808c9.408-9.408 9.408-24.384 0.192-33.792l-33.984-33.984zM992 767.392h-575.968c-17.6 0-32 14.4-32 32v64c0 17.6 14.4 32 32 32h575.968c17.6 0 32-14.4 32-32v-64c0-17.6-14.4-32-32-32zM992 127.424h-575.968c-17.6 0-32 14.4-32 32v64c0 17.6 14.4 32 32 32h575.968c17.6 0 32-14.4 32-32v-64c0-17.6-14.4-32-32-32zM992 447.392h-575.968c-17.6 0-32 14.4-32 32v64c0 17.6 14.4 32 32 32h575.968c17.6 0 32-14.4 32-32v-64c0-17.6-14.4-32-32-32zM279.232 709.984c-9.408-9.408-24.608-9.408-33.984 0 0 0 0 0 0 0l-127.392 127.392-45.408-44.192c-9.408-9.408-24.608-9.408-33.984 0 0 0 0 0 0 0l-31.392 31.392c-9.408 9.408-9.408 24.608 0 33.984 0 0 0 0 0 0l95.008 95.008c9.792 9.408 25.408 9.408 35.2 0l175.776-175.808c9.408-9.408 9.408-24.384 0.192-33.792l-33.984-33.984z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["tasks"],"grid":0},"attrs":[{}],"properties":{"order":282,"id":32,"name":"tasks","prevSize":64,"code":59677},"setIdx":0,"setId":0,"iconIdx":34},{"icon":{"paths":["M278.4 70.4c-9.6-9.6-22.4-9.6-32 0v0l-128 128-44.8-44.8c-9.6-9.6-25.6-9.6-35.2 0v0l-32 32c-9.6 9.6-9.6 25.6 0 35.2v0l96 96c9.6 9.6 25.6 9.6 35.2 0l176-176c9.6-9.6 9.6-25.6 0-35.2l-35.2-35.2zM992 768h-576c-19.2 0-32 16-32 32v64c0 16 12.8 32 32 32h576c16 0 32-16 32-32v-64c0-19.2-16-32-32-32zM992 128h-576c-19.2 0-32 16-32 32v64c0 19.2 12.8 32 32 32h576c16 0 32-12.8 32-32v-64c0-19.2-16-32-32-32zM992 448h-576c-19.2 0-32 12.8-32 32v64c0 16 12.8 32 32 32h576c16 0 32-16 32-32v-64c0-19.2-16-32-32-32z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["tasks-alt"],"grid":0},"attrs":[{}],"properties":{"order":283,"id":31,"name":"tasks-alt","prevSize":64,"code":59676},"setIdx":0,"setId":0,"iconIdx":35},{"icon":{"paths":["M706.036 512l291.2-291.2c35.782-35.782 35.782-93.673 0-129.455l-64.582-64.582c-35.782-35.782-93.673-35.782-129.455 0l-291.2 291.2-291.2-291.2c-35.491-35.782-93.673-35.782-129.164 0l-64.873 64.582c-35.782 35.782-35.782 93.673 0 129.455l291.2 291.2-291.2 291.2c-35.782 35.782-35.782 93.673 0 129.455l64.582 64.582c35.782 35.782 93.673 35.782 129.455 0l291.2-291.2 291.2 291.2c35.782 35.782 93.673 35.782 129.455 0l64.582-64.582c35.782-35.782 35.782-93.673 0-129.455l-291.2-291.2z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["times"],"grid":0},"attrs":[{}],"properties":{"order":284,"id":33,"name":"times","prevSize":64,"code":59678},"setIdx":0,"setId":0,"iconIdx":36},{"icon":{"paths":["M599.999 832h48c13.255 0 24-10.745 24-24v0-432c0-13.255-10.745-24-24-24v0h-48c-13.255 0-24 10.745-24 24v0 432c0 13.255 10.745 24 24 24v0zM927.999 160h-164.82l-68-113.4c-17.083-28.11-47.539-46.6-82.314-46.6-0.016 0-0.032 0-0.048 0h-201.637c-0.002 0-0.004 0-0.006 0-34.775 0-65.231 18.49-82.074 46.175l-0.24 0.425-68.040 113.4h-164.82c-17.673 0-32 14.327-32 32v0 32c0 17.673 14.327 32 32 32v0h32v672c0 53.019 42.981 96 96 96v0h576c53.019 0 96-42.981 96-96v0-672h32c17.673 0 32-14.327 32-32v0-32c0-17.673-14.327-32-32-32v0zM407.679 101.82c2.136-3.511 5.941-5.82 10.286-5.82 0.012 0 0.024 0 0.036 0h187.998c0.004 0 0.009 0 0.014 0 4.345 0 8.15 2.309 10.256 5.767l0.030 0.053 34.92 58.18h-278.44zM799.999 928h-576v-672h576zM375.999 832h48c13.255 0 24-10.745 24-24v0-432c0-13.255-10.745-24-24-24v0h-48c-13.255 0-24 10.745-24 24v0 432c0 13.255 10.745 24 24 24v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["trash-alt"]},"attrs":[{}],"properties":{"order":285,"id":36,"name":"trash-alt","prevSize":64,"code":59684},"setIdx":0,"setId":0,"iconIdx":37},{"icon":{"paths":["M592 767.936h-160c-26.592 0-48-21.408-48-48v-336h-175.392c-35.584 0-53.408-43.008-28.192-68.192l304.192-304.384c15.008-15.008 39.584-15.008 54.592 0l304.384 304.384c25.216 25.184 7.392 68.192-28.192 68.192h-175.392v336c0 26.592-21.408 48-48 48zM1024 751.936v224c0 26.592-21.408 48-48 48h-928c-26.592 0-48-21.408-48-48v-224c0-26.592 21.408-48 48-48h272v16c0 61.792 50.208 112 112 112h160c61.792 0 112-50.208 112-112v-16h272c26.592 0 48 21.408 48 48zM776 927.936c0-22.016-18.016-40-40-40s-40 18.016-40 40 18.016 40 40 40 40-18.016 40-40zM904 927.936c0-22.016-18.016-40-40-40s-40 18.016-40 40 18.016 40 40 40 40-18.016 40-40z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["upload"],"grid":0},"attrs":[{}],"properties":{"order":286,"id":34,"name":"upload","prevSize":64,"code":59679},"setIdx":0,"setId":0,"iconIdx":38}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon"},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16}}
|
assets/js/new-admin.js
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=21)}([function(e,t,n){"use strict";e.exports=n(22)},function(e,t,n){"use strict";var r=n(9),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function i(e){return void 0===e}function l(e){return null!==e&&"object"==typeof e}function u(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function s(e){return"[object Function]"===o.call(e)}function c(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:a,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:function(e){return null!==e&&!i(e)&&null!==e.constructor&&!i(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:l,isPlainObject:u,isUndefined:i,isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:s,isStream:function(e){return l(e)&&s(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:c,merge:function e(){var t={};function n(n,r){u(t[r])&&u(n)?t[r]=e(t[r],n):u(n)?t[r]=e({},n):a(n)?t[r]=n.slice():t[r]=n}for(var r=0,o=arguments.length;r<o;r++)c(arguments[r],n);return t},extend:function(e,t,n){return c(t,(function(t,o){e[o]=n&&"function"==typeof t?r(t,n):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}}},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){}}}(),e.exports=n(23)},function(e,t,n){"use strict";var r=n(5),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function u(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var s=Object.defineProperty,c=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,r)}var i=c(n);f&&(i=i.concat(f(n)));for(var l=u(t),h=u(n),v=0;v<i.length;++v){var g=i[v];if(!(a[g]||r&&r[g]||h&&h[g]||l&&l[g])){var b=d(n,g);try{s(t,g,b)}catch(e){}}}}return t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(0),i=u(a),l=u(n(19));function u(e){return e&&e.__esModule?e:{default:e}}var s={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},c=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],f=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},d=!("undefined"==typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),p=function(){return d?"_"+Math.random().toString(36).substr(2,12):void 0},m=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"==typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||p(),prevId:e.id},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,null,[{key:"getDerivedStateFromProps",value:function(e,t){var n=e.id;return n!==t.prevId?{inputId:n||p(),prevId:n}:null}}]),o(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"==typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(f(e,this.sizer),this.placeHolderSizer&&f(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&void 0!==this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return d&&e?i.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce((function(e,t){return null!=e?e:t})),t=r({},this.props.style);t.display||(t.display="inline-block");var n=r({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),o=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,i.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),i.default.createElement("input",r({},o,{ref:this.inputRef})),i.default.createElement("div",{ref:this.sizerRef,style:s},e),this.props.placeholder?i.default.createElement("div",{ref:this.placeHolderSizerRef,style:s},this.props.placeholder):null)}}]),t}(a.Component);m.propTypes={className:l.default.string,defaultValue:l.default.any,extraWidth:l.default.oneOfType([l.default.number,l.default.string]),id:l.default.string,injectStyles:l.default.bool,inputClassName:l.default.string,inputRef:l.default.func,inputStyle:l.default.object,minWidth:l.default.oneOfType([l.default.number,l.default.string]),onAutosize:l.default.func,onChange:l.default.func,placeholder:l.default.string,placeholderIsMinWidth:l.default.bool,style:l.default.object,value:l.default.any},m.defaultProps={minWidth:1,injectStyles:!0},t.default=m},function(e,t,n){"use strict";e.exports=n(56)},function(e,t,n){e.exports=n(26)},function(e,t,n){"use strict";(function(e,r){var o,a=n(20);o="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:r;var i=Object(a.a)(o);t.a=i}).call(this,n(57),n(58)(e))},function(e,t,n){"use strict";
|
2 |
+
/*
|
3 |
+
object-assign
|
4 |
+
(c) Sindre Sorhus
|
5 |
+
@license MIT
|
6 |
+
*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,l,u=i(e),s=1;s<arguments.length;s++){for(var c in n=Object(arguments[s]))o.call(n,c)&&(u[c]=n[c]);if(r){l=r(n);for(var f=0;f<l.length;f++)a.call(n,l[f])&&(u[l[f]]=n[l[f]])}}return u}},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";var r=n(1);function o(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var a;if(n)a=n(t);else if(r.isURLSearchParams(t))a=t.toString();else{var i=[];r.forEach(t,(function(e,t){null!=e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),i.push(o(t)+"="+o(e))})))})),a=i.join("&")}if(a){var l=e.indexOf("#");-1!==l&&(e=e.slice(0,l)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}},function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";(function(t){var r=n(1),o=n(32),a={"Content-Type":"application/x-www-form-urlencoded"};function i(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var l,u={adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==t&&"[object process]"===Object.prototype.toString.call(t))&&(l=n(13)),l),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(i(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)?(i(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){u.headers[e]=r.merge(a)})),e.exports=u}).call(this,n(31))},function(e,t,n){"use strict";var r=n(1),o=n(33),a=n(35),i=n(10),l=n(36),u=n(39),s=n(40),c=n(14);e.exports=function(e){return new Promise((function(t,n){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var m=e.auth.username||"",h=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(m+":"+h)}var v=l(e.baseURL,e.url);if(p.open(e.method.toUpperCase(),i(v,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in p?u(p.getAllResponseHeaders()):null,a={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:r,config:e,request:p};o(t,n,a),p=null}},p.onabort=function(){p&&(n(c("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){n(c("Network Error",e,null,p)),p=null},p.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(c(t,e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var g=(e.withCredentials||s(v))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;g&&(d[e.xsrfHeaderName]=g)}if("setRequestHeader"in p&&r.forEach(d,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),n(e),p=null)})),f||(f=null),p.send(f)}))}},function(e,t,n){"use strict";var r=n(34);e.exports=function(e,t,n,o,a){var i=new Error(e);return r(i,t,n,o,a)}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){t=t||{};var n={},o=["url","method","data"],a=["headers","auth","proxy","params"],i=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],l=["validateStatus"];function u(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function s(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=u(void 0,e[o])):n[o]=u(e[o],t[o])}r.forEach(o,(function(e){r.isUndefined(t[e])||(n[e]=u(void 0,t[e]))})),r.forEach(a,s),r.forEach(i,(function(o){r.isUndefined(t[o])?r.isUndefined(e[o])||(n[o]=u(void 0,e[o])):n[o]=u(void 0,t[o])})),r.forEach(l,(function(r){r in t?n[r]=u(e[r],t[r]):r in e&&(n[r]=u(void 0,e[r]))}));var c=o.concat(a).concat(i).concat(l),f=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===c.indexOf(e)}));return r.forEach(f,s),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},n.apply(this,arguments)}e.exports=n},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},function(e,t,n){e.exports=n(52)()},function(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.d(t,"a",(function(){return r}))},function(e,t,n){n(59),e.exports=n(60)},function(e,t,n){"use strict";
|
7 |
+
/** @license React v17.0.1
|
8 |
+
* react.production.min.js
|
9 |
+
*
|
10 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
11 |
+
*
|
12 |
+
* This source code is licensed under the MIT license found in the
|
13 |
+
* LICENSE file in the root directory of this source tree.
|
14 |
+
*/var r=n(8),o=60103,a=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,l=60110,u=60112;t.Suspense=60113;var s=60115,c=60116;if("function"==typeof Symbol&&Symbol.for){var f=Symbol.for;o=f("react.element"),a=f("react.portal"),t.Fragment=f("react.fragment"),t.StrictMode=f("react.strict_mode"),t.Profiler=f("react.profiler"),i=f("react.provider"),l=f("react.context"),u=f("react.forward_ref"),t.Suspense=f("react.suspense"),s=f("react.memo"),c=f("react.lazy")}var d="function"==typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h={};function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function g(){}function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},g.prototype=v.prototype;var y=b.prototype=new g;y.constructor=b,r(y,v.prototype),y.isPureReactComponent=!0;var _={current:null},w=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r,a={},i=null,l=null;if(null!=t)for(r in void 0!==t.ref&&(l=t.ref),void 0!==t.key&&(i=""+t.key),t)w.call(t,r)&&!E.hasOwnProperty(r)&&(a[r]=t[r]);var u=arguments.length-2;if(1===u)a.children=n;else if(1<u){for(var s=Array(u),c=0;c<u;c++)s[c]=arguments[c+2];a.children=s}if(e&&e.defaultProps)for(r in u=e.defaultProps)void 0===a[r]&&(a[r]=u[r]);return{$$typeof:o,type:e,key:i,ref:l,props:a,_owner:_.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var O=/\/+/g;function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function k(e,t,n,r,i){var l=typeof e;"undefined"!==l&&"boolean"!==l||(e=null);var u=!1;if(null===e)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case o:case a:u=!0}}if(u)return i=i(u=e),e=""===r?"."+C(u,0):r,Array.isArray(i)?(n="",null!=e&&(n=e.replace(O,"$&/")+"/"),k(i,t,n,"",(function(e){return e}))):null!=i&&(x(i)&&(i=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,n+(!i.key||u&&u.key===i.key?"":(""+i.key).replace(O,"$&/")+"/")+e)),t.push(i)),1;if(u=0,r=""===r?".":r+":",Array.isArray(e))for(var s=0;s<e.length;s++){var c=r+C(l=e[s],s);u+=k(l,t,n,c,i)}else if("function"==typeof(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=d&&e[d]||e["@@iterator"])?e:null}(e)))for(e=c.call(e),s=0;!(l=e.next()).done;)u+=k(l=l.value,t,n,c=r+C(l,s++),i);else if("object"===l)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return u}function P(e,t,n){if(null==e)return e;var r=[],o=0;return k(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function I(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var D={current:null};function R(){var e=D.current;if(null===e)throw Error(p(321));return e}var N={ReactCurrentDispatcher:D,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:_,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:P,forEach:function(e,t,n){P(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return P(e,(function(){t++})),t},toArray:function(e){return P(e,(function(e){return e}))||[]},only:function(e){if(!x(e))throw Error(p(143));return e}},t.Component=v,t.PureComponent=b,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,t.cloneElement=function(e,t,n){if(null==e)throw Error(p(267,e));var a=r({},e.props),i=e.key,l=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(l=t.ref,u=_.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(c in t)w.call(t,c)&&!E.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==s?s[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=n;else if(1<c){s=Array(c);for(var f=0;f<c;f++)s[f]=arguments[f+2];a.children=s}return{$$typeof:o,type:e.type,key:i,ref:l,props:a,_owner:u}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:l,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=x,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:I}},t.memo=function(e,t){return{$$typeof:s,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return R().useCallback(e,t)},t.useContext=function(e,t){return R().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return R().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return R().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return R().useLayoutEffect(e,t)},t.useMemo=function(e,t){return R().useMemo(e,t)},t.useReducer=function(e,t,n){return R().useReducer(e,t,n)},t.useRef=function(e){return R().useRef(e)},t.useState=function(e){return R().useState(e)},t.version="17.0.1"},function(e,t,n){"use strict";
|
15 |
+
/** @license React v17.0.1
|
16 |
+
* react-dom.production.min.js
|
17 |
+
*
|
18 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
19 |
+
*
|
20 |
+
* This source code is licensed under the MIT license found in the
|
21 |
+
* LICENSE file in the root directory of this source tree.
|
22 |
+
*/var r=n(0),o=n(8),a=n(24);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var l=new Set,u={};function s(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(u[e]=t,e=0;e<t.length;e++)l.add(t[e])}var f=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,m={},h={};function v(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new v(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new v(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new v(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new v(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new v(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new v(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function _(e,t,n,r){var o=g.hasOwnProperty(t)?g[t]:null;(null!==o?0===o.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!p.call(h,e)||!p.call(m,e)&&(d.test(e)?h[e]=!0:(m[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new v(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,y);g[t]=new v(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,y);g[t]=new v(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,E=60103,S=60106,x=60107,O=60108,C=60114,k=60109,P=60110,I=60112,D=60113,R=60120,N=60115,T=60116,L=60121,A=60128,j=60129,M=60130,F=60131;if("function"==typeof Symbol&&Symbol.for){var B=Symbol.for;E=B("react.element"),S=B("react.portal"),x=B("react.fragment"),O=B("react.strict_mode"),C=B("react.profiler"),k=B("react.provider"),P=B("react.context"),I=B("react.forward_ref"),D=B("react.suspense"),R=B("react.suspense_list"),N=B("react.memo"),T=B("react.lazy"),L=B("react.block"),B("react.scope"),A=B("react.opaque.id"),j=B("react.debug_trace_mode"),M=B("react.offscreen"),F=B("react.legacy_hidden")}var V,U="function"==typeof Symbol&&Symbol.iterator;function z(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=U&&e[U]||e["@@iterator"])?e:null}function H(e){if(void 0===V)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);V=t&&t[1]||""}return"\n"+V+e}var W=!1;function G(e,t){if(!e||W)return"";W=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(e){if(e&&r&&"string"==typeof e.stack){for(var o=e.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,l=a.length-1;1<=i&&0<=l&&o[i]!==a[l];)l--;for(;1<=i&&0<=l;i--,l--)if(o[i]!==a[l]){if(1!==i||1!==l)do{if(i--,0>--l||o[i]!==a[l])return"\n"+o[i].replace(" at new "," at ")}while(1<=i&&0<=l);break}}}finally{W=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?H(e):""}function q(e){switch(e.tag){case 5:return H(e.type);case 16:return H("Lazy");case 13:return H("Suspense");case 19:return H("SuspenseList");case 0:case 2:case 15:return e=G(e.type,!1);case 11:return e=G(e.type.render,!1);case 22:return e=G(e.type._render,!1);case 1:return e=G(e.type,!0);default:return""}}function $(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case x:return"Fragment";case S:return"Portal";case C:return"Profiler";case O:return"StrictMode";case D:return"Suspense";case R:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case P:return(e.displayName||"Context")+".Consumer";case k:return(e._context.displayName||"Context")+".Provider";case I:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case N:return $(e.type);case L:return $(e._render);case T:t=e._payload,e=e._init;try{return $(e(t))}catch(e){}}return null}function Y(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=Q(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function X(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Q(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function J(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Z(e,t){var n=t.checked;return o({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Y(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&_(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=Y(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?oe(e,t.type,n):t.hasOwnProperty("defaultValue")&&oe(e,t.type,Y(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function oe(e,t,n){"number"===t&&J(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function ae(e,t){return e=o({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Y(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function le(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return o({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ue(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:Y(n)}}function se(e,t){var n=Y(t.value),r=Y(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var fe="http://www.w3.org/1999/xhtml",de="http://www.w3.org/2000/svg";function pe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function me(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?pe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var he,ve=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==de||"innerHTML"in e)e.innerHTML=t;else{for((he=he||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=he.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function ge(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ye=["Webkit","ms","Moz","O"];function _e(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(""+t).trim():t+"px"}function we(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=_e(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(be).forEach((function(e){ye.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Ee=o({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Se(e,t){if(t){if(Ee[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Oe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,ke=null,Pe=null;function Ie(e){if(e=Jr(e)){if("function"!=typeof Ce)throw Error(i(280));var t=e.stateNode;t&&(t=eo(t),Ce(e.stateNode,e.type,t))}}function De(e){ke?Pe?Pe.push(e):Pe=[e]:ke=e}function Re(){if(ke){var e=ke,t=Pe;if(Pe=ke=null,Ie(e),t)for(e=0;e<t.length;e++)Ie(t[e])}}function Ne(e,t){return e(t)}function Te(e,t,n,r,o){return e(t,n,r,o)}function Le(){}var Ae=Ne,je=!1,Me=!1;function Fe(){null===ke&&null===Pe||(Le(),Re())}function Be(e,t){var n=e.stateNode;if(null===n)return null;var r=eo(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var Ve=!1;if(f)try{var Ue={};Object.defineProperty(Ue,"passive",{get:function(){Ve=!0}}),window.addEventListener("test",Ue,Ue),window.removeEventListener("test",Ue,Ue)}catch(e){Ve=!1}function ze(e,t,n,r,o,a,i,l,u){var s=Array.prototype.slice.call(arguments,3);try{t.apply(n,s)}catch(e){this.onError(e)}}var He=!1,We=null,Ge=!1,qe=null,$e={onError:function(e){He=!0,We=e}};function Ye(e,t,n,r,o,a,i,l,u){He=!1,We=null,ze.apply($e,arguments)}function Qe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ke(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Xe(e){if(Qe(e)!==e)throw Error(i(188))}function Je(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Qe(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var a=o.alternate;if(null===a){if(null!==(r=o.return)){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return Xe(o),e;if(a===r)return Xe(o),t;a=a.sibling}throw Error(i(188))}if(n.return!==r.return)n=o,r=a;else{for(var l=!1,u=o.child;u;){if(u===n){l=!0,n=o,r=a;break}if(u===r){l=!0,r=o,n=a;break}u=u.sibling}if(!l){for(u=a.child;u;){if(u===n){l=!0,n=a,r=o;break}if(u===r){l=!0,r=a,n=o;break}u=u.sibling}if(!l)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function Ze(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var et,tt,nt,rt,ot=!1,at=[],it=null,lt=null,ut=null,st=new Map,ct=new Map,ft=[],dt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function pt(e,t,n,r,o){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:o,targetContainers:[r]}}function mt(e,t){switch(e){case"focusin":case"focusout":it=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":ut=null;break;case"pointerover":case"pointerout":st.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ct.delete(t.pointerId)}}function ht(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e=pt(t,n,r,o,a),null!==t&&(null!==(t=Jr(t))&&tt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function vt(e){var t=Xr(e.target);if(null!==t){var n=Qe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ke(n)))return e.blockedOn=t,void rt(e.lanePriority,(function(){a.unstable_runWithPriority(e.priority,(function(){nt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function gt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=Jr(n))&&tt(t),e.blockedOn=n,!1;t.shift()}return!0}function bt(e,t,n){gt(e)&&n.delete(t)}function yt(){for(ot=!1;0<at.length;){var e=at[0];if(null!==e.blockedOn){null!==(e=Jr(e.blockedOn))&&et(e);break}for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&at.shift()}null!==it&>(it)&&(it=null),null!==lt&>(lt)&&(lt=null),null!==ut&>(ut)&&(ut=null),st.forEach(bt),ct.forEach(bt)}function _t(e,t){e.blockedOn===t&&(e.blockedOn=null,ot||(ot=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,yt)))}function wt(e){function t(t){return _t(t,e)}if(0<at.length){_t(at[0],e);for(var n=1;n<at.length;n++){var r=at[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==it&&_t(it,e),null!==lt&&_t(lt,e),null!==ut&&_t(ut,e),st.forEach(t),ct.forEach(t),n=0;n<ft.length;n++)(r=ft[n]).blockedOn===e&&(r.blockedOn=null);for(;0<ft.length&&null===(n=ft[0]).blockedOn;)vt(n),null===n.blockedOn&&ft.shift()}function Et(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var St={animationend:Et("Animation","AnimationEnd"),animationiteration:Et("Animation","AnimationIteration"),animationstart:Et("Animation","AnimationStart"),transitionend:Et("Transition","TransitionEnd")},xt={},Ot={};function Ct(e){if(xt[e])return xt[e];if(!St[e])return e;var t,n=St[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ot)return xt[e]=n[t];return e}f&&(Ot=document.createElement("div").style,"AnimationEvent"in window||(delete St.animationend.animation,delete St.animationiteration.animation,delete St.animationstart.animation),"TransitionEvent"in window||delete St.transitionend.transition);var kt=Ct("animationend"),Pt=Ct("animationiteration"),It=Ct("animationstart"),Dt=Ct("transitionend"),Rt=new Map,Nt=new Map,Tt=["abort","abort",kt,"animationEnd",Pt,"animationIteration",It,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Dt,"transitionEnd","waiting","waiting"];function Lt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],o=e[n+1];o="on"+(o[0].toUpperCase()+o.slice(1)),Nt.set(r,t),Rt.set(r,o),s(o,[r])}}(0,a.unstable_now)();var At=8;function jt(e){if(0!=(1&e))return At=15,1;if(0!=(2&e))return At=14,2;if(0!=(4&e))return At=13,4;var t=24&e;return 0!==t?(At=12,t):0!=(32&e)?(At=11,32):0!==(t=192&e)?(At=10,t):0!=(256&e)?(At=9,256):0!==(t=3584&e)?(At=8,t):0!=(4096&e)?(At=7,4096):0!==(t=4186112&e)?(At=6,t):0!==(t=62914560&e)?(At=5,t):67108864&e?(At=4,67108864):0!=(134217728&e)?(At=3,134217728):0!==(t=805306368&e)?(At=2,t):0!=(1073741824&e)?(At=1,1073741824):(At=8,e)}function Mt(e,t){var n=e.pendingLanes;if(0===n)return At=0;var r=0,o=0,a=e.expiredLanes,i=e.suspendedLanes,l=e.pingedLanes;if(0!==a)r=a,o=At=15;else if(0!==(a=134217727&n)){var u=a&~i;0!==u?(r=jt(u),o=At):0!==(l&=a)&&(r=jt(l),o=At)}else 0!==(a=n&~i)?(r=jt(a),o=At):0!==l&&(r=jt(l),o=At);if(0===r)return 0;if(r=n&((0>(r=31-Ht(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0==(t&i)){if(jt(t),o<=At)return t;At=o}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-Ht(t)),r|=e[n],t&=~o;return r}function Ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Bt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Vt(24&~t))?Bt(10,t):e;case 10:return 0===(e=Vt(192&~t))?Bt(8,t):e;case 8:return 0===(e=Vt(3584&~t))&&(0===(e=Vt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Vt(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function Vt(e){return e&-e}function Ut(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function zt(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Ht(t)]=n}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Wt(e)/Gt|0)|0},Wt=Math.log,Gt=Math.LN2;var qt=a.unstable_UserBlockingPriority,$t=a.unstable_runWithPriority,Yt=!0;function Qt(e,t,n,r){je||Le();var o=Xt,a=je;je=!0;try{Te(o,e,t,n,r)}finally{(je=a)||Fe()}}function Kt(e,t,n,r){$t(qt,Xt.bind(null,e,t,n,r))}function Xt(e,t,n,r){var o;if(Yt)if((o=0==(4&t))&&0<at.length&&-1<dt.indexOf(e))e=pt(null,e,t,n,r),at.push(e);else{var a=Jt(e,t,n,r);if(null===a)o&&mt(e,r);else{if(o){if(-1<dt.indexOf(e))return e=pt(a,e,t,n,r),void at.push(e);if(function(e,t,n,r,o){switch(t){case"focusin":return it=ht(it,e,t,n,r,o),!0;case"dragenter":return lt=ht(lt,e,t,n,r,o),!0;case"mouseover":return ut=ht(ut,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return st.set(a,ht(st.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,ct.set(a,ht(ct.get(a)||null,e,t,n,r,o)),!0}return!1}(a,e,t,n,r))return;mt(e,r)}Dr(e,t,r,null,n)}}}function Jt(e,t,n,r){var o=Oe(r);if(null!==(o=Xr(o))){var a=Qe(o);if(null===a)o=null;else{var i=a.tag;if(13===i){if(null!==(o=Ke(a)))return o;o=null}else if(3===i){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;o=null}else a!==o&&(o=null)}}return Dr(e,t,r,o,n),null}var Zt=null,en=null,tn=null;function nn(){if(tn)return tn;var e,t,n=en,r=n.length,o="value"in Zt?Zt.value:Zt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return tn=o.slice(e,1<t?1-t:void 0)}function rn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function on(){return!0}function an(){return!1}function ln(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?on:an,this.isPropagationStopped=an,this}return o(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=on)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=on)},persist:function(){},isPersistent:on}),t}var un,sn,cn,fn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dn=ln(fn),pn=o({},fn,{view:0,detail:0}),mn=ln(pn),hn=o({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(un=e.screenX-cn.screenX,sn=e.screenY-cn.screenY):sn=un=0,cn=e),un)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),vn=ln(hn),gn=ln(o({},hn,{dataTransfer:0})),bn=ln(o({},pn,{relatedTarget:0})),yn=ln(o({},fn,{animationName:0,elapsedTime:0,pseudoElement:0})),_n=ln(o({},fn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),wn=ln(o({},fn,{data:0})),En={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},xn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function On(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=xn[e])&&!!t[e]}function Cn(){return On}var kn=ln(o({},pn,{key:function(e){if(e.key){var t=En[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=rn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?rn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?rn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),Pn=ln(o({},hn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),In=ln(o({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),Dn=ln(o({},fn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Rn=ln(o({},hn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Nn=[9,13,27,32],Tn=f&&"CompositionEvent"in window,Ln=null;f&&"documentMode"in document&&(Ln=document.documentMode);var An=f&&"TextEvent"in window&&!Ln,jn=f&&(!Tn||Ln&&8<Ln&&11>=Ln),Mn=String.fromCharCode(32),Fn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var zn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!zn[e.type]:"textarea"===t}function Wn(e,t,n,r){De(r),0<(t=Nr(t,"onChange")).length&&(n=new dn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,qn=null;function $n(e){xr(e,0)}function Yn(e){if(X(Zr(e)))return e}function Qn(e,t){if("change"===e)return t}var Kn=!1;if(f){var Xn;if(f){var Jn="oninput"in document;if(!Jn){var Zn=document.createElement("div");Zn.setAttribute("oninput","return;"),Jn="function"==typeof Zn.oninput}Xn=Jn}else Xn=!1;Kn=Xn&&(!document.documentMode||9<document.documentMode)}function er(){Gn&&(Gn.detachEvent("onpropertychange",tr),qn=Gn=null)}function tr(e){if("value"===e.propertyName&&Yn(qn)){var t=[];if(Wn(t,qn,e,Oe(e)),e=$n,je)e(t);else{je=!0;try{Ne(e,t)}finally{je=!1,Fe()}}}}function nr(e,t,n){"focusin"===e?(er(),qn=n,(Gn=t).attachEvent("onpropertychange",tr)):"focusout"===e&&er()}function rr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(qn)}function or(e,t){if("click"===e)return Yn(t)}function ar(e,t){if("input"===e||"change"===e)return Yn(t)}var ir="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},lr=Object.prototype.hasOwnProperty;function ur(e,t){if(ir(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!lr.call(t,n[r])||!ir(e[n[r]],t[n[r]]))return!1;return!0}function sr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function cr(e,t){var n,r=sr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=sr(r)}}function fr(){for(var e=window,t=J();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=J((e=t.contentWindow).document)}return t}function dr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var pr=f&&"documentMode"in document&&11>=document.documentMode,mr=null,hr=null,vr=null,gr=!1;function br(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;gr||null==mr||mr!==J(r)||("selectionStart"in(r=mr)&&dr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&ur(vr,r)||(vr=r,0<(r=Nr(hr,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=mr)))}Lt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Lt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Lt(Tt,2);for(var yr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),_r=0;_r<yr.length;_r++)Nt.set(yr[_r],0);c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var wr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Er=new Set("cancel close invalid load scroll toggle".split(" ").concat(wr));function Sr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,a,l,u,s){if(Ye.apply(this,arguments),He){if(!He)throw Error(i(198));var c=We;He=!1,We=null,Ge||(Ge=!0,qe=c)}}(r,t,void 0,e),e.currentTarget=null}function xr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],u=l.instance,s=l.currentTarget;if(l=l.listener,u!==a&&o.isPropagationStopped())break e;Sr(o,l,s),a=u}else for(i=0;i<r.length;i++){if(u=(l=r[i]).instance,s=l.currentTarget,l=l.listener,u!==a&&o.isPropagationStopped())break e;Sr(o,l,s),a=u}}}if(Ge)throw e=qe,Ge=!1,qe=null,e}function Or(e,t){var n=to(t),r=e+"__bubble";n.has(r)||(Ir(t,e,2,!1),n.add(r))}var Cr="_reactListening"+Math.random().toString(36).slice(2);function kr(e){e[Cr]||(e[Cr]=!0,l.forEach((function(t){Er.has(t)||Pr(t,!1,e,null),Pr(t,!0,e,null)})))}function Pr(e,t,n,r){var o=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=n;if("selectionchange"===e&&9!==n.nodeType&&(a=n.ownerDocument),null!==r&&!t&&Er.has(e)){if("scroll"!==e)return;o|=2,a=r}var i=to(a),l=e+"__"+(t?"capture":"bubble");i.has(l)||(t&&(o|=4),Ir(a,e,o,t),i.add(l))}function Ir(e,t,n,r){var o=Nt.get(t);switch(void 0===o?2:o){case 0:o=Qt;break;case 1:o=Kt;break;default:o=Xt}n=o.bind(null,t,n,e),o=void 0,!Ve||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Dr(e,t,n,r,o){var a=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var l=r.stateNode.containerInfo;if(l===o||8===l.nodeType&&l.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var u=i.tag;if((3===u||4===u)&&((u=i.stateNode.containerInfo)===o||8===u.nodeType&&u.parentNode===o))return;i=i.return}for(;null!==l;){if(null===(i=Xr(l)))return;if(5===(u=i.tag)||6===u){r=a=i;continue e}l=l.parentNode}}r=r.return}!function(e,t,n){if(Me)return e(t,n);Me=!0;try{Ae(e,t,n)}finally{Me=!1,Fe()}}((function(){var r=a,o=Oe(n),i=[];e:{var l=Rt.get(e);if(void 0!==l){var u=dn,s=e;switch(e){case"keypress":if(0===rn(n))break e;case"keydown":case"keyup":u=kn;break;case"focusin":s="focus",u=bn;break;case"focusout":s="blur",u=bn;break;case"beforeblur":case"afterblur":u=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":u=vn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":u=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":u=In;break;case kt:case Pt:case It:u=yn;break;case Dt:u=Dn;break;case"scroll":u=mn;break;case"wheel":u=Rn;break;case"copy":case"cut":case"paste":u=_n;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":u=Pn}var c=0!=(4&t),f=!c&&"scroll"===e,d=c?null!==l?l+"Capture":null:l;c=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==d&&(null!=(h=Be(m,d))&&c.push(Rr(m,h,p)))),f)break;m=m.return}0<c.length&&(l=new u(l,s,null,n,o),i.push({event:l,listeners:c}))}}if(0==(7&t)){if(u="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(s=n.relatedTarget||n.fromElement)||!Xr(s)&&!s[Qr])&&(u||l)&&(l=o.window===o?o:(l=o.ownerDocument)?l.defaultView||l.parentWindow:window,u?(u=r,null!==(s=(s=n.relatedTarget||n.toElement)?Xr(s):null)&&(s!==(f=Qe(s))||5!==s.tag&&6!==s.tag)&&(s=null)):(u=null,s=r),u!==s)){if(c=vn,h="onMouseLeave",d="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(c=Pn,h="onPointerLeave",d="onPointerEnter",m="pointer"),f=null==u?l:Zr(u),p=null==s?l:Zr(s),(l=new c(h,m+"leave",u,n,o)).target=f,l.relatedTarget=p,h=null,Xr(o)===r&&((c=new c(d,m+"enter",s,n,o)).target=p,c.relatedTarget=f,h=c),f=h,u&&s)e:{for(d=s,m=0,p=c=u;p;p=Tr(p))m++;for(p=0,h=d;h;h=Tr(h))p++;for(;0<m-p;)c=Tr(c),m--;for(;0<p-m;)d=Tr(d),p--;for(;m--;){if(c===d||null!==d&&c===d.alternate)break e;c=Tr(c),d=Tr(d)}c=null}else c=null;null!==u&&Lr(i,l,u,c,!1),null!==s&&null!==f&&Lr(i,f,s,c,!0)}if("select"===(u=(l=r?Zr(r):window).nodeName&&l.nodeName.toLowerCase())||"input"===u&&"file"===l.type)var v=Qn;else if(Hn(l))if(Kn)v=ar;else{v=rr;var g=nr}else(u=l.nodeName)&&"input"===u.toLowerCase()&&("checkbox"===l.type||"radio"===l.type)&&(v=or);switch(v&&(v=v(e,r))?Wn(i,v,n,o):(g&&g(e,l,r),"focusout"===e&&(g=l._wrapperState)&&g.controlled&&"number"===l.type&&oe(l,"number",l.value)),g=r?Zr(r):window,e){case"focusin":(Hn(g)||"true"===g.contentEditable)&&(mr=g,hr=r,vr=null);break;case"focusout":vr=hr=mr=null;break;case"mousedown":gr=!0;break;case"contextmenu":case"mouseup":case"dragend":gr=!1,br(i,n,o);break;case"selectionchange":if(pr)break;case"keydown":case"keyup":br(i,n,o)}var b;if(Tn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Un?Bn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(jn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==y?"onCompositionEnd"===y&&Un&&(b=nn()):(en="value"in(Zt=o)?Zt.value:Zt.textContent,Un=!0)),0<(g=Nr(r,y)).length&&(y=new wn(y,e,null,n,o),i.push({event:y,listeners:g}),b?y.data=b:null!==(b=Vn(n))&&(y.data=b))),(b=An?function(e,t){switch(e){case"compositionend":return Vn(t);case"keypress":return 32!==t.which?null:(Fn=!0,Mn);case"textInput":return(e=t.data)===Mn&&Fn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!Tn&&Bn(e,t)?(e=nn(),tn=en=Zt=null,Un=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return jn&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))&&(0<(r=Nr(r,"onBeforeInput")).length&&(o=new wn("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=b))}xr(i,t)}))}function Rr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Nr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Be(e,n))&&r.unshift(Rr(e,a,o)),null!=(a=Be(e,t))&&r.push(Rr(e,a,o))),e=e.return}return r}function Tr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Lr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var l=n,u=l.alternate,s=l.stateNode;if(null!==u&&u===r)break;5===l.tag&&null!==s&&(l=s,o?null!=(u=Be(n,a))&&i.unshift(Rr(n,u,l)):o||null!=(u=Be(n,a))&&i.push(Rr(n,u,l))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function Ar(){}var jr=null,Mr=null;function Fr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Br(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Vr="function"==typeof setTimeout?setTimeout:void 0,Ur="function"==typeof clearTimeout?clearTimeout:void 0;function zr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Hr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Wr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Gr=0;var qr=Math.random().toString(36).slice(2),$r="__reactFiber$"+qr,Yr="__reactProps$"+qr,Qr="__reactContainer$"+qr,Kr="__reactEvents$"+qr;function Xr(e){var t=e[$r];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Qr]||n[$r]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Wr(e);null!==e;){if(n=e[$r])return n;e=Wr(e)}return t}n=(e=n).parentNode}return null}function Jr(e){return!(e=e[$r]||e[Qr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Zr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function eo(e){return e[Yr]||null}function to(e){var t=e[Kr];return void 0===t&&(t=e[Kr]=new Set),t}var no=[],ro=-1;function oo(e){return{current:e}}function ao(e){0>ro||(e.current=no[ro],no[ro]=null,ro--)}function io(e,t){ro++,no[ro]=e.current,e.current=t}var lo={},uo=oo(lo),so=oo(!1),co=lo;function fo(e,t){var n=e.type.contextTypes;if(!n)return lo;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function po(e){return null!=(e=e.childContextTypes)}function mo(){ao(so),ao(uo)}function ho(e,t,n){if(uo.current!==lo)throw Error(i(168));io(uo,t),io(so,n)}function vo(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in e))throw Error(i(108,$(t)||"Unknown",a));return o({},n,r)}function go(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||lo,co=uo.current,io(uo,e),io(so,so.current),!0}function bo(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=vo(e,t,co),r.__reactInternalMemoizedMergedChildContext=e,ao(so),ao(uo),io(uo,e)):ao(so),io(so,n)}var yo=null,_o=null,wo=a.unstable_runWithPriority,Eo=a.unstable_scheduleCallback,So=a.unstable_cancelCallback,xo=a.unstable_shouldYield,Oo=a.unstable_requestPaint,Co=a.unstable_now,ko=a.unstable_getCurrentPriorityLevel,Po=a.unstable_ImmediatePriority,Io=a.unstable_UserBlockingPriority,Do=a.unstable_NormalPriority,Ro=a.unstable_LowPriority,No=a.unstable_IdlePriority,To={},Lo=void 0!==Oo?Oo:function(){},Ao=null,jo=null,Mo=!1,Fo=Co(),Bo=1e4>Fo?Co:function(){return Co()-Fo};function Vo(){switch(ko()){case Po:return 99;case Io:return 98;case Do:return 97;case Ro:return 96;case No:return 95;default:throw Error(i(332))}}function Uo(e){switch(e){case 99:return Po;case 98:return Io;case 97:return Do;case 96:return Ro;case 95:return No;default:throw Error(i(332))}}function zo(e,t){return e=Uo(e),wo(e,t)}function Ho(e,t,n){return e=Uo(e),Eo(e,t,n)}function Wo(){if(null!==jo){var e=jo;jo=null,So(e)}Go()}function Go(){if(!Mo&&null!==Ao){Mo=!0;var e=0;try{var t=Ao;zo(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ao=null}catch(t){throw null!==Ao&&(Ao=Ao.slice(e+1)),Eo(Po,Wo),t}finally{Mo=!1}}}var qo=w.ReactCurrentBatchConfig;function $o(e,t){if(e&&e.defaultProps){for(var n in t=o({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Yo=oo(null),Qo=null,Ko=null,Xo=null;function Jo(){Xo=Ko=Qo=null}function Zo(e){var t=Yo.current;ao(Yo),e.type._context._currentValue=t}function ea(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function ta(e,t){Qo=e,Xo=Ko=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Ni=!0),e.firstContext=null)}function na(e,t){if(Xo!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Xo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Ko){if(null===Qo)throw Error(i(308));Ko=t,Qo.dependencies={lanes:0,firstContext:t,responders:null}}else Ko=Ko.next=t;return e._currentValue}var ra=!1;function oa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function aa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ia(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function la(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function ua(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function sa(e,t,n,r){var a=e.updateQueue;ra=!1;var i=a.firstBaseUpdate,l=a.lastBaseUpdate,u=a.shared.pending;if(null!==u){a.shared.pending=null;var s=u,c=s.next;s.next=null,null===l?i=c:l.next=c,l=s;var f=e.alternate;if(null!==f){var d=(f=f.updateQueue).lastBaseUpdate;d!==l&&(null===d?f.firstBaseUpdate=c:d.next=c,f.lastBaseUpdate=s)}}if(null!==i){for(d=a.baseState,l=0,f=c=s=null;;){u=i.lane;var p=i.eventTime;if((r&u)===u){null!==f&&(f=f.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var m=e,h=i;switch(u=t,p=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(p,d,u);break e}d=m;break e;case 3:m.flags=-4097&m.flags|64;case 0:if(null==(u="function"==typeof(m=h.payload)?m.call(p,d,u):m))break e;d=o({},d,u);break e;case 2:ra=!0}}null!==i.callback&&(e.flags|=32,null===(u=a.effects)?a.effects=[i]:u.push(i))}else p={eventTime:p,lane:u,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===f?(c=f=p,s=d):f=f.next=p,l|=u;if(null===(i=i.next)){if(null===(u=a.shared.pending))break;i=u.next,u.next=null,a.lastBaseUpdate=u,a.shared.pending=null}}null===f&&(s=d),a.baseState=s,a.firstBaseUpdate=c,a.lastBaseUpdate=f,Tl|=l,e.lanes=l,e.memoizedState=d}}function ca(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(i(191,o));o.call(r)}}}var fa=(new r.Component).refs;function da(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:o({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var pa={isMounted:function(e){return!!(e=e._reactInternals)&&Qe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ou(),o=au(e),a=ia(r,o);a.payload=t,null!=n&&(a.callback=n),la(e,a),iu(e,o,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ou(),o=au(e),a=ia(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),la(e,a),iu(e,o,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ou(),r=au(e),o=ia(n,r);o.tag=2,null!=t&&(o.callback=t),la(e,o),iu(e,r,n)}};function ma(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!ur(n,r)||!ur(o,a))}function ha(e,t,n){var r=!1,o=lo,a=t.contextType;return"object"==typeof a&&null!==a?a=na(a):(o=po(t)?co:uo.current,a=(r=null!=(r=t.contextTypes))?fo(e,o):lo),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=pa,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function va(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&pa.enqueueReplaceState(t,t.state,null)}function ga(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs=fa,oa(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=na(a):(a=po(t)?co:uo.current,o.context=fo(e,a)),sa(e,n,o,r),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(da(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&pa.enqueueReplaceState(o,o.state,null),sa(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4)}var ba=Array.isArray;function ya(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var o=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===o?t.ref:((t=function(e){var t=r.refs;t===fa&&(t=r.refs={}),null===e?delete t[o]:t[o]=e})._stringRef=o,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function _a(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function wa(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Fu(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function l(t){return e&&null===t.alternate&&(t.flags=2),t}function u(e,t,n,r){return null===t||6!==t.tag?((t=zu(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function s(e,t,n,r){return null!==t&&t.elementType===n.type?((r=o(t,n.props)).ref=ya(e,t,n),r.return=e,r):((r=Bu(n.type,n.key,n.props,null,e.mode,r)).ref=ya(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Hu(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function f(e,t,n,r,a){return null===t||7!==t.tag?((t=Vu(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=zu(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case E:return(n=Bu(t.type,t.key,t.props,null,e.mode,n)).ref=ya(e,null,t),n.return=e,n;case S:return(t=Hu(t,e.mode,n)).return=e,t}if(ba(t)||z(t))return(t=Vu(t,e.mode,n,null)).return=e,t;_a(e,t)}return null}function p(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==o?null:u(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case E:return n.key===o?n.type===x?f(e,t,n.props.children,r,o):s(e,t,n,r):null;case S:return n.key===o?c(e,t,n,r):null}if(ba(n)||z(n))return null!==o?null:f(e,t,n,r,null);_a(e,n)}return null}function m(e,t,n,r,o){if("string"==typeof r||"number"==typeof r)return u(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case E:return e=e.get(null===r.key?n:r.key)||null,r.type===x?f(t,e,r.props.children,o,r.key):s(t,e,r,o);case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o)}if(ba(r)||z(r))return f(t,e=e.get(n)||null,r,o,null);_a(t,r)}return null}function h(o,i,l,u){for(var s=null,c=null,f=i,h=i=0,v=null;null!==f&&h<l.length;h++){f.index>h?(v=f,f=null):v=f.sibling;var g=p(o,f,l[h],u);if(null===g){null===f&&(f=v);break}e&&f&&null===g.alternate&&t(o,f),i=a(g,i,h),null===c?s=g:c.sibling=g,c=g,f=v}if(h===l.length)return n(o,f),s;if(null===f){for(;h<l.length;h++)null!==(f=d(o,l[h],u))&&(i=a(f,i,h),null===c?s=f:c.sibling=f,c=f);return s}for(f=r(o,f);h<l.length;h++)null!==(v=m(f,o,h,l[h],u))&&(e&&null!==v.alternate&&f.delete(null===v.key?h:v.key),i=a(v,i,h),null===c?s=v:c.sibling=v,c=v);return e&&f.forEach((function(e){return t(o,e)})),s}function v(o,l,u,s){var c=z(u);if("function"!=typeof c)throw Error(i(150));if(null==(u=c.call(u)))throw Error(i(151));for(var f=c=null,h=l,v=l=0,g=null,b=u.next();null!==h&&!b.done;v++,b=u.next()){h.index>v?(g=h,h=null):g=h.sibling;var y=p(o,h,b.value,s);if(null===y){null===h&&(h=g);break}e&&h&&null===y.alternate&&t(o,h),l=a(y,l,v),null===f?c=y:f.sibling=y,f=y,h=g}if(b.done)return n(o,h),c;if(null===h){for(;!b.done;v++,b=u.next())null!==(b=d(o,b.value,s))&&(l=a(b,l,v),null===f?c=b:f.sibling=b,f=b);return c}for(h=r(o,h);!b.done;v++,b=u.next())null!==(b=m(h,o,v,b.value,s))&&(e&&null!==b.alternate&&h.delete(null===b.key?v:b.key),l=a(b,l,v),null===f?c=b:f.sibling=b,f=b);return e&&h.forEach((function(e){return t(o,e)})),c}return function(e,r,a,u){var s="object"==typeof a&&null!==a&&a.type===x&&null===a.key;s&&(a=a.props.children);var c="object"==typeof a&&null!==a;if(c)switch(a.$$typeof){case E:e:{for(c=a.key,s=r;null!==s;){if(s.key===c){switch(s.tag){case 7:if(a.type===x){n(e,s.sibling),(r=o(s,a.props.children)).return=e,e=r;break e}break;default:if(s.elementType===a.type){n(e,s.sibling),(r=o(s,a.props)).ref=ya(e,s,a),r.return=e,e=r;break e}}n(e,s);break}t(e,s),s=s.sibling}a.type===x?((r=Vu(a.props.children,e.mode,u,a.key)).return=e,e=r):((u=Bu(a.type,a.key,a.props,null,e.mode,u)).ref=ya(e,r,a),u.return=e,e=u)}return l(e);case S:e:{for(s=a.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),(r=o(r,a.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Hu(a,e.mode,u)).return=e,e=r}return l(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==r&&6===r.tag?(n(e,r.sibling),(r=o(r,a)).return=e,e=r):(n(e,r),(r=zu(a,e.mode,u)).return=e,e=r),l(e);if(ba(a))return h(e,r,a,u);if(z(a))return v(e,r,a,u);if(c&&_a(e,a),void 0===a&&!s)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,$(e.type)||"Component"))}return n(e,r)}}var Ea=wa(!0),Sa=wa(!1),xa={},Oa=oo(xa),Ca=oo(xa),ka=oo(xa);function Pa(e){if(e===xa)throw Error(i(174));return e}function Ia(e,t){switch(io(ka,t),io(Ca,e),io(Oa,xa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:me(null,"");break;default:t=me(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ao(Oa),io(Oa,t)}function Da(){ao(Oa),ao(Ca),ao(ka)}function Ra(e){Pa(ka.current);var t=Pa(Oa.current),n=me(t,e.type);t!==n&&(io(Ca,e),io(Oa,n))}function Na(e){Ca.current===e&&(ao(Oa),ao(Ca))}var Ta=oo(0);function La(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Aa=null,ja=null,Ma=!1;function Fa(e,t){var n=ju(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Ba(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Va(e){if(Ma){var t=ja;if(t){var n=t;if(!Ba(e,t)){if(!(t=Hr(n.nextSibling))||!Ba(e,t))return e.flags=-1025&e.flags|2,Ma=!1,void(Aa=e);Fa(Aa,n)}Aa=e,ja=Hr(t.firstChild)}else e.flags=-1025&e.flags|2,Ma=!1,Aa=e}}function Ua(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Aa=e}function za(e){if(e!==Aa)return!1;if(!Ma)return Ua(e),Ma=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Br(t,e.memoizedProps))for(t=ja;t;)Fa(e,t),t=Hr(t.nextSibling);if(Ua(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ja=Hr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ja=null}}else ja=Aa?Hr(e.stateNode.nextSibling):null;return!0}function Ha(){ja=Aa=null,Ma=!1}var Wa=[];function Ga(){for(var e=0;e<Wa.length;e++)Wa[e]._workInProgressVersionPrimary=null;Wa.length=0}var qa=w.ReactCurrentDispatcher,$a=w.ReactCurrentBatchConfig,Ya=0,Qa=null,Ka=null,Xa=null,Ja=!1,Za=!1;function ei(){throw Error(i(321))}function ti(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ir(e[n],t[n]))return!1;return!0}function ni(e,t,n,r,o,a){if(Ya=a,Qa=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,qa.current=null===e||null===e.memoizedState?Pi:Ii,e=n(r,o),Za){a=0;do{if(Za=!1,!(25>a))throw Error(i(301));a+=1,Xa=Ka=null,t.updateQueue=null,qa.current=Di,e=n(r,o)}while(Za)}if(qa.current=ki,t=null!==Ka&&null!==Ka.next,Ya=0,Xa=Ka=Qa=null,Ja=!1,t)throw Error(i(300));return e}function ri(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Xa?Qa.memoizedState=Xa=e:Xa=Xa.next=e,Xa}function oi(){if(null===Ka){var e=Qa.alternate;e=null!==e?e.memoizedState:null}else e=Ka.next;var t=null===Xa?Qa.memoizedState:Xa.next;if(null!==t)Xa=t,Ka=e;else{if(null===e)throw Error(i(310));e={memoizedState:(Ka=e).memoizedState,baseState:Ka.baseState,baseQueue:Ka.baseQueue,queue:Ka.queue,next:null},null===Xa?Qa.memoizedState=Xa=e:Xa=Xa.next=e}return Xa}function ai(e,t){return"function"==typeof t?t(e):t}function ii(e){var t=oi(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=Ka,o=r.baseQueue,a=n.pending;if(null!==a){if(null!==o){var l=o.next;o.next=a.next,a.next=l}r.baseQueue=o=a,n.pending=null}if(null!==o){o=o.next,r=r.baseState;var u=l=a=null,s=o;do{var c=s.lane;if((Ya&c)===c)null!==u&&(u=u.next={lane:0,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null}),r=s.eagerReducer===e?s.eagerState:e(r,s.action);else{var f={lane:c,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null};null===u?(l=u=f,a=r):u=u.next=f,Qa.lanes|=c,Tl|=c}s=s.next}while(null!==s&&s!==o);null===u?a=r:u.next=l,ir(r,t.memoizedState)||(Ni=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=u,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function li(e){var t=oi(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(null!==o){n.pending=null;var l=o=o.next;do{a=e(a,l.action),l=l.next}while(l!==o);ir(a,t.memoizedState)||(Ni=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function ui(e,t,n){var r=t._getVersion;r=r(t._source);var o=t._workInProgressVersionPrimary;if(null!==o?e=o===r:(e=e.mutableReadLanes,(e=(Ya&e)===e)&&(t._workInProgressVersionPrimary=r,Wa.push(t))),e)return n(t._source);throw Wa.push(t),Error(i(350))}function si(e,t,n,r){var o=Ol;if(null===o)throw Error(i(349));var a=t._getVersion,l=a(t._source),u=qa.current,s=u.useState((function(){return ui(o,t,n)})),c=s[1],f=s[0];s=Xa;var d=e.memoizedState,p=d.refs,m=p.getSnapshot,h=d.source;d=d.subscribe;var v=Qa;return e.memoizedState={refs:p,source:t,subscribe:r},u.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=a(t._source);if(!ir(l,e)){e=n(t._source),ir(f,e)||(c(e),e=au(v),o.mutableReadLanes|=e&o.pendingLanes),e=o.mutableReadLanes,o.entangledLanes|=e;for(var r=o.entanglements,i=e;0<i;){var u=31-Ht(i),s=1<<u;r[u]|=e,i&=~s}}}),[n,t,r]),u.useEffect((function(){return r(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var r=au(v);o.mutableReadLanes|=r&o.pendingLanes}catch(e){n((function(){throw e}))}}))}),[t,r]),ir(m,n)&&ir(h,t)&&ir(d,r)||((e={pending:null,dispatch:null,lastRenderedReducer:ai,lastRenderedState:f}).dispatch=c=Ci.bind(null,Qa,e),s.queue=e,s.baseQueue=null,f=ui(o,t,n),s.memoizedState=s.baseState=f),f}function ci(e,t,n){return si(oi(),e,t,n)}function fi(e){var t=ri();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ai,lastRenderedState:e}).dispatch=Ci.bind(null,Qa,e),[t.memoizedState,e]}function di(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Qa.updateQueue)?(t={lastEffect:null},Qa.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function pi(e){return e={current:e},ri().memoizedState=e}function mi(){return oi().memoizedState}function hi(e,t,n,r){var o=ri();Qa.flags|=e,o.memoizedState=di(1|t,n,void 0,void 0===r?null:r)}function vi(e,t,n,r){var o=oi();r=void 0===r?null:r;var a=void 0;if(null!==Ka){var i=Ka.memoizedState;if(a=i.destroy,null!==r&&ti(r,i.deps))return void di(t,n,a,r)}Qa.flags|=e,o.memoizedState=di(1|t,n,a,r)}function gi(e,t){return hi(516,4,e,t)}function bi(e,t){return vi(516,4,e,t)}function yi(e,t){return vi(4,2,e,t)}function _i(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function wi(e,t,n){return n=null!=n?n.concat([e]):null,vi(4,2,_i.bind(null,t,e),n)}function Ei(){}function Si(e,t){var n=oi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ti(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function xi(e,t){var n=oi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ti(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Oi(e,t){var n=Vo();zo(98>n?98:n,(function(){e(!0)})),zo(97<n?97:n,(function(){var n=$a.transition;$a.transition=1;try{e(!1),t()}finally{$a.transition=n}}))}function Ci(e,t,n){var r=ou(),o=au(e),a={lane:o,action:n,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?a.next=a:(a.next=i.next,i.next=a),t.pending=a,i=e.alternate,e===Qa||null!==i&&i===Qa)Za=Ja=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var l=t.lastRenderedState,u=i(l,n);if(a.eagerReducer=i,a.eagerState=u,ir(u,l))return}catch(e){}iu(e,o,r)}}var ki={readContext:na,useCallback:ei,useContext:ei,useEffect:ei,useImperativeHandle:ei,useLayoutEffect:ei,useMemo:ei,useReducer:ei,useRef:ei,useState:ei,useDebugValue:ei,useDeferredValue:ei,useTransition:ei,useMutableSource:ei,useOpaqueIdentifier:ei,unstable_isNewReconciler:!1},Pi={readContext:na,useCallback:function(e,t){return ri().memoizedState=[e,void 0===t?null:t],e},useContext:na,useEffect:gi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,hi(4,2,_i.bind(null,t,e),n)},useLayoutEffect:function(e,t){return hi(4,2,e,t)},useMemo:function(e,t){var n=ri();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=ri();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ci.bind(null,Qa,e),[r.memoizedState,e]},useRef:pi,useState:fi,useDebugValue:Ei,useDeferredValue:function(e){var t=fi(e),n=t[0],r=t[1];return gi((function(){var t=$a.transition;$a.transition=1;try{r(e)}finally{$a.transition=t}}),[e]),n},useTransition:function(){var e=fi(!1),t=e[0];return pi(e=Oi.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=ri();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},si(r,e,t,n)},useOpaqueIdentifier:function(){if(Ma){var e=!1,t=function(e){return{$$typeof:A,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Gr++).toString(36))),Error(i(355))})),n=fi(t)[1];return 0==(2&Qa.mode)&&(Qa.flags|=516,di(5,(function(){n("r:"+(Gr++).toString(36))}),void 0,null)),t}return fi(t="r:"+(Gr++).toString(36)),t},unstable_isNewReconciler:!1},Ii={readContext:na,useCallback:Si,useContext:na,useEffect:bi,useImperativeHandle:wi,useLayoutEffect:yi,useMemo:xi,useReducer:ii,useRef:mi,useState:function(){return ii(ai)},useDebugValue:Ei,useDeferredValue:function(e){var t=ii(ai),n=t[0],r=t[1];return bi((function(){var t=$a.transition;$a.transition=1;try{r(e)}finally{$a.transition=t}}),[e]),n},useTransition:function(){var e=ii(ai)[0];return[mi().current,e]},useMutableSource:ci,useOpaqueIdentifier:function(){return ii(ai)[0]},unstable_isNewReconciler:!1},Di={readContext:na,useCallback:Si,useContext:na,useEffect:bi,useImperativeHandle:wi,useLayoutEffect:yi,useMemo:xi,useReducer:li,useRef:mi,useState:function(){return li(ai)},useDebugValue:Ei,useDeferredValue:function(e){var t=li(ai),n=t[0],r=t[1];return bi((function(){var t=$a.transition;$a.transition=1;try{r(e)}finally{$a.transition=t}}),[e]),n},useTransition:function(){var e=li(ai)[0];return[mi().current,e]},useMutableSource:ci,useOpaqueIdentifier:function(){return li(ai)[0]},unstable_isNewReconciler:!1},Ri=w.ReactCurrentOwner,Ni=!1;function Ti(e,t,n,r){t.child=null===e?Sa(t,null,n,r):Ea(t,e.child,n,r)}function Li(e,t,n,r,o){n=n.render;var a=t.ref;return ta(t,o),r=ni(e,t,n,r,a,o),null===e||Ni?(t.flags|=1,Ti(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~o,el(e,t,o))}function Ai(e,t,n,r,o,a){if(null===e){var i=n.type;return"function"!=typeof i||Mu(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Bu(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,ji(e,t,i,r,o,a))}return i=e.child,0==(o&a)&&(o=i.memoizedProps,(n=null!==(n=n.compare)?n:ur)(o,r)&&e.ref===t.ref)?el(e,t,a):(t.flags|=1,(e=Fu(i,r)).ref=t.ref,e.return=t,t.child=e)}function ji(e,t,n,r,o,a){if(null!==e&&ur(e.memoizedProps,r)&&e.ref===t.ref){if(Ni=!1,0==(a&o))return t.lanes=e.lanes,el(e,t,a);0!=(16384&e.flags)&&(Ni=!0)}return Bi(e,t,n,r,a)}function Mi(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},mu(t,n);else{if(0==(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},mu(t,e),null;t.memoizedState={baseLanes:0},mu(t,null!==a?a.baseLanes:n)}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,mu(t,r);return Ti(e,t,o,n),t.child}function Fi(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Bi(e,t,n,r,o){var a=po(n)?co:uo.current;return a=fo(t,a),ta(t,o),n=ni(e,t,n,r,a,o),null===e||Ni?(t.flags|=1,Ti(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~o,el(e,t,o))}function Vi(e,t,n,r,o){if(po(n)){var a=!0;go(t)}else a=!1;if(ta(t,o),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),ha(t,n,r),ga(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,l=t.memoizedProps;i.props=l;var u=i.context,s=n.contextType;"object"==typeof s&&null!==s?s=na(s):s=fo(t,s=po(n)?co:uo.current);var c=n.getDerivedStateFromProps,f="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;f||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==r||u!==s)&&va(t,i,r,s),ra=!1;var d=t.memoizedState;i.state=d,sa(t,r,i,o),u=t.memoizedState,l!==r||d!==u||so.current||ra?("function"==typeof c&&(da(t,n,c,r),u=t.memoizedState),(l=ra||ma(t,n,l,r,d,u,s))?(f||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4)):("function"==typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=u),i.props=r,i.state=u,i.context=s,r=l):("function"==typeof i.componentDidMount&&(t.flags|=4),r=!1)}else{i=t.stateNode,aa(e,t),l=t.memoizedProps,s=t.type===t.elementType?l:$o(t.type,l),i.props=s,f=t.pendingProps,d=i.context,"object"==typeof(u=n.contextType)&&null!==u?u=na(u):u=fo(t,u=po(n)?co:uo.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(l!==f||d!==u)&&va(t,i,r,u),ra=!1,d=t.memoizedState,i.state=d,sa(t,r,i,o);var m=t.memoizedState;l!==f||d!==m||so.current||ra?("function"==typeof p&&(da(t,n,p,r),m=t.memoizedState),(s=ra||ma(t,n,s,r,d,m,u))?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,u),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,u)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=u,r=s):("function"!=typeof i.componentDidUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||l===e.memoizedProps&&d===e.memoizedState||(t.flags|=256),r=!1)}return Ui(e,t,n,r,a,o)}function Ui(e,t,n,r,o,a){Fi(e,t);var i=0!=(64&t.flags);if(!r&&!i)return o&&bo(t,n,!1),el(e,t,a);r=t.stateNode,Ri.current=t;var l=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Ea(t,e.child,null,a),t.child=Ea(t,null,l,a)):Ti(e,t,l,a),t.memoizedState=r.state,o&&bo(t,n,!0),t.child}function zi(e){var t=e.stateNode;t.pendingContext?ho(0,t.pendingContext,t.pendingContext!==t.context):t.context&&ho(0,t.context,!1),Ia(e,t.containerInfo)}var Hi,Wi,Gi,qi={dehydrated:null,retryLane:0};function $i(e,t,n){var r,o=t.pendingProps,a=Ta.current,i=!1;return(r=0!=(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!=(2&a)),r?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(a|=1),io(Ta,1&a),null===e?(void 0!==o.fallback&&Va(t),e=o.children,a=o.fallback,i?(e=Yi(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=qi,e):"number"==typeof o.unstable_expectedLoadTime?(e=Yi(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=qi,t.lanes=33554432,e):((n=Uu({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,i?(o=Ki(e,t,o.children,o.fallback,n),i=t.child,a=e.child.memoizedState,i.memoizedState=null===a?{baseLanes:n}:{baseLanes:a.baseLanes|n},i.childLanes=e.childLanes&~n,t.memoizedState=qi,o):(n=Qi(e,t,o.children,n),t.memoizedState=null,n))}function Yi(e,t,n,r){var o=e.mode,a=e.child;return t={mode:"hidden",children:t},0==(2&o)&&null!==a?(a.childLanes=0,a.pendingProps=t):a=Uu(t,o,0,null),n=Vu(n,o,r,null),a.return=e,n.return=e,a.sibling=n,e.child=a,n}function Qi(e,t,n,r){var o=e.child;return e=o.sibling,n=Fu(o,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function Ki(e,t,n,r,o){var a=t.mode,i=e.child;e=i.sibling;var l={mode:"hidden",children:n};return 0==(2&a)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=l,null!==(i=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Fu(i,l),null!==e?r=Fu(e,r):(r=Vu(r,a,o,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function Xi(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ea(e.return,t)}function Ji(e,t,n,r,o,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o,lastEffect:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o,i.lastEffect=a)}function Zi(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(Ti(e,t,r.children,n),0!=(2&(r=Ta.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Xi(e,n);else if(19===e.tag)Xi(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(io(Ta,r),0==(2&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===La(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Ji(t,!1,o,n,a,t.lastEffect);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===La(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Ji(t,!0,n,null,a,t.lastEffect);break;case"together":Ji(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function el(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Tl|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Fu(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Fu(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function tl(e,t){if(!Ma)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function nl(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return po(t.type)&&mo(),null;case 3:return Da(),ao(so),ao(uo),Ga(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(za(t)?t.flags|=4:r.hydrate||(t.flags|=256)),null;case 5:Na(t);var a=Pa(ka.current);if(n=t.type,null!==e&&null!=t.stateNode)Wi(e,t,n,r),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(i(166));return null}if(e=Pa(Oa.current),za(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[$r]=t,r[Yr]=l,n){case"dialog":Or("cancel",r),Or("close",r);break;case"iframe":case"object":case"embed":Or("load",r);break;case"video":case"audio":for(e=0;e<wr.length;e++)Or(wr[e],r);break;case"source":Or("error",r);break;case"img":case"image":case"link":Or("error",r),Or("load",r);break;case"details":Or("toggle",r);break;case"input":ee(r,l),Or("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},Or("invalid",r);break;case"textarea":ue(r,l),Or("invalid",r)}for(var s in Se(n,l),e=null,l)l.hasOwnProperty(s)&&(a=l[s],"children"===s?"string"==typeof a?r.textContent!==a&&(e=["children",a]):"number"==typeof a&&r.textContent!==""+a&&(e=["children",""+a]):u.hasOwnProperty(s)&&null!=a&&"onScroll"===s&&Or("scroll",r));switch(n){case"input":K(r),re(r,l,!0);break;case"textarea":K(r),ce(r);break;case"select":case"option":break;default:"function"==typeof l.onClick&&(r.onclick=Ar)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(s=9===a.nodeType?a:a.ownerDocument,e===fe&&(e=pe(n)),e===fe?"script"===n?((e=s.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),"select"===n&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[$r]=t,e[Yr]=r,Hi(e,t),t.stateNode=e,s=xe(n,r),n){case"dialog":Or("cancel",e),Or("close",e),a=r;break;case"iframe":case"object":case"embed":Or("load",e),a=r;break;case"video":case"audio":for(a=0;a<wr.length;a++)Or(wr[a],e);a=r;break;case"source":Or("error",e),a=r;break;case"img":case"image":case"link":Or("error",e),Or("load",e),a=r;break;case"details":Or("toggle",e),a=r;break;case"input":ee(e,r),a=Z(e,r),Or("invalid",e);break;case"option":a=ae(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=o({},r,{value:void 0}),Or("invalid",e);break;case"textarea":ue(e,r),a=le(e,r),Or("invalid",e);break;default:a=r}Se(n,a);var c=a;for(l in c)if(c.hasOwnProperty(l)){var f=c[l];"style"===l?we(e,f):"dangerouslySetInnerHTML"===l?null!=(f=f?f.__html:void 0)&&ve(e,f):"children"===l?"string"==typeof f?("textarea"!==n||""!==f)&&ge(e,f):"number"==typeof f&&ge(e,""+f):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(u.hasOwnProperty(l)?null!=f&&"onScroll"===l&&Or("scroll",e):null!=f&&_(e,l,f,s))}switch(n){case"input":K(e),re(e,r,!1);break;case"textarea":K(e),ce(e);break;case"option":null!=r.value&&e.setAttribute("value",""+Y(r.value));break;case"select":e.multiple=!!r.multiple,null!=(l=r.value)?ie(e,!!r.multiple,l,!1):null!=r.defaultValue&&ie(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Ar)}Fr(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Gi(0,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));n=Pa(ka.current),Pa(Oa.current),za(t)?(r=t.stateNode,n=t.memoizedProps,r[$r]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[$r]=t,t.stateNode=r)}return null;case 13:return ao(Ta),r=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&za(t):n=null!==e.memoizedState,r&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Ta.current)?0===Dl&&(Dl=3):(0!==Dl&&3!==Dl||(Dl=4),null===Ol||0==(134217727&Tl)&&0==(134217727&Ll)||cu(Ol,kl))),(r||n)&&(t.flags|=4),null);case 4:return Da(),null===e&&kr(t.stateNode.containerInfo),null;case 10:return Zo(t),null;case 17:return po(t.type)&&mo(),null;case 19:if(ao(Ta),null===(r=t.memoizedState))return null;if(l=0!=(64&t.flags),null===(s=r.rendering))if(l)tl(r,!1);else{if(0!==Dl||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(s=La(e))){for(t.flags|=64,tl(r,!1),null!==(l=s.updateQueue)&&(t.updateQueue=l,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(l=n).flags&=2,l.nextEffect=null,l.firstEffect=null,l.lastEffect=null,null===(s=l.alternate)?(l.childLanes=0,l.lanes=e,l.child=null,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=s.childLanes,l.lanes=s.lanes,l.child=s.child,l.memoizedProps=s.memoizedProps,l.memoizedState=s.memoizedState,l.updateQueue=s.updateQueue,l.type=s.type,e=s.dependencies,l.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return io(Ta,1&Ta.current|2),t.child}e=e.sibling}null!==r.tail&&Bo()>Fl&&(t.flags|=64,l=!0,tl(r,!1),t.lanes=33554432)}else{if(!l)if(null!==(e=La(s))){if(t.flags|=64,l=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),tl(r,!0),null===r.tail&&"hidden"===r.tailMode&&!s.alternate&&!Ma)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*Bo()-r.renderingStartTime>Fl&&1073741824!==n&&(t.flags|=64,l=!0,tl(r,!1),t.lanes=33554432);r.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=r.last)?n.sibling=s:t.child=s,r.last=s)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=Bo(),n.sibling=null,t=Ta.current,io(Ta,l?1&t|2:1&t),n):null;case 23:case 24:return hu(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function rl(e){switch(e.tag){case 1:po(e.type)&&mo();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Da(),ao(so),ao(uo),Ga(),0!=(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return Na(e),null;case 13:return ao(Ta),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ao(Ta),null;case 4:return Da(),null;case 10:return Zo(e),null;case 23:case 24:return hu(),null;default:return null}}function ol(e,t){try{var n="",r=t;do{n+=q(r),r=r.return}while(r);var o=n}catch(e){o="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:o}}Hi=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Wi=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Pa(Oa.current);var i,l=null;switch(n){case"input":a=Z(e,a),r=Z(e,r),l=[];break;case"option":a=ae(e,a),r=ae(e,r),l=[];break;case"select":a=o({},a,{value:void 0}),r=o({},r,{value:void 0}),l=[];break;case"textarea":a=le(e,a),r=le(e,r),l=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Ar)}for(f in Se(n,r),n=null,a)if(!r.hasOwnProperty(f)&&a.hasOwnProperty(f)&&null!=a[f])if("style"===f){var s=a[f];for(i in s)s.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==f&&"children"!==f&&"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&"autoFocus"!==f&&(u.hasOwnProperty(f)?l||(l=[]):(l=l||[]).push(f,null));for(f in r){var c=r[f];if(s=null!=a?a[f]:void 0,r.hasOwnProperty(f)&&c!==s&&(null!=c||null!=s))if("style"===f)if(s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(l||(l=[]),l.push(f,n)),n=c;else"dangerouslySetInnerHTML"===f?(c=c?c.__html:void 0,s=s?s.__html:void 0,null!=c&&s!==c&&(l=l||[]).push(f,c)):"children"===f?"string"!=typeof c&&"number"!=typeof c||(l=l||[]).push(f,""+c):"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==f&&(u.hasOwnProperty(f)?(null!=c&&"onScroll"===f&&Or("scroll",e),l||s===c||(l=[])):"object"==typeof c&&null!==c&&c.$$typeof===A?c.toString():(l=l||[]).push(f,c))}n&&(l=l||[]).push("style",n);var f=l;(t.updateQueue=f)&&(t.flags|=4)}},Gi=function(e,t,n,r){n!==r&&(t.flags|=4)};var al="function"==typeof WeakMap?WeakMap:Map;function il(e,t,n){(n=ia(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){zl||(zl=!0,Hl=r)},n}function ll(e,t,n){(n=ia(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Wl?Wl=new Set([this]):Wl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var ul="function"==typeof WeakSet?WeakSet:Set;function sl(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Nu(e,t)}else t.current=null}function cl(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:$o(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&zr(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(i(163))}function fl(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var o=e;r=o.next,0!=(4&(o=o.tag))&&0!=(1&o)&&(Iu(n,e),Pu(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:$o(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&ca(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}ca(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Fr(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&wt(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(i(163))}function dl(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"==typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var o=n.memoizedProps.style;o=null!=o&&o.hasOwnProperty("display")?o.display:null,r.style.display=_e("display",o)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function pl(e,t){if(_o&&"function"==typeof _o.onCommitFiberUnmount)try{_o.onCommitFiberUnmount(yo,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,o=r.destroy;if(r=r.tag,void 0!==o)if(0!=(4&r))Iu(t,n);else{r=t;try{o()}catch(e){Nu(r,e)}}n=n.next}while(n!==e)}break;case 1:if(sl(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){Nu(t,e)}break;case 5:sl(t);break;case 4:gl(e,t)}}function ml(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function hl(e){return 5===e.tag||3===e.tag||4===e.tag}function vl(e){e:{for(var t=e.return;null!==t;){if(hl(t))break e;t=t.return}throw Error(i(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.flags&&(ge(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||hl(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?function e(t,n,r){var o=t.tag,a=5===o||6===o;if(a)t=a?t.stateNode:t.stateNode.instance,n?8===r.nodeType?r.parentNode.insertBefore(t,n):r.insertBefore(t,n):(8===r.nodeType?(n=r.parentNode).insertBefore(t,r):(n=r).appendChild(t),null!==(r=r._reactRootContainer)&&void 0!==r||null!==n.onclick||(n.onclick=Ar));else if(4!==o&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t):function e(t,n,r){var o=t.tag,a=5===o||6===o;if(a)t=a?t.stateNode:t.stateNode.instance,n?r.insertBefore(t,n):r.appendChild(t);else if(4!==o&&null!==(t=t.child))for(e(t,n,r),t=t.sibling;null!==t;)e(t,n,r),t=t.sibling}(e,n,t)}function gl(e,t){for(var n,r,o=t,a=!1;;){if(!a){a=o.return;e:for(;;){if(null===a)throw Error(i(160));switch(n=a.stateNode,a.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}a=a.return}a=!0}if(5===o.tag||6===o.tag){e:for(var l=e,u=o,s=u;;)if(pl(l,s),null!==s.child&&4!==s.tag)s.child.return=s,s=s.child;else{if(s===u)break e;for(;null===s.sibling;){if(null===s.return||s.return===u)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}r?(l=n,u=o.stateNode,8===l.nodeType?l.parentNode.removeChild(u):l.removeChild(u)):n.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){n=o.stateNode.containerInfo,r=!0,o.child.return=o,o=o.child;continue}}else if(pl(e,o),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(a=!1)}o.sibling.return=o.return,o=o.sibling}}function bl(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3==(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var o=null!==e?e.memoizedProps:r;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(n[Yr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),xe(e,o),t=xe(e,r),o=0;o<a.length;o+=2){var l=a[o],u=a[o+1];"style"===l?we(n,u):"dangerouslySetInnerHTML"===l?ve(n,u):"children"===l?ge(n,u):_(n,l,u,t)}switch(e){case"input":ne(n,r);break;case"textarea":se(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(a=r.value)?ie(n,!!r.multiple,a,!1):e!==!!r.multiple&&(null!=r.defaultValue?ie(n,!!r.multiple,r.defaultValue,!0):ie(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,wt(n.containerInfo)));case 12:return;case 13:return null!==t.memoizedState&&(Ml=Bo(),dl(t.child,!0)),void yl(t);case 19:return void yl(t);case 17:return;case 23:case 24:return void dl(t,null!==t.memoizedState)}throw Error(i(163))}function yl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ul),t.forEach((function(t){var r=Lu.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function _l(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var wl=Math.ceil,El=w.ReactCurrentDispatcher,Sl=w.ReactCurrentOwner,xl=0,Ol=null,Cl=null,kl=0,Pl=0,Il=oo(0),Dl=0,Rl=null,Nl=0,Tl=0,Ll=0,Al=0,jl=null,Ml=0,Fl=1/0;function Bl(){Fl=Bo()+500}var Vl,Ul=null,zl=!1,Hl=null,Wl=null,Gl=!1,ql=null,$l=90,Yl=[],Ql=[],Kl=null,Xl=0,Jl=null,Zl=-1,eu=0,tu=0,nu=null,ru=!1;function ou(){return 0!=(48&xl)?Bo():-1!==Zl?Zl:Zl=Bo()}function au(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Vo()?1:2;if(0===eu&&(eu=Nl),0!==qo.transition){0!==tu&&(tu=null!==jl?jl.pendingLanes:0),e=eu;var t=4186112&~tu;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Vo(),0!=(4&xl)&&98===e?e=Bt(12,eu):e=Bt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),eu),e}function iu(e,t,n){if(50<Xl)throw Xl=0,Jl=null,Error(i(185));if(null===(e=lu(e,t)))return null;zt(e,t,n),e===Ol&&(Ll|=t,4===Dl&&cu(e,kl));var r=Vo();1===t?0!=(8&xl)&&0==(48&xl)?fu(e):(uu(e,n),0===xl&&(Bl(),Wo())):(0==(4&xl)||98!==r&&99!==r||(null===Kl?Kl=new Set([e]):Kl.add(e)),uu(e,n)),jl=e}function lu(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function uu(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,o=e.pingedLanes,a=e.expirationTimes,l=e.pendingLanes;0<l;){var u=31-Ht(l),s=1<<u,c=a[u];if(-1===c){if(0==(s&r)||0!=(s&o)){c=t,jt(s);var f=At;a[u]=10<=f?c+250:6<=f?c+5e3:-1}}else c<=t&&(e.expiredLanes|=s);l&=~s}if(r=Mt(e,e===Ol?kl:0),t=At,0===r)null!==n&&(n!==To&&So(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==To&&So(n)}15===t?(n=fu.bind(null,e),null===Ao?(Ao=[n],jo=Eo(Po,Go)):Ao.push(n),n=To):14===t?n=Ho(99,fu.bind(null,e)):n=Ho(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),su.bind(null,e)),e.callbackPriority=t,e.callbackNode=n}}function su(e){if(Zl=-1,tu=eu=0,0!=(48&xl))throw Error(i(327));var t=e.callbackNode;if(ku()&&e.callbackNode!==t)return null;var n=Mt(e,e===Ol?kl:0);if(0===n)return null;var r=n,o=xl;xl|=16;var a=bu();for(Ol===e&&kl===r||(Bl(),vu(e,r));;)try{wu();break}catch(t){gu(e,t)}if(Jo(),El.current=a,xl=o,null!==Cl?r=0:(Ol=null,kl=0,r=Dl),0!=(Nl&Ll))vu(e,0);else if(0!==r){if(2===r&&(xl|=64,e.hydrate&&(e.hydrate=!1,zr(e.containerInfo)),0!==(n=Ft(e))&&(r=yu(e,n))),1===r)throw t=Rl,vu(e,0),cu(e,n),uu(e,Bo()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(i(345));case 2:xu(e);break;case 3:if(cu(e,n),(62914560&n)===n&&10<(r=Ml+500-Bo())){if(0!==Mt(e,0))break;if(((o=e.suspendedLanes)&n)!==n){ou(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Vr(xu.bind(null,e),r);break}xu(e);break;case 4:if(cu(e,n),(4186112&n)===n)break;for(r=e.eventTimes,o=-1;0<n;){var l=31-Ht(n);a=1<<l,(l=r[l])>o&&(o=l),n&=~a}if(n=o,10<(n=(120>(n=Bo()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*wl(n/1960))-n)){e.timeoutHandle=Vr(xu.bind(null,e),n);break}xu(e);break;case 5:xu(e);break;default:throw Error(i(329))}}return uu(e,Bo()),e.callbackNode===t?su.bind(null,e):null}function cu(e,t){for(t&=~Al,t&=~Ll,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ht(t),r=1<<n;e[n]=-1,t&=~r}}function fu(e){if(0!=(48&xl))throw Error(i(327));if(ku(),e===Ol&&0!=(e.expiredLanes&kl)){var t=kl,n=yu(e,t);0!=(Nl&Ll)&&(n=yu(e,t=Mt(e,t)))}else n=yu(e,t=Mt(e,0));if(0!==e.tag&&2===n&&(xl|=64,e.hydrate&&(e.hydrate=!1,zr(e.containerInfo)),0!==(t=Ft(e))&&(n=yu(e,t))),1===n)throw n=Rl,vu(e,0),cu(e,t),uu(e,Bo()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,xu(e),uu(e,Bo()),null}function du(e,t){var n=xl;xl|=1;try{return e(t)}finally{0===(xl=n)&&(Bl(),Wo())}}function pu(e,t){var n=xl;xl&=-2,xl|=8;try{return e(t)}finally{0===(xl=n)&&(Bl(),Wo())}}function mu(e,t){io(Il,Pl),Pl|=t,Nl|=t}function hu(){Pl=Il.current,ao(Il)}function vu(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Ur(n)),null!==Cl)for(n=Cl.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&mo();break;case 3:Da(),ao(so),ao(uo),Ga();break;case 5:Na(r);break;case 4:Da();break;case 13:case 19:ao(Ta);break;case 10:Zo(r);break;case 23:case 24:hu()}n=n.return}Ol=e,Cl=Fu(e.current,null),kl=Pl=Nl=t,Dl=0,Rl=null,Al=Ll=Tl=0}function gu(e,t){for(;;){var n=Cl;try{if(Jo(),qa.current=ki,Ja){for(var r=Qa.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}Ja=!1}if(Ya=0,Xa=Ka=Qa=null,Za=!1,Sl.current=null,null===n||null===n.return){Dl=1,Rl=t,Cl=null;break}e:{var a=e,i=n.return,l=n,u=t;if(t=kl,l.flags|=2048,l.firstEffect=l.lastEffect=null,null!==u&&"object"==typeof u&&"function"==typeof u.then){var s=u;if(0==(2&l.mode)){var c=l.alternate;c?(l.updateQueue=c.updateQueue,l.memoizedState=c.memoizedState,l.lanes=c.lanes):(l.updateQueue=null,l.memoizedState=null)}var f=0!=(1&Ta.current),d=i;do{var p;if(p=13===d.tag){var m=d.memoizedState;if(null!==m)p=null!==m.dehydrated;else{var h=d.memoizedProps;p=void 0!==h.fallback&&(!0!==h.unstable_avoidThisFallback||!f)}}if(p){var v=d.updateQueue;if(null===v){var g=new Set;g.add(s),d.updateQueue=g}else v.add(s);if(0==(2&d.mode)){if(d.flags|=64,l.flags|=16384,l.flags&=-2981,1===l.tag)if(null===l.alternate)l.tag=17;else{var b=ia(-1,1);b.tag=2,la(l,b)}l.lanes|=1;break e}u=void 0,l=t;var y=a.pingCache;if(null===y?(y=a.pingCache=new al,u=new Set,y.set(s,u)):void 0===(u=y.get(s))&&(u=new Set,y.set(s,u)),!u.has(l)){u.add(l);var _=Tu.bind(null,a,s,l);s.then(_,_)}d.flags|=4096,d.lanes=t;break e}d=d.return}while(null!==d);u=Error(($(l.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Dl&&(Dl=2),u=ol(u,l),d=i;do{switch(d.tag){case 3:a=u,d.flags|=4096,t&=-t,d.lanes|=t,ua(d,il(0,a,t));break e;case 1:a=u;var w=d.type,E=d.stateNode;if(0==(64&d.flags)&&("function"==typeof w.getDerivedStateFromError||null!==E&&"function"==typeof E.componentDidCatch&&(null===Wl||!Wl.has(E)))){d.flags|=4096,t&=-t,d.lanes|=t,ua(d,ll(d,a,t));break e}}d=d.return}while(null!==d)}Su(n)}catch(e){t=e,Cl===n&&null!==n&&(Cl=n=n.return);continue}break}}function bu(){var e=El.current;return El.current=ki,null===e?ki:e}function yu(e,t){var n=xl;xl|=16;var r=bu();for(Ol===e&&kl===t||vu(e,t);;)try{_u();break}catch(t){gu(e,t)}if(Jo(),xl=n,El.current=r,null!==Cl)throw Error(i(261));return Ol=null,kl=0,Dl}function _u(){for(;null!==Cl;)Eu(Cl)}function wu(){for(;null!==Cl&&!xo();)Eu(Cl)}function Eu(e){var t=Vl(e.alternate,e,Pl);e.memoizedProps=e.pendingProps,null===t?Su(e):Cl=t,Sl.current=null}function Su(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=nl(n,t,Pl)))return void(Cl=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&Pl)||0==(4&n.mode)){for(var r=0,o=n.child;null!==o;)r|=o.lanes|o.childLanes,o=o.sibling;n.childLanes=r}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=rl(t)))return n.flags&=2047,void(Cl=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Cl=t);Cl=t=e}while(null!==t);0===Dl&&(Dl=5)}function xu(e){var t=Vo();return zo(99,Ou.bind(null,e,t)),null}function Ou(e,t){do{ku()}while(null!==ql);if(0!=(48&xl))throw Error(i(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null;var r=n.lanes|n.childLanes,o=r,a=e.pendingLanes&~o;e.pendingLanes=o,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=o,e.mutableReadLanes&=o,e.entangledLanes&=o,o=e.entanglements;for(var l=e.eventTimes,u=e.expirationTimes;0<a;){var s=31-Ht(a),c=1<<s;o[s]=0,l[s]=-1,u[s]=-1,a&=~c}if(null!==Kl&&0==(24&r)&&Kl.has(e)&&Kl.delete(e),e===Ol&&(Cl=Ol=null,kl=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(o=xl,xl|=32,Sl.current=null,jr=Yt,dr(l=fr())){if("selectionStart"in l)u={start:l.selectionStart,end:l.selectionEnd};else e:if(u=(u=l.ownerDocument)&&u.defaultView||window,(c=u.getSelection&&u.getSelection())&&0!==c.rangeCount){u=c.anchorNode,a=c.anchorOffset,s=c.focusNode,c=c.focusOffset;try{u.nodeType,s.nodeType}catch(e){u=null;break e}var f=0,d=-1,p=-1,m=0,h=0,v=l,g=null;t:for(;;){for(var b;v!==u||0!==a&&3!==v.nodeType||(d=f+a),v!==s||0!==c&&3!==v.nodeType||(p=f+c),3===v.nodeType&&(f+=v.nodeValue.length),null!==(b=v.firstChild);)g=v,v=b;for(;;){if(v===l)break t;if(g===u&&++m===a&&(d=f),g===s&&++h===c&&(p=f),null!==(b=v.nextSibling))break;g=(v=g).parentNode}v=b}u=-1===d||-1===p?null:{start:d,end:p}}else u=null;u=u||{start:0,end:0}}else u=null;Mr={focusedElem:l,selectionRange:u},Yt=!1,nu=null,ru=!1,Ul=r;do{try{Cu()}catch(e){if(null===Ul)throw Error(i(330));Nu(Ul,e),Ul=Ul.nextEffect}}while(null!==Ul);nu=null,Ul=r;do{try{for(l=e;null!==Ul;){var y=Ul.flags;if(16&y&&ge(Ul.stateNode,""),128&y){var _=Ul.alternate;if(null!==_){var w=_.ref;null!==w&&("function"==typeof w?w(null):w.current=null)}}switch(1038&y){case 2:vl(Ul),Ul.flags&=-3;break;case 6:vl(Ul),Ul.flags&=-3,bl(Ul.alternate,Ul);break;case 1024:Ul.flags&=-1025;break;case 1028:Ul.flags&=-1025,bl(Ul.alternate,Ul);break;case 4:bl(Ul.alternate,Ul);break;case 8:gl(l,u=Ul);var E=u.alternate;ml(u),null!==E&&ml(E)}Ul=Ul.nextEffect}}catch(e){if(null===Ul)throw Error(i(330));Nu(Ul,e),Ul=Ul.nextEffect}}while(null!==Ul);if(w=Mr,_=fr(),y=w.focusedElem,l=w.selectionRange,_!==y&&y&&y.ownerDocument&&function e(t,n){return!(!t||!n)&&(t===n||(!t||3!==t.nodeType)&&(n&&3===n.nodeType?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}(y.ownerDocument.documentElement,y)){null!==l&&dr(y)&&(_=l.start,void 0===(w=l.end)&&(w=_),"selectionStart"in y?(y.selectionStart=_,y.selectionEnd=Math.min(w,y.value.length)):(w=(_=y.ownerDocument||document)&&_.defaultView||window).getSelection&&(w=w.getSelection(),u=y.textContent.length,E=Math.min(l.start,u),l=void 0===l.end?E:Math.min(l.end,u),!w.extend&&E>l&&(u=l,l=E,E=u),u=cr(y,E),a=cr(y,l),u&&a&&(1!==w.rangeCount||w.anchorNode!==u.node||w.anchorOffset!==u.offset||w.focusNode!==a.node||w.focusOffset!==a.offset)&&((_=_.createRange()).setStart(u.node,u.offset),w.removeAllRanges(),E>l?(w.addRange(_),w.extend(a.node,a.offset)):(_.setEnd(a.node,a.offset),w.addRange(_))))),_=[];for(w=y;w=w.parentNode;)1===w.nodeType&&_.push({element:w,left:w.scrollLeft,top:w.scrollTop});for("function"==typeof y.focus&&y.focus(),y=0;y<_.length;y++)(w=_[y]).element.scrollLeft=w.left,w.element.scrollTop=w.top}Yt=!!jr,Mr=jr=null,e.current=n,Ul=r;do{try{for(y=e;null!==Ul;){var S=Ul.flags;if(36&S&&fl(y,Ul.alternate,Ul),128&S){_=void 0;var x=Ul.ref;if(null!==x){var O=Ul.stateNode;switch(Ul.tag){case 5:_=O;break;default:_=O}"function"==typeof x?x(_):x.current=_}}Ul=Ul.nextEffect}}catch(e){if(null===Ul)throw Error(i(330));Nu(Ul,e),Ul=Ul.nextEffect}}while(null!==Ul);Ul=null,Lo(),xl=o}else e.current=n;if(Gl)Gl=!1,ql=e,$l=t;else for(Ul=r;null!==Ul;)t=Ul.nextEffect,Ul.nextEffect=null,8&Ul.flags&&((S=Ul).sibling=null,S.stateNode=null),Ul=t;if(0===(r=e.pendingLanes)&&(Wl=null),1===r?e===Jl?Xl++:(Xl=0,Jl=e):Xl=0,n=n.stateNode,_o&&"function"==typeof _o.onCommitFiberRoot)try{_o.onCommitFiberRoot(yo,n,void 0,64==(64&n.current.flags))}catch(e){}if(uu(e,Bo()),zl)throw zl=!1,e=Hl,Hl=null,e;return 0!=(8&xl)||Wo(),null}function Cu(){for(;null!==Ul;){var e=Ul.alternate;ru||null===nu||(0!=(8&Ul.flags)?Ze(Ul,nu)&&(ru=!0):13===Ul.tag&&_l(e,Ul)&&Ze(Ul,nu)&&(ru=!0));var t=Ul.flags;0!=(256&t)&&cl(e,Ul),0==(512&t)||Gl||(Gl=!0,Ho(97,(function(){return ku(),null}))),Ul=Ul.nextEffect}}function ku(){if(90!==$l){var e=97<$l?97:$l;return $l=90,zo(e,Du)}return!1}function Pu(e,t){Yl.push(t,e),Gl||(Gl=!0,Ho(97,(function(){return ku(),null})))}function Iu(e,t){Ql.push(t,e),Gl||(Gl=!0,Ho(97,(function(){return ku(),null})))}function Du(){if(null===ql)return!1;var e=ql;if(ql=null,0!=(48&xl))throw Error(i(331));var t=xl;xl|=32;var n=Ql;Ql=[];for(var r=0;r<n.length;r+=2){var o=n[r],a=n[r+1],l=o.destroy;if(o.destroy=void 0,"function"==typeof l)try{l()}catch(e){if(null===a)throw Error(i(330));Nu(a,e)}}for(n=Yl,Yl=[],r=0;r<n.length;r+=2){o=n[r],a=n[r+1];try{var u=o.create;o.destroy=u()}catch(e){if(null===a)throw Error(i(330));Nu(a,e)}}for(u=e.current.firstEffect;null!==u;)e=u.nextEffect,u.nextEffect=null,8&u.flags&&(u.sibling=null,u.stateNode=null),u=e;return xl=t,Wo(),!0}function Ru(e,t,n){la(e,t=il(0,t=ol(n,t),1)),t=ou(),null!==(e=lu(e,1))&&(zt(e,1,t),uu(e,t))}function Nu(e,t){if(3===e.tag)Ru(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Ru(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Wl||!Wl.has(r))){var o=ll(n,e=ol(t,e),1);if(la(n,o),o=ou(),null!==(n=lu(n,1)))zt(n,1,o),uu(n,o);else if("function"==typeof r.componentDidCatch&&(null===Wl||!Wl.has(r)))try{r.componentDidCatch(t,e)}catch(e){}break}}n=n.return}}function Tu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ou(),e.pingedLanes|=e.suspendedLanes&n,Ol===e&&(kl&n)===n&&(4===Dl||3===Dl&&(62914560&kl)===kl&&500>Bo()-Ml?vu(e,0):Al|=n),uu(e,t)}function Lu(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Vo()?1:2:(0===eu&&(eu=Nl),0===(t=Vt(62914560&~eu))&&(t=4194304))),n=ou(),null!==(e=lu(e,t))&&(zt(e,t,n),uu(e,n))}function Au(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function ju(e,t,n,r){return new Au(e,t,n,r)}function Mu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Fu(e,t){var n=e.alternate;return null===n?((n=ju(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Bu(e,t,n,r,o,a){var l=2;if(r=e,"function"==typeof e)Mu(e)&&(l=1);else if("string"==typeof e)l=5;else e:switch(e){case x:return Vu(n.children,o,a,t);case j:l=8,o|=16;break;case O:l=8,o|=1;break;case C:return(e=ju(12,n,t,8|o)).elementType=C,e.type=C,e.lanes=a,e;case D:return(e=ju(13,n,t,o)).type=D,e.elementType=D,e.lanes=a,e;case R:return(e=ju(19,n,t,o)).elementType=R,e.lanes=a,e;case M:return Uu(n,o,a,t);case F:return(e=ju(24,n,t,o)).elementType=F,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case k:l=10;break e;case P:l=9;break e;case I:l=11;break e;case N:l=14;break e;case T:l=16,r=null;break e;case L:l=22;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=ju(l,n,t,o)).elementType=e,t.type=r,t.lanes=a,t}function Vu(e,t,n,r){return(e=ju(7,e,r,t)).lanes=n,e}function Uu(e,t,n,r){return(e=ju(23,e,r,t)).elementType=M,e.lanes=n,e}function zu(e,t,n){return(e=ju(6,e,null,t)).lanes=n,e}function Hu(e,t,n){return(t=ju(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Wu(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ut(0),this.expirationTimes=Ut(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ut(0),this.mutableSourceEagerHydrationData=null}function Gu(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function qu(e,t,n,r){var o=t.current,a=ou(),l=au(o);e:if(n){t:{if(Qe(n=n._reactInternals)!==n||1!==n.tag)throw Error(i(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(po(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(i(171))}if(1===n.tag){var s=n.type;if(po(s)){n=vo(n,s,u);break e}}n=u}else n=lo;return null===t.context?t.context=n:t.pendingContext=n,(t=ia(a,l)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),la(o,t),iu(o,l,a),l}function $u(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Yu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Qu(e,t){Yu(e,t),(e=e.alternate)&&Yu(e,t)}function Ku(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Wu(e,t,null!=n&&!0===n.hydrate),t=ju(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,oa(t),e[Qr]=n.current,kr(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var o=(t=r[e])._getVersion;o=o(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,o]:n.mutableSourceEagerHydrationData.push(t,o)}this._internalRoot=n}function Xu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Ju(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a._internalRoot;if("function"==typeof o){var l=o;o=function(){var e=$u(i);l.call(e)}}qu(t,i,e,o)}else{if(a=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Ku(e,0,t?{hydrate:!0}:void 0)}(n,r),i=a._internalRoot,"function"==typeof o){var u=o;o=function(){var e=$u(i);u.call(e)}}pu((function(){qu(t,i,e,o)}))}return $u(i)}function Zu(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Xu(t))throw Error(i(200));return Gu(e,t,null,n)}Vl=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||so.current)Ni=!0;else{if(0==(n&r)){switch(Ni=!1,t.tag){case 3:zi(t),Ha();break;case 5:Ra(t);break;case 1:po(t.type)&&go(t);break;case 4:Ia(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var o=t.type._context;io(Yo,o._currentValue),o._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?$i(e,t,n):(io(Ta,1&Ta.current),null!==(t=el(e,t,n))?t.sibling:null);io(Ta,1&Ta.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(64&e.flags)){if(r)return Zi(e,t,n);t.flags|=64}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),io(Ta,Ta.current),r)break;return null;case 23:case 24:return t.lanes=0,Mi(e,t,n)}return el(e,t,n)}Ni=0!=(16384&e.flags)}else Ni=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=fo(t,uo.current),ta(t,n),o=ni(null,t,r,e,o,n),t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,po(r)){var a=!0;go(t)}else a=!1;t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,oa(t);var l=r.getDerivedStateFromProps;"function"==typeof l&&da(t,r,l,e),o.updater=pa,t.stateNode=o,o._reactInternals=t,ga(t,r,e,n),t=Ui(null,t,r,!0,a,n)}else t.tag=0,Ti(null,t,o,n),t=t.child;return t;case 16:o=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,o=(a=o._init)(o._payload),t.type=o,a=t.tag=function(e){if("function"==typeof e)return Mu(e)?1:0;if(null!=e){if((e=e.$$typeof)===I)return 11;if(e===N)return 14}return 2}(o),e=$o(o,e),a){case 0:t=Bi(null,t,o,e,n);break e;case 1:t=Vi(null,t,o,e,n);break e;case 11:t=Li(null,t,o,e,n);break e;case 14:t=Ai(null,t,o,$o(o.type,e),r,n);break e}throw Error(i(306,o,""))}return t;case 0:return r=t.type,o=t.pendingProps,Bi(e,t,r,o=t.elementType===r?o:$o(r,o),n);case 1:return r=t.type,o=t.pendingProps,Vi(e,t,r,o=t.elementType===r?o:$o(r,o),n);case 3:if(zi(t),r=t.updateQueue,null===e||null===r)throw Error(i(282));if(r=t.pendingProps,o=null!==(o=t.memoizedState)?o.element:null,aa(e,t),sa(t,r,null,n),(r=t.memoizedState.element)===o)Ha(),t=el(e,t,n);else{if((a=(o=t.stateNode).hydrate)&&(ja=Hr(t.stateNode.containerInfo.firstChild),Aa=t,a=Ma=!0),a){if(null!=(e=o.mutableSourceEagerHydrationData))for(o=0;o<e.length;o+=2)(a=e[o])._workInProgressVersionPrimary=e[o+1],Wa.push(a);for(n=Sa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Ti(e,t,r,n),Ha();t=t.child}return t;case 5:return Ra(t),null===e&&Va(t),r=t.type,o=t.pendingProps,a=null!==e?e.memoizedProps:null,l=o.children,Br(r,o)?l=null:null!==a&&Br(r,a)&&(t.flags|=16),Fi(e,t),Ti(e,t,l,n),t.child;case 6:return null===e&&Va(t),null;case 13:return $i(e,t,n);case 4:return Ia(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ea(t,null,r,n):Ti(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,Li(e,t,r,o=t.elementType===r?o:$o(r,o),n);case 7:return Ti(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ti(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,o=t.pendingProps,l=t.memoizedProps,a=o.value;var u=t.type._context;if(io(Yo,u._currentValue),u._currentValue=a,null!==l)if(u=l.value,0===(a=ir(u,a)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(u,a):1073741823))){if(l.children===o.children&&!so.current){t=el(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var s=u.dependencies;if(null!==s){l=u.child;for(var c=s.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&a)){1===u.tag&&((c=ia(-1,n&-n)).tag=2,la(u,c)),u.lanes|=n,null!==(c=u.alternate)&&(c.lanes|=n),ea(u.return,n),s.lanes|=n;break}c=c.next}}else l=10===u.tag&&u.type===t.type?null:u.child;if(null!==l)l.return=u;else for(l=u;null!==l;){if(l===t){l=null;break}if(null!==(u=l.sibling)){u.return=l.return,l=u;break}l=l.return}u=l}Ti(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=(a=t.pendingProps).children,ta(t,n),r=r(o=na(o,a.unstable_observedBits)),t.flags|=1,Ti(e,t,r,n),t.child;case 14:return a=$o(o=t.type,t.pendingProps),Ai(e,t,o,a=$o(o.type,a),r,n);case 15:return ji(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:$o(r,o),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,po(r)?(e=!0,go(t)):e=!1,ta(t,n),ha(t,r,o),ga(t,r,o,n),Ui(null,t,r,!0,e,n);case 19:return Zi(e,t,n);case 23:case 24:return Mi(e,t,n)}throw Error(i(156,t.tag))},Ku.prototype.render=function(e){qu(e,this._internalRoot,null,null)},Ku.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;qu(null,e,null,(function(){t[Qr]=null}))},et=function(e){13===e.tag&&(iu(e,4,ou()),Qu(e,4))},tt=function(e){13===e.tag&&(iu(e,67108864,ou()),Qu(e,67108864))},nt=function(e){if(13===e.tag){var t=ou(),n=au(e);iu(e,n,t),Qu(e,n)}},rt=function(e,t){return t()},Ce=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=eo(r);if(!o)throw Error(i(90));X(r),ne(r,o)}}}break;case"textarea":se(e,n);break;case"select":null!=(t=n.value)&&ie(e,!!n.multiple,t,!1)}},Ne=du,Te=function(e,t,n,r,o){var a=xl;xl|=4;try{return zo(98,e.bind(null,t,n,r,o))}finally{0===(xl=a)&&(Bl(),Wo())}},Le=function(){0==(49&xl)&&(function(){if(null!==Kl){var e=Kl;Kl=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,uu(e,Bo())}))}Wo()}(),ku())},Ae=function(e,t){var n=xl;xl|=2;try{return e(t)}finally{0===(xl=n)&&(Bl(),Wo())}};var es={Events:[Jr,Zr,eo,De,Re,ku,{current:!1}]},ts={findFiberByHostInstance:Xr,bundleType:0,version:"17.0.1",rendererPackageName:"react-dom"},ns={bundleType:ts.bundleType,version:ts.version,rendererPackageName:ts.rendererPackageName,rendererConfig:ts.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:ts.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var rs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!rs.isDisabled&&rs.supportsFiber)try{yo=rs.inject(ns),_o=rs}catch(e){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=es,t.createPortal=Zu,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(i(188));throw Error(i(268,Object.keys(e)))}return e=null===(e=Je(t))?null:e.stateNode},t.flushSync=function(e,t){var n=xl;if(0!=(48&n))return e(t);xl|=1;try{if(e)return zo(99,e.bind(null,t))}finally{xl=n,Wo()}},t.hydrate=function(e,t,n){if(!Xu(t))throw Error(i(200));return Ju(null,e,t,!0,n)},t.render=function(e,t,n){if(!Xu(t))throw Error(i(200));return Ju(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xu(e))throw Error(i(40));return!!e._reactRootContainer&&(pu((function(){Ju(null,null,e,!1,(function(){e._reactRootContainer=null,e[Qr]=null}))})),!0)},t.unstable_batchedUpdates=du,t.unstable_createPortal=function(e,t){return Zu(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xu(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return Ju(e,t,n,!1,r)},t.version="17.0.1"},function(e,t,n){"use strict";e.exports=n(25)},function(e,t,n){"use strict";
|
23 |
+
/** @license React v0.20.1
|
24 |
+
* scheduler.production.min.js
|
25 |
+
*
|
26 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
27 |
+
*
|
28 |
+
* This source code is licensed under the MIT license found in the
|
29 |
+
* LICENSE file in the root directory of this source tree.
|
30 |
+
*/var r,o,a,i;if("object"==typeof performance&&"function"==typeof performance.now){var l=performance;t.unstable_now=function(){return l.now()}}else{var u=Date,s=u.now();t.unstable_now=function(){return u.now()-s}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var c=null,f=null,d=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(e){throw setTimeout(d,0),e}};r=function(e){null!==c?setTimeout(r,0,e):(c=e,setTimeout(d,0))},o=function(e,t){f=setTimeout(e,t)},a=function(){clearTimeout(f)},t.unstable_shouldYield=function(){return!1},i=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,m=window.clearTimeout;if("undefined"!=typeof console){window.cancelAnimationFrame;window.requestAnimationFrame}var h=!1,v=null,g=-1,b=5,y=0;t.unstable_shouldYield=function(){return t.unstable_now()>=y},i=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e||(b=0<e?Math.floor(1e3/e):5)};var _=new MessageChannel,w=_.port2;_.port1.onmessage=function(){if(null!==v){var e=t.unstable_now();y=e+b;try{v(!0,e)?w.postMessage(null):(h=!1,v=null)}catch(e){throw w.postMessage(null),e}}else h=!1},r=function(e){v=e,h||(h=!0,w.postMessage(null))},o=function(e,n){g=p((function(){e(t.unstable_now())}),n)},a=function(){m(g),g=-1}}function E(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,o=e[r];if(!(void 0!==o&&0<O(o,t)))break e;e[r]=t,e[n]=o,n=r}}function S(e){return void 0===(e=e[0])?null:e}function x(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length;r<o;){var a=2*(r+1)-1,i=e[a],l=a+1,u=e[l];if(void 0!==i&&0>O(i,n))void 0!==u&&0>O(u,i)?(e[r]=u,e[l]=n,r=l):(e[r]=i,e[a]=n,r=a);else{if(!(void 0!==u&&0>O(u,n)))break e;e[r]=u,e[l]=n,r=l}}}return t}return null}function O(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var C=[],k=[],P=1,I=null,D=3,R=!1,N=!1,T=!1;function L(e){for(var t=S(k);null!==t;){if(null===t.callback)x(k);else{if(!(t.startTime<=e))break;x(k),t.sortIndex=t.expirationTime,E(C,t)}t=S(k)}}function A(e){if(T=!1,L(e),!N)if(null!==S(C))N=!0,r(j);else{var t=S(k);null!==t&&o(A,t.startTime-e)}}function j(e,n){N=!1,T&&(T=!1,a()),R=!0;var r=D;try{for(L(n),I=S(C);null!==I&&(!(I.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=I.callback;if("function"==typeof i){I.callback=null,D=I.priorityLevel;var l=i(I.expirationTime<=n);n=t.unstable_now(),"function"==typeof l?I.callback=l:I===S(C)&&x(C),L(n)}else x(C);I=S(C)}if(null!==I)var u=!0;else{var s=S(k);null!==s&&o(A,s.startTime-n),u=!1}return u}finally{I=null,D=r,R=!1}}var M=i;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){N||R||(N=!0,r(j))},t.unstable_getCurrentPriorityLevel=function(){return D},t.unstable_getFirstCallbackNode=function(){return S(C)},t.unstable_next=function(e){switch(D){case 1:case 2:case 3:var t=3;break;default:t=D}var n=D;D=t;try{return e()}finally{D=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=M,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=D;D=e;try{return t()}finally{D=n}},t.unstable_scheduleCallback=function(e,n,i){var l=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?l+i:l:i=l,e){case 1:var u=-1;break;case 2:u=250;break;case 5:u=1073741823;break;case 4:u=1e4;break;default:u=5e3}return e={id:P++,callback:n,priorityLevel:e,startTime:i,expirationTime:u=i+u,sortIndex:-1},i>l?(e.sortIndex=i,E(k,e),null===S(C)&&e===S(k)&&(T?a():T=!0,o(A,i-l))):(e.sortIndex=u,E(C,e),N||R||(N=!0,r(j))),e},t.unstable_wrapCallback=function(e){var t=D;return function(){var n=D;D=t;try{return e.apply(this,arguments)}finally{D=n}}}},function(e,t,n){"use strict";var r=n(1),o=n(9),a=n(27),i=n(15);function l(e){var t=new a(e),n=o(a.prototype.request,t);return r.extend(n,a.prototype,t),r.extend(n,t),n}var u=l(n(12));u.Axios=a,u.create=function(e){return l(i(u.defaults,e))},u.Cancel=n(16),u.CancelToken=n(41),u.isCancel=n(11),u.all=function(e){return Promise.all(e)},u.spread=n(42),u.isAxiosError=n(43),e.exports=u,e.exports.default=u},function(e,t,n){"use strict";var r=n(1),o=n(10),a=n(28),i=n(29),l=n(15);function u(e){this.defaults=e,this.interceptors={request:new a,response:new a}}u.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=l(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[i,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},u.prototype.getUri=function(e){return e=l(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){u.prototype[e]=function(t,n){return this.request(l(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){u.prototype[e]=function(t,n,r){return this.request(l(r||{},{method:e,url:t,data:n}))}})),e.exports=u},function(e,t,n){"use strict";var r=n(1);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},function(e,t,n){"use strict";var r=n(1),o=n(30),a=n(11),i=n(12);function l(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return l(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||i.adapter)(e).then((function(t){return l(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(l(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t,n){return r.forEach(n,(function(n){e=n(e,t)})),e}},function(e,t){var n,r,o=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var u,s=[],c=!1,f=-1;function d(){c&&u&&(c=!1,u.length?s=u.concat(s):f=-1,s.length&&p())}function p(){if(!c){var e=l(d);c=!0;for(var t=s.length;t;){for(u=s,s=[];++f<t;)u&&u[f].run();f=-1,t=s.length}u=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function h(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];s.push(new m(e,t)),1!==s.length||c||l(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=h,o.addListener=h,o.once=h,o.off=h,o.removeListener=h,o.removeAllListeners=h,o.emit=h,o.prependListener=h,o.prependOnceListener=h,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){r.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))}},function(e,t,n){"use strict";var r=n(14);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(1);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,a,i){var l=[];l.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),r.isString(o)&&l.push("path="+o),r.isString(a)&&l.push("domain="+a),!0===i&&l.push("secure"),document.cookie=l.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";var r=n(37),o=n(38);e.exports=function(e,t){return e&&!r(t)?o(e,t):t}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(1),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,a,i={};return e?(r.forEach(e.split("\n"),(function(e){if(a=e.indexOf(":"),t=r.trim(e.substr(0,a)).toLowerCase(),n=r.trim(e.substr(a+1)),t){if(i[t]&&o.indexOf(t)>=0)return;i[t]="set-cookie"===t?(i[t]?i[t]:[]).concat([n]):i[t]?i[t]+", "+n:n}})),i):i}},function(e,t,n){"use strict";var r=n(1);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r=n(16);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},function(e,t,n){var r=n(45),o=n(46),a=n(47),i=n(48);e.exports=function(e){return r(e)||o(e)||a(e)||i()}},function(e,t,n){var r=n(18);e.exports=function(e){if(Array.isArray(e))return r(e)}},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},function(e,t,n){var r=n(18);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,n){var r=n(50);e.exports=function(e,t){if(null==e)return{};var n,o,a=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}},function(e,t){e.exports=function(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}},function(e,t,n){"use strict";var r=n(53);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t,n){"use strict";
|
31 |
+
/** @license React v16.13.1
|
32 |
+
* react-is.production.min.js
|
33 |
+
*
|
34 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
35 |
+
*
|
36 |
+
* This source code is licensed under the MIT license found in the
|
37 |
+
* LICENSE file in the root directory of this source tree.
|
38 |
+
*/var r="function"==typeof Symbol&&Symbol.for,o=r?Symbol.for("react.element"):60103,a=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,l=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,s=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,f=r?Symbol.for("react.async_mode"):60111,d=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,m=r?Symbol.for("react.suspense"):60113,h=r?Symbol.for("react.suspense_list"):60120,v=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,y=r?Symbol.for("react.fundamental"):60117,_=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function E(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case f:case d:case i:case u:case l:case m:return e;default:switch(e=e&&e.$$typeof){case c:case p:case g:case v:case s:return e;default:return t}}case a:return t}}}function S(e){return E(e)===d}t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=s,t.Element=o,t.ForwardRef=p,t.Fragment=i,t.Lazy=g,t.Memo=v,t.Portal=a,t.Profiler=u,t.StrictMode=l,t.Suspense=m,t.isAsyncMode=function(e){return S(e)||E(e)===f},t.isConcurrentMode=S,t.isContextConsumer=function(e){return E(e)===c},t.isContextProvider=function(e){return E(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return E(e)===p},t.isFragment=function(e){return E(e)===i},t.isLazy=function(e){return E(e)===g},t.isMemo=function(e){return E(e)===v},t.isPortal=function(e){return E(e)===a},t.isProfiler=function(e){return E(e)===u},t.isStrictMode=function(e){return E(e)===l},t.isSuspense=function(e){return E(e)===m},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===d||e===u||e===l||e===m||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===v||e.$$typeof===s||e.$$typeof===c||e.$$typeof===p||e.$$typeof===y||e.$$typeof===_||e.$$typeof===w||e.$$typeof===b)},t.typeOf=E},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"CheckboxField",(function(){return Y})),n.d(r,"CheckboxListField",(function(){return ne})),n.d(r,"GroupField",(function(){return ce})),n.d(r,"HiddenField",(function(){return be})),n.d(r,"InfoField",(function(){return Ce})),n.d(r,"InfoAdvField",(function(){return Le})),n.d(r,"NumberField",(function(){return ze})),n.d(r,"RadioField",(function(){return Ke})),n.d(r,"RadioListField",(function(){return ot})),n.d(r,"RepeaterField",(function(){return dt})),n.d(r,"SelectField",(function(){return Qo})),n.d(r,"SelectMultiField",(function(){return ra})),n.d(r,"TextareaField",(function(){return fa})),n.d(r,"TextField",(function(){return ya}));var o=n(0),a=n.n(o),i=n(2),l=n.n(i),u=n(6),s=n.n(u);function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var f=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.api_url=t,this.header_nonce=n,this.requests={}}var t,n,r;return t=e,(n=[{key:"connect",value:function(e,t,n){var r=this;this.requests[n]&&this.requests[n].cancel();var o=s.a.CancelToken;this.requests[n]=o.source();var a={method:"POST",url:"".concat(this.api_url,"/").concat(e),headers:{"X-WP-Nonce":this.header_nonce},data:t,cancelToken:this.requests[n].token};return s()(a).then((function(e){var t={status:!0,response:e.data};return"get"===e.config.method&&(r.cache[cache_key]=t),t})).catch((function(e){return{status:!1,response:e.response?e.response.data.message:null}}))}}])&&c(t.prototype,n),r&&c(t,r),e}();function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var p=function(){function e(t,n,r,o,a,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.api_loader=t,this.field_data=n,this.form_values=r,this.section_fields=o,this.onUpdateStatus=a,this.onUpdateItems=i,this.cache={}}var t,n,r;return t=e,(n=[{key:"refreshItems",value:function(e,t){var n=this.field_data,r=this.form_values,o=n.endpoint_route,a=n.endpoint_params,i=this.getParamsForApi(a,r);(t||JSON.stringify(i)!==this.cache)&&(this.cache=JSON.stringify(i),this.loadItemsFromApi(o,i,e))}},{key:"getParamsForApi",value:function(e,t){for(var n={},r=e.length,o=0;o<r;o++)n[e[o]]=t[e[o]];return n}},{key:"loadItemsFromApi",value:function(e,t,n){var r=this.api_loader,o=this.section_fields,a=this.onUpdateStatus,i=this.onUpdateItems;a(!0),r.connect(e,{form_values:t,section_fields:o},n).then((function(e){a(!1),null!==e.response&&i(e.response)}))}}])&&d(t.prototype,n),r&&d(t,r),e}();function m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var h=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,r;return t=e,(n=[{key:"generateSlug",value:function(e){var t=e,n=this.getLettersToReplace();for(var r in n)t=t.replace(new RegExp(r,"g"),n[r]);return t=(t=(t=(t=t.replace(/\s/g,"_")).toLowerCase()).replace(/[^a-z0-9_]/gi,"")).replace(/[/_]{2,}/g,"_")}},{key:"getLettersToReplace",value:function(){return{"-":"_","/":"_",",":"_",":":"_",";":"_","ª":"a","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"s","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ø":"O","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","ĝ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","Ŋ":"N","ŋ":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","Ș":"S","ș":"s","Ț":"T","ț":"t","€":"E","£":"","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ầ":"A","ầ":"a","Ằ":"A","ằ":"a","Ề":"E","ề":"e","Ồ":"O","ồ":"o","Ờ":"O","ờ":"o","Ừ":"U","ừ":"u","Ỳ":"Y","ỳ":"y","Ả":"A","ả":"a","Ẩ":"A","ẩ":"a","Ẳ":"A","ẳ":"a","Ẻ":"E","ẻ":"e","Ể":"E","ể":"e","Ỉ":"I","ỉ":"i","Ỏ":"O","ỏ":"o","Ổ":"O","ổ":"o","Ở":"O","ở":"o","Ủ":"U","ủ":"u","Ử":"U","ử":"u","Ỷ":"Y","ỷ":"y","Ẫ":"A","ẫ":"a","Ẵ":"A","ẵ":"a","Ẽ":"E","ẽ":"e","Ễ":"E","ễ":"e","Ỗ":"O","ỗ":"o","Ỡ":"O","ỡ":"o","Ữ":"U","ữ":"u","Ỹ":"Y","ỹ":"y","Ấ":"A","ấ":"a","Ắ":"A","ắ":"a","Ế":"E","ế":"e","Ố":"O","ố":"o","Ớ":"O","ớ":"o","Ứ":"U","ứ":"u","Ạ":"A","ạ":"a","Ậ":"A","ậ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ệ":"E","ệ":"e","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ộ":"O","ộ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ự":"U","ự":"u","Ỵ":"Y","ỵ":"y","ɑ":"a","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u"}}}])&&m(t.prototype,n),r&&m(t,r),e}();function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var g=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,r;return t=e,(n=[{key:"validateValue",value:function(e,t,n){var r=e.name,o=e.validation_rules,a=null;for(var i in o)if(!new RegExp(i,"s").test(t[r]||"")){a=o[i];break}n(a)}}])&&v(t.prototype,n),r&&v(t,r),e}();function b(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var y=function(){function e(t,n,r,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.api_handler=t,this.api_route=n,this._form_validation=r,this.onUpdateStatus=o}var t,n,r;return t=e,(n=[{key:"onSubmit",value:function(e,t){var n=this;this.onUpdateStatus("".concat(e,"_loading")),this._form_validation.onSubmit().then((function(){n.saveSettings(e,t).then((function(){n.onUpdateStatus("".concat(e,"_success")),setTimeout(n.onUpdateStatus,1e3)}),(function(t){n.onUpdateStatus("".concat(e,"_error"),t)}))}),(function(){n.onUpdateStatus()}))}},{key:"saveSettings",value:function(e,t){var n=this.api_handler,r=this.api_route;return new Promise((function(e,o){n.connect(r,t,"POST").then((function(t){t.status?e():o(t.response)}))}))}},{key:"onReset",value:function(e,t){var n=this;this.onUpdateStatus("".concat(e,"_loading")),this.saveSettings(e,t).then((function(){n.onUpdateStatus("".concat(e,"_success")),window.location.reload(!0)}),(function(t){n.onUpdateStatus("".concat(e,"_error"),t)}))}}])&&b(t.prototype,n),r&&b(t,r),e}();function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var E=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;_(this,e),this.validation_event=t,this.validation_type=n,this.max_iteration=r,this.validation_errors={}}var t,n,r;return t=e,(n=[{key:"onValidationInit",value:function(e,t,n){this.validation_errors[e]=n,t&&delete this.validation_errors[e]}},{key:"clearValidationHandlers",value:function(){this.validation_errors={}}},{key:"onSubmit",value:function(){var e=this,t=this.validation_event,n=this.validation_type,r=this.max_iteration;return window.dispatchEvent(new CustomEvent(t,{detail:n})),new Promise((function(t,n){var o=0,a=setInterval((function(){var i=e.getFirstEvent();i&&(clearInterval(a),i(),n()),++o===r&&(clearInterval(a),t())}),100)}))}},{key:"getFirstEvent",value:function(){var e=Object.keys(this.validation_errors);return e.length>0?this.validation_errors[e[0]]:null}}])&&w(t.prototype,n),r&&w(t,r),e}();function S(e){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=P(e);if(t){var o=P(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return k(this,n)}}function k(e,t){return!t||"object"!==S(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function P(e){return(P=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var I=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}(i,e);var t,n,r,o=C(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=o.call(this,e)).state={settings:e.settings,events:{onChangeValue:e.onChangeValue,onChangeState:e.onChangeState,onRefreshForm:e.onRefreshForm,onValidationInit:e.onValidationInit},handlers:{api_loader:e.settings.handlers.api_loader},validation_types:e.validation_types},t._field_validation=new g,t.setDefaultValue(),t.onChangeState("unique_id",t.generateUniqueId(32)),t.onChangeState("ref_wrapper",a.a.createRef()),t.onChangeState("ref_input",a.a.createRef()),t}return t=i,(n=[{key:"componentDidMount",value:function(){var e=this;this._isMounted=!0;var t=this.state,n=t.settings,r=t.validation_types;window.addEventListener(n.events.validate_field,(function(t){null!==t.detail&&r.indexOf(t.detail)>-1&&e._isMounted&&e.validateValue()}))}},{key:"componentWillUnmount",value:function(){this._isMounted=!1,this.onValidationError(null)}},{key:"onChangeValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.props.field_data,n=this.state.events,r=this.getValue(e);n.onChangeValue(t.name,r,t.refresh_trigger),this.validateValue()}},{key:"onChangeState",value:function(e,t){var n=this.props.state_name;this.state.events.onChangeState(n,e,t)}},{key:"onValidationError",value:function(e){var t=this.props,n=t.form_states,r=t.state_name,o=this.state.events;n[r]&&(this.onChangeState("validation_error",e),o.onValidationInit(n[r].unique_id,null===e,(function(){n[r].ref_wrapper.current.scrollIntoView(!1)})))}},{key:"setDefaultValue",value:function(){var e=this.state.events,t=this.props,n=t.field_data,r=t.form_values,o=void 0!==r[n.name]?r[n.name]:JSON.parse(JSON.stringify(n.default_value||""));e.onChangeValue(n.name,o)}},{key:"isFieldVisible",value:function(e,t){for(var n in e)if(!new RegExp(e[n]).test(t[n]))return!1;return!0}},{key:"getFieldValue",value:function(){var e=this.props,t=e.field_data,n=e.form_values;return t.display_pattern?t.display_pattern.replace("%s",n[t.name]||""):n[t.name]||""}},{key:"validateValue",value:function(){var e=this.props,t=e.field_data,n=e.form_values;this._field_validation.validateValue(t,n,this.onValidationError.bind(this))}},{key:"generateUniqueId",value:function(e){for(var t="abcdefghijklmnopqrstuvwxyz0123456789",n="",r=t.length,o=0;o<e;o++)n+=t.charAt(Math.floor(Math.random()*r));return n}}])&&x(t.prototype,n),r&&x(t,r),i}(a.a.Component);function D(e){var t=e.button_classes,n=e.button_alignment,r=e.button_label,o=e.loading_type,i=e.loading_message,l=e.tooltip_text,u=e.settings,s=e.onSubmit,c=(e.loading_status||"").replace("".concat(o,"_"),""),f="loading"===(e.loading_status||"").substr(-7);return a.a.createElement(a.a.Fragment,null,"left"===n?l?a.a.createElement(B,{text:l,onAccept:s,settings:u},a.a.createElement("button",{type:"button",className:t,disabled:f},r)):a.a.createElement("button",{type:"button",className:t,onClick:s,disabled:f},r):null,"loading"===c?a.a.createElement("div",{className:"fcfWidget__buttonIcon fcfWidget__buttonIcon--loading"},a.a.createElement("div",{className:"fcfWidget__buttonIconInner"})):null,"success"===c?a.a.createElement("div",{className:"fcfWidget__buttonIcon fcfWidget__buttonIcon--success"},a.a.createElement("div",{className:"fcfWidget__buttonIconInner"})):null,"error"===c?a.a.createElement("div",{className:"fcfWidget__buttonIcon fcfWidget__buttonIcon--error"},a.a.createElement(B,{text:i,is_open:!0,settings:u},a.a.createElement("div",{className:"fcfWidget__buttonIconInner"}))):null,"right"===n?l?a.a.createElement(B,{text:l,onAccept:s,settings:u},a.a.createElement("button",{type:"button",className:t,disabled:f},r)):a.a.createElement("button",{type:"button",className:t,onClick:s,disabled:f},r):null)}function R(e){var t=e.field_data,n=e.unique_id,r=e.is_group_label,o=e.settings,i=r?"".concat(t.label,":"):t.label;return r?a.a.createElement("div",{className:"fcfOptions__rowLabel"},i,t.label_tooltip?a.a.createElement("span",{className:"fcfOptions__labelHelp"},a.a.createElement(B,{text:t.label_tooltip,button_url:t.label_tooltip_url,settings:o},a.a.createElement("span",{className:"fcfOptions__labelHelpIcon"}))):null):a.a.createElement("label",{className:"fcfOptions__label",htmlFor:n},i,t.label_tooltip?a.a.createElement("span",{className:"fcfOptions__labelHelp"},a.a.createElement(B,{text:t.label_tooltip,button_url:t.label_tooltip_url,settings:o},a.a.createElement("span",{className:"fcfOptions__labelHelpIcon"}))):null)}function N(e){return(N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function T(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function A(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=F(e);if(t){var o=F(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return j(this,n)}}function j(e,t){return!t||"object"!==N(t)&&"function"!=typeof t?M(e):t}function M(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function F(e){return(F=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var B=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&L(e,t)}(i,e);var t,n,r,o=A(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=o.call(this,e)).state={text:e.text,button_url:e.button_url,status:{is_open:!0===e.is_open},settings:e.settings,events:{onClose:t.closePopup.bind(M(t)),onAccept:e.onAccept},refs:{wrapper:a.a.createRef()}},t._isMounted=!1,t}return t=i,(n=[{key:"render",value:function(){var e=this.state,t=e.text,n=e.button_url,r=e.status,o=e.settings,i=e.events,l=e.refs,u=a.a.Children.toArray(this.props.children);return this.setStyles(),a.a.createElement(a.a.Fragment,null,a.a.cloneElement(u[0],{onClick:this.openPopup.bind(this)}),r.is_open?a.a.createElement("div",{className:"fcfTooltip"},a.a.createElement("div",{className:"fcfTooltip__outer"},a.a.createElement("div",{className:"fcfTooltip__inner",ref:l.wrapper,onClick:this.preventClosePopup.bind(this)},a.a.createElement("div",{className:"fcfTooltip__text"},t),n?a.a.createElement("ul",{className:"fcfTooltip__buttons"},a.a.createElement("li",{className:"fcfTooltip__button"},a.a.createElement("a",{href:n,target:"_blank",className:"fcfButton fcfButton--small fcfButton--border fcfButton--blue"},o.i18n.button_read_more))):null,i.onAccept?a.a.createElement("ul",{className:"fcfTooltip__buttons"},a.a.createElement("li",{className:"fcfTooltip__button"},a.a.createElement("button",{type:"button",className:"fcfButton fcfButton--small fcfButton--border fcfButton--green",onClick:this.acceptPopup.bind(this)},o.i18n.button_yes)),a.a.createElement("li",{className:"fcfTooltip__button"},a.a.createElement("button",{type:"button",className:"fcfButton fcfButton--small fcfButton--border fcfButton--red",onClick:this.closePopup.bind(this)},o.i18n.button_no))):null))):null)}},{key:"componentDidMount",value:function(){this._isMounted=!0,this.state.status.is_open&&setTimeout(this.loadPopup.bind(this),0)}},{key:"componentWillUnmount",value:function(){this._isMounted=!1}},{key:"openPopup",value:function(e){e&&(e.preventDefault(),e.stopPropagation());var t=this.state.status;t.is_open||(t.is_open=!0,this._isMounted&&this.setState({status:t}),this.loadPopup())}},{key:"loadPopup",value:function(){var e=this,t=this.state.events;window.addEventListener("click",t.onClose),window.dispatchEvent(new CustomEvent("fcf-popup-open")),setTimeout((function(){window.addEventListener("fcf-popup-open",t.onClose),e.setStyles()}),0)}},{key:"acceptPopup",value:function(e){e.preventDefault(),e.stopPropagation(),this.state.events.onAccept(),this.closePopup()}},{key:"closePopup",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;null!==e&&e.stopPropagation();var t=this.state,n=t.status,r=t.events;n.is_open=!1,this._isMounted&&this.setState({status:n}),window.removeEventListener("click",r.onClose),window.removeEventListener("fcf-popup-open",r.onClose)}},{key:"preventClosePopup",value:function(e){e.stopPropagation()}},{key:"setStyles",value:function(){var e=this.state.refs;if(e.wrapper.current){e.wrapper.current.style.marginLeft="";var t=document.body.offsetWidth||document.documentElement.offsetWidth,n=e.wrapper.current.getBoundingClientRect(),r=n.left,o=2*(t-n.right);r<0&&(e.wrapper.current.style.marginLeft="".concat(-2*r+20,"px")),o<0&&(e.wrapper.current.style.marginLeft="".concat(o-20,"px"))}}}])&&T(t.prototype,n),r&&T(t,r),i}(a.a.Component);function V(e){var t=e.validation_error;return t?a.a.createElement("div",{className:"fcfOptions__error"},t):null}function U(e){return(U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function z(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function H(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function W(e,t){return(W=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function G(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=$(e);if(t){var o=$(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return q(this,n)}}function q(e,t){return!t||"object"!==U(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function $(e){return($=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&W(e,t)}(i,e);var t,n,r,o=G(i);function i(){return z(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name,i=e.show_if_regexes,l=this.state.settings;return r[o]&&this.isFieldVisible(i,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:r[o].ref_wrapper},a.a.createElement("input",{type:"checkbox",className:"fcfOptions__checkbox",id:r[o].unique_id,ref:r[o].ref_input,name:t.name,defaultChecked:n[t.name]&&"1"===n[t.name].toString(),onChange:t.readonly?null:this.onChangeValue.bind(this),disabled:t.readonly}),a.a.createElement(R,{unique_id:r[o].unique_id,field_data:t,settings:l}),a.a.createElement(V,{validation_error:r[o].validation_error}))):null}},{key:"getValue",value:function(){var e=this.props;return e.form_states[e.state_name].ref_input.current.checked?"1":"0"}}])&&H(t.prototype,n),r&&H(t,r),i}(I);function Q(e){return(Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function K(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function X(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function J(e,t){return(J=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=te(e);if(t){var o=te(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ee(this,n)}}function ee(e,t){return!t||"object"!==Q(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ne=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&J(e,t)}(i,e);var t,n,r,o=Z(i);function i(){return K(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name,i=e.section_fields,l=e.show_if_regexes,u=this.state,s=u.events,c=u.settings,f=u.validation_types;return r[o]&&this.isFieldVisible(l,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row"},a.a.createElement(R,{unique_id:r[o].unique_id,field_data:t,is_group_label:!0,settings:c})),t.items.map((function(e,t){return a.a.createElement(Y,{key:t,field_data:e,form_values:n,form_states:r,state_name:e.name,section_fields:i,onChangeValue:s.onChangeValue,onChangeState:s.onChangeState,onRefreshForm:s.onRefreshForm,onValidationInit:s.onValidationInit,validation_types:f,settings:c})}))):null}}])&&X(t.prototype,n),r&&X(t,r),i}(I);function re(e){return(re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function oe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ie(e,t){return(ie=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function le(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=se(e);if(t){var o=se(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ue(this,n)}}function ue(e,t){return!t||"object"!==re(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function se(e){return(se=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ce=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ie(e,t)}(l,e);var t,n,o,i=le(l);function l(){return oe(this,l),i.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this,t=this.props,n=t.field_data,o=t.form_values,i=t.form_states,l=t.state_name,u=t.section_fields,s=t.show_if_regexes,c=this.state,f=c.api_loader,d=c.events,p=c.settings,m=c.validation_types;return i[l]&&this.isFieldVisible(s,o)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row fcfOptions__row--sub"},a.a.createElement("ul",{className:"fcfOptions__columns"},n.items.map((function(t,n){var l=r[t.type],s=t.show_if_regexes;return e.isFieldVisible(s,o)?a.a.createElement("li",{className:"fcfOptions__column",key:n},a.a.createElement("ul",{className:"fcfOptions__rows"},a.a.createElement(l,{field_data:t,form_values:o,form_states:i,state_name:t.name,section_fields:u,api_loader:f,onChangeValue:d.onChangeValue,onChangeState:d.onChangeState,onRefreshForm:d.onRefreshForm,onValidationInit:d.onValidationInit,validation_types:m,settings:p}))):null}))))):null}}])&&ae(t.prototype,n),o&&ae(t,o),l}(I);function fe(e){return(fe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function de(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function he(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ge(e);if(t){var o=ge(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ve(this,n)}}function ve(e,t){return!t||"object"!==fe(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ge(e){return(ge=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var be=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&me(e,t)}(i,e);var t,n,r,o=he(i);function i(){return de(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.show_if_regexes;return this.isFieldVisible(r,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("input",{type:"hidden",name:t.name,value:n[t.name]||""})):null}}])&&pe(t.prototype,n),r&&pe(t,r),i}(I);function ye(e){return(ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function we(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ee(e,t){return(Ee=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Se(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Oe(e);if(t){var o=Oe(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return xe(this,n)}}function xe(e,t){return!t||"object"!==ye(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Oe(e){return(Oe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ce=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ee(e,t)}(i,e);var t,n,r,o=Se(i);function i(){return _e(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.show_if_regexes;return this.isFieldVisible(r,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row"},a.a.createElement("div",{className:"fcfOptions__info"},a.a.createElement("div",{className:"fcfOptions__infoInner",dangerouslySetInnerHTML:{__html:t.label}})))):null}}])&&we(t.prototype,n),r&&we(t,r),i}(I);function ke(e){return(ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ie(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function De(e,t){return(De=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Re(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Te(e);if(t){var o=Te(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ne(this,n)}}function Ne(e,t){return!t||"object"!==ke(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Te(e){return(Te=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Le=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&De(e,t)}(i,e);var t,n,r,o=Re(i);function i(){return Pe(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.show_if_regexes;return this.isFieldVisible(r,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row"},a.a.createElement("div",{className:"fcfOptions__info fcfOptions__info--green"},a.a.createElement("div",{className:"fcfOptions__infoInner",dangerouslySetInnerHTML:{__html:t.label}})))):null}}])&&Ie(t.prototype,n),r&&Ie(t,r),i}(I);function Ae(e){return(Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function je(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Me(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Fe(e,t){return(Fe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Be(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ue(e);if(t){var o=Ue(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ve(this,n)}}function Ve(e,t){return!t||"object"!==Ae(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ue(e){return(Ue=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ze=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fe(e,t)}(i,e);var t,n,r,o=Be(i);function i(){return je(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name,i=e.show_if_regexes,l=this.state.settings;return r[o]&&this.isFieldVisible(i,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:r[o].ref_wrapper},a.a.createElement(R,{unique_id:r[o].unique_id,field_data:t,settings:l}),a.a.createElement(V,{validation_error:r[o].validation_error}),a.a.createElement("input",{type:"number",id:r[o].unique_id,ref:r[o].ref_input,name:t.name,min:t.html_atts.min||"",max:t.html_atts.max||"",step:t.html_atts.step||"1",className:"fcfOptions__input",value:n[t.name]||"",onChange:t.readonly?null:this.onChangeValue.bind(this),disabled:t.readonly}))):null}},{key:"getValue",value:function(e){var t=this.props,n=t.form_states,r=t.state_name;return""===e.currentTarget.value?(e.currentTarget.value="",null):n[r].ref_input.current.value}}])&&Me(t.prototype,n),r&&Me(t,r),i}(I);function He(e){return(He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function We(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ge(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qe(e,t){return(qe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $e(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Qe(e);if(t){var o=Qe(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ye(this,n)}}function Ye(e,t){return!t||"object"!==He(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Qe(e){return(Qe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ke=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qe(e,t)}(i,e);var t,n,r,o=$e(i);function i(){return We(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.props,n=t.field_data,r=t.form_values,o=t.form_states,i=t.state_name,l=t.show_if_regexes,u=this.state.settings;return o[i]&&this.isFieldVisible(l,r)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:o[i].ref_wrapper},a.a.createElement(R,{unique_id:o[i].unique_id,field_data:n,is_group_label:!0,settings:u}),a.a.createElement(V,{validation_error:o[i].validation_error})),Object.keys(n.items).map((function(t,l){return a.a.createElement("li",{className:"fcfOptions__row",key:l},a.a.createElement("input",{type:"radio",className:"fcfOptions__radio",id:"".concat(o[i].unique_id,"-").concat(l),ref:o[i].ref_input,name:n.name,value:t,defaultChecked:r[n.name]===t,onChange:e.onChangeValue.bind(e),disabled:n.readonly?null:n.readonly}),a.a.createElement("label",{htmlFor:"".concat(o[i].unique_id,"-").concat(l),className:"fcfOptions__label"},n.items[t]))}))):null}},{key:"getValue",value:function(e){return e.currentTarget.value}}])&&Ge(t.prototype,n),r&&Ge(t,r),i}(I);function Xe(e){return(Xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Je(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ze(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function et(e,t){return(et=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=rt(e);if(t){var o=rt(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return nt(this,n)}}function nt(e,t){return!t||"object"!==Xe(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function rt(e){return(rt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ot=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&et(e,t)}(i,e);var t,n,r,o=tt(i);function i(){return Je(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.props,n=t.field_data,r=t.form_values,o=t.form_states,i=t.state_name,l=t.show_if_regexes,u=this.state.settings;return o[i]&&this.isFieldVisible(l,r)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:o[i].ref_wrapper},a.a.createElement(R,{unique_id:o[i].unique_id,field_data:n,settings:u}),a.a.createElement(V,{validation_error:o[i].validation_error}),a.a.createElement("div",{className:"fcfOptions__boxes"},a.a.createElement("ul",{className:"fcfOptions__boxesItems"},n.items.map((function(t,l){return a.a.createElement("li",{className:"fcfOptions__boxesItem",key:l},a.a.createElement("input",{type:"radio",className:"fcfOptions__boxesItemInput",id:"".concat(o[i].unique_id,"-").concat(l),ref:o[i].ref_input,name:n.name,value:t.type,checked:r[n.name]===t.type,onChange:n.readonly?null:e.onChangeValue.bind(e),disabled:n.readonly}),a.a.createElement("label",{className:"fcfOptions__boxesItemLabel ".concat(t.icon),htmlFor:"".concat(o[i].unique_id,"-").concat(l)},t.label))})))))):null}},{key:"getValue",value:function(e){return e.currentTarget.value}}])&&Ze(t.prototype,n),r&&Ze(t,r),i}(I);function at(e){return(at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function it(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function lt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ut(e,t){return(ut=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function st(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ft(e);if(t){var o=ft(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ct(this,n)}}function ct(e,t){return!t||"object"!==at(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ft(e){return(ft=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var dt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ut(e,t)}(l,e);var t,n,o,i=st(l);function l(){return it(this,l),i.apply(this,arguments)}return t=l,(n=[{key:"render",value:function(){var e=this,t=this.props,n=t.field_data,o=t.form_values,i=t.form_states,l=t.state_name,u=t.section_fields,s=t.show_if_regexes,c=this.state,f=c.events,d=c.settings,p=c.validation_types,m=this.getRows();return i[l]&&this.isFieldVisible(s,o)?a.a.createElement(a.a.Fragment,null,n.label?a.a.createElement("li",{className:"fcfOptions__row"},a.a.createElement(R,{field_data:n,settings:d})):null,a.a.createElement("li",{className:"fcfOptions__row fcfOptions__row--lines fcfOptions__row--sub"},m.map((function(t,l){var s=!n.option_name_rows&&m.length>1;return a.a.createElement(a.a.Fragment,{key:l},a.a.createElement("ul",{className:"fcfOptions__columns"},a.a.createElement("li",{className:"fcfOptions__column"},a.a.createElement("div",{className:"fcfOptions__label fcfOptions__label--line"},a.a.createElement("div",{className:"fcfOptions__labelInner"},t.label)))),a.a.createElement("ul",{className:"fcfOptions__columns ".concat(s?"fcfOptions__columns--button":"")},n.items.map((function(l,s){var c=r[l.type],m=l.show_if_regexes,h=o[n.name][t.key]?o[n.name][t.key]:JSON.parse(JSON.stringify(l.default_value));return e.isFieldVisible(m,h)?a.a.createElement("li",{className:"fcfOptions__column",key:s},a.a.createElement("ul",{className:"fcfOptions__rows"},a.a.createElement(c,{field_data:l,form_values:h,form_states:i,state_name:"".concat(n.name,"_").concat(t.key,"_").concat(l.name),section_fields:u,onChangeValue:e.onChangeValue.bind(e,t.key),onChangeState:f.onChangeState,onRefreshForm:f.onRefreshForm,onValidationInit:f.onValidationInit,validation_types:p,settings:d}))):null})),s?a.a.createElement("li",{className:"fcfOptions__column fcfOptions__column--small"},a.a.createElement("button",{type:"button",className:"fcfOptions__columnButton fcfOptions__columnButton--remove",onClick:e.removeRow.bind(e,t.key)})):null))})),n.option_name_rows?null:a.a.createElement("ul",{className:"fcfOptions__columns"},a.a.createElement("li",{className:"fcfOptions__column fcfOptions__column--center"},a.a.createElement("button",{type:"button",className:"fcfButton fcfButton--small fcfButton--border fcfButton--blue",onClick:this.addNewRow.bind(this)},d.i18n.button_add_row))))):null}},{key:"onChangeValue",value:function(e,t,n){var r=this.props,o=r.field_data,a=r.form_values,i=this.state.events,l=a[o.name];void 0===l[e]&&(l[e]={}),l[e][t]=n,i.onChangeValue(o.name,l,o.refresh_trigger)}},{key:"onChangeOptionState",value:function(e,t,n,r){var o=this.props.state_name;this.state.events.onChangeState(o,n,r)}},{key:"getRows",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=t.option_name_rows;return r&&void 0!==n[r]?this.getRowsByFieldValue():this.getRowsByAddedValues()}},{key:"getRowsByAddedValues",value:function(){for(var e=this.props,t=e.field_data,n=e.form_values,r=t.label_row,o=Object.keys(n[t.name]),a=[],i=o.length,l=0;l<i;l++)a.push({key:o[l],label:r.replace("%s",l+1)});return a}},{key:"getRowsByFieldValue",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=t.option_name_rows,o=t.label_row,a=[];if(Array.isArray(n[r]))for(var i=n[r].length,l=0;l<i;l++)n[r][l]&&a.push({key:n[r][l].key,label:o.replace("%s",n[r][l].value)});else a.push({key:Object.keys(t.default_value)[0],label:o.replace("%s",n[r])});return a}},{key:"addNewRow",value:function(){var e=this.props.field_data,t=this.state.events,n=Object.values(this.props.form_values[e.name]),r=Object.keys(e.default_value);n.push(JSON.parse(JSON.stringify(e.default_value[r[0]]))),t.onChangeValue(e.name,n)}},{key:"removeRow",value:function(e){var t=this.props.field_data,n=this.state.events,r=JSON.parse(JSON.stringify(this.props.form_values[t.name]));delete r[e],r=r.filter((function(e){return null!==e})),n.onChangeValue(t.name,r,!0)}}])&<(t.prototype,n),o&<(t,o),l}(I);function pt(){return(pt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var mt=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(e){0}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),ht="-ms-",vt="-moz-",gt="-webkit-",bt="comm",yt="decl",_t=Math.abs,wt=String.fromCharCode;function Et(e){return e.trim()}function St(e,t,n){return e.replace(t,n)}function xt(e,t){return e.indexOf(t)}function Ot(e,t){return 0|e.charCodeAt(t)}function Ct(e,t,n){return e.slice(t,n)}function kt(e){return e.length}function Pt(e){return e.length}function It(e,t){return t.push(e),e}function Dt(e,t){return e.map(t).join("")}var Rt=1,Nt=1,Tt=0,Lt=0,At=0,jt="";function Mt(e,t,n,r,o,a,i){return{value:e,root:t,parent:n,type:r,props:o,children:a,line:Rt,column:Nt,length:i,return:""}}function Ft(e,t,n){return Mt(e,t.root,t.parent,n,t.props,t.children,0)}function Bt(){return At=Lt<Tt?Ot(jt,Lt++):0,Nt++,10===At&&(Nt=1,Rt++),At}function Vt(){return Ot(jt,Lt)}function Ut(){return Lt}function zt(e,t){return Ct(jt,e,t)}function Ht(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Wt(e){return Rt=Nt=1,Tt=kt(jt=e),Lt=0,[]}function Gt(e){return jt="",e}function qt(e){return Et(zt(Lt-1,function e(t){for(;Bt();)switch(At){case t:return Lt;case 34:case 39:return e(34===t||39===t?t:At);case 40:41===t&&e(t);break;case 92:Bt()}return Lt}(91===e?e+2:40===e?e+1:e)))}function $t(e){for(;(At=Vt())&&At<33;)Bt();return Ht(e)>2||Ht(At)>3?"":" "}function Yt(e,t){for(;Bt()&&e+At!==57&&(e+At!==84||47!==Vt()););return"/*"+zt(t,Lt-1)+"*"+wt(47===e?e:Bt())}function Qt(e){for(;!Ht(Vt());)Bt();return zt(e,Lt)}function Kt(e){return Gt(function e(t,n,r,o,a,i,l,u,s){var c=0,f=0,d=l,p=0,m=0,h=0,v=1,g=1,b=1,y=0,_="",w=a,E=i,S=o,x=_;for(;g;)switch(h=y,y=Bt()){case 34:case 39:case 91:case 40:x+=qt(y);break;case 9:case 10:case 13:case 32:x+=$t(h);break;case 47:switch(Vt()){case 42:case 47:It(Jt(Yt(Bt(),Ut()),n,r),s);break;default:x+="/"}break;case 123*v:u[c++]=kt(x)*b;case 125*v:case 59:case 0:switch(y){case 0:case 125:g=0;case 59+f:m>0&&kt(x)-d&&It(m>32?Zt(x+";",o,r,d-1):Zt(St(x," ","")+";",o,r,d-2),s);break;case 59:x+=";";default:if(It(S=Xt(x,n,r,c,f,a,u,_,w=[],E=[],d),i),123===y)if(0===f)e(x,n,S,S,w,i,d,u,E);else switch(p){case 100:case 109:case 115:e(t,S,S,o&&It(Xt(t,S,S,0,0,a,u,_,a,w=[],d),E),a,E,d,u,o?w:E);break;default:e(x,S,S,S,[""],E,d,u,E)}}c=f=m=0,v=b=1,_=x="",d=l;break;case 58:d=1+kt(x),m=h;default:switch(x+=wt(y),y*v){case 38:b=f>0?1:(x+="\f",-1);break;case 44:u[c++]=(kt(x)-1)*b,b=1;break;case 64:45===Vt()&&(x+=qt(Bt())),p=Vt(),f=kt(_=x+=Qt(Ut())),y++;break;case 45:45===h&&2==kt(x)&&(v=0)}}return i}("",null,null,null,[""],e=Wt(e),0,[0],e))}function Xt(e,t,n,r,o,a,i,l,u,s,c){for(var f=o-1,d=0===o?a:[""],p=Pt(d),m=0,h=0,v=0;m<r;++m)for(var g=0,b=Ct(e,f+1,f=_t(h=i[m])),y=e;g<p;++g)(y=Et(h>0?d[g]+" "+b:St(b,/&\f/g,d[g])))&&(u[v++]=y);return Mt(e,t,n,0===o?"rule":l,u,s,c)}function Jt(e,t,n){return Mt(e,t,n,bt,wt(At),Ct(e,2,-2),0)}function Zt(e,t,n,r){return Mt(e,t,n,yt,Ct(e,0,r),Ct(e,r+1,-1),r)}function en(e,t){switch(function(e,t){return(((t<<2^Ot(e,0))<<2^Ot(e,1))<<2^Ot(e,2))<<2^Ot(e,3)}(e,t)){case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return gt+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return gt+e+vt+e+ht+e+e;case 6828:case 4268:return gt+e+ht+e+e;case 6165:return gt+e+ht+"flex-"+e+e;case 5187:return gt+e+St(e,/(\w+).+(:[^]+)/,gt+"box-$1$2"+ht+"flex-$1$2")+e;case 5443:return gt+e+ht+"flex-item-"+St(e,/flex-|-self/,"")+e;case 4675:return gt+e+ht+"flex-line-pack"+St(e,/align-content|flex-|-self/,"")+e;case 5548:return gt+e+ht+St(e,"shrink","negative")+e;case 5292:return gt+e+ht+St(e,"basis","preferred-size")+e;case 6060:return gt+"box-"+St(e,"-grow","")+gt+e+ht+St(e,"grow","positive")+e;case 4554:return gt+St(e,/([^-])(transform)/g,"$1"+gt+"$2")+e;case 6187:return St(St(St(e,/(zoom-|grab)/,gt+"$1"),/(image-set)/,gt+"$1"),e,"")+e;case 5495:case 3959:return St(e,/(image-set\([^]*)/,gt+"$1$`$1");case 4968:return St(St(e,/(.+:)(flex-)?(.*)/,gt+"box-pack:$3"+ht+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+gt+e+e;case 4095:case 3583:case 4068:case 2532:return St(e,/(.+)-inline(.+)/,gt+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(kt(e)-1-t>6)switch(Ot(e,t+1)){case 102:t=Ot(e,t+3);case 109:return St(e,/(.+:)(.+)-([^]+)/,"$1"+gt+"$2-$3$1"+vt+(108==t?"$3":"$2-$3"))+e;case 115:return~xt(e,"stretch")?en(St(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==Ot(e,t+1))break;case 6444:switch(Ot(e,kt(e)-3-(~xt(e,"!important")&&10))){case 107:case 111:return St(e,e,gt+e)+e;case 101:return St(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+gt+(45===Ot(e,14)?"inline-":"")+"box$3$1"+gt+"$2$3$1"+ht+"$2box$3")+e}break;case 5936:switch(Ot(e,t+11)){case 114:return gt+e+ht+St(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return gt+e+ht+St(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return gt+e+ht+St(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return gt+e+ht+e+e}return e}function tn(e,t){for(var n="",r=Pt(e),o=0;o<r;o++)n+=t(e[o],o,e,t)||"";return n}function nn(e,t,n,r){switch(e.type){case"@import":case yt:return e.return=e.return||e.value;case bt:return"";case"rule":e.value=e.props.join(",")}return kt(n=tn(e.children,r))?e.return=e.value+"{"+n+"}":""}function rn(e){return function(t){t.root||(t=t.return)&&e(t)}}var on=function(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}},an=function(e,t){return Gt(function(e,t){var n=-1,r=44;do{switch(Ht(r)){case 0:38===r&&12===Vt()&&(t[n]=1),e[n]+=Qt(Lt-1);break;case 2:e[n]+=qt(r);break;case 4:if(44===r){e[++n]=58===Vt()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=wt(r)}}while(r=Bt());return e}(Wt(e),t))},ln=new WeakMap,un=function(e){if("rule"===e.type&&e.parent&&e.length){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ln.get(n))&&!r){ln.set(e,!0);for(var o=[],a=an(t,o),i=n.props,l=0,u=0;l<a.length;l++)for(var s=0;s<i.length;s++,u++)e.props[u]=o[l]?a[l].replace(/&\f/g,i[s]):i[s]+" "+a[l]}}},sn=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},cn=[function(e,t,n,r){if(!e.return)switch(e.type){case yt:e.return=en(e.value,e.length);break;case"@keyframes":return tn([Ft(St(e.value,"@","@"+gt),e,"")],r);case"rule":if(e.length)return Dt(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return tn([Ft(St(t,/:(read-\w+)/,":-moz-$1"),e,"")],r);case"::placeholder":return tn([Ft(St(t,/:(plac\w+)/,":"+gt+"input-$1"),e,""),Ft(St(t,/:(plac\w+)/,":-moz-$1"),e,""),Ft(St(t,/:(plac\w+)/,ht+"input-$1"),e,"")],r)}return""}))}}],fn=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){document.head.appendChild(e),e.setAttribute("data-s","")}))}var r=e.stylisPlugins||cn;var o,a,i={},l=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll("style[data-emotion]"),(function(e){var n=e.getAttribute("data-emotion").split(" ");if(n[0]===t){for(var r=1;r<n.length;r++)i[n[r]]=!0;l.push(e)}}));var u=[un,sn];var s,c=[nn,rn((function(e){s.insert(e)}))],f=function(e){var t=Pt(e);return function(n,r,o,a){for(var i="",l=0;l<t;l++)i+=e[l](n,r,o,a)||"";return i}}(u.concat(r,c));a=function(e,t,n,r){s=n,tn(Kt(e?e+"{"+t.styles+"}":t.styles),f),r&&(d.inserted[t.name]=!0)};var d={key:t,sheet:new mt({key:t,container:o,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend}),nonce:e.nonce,inserted:i,registered:{},insert:a};return d.sheet.hydrate(l),d},dn=n(3),pn=n.n(dn);function mn(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}var hn=function(e,t,n){var r=e.key+"-"+t.name;if(!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles),void 0===e.inserted[t.name]){var o=t;do{e.insert(t===o?"."+r:"",o,e.sheet,!0);o=o.next}while(void 0!==o)}};var vn=function(e){for(var t,n=0,r=0,o=e.length;o>=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},gn={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},bn=/[A-Z]|^ms/g,yn=/_EMO_([^_]+?)_([^]*?)_EMO_/g,_n=function(e){return 45===e.charCodeAt(1)},wn=function(e){return null!=e&&"boolean"!=typeof e},En=on((function(e){return _n(e)?e:e.replace(bn,"-$&").toLowerCase()})),Sn=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(yn,(function(e,t,n){return On={name:t,styles:n,next:On},t}))}return 1===gn[e]||_n(e)||"number"!=typeof t||0===t?t:t+"px"};function xn(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return On={name:n.name,styles:n.styles,next:On},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)On={name:r.name,styles:r.styles,next:On},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o<n.length;o++)r+=xn(e,t,n[o])+";";else for(var a in n){var i=n[a];if("object"!=typeof i)null!=t&&void 0!==t[i]?r+=a+"{"+t[i]+"}":wn(i)&&(r+=En(a)+":"+Sn(a,i)+";");else if(!Array.isArray(i)||"string"!=typeof i[0]||null!=t&&void 0!==t[i[0]]){var l=xn(e,t,i);switch(a){case"animation":case"animationName":r+=En(a)+":"+l+";";break;default:r+=a+"{"+l+"}"}}else for(var u=0;u<i.length;u++)wn(i[u])&&(r+=En(a)+":"+Sn(a,i[u])+";")}return r}(e,t,n);case"function":if(void 0!==e){var o=On,a=n(e);return On=o,xn(e,t,a)}break;case"string":}if(null==t)return n;var i=t[n];return void 0!==i?i:n}var On,Cn=/label:\s*([^\s;\n{]+)\s*;/g;var kn=function(e,t,n){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,o="";On=void 0;var a=e[0];null==a||void 0===a.raw?(r=!1,o+=xn(n,t,a)):o+=a[0];for(var i=1;i<e.length;i++)o+=xn(n,t,e[i]),r&&(o+=a[i]);Cn.lastIndex=0;for(var l,u="";null!==(l=Cn.exec(o));)u+="-"+l[1];return{name:vn(o)+u,styles:o,next:On}},Pn=Object.prototype.hasOwnProperty,In=Object(o.createContext)("undefined"!=typeof HTMLElement?fn({key:"css"}):null),Dn=In.Provider,Rn=function(e){return Object(o.forwardRef)((function(t,n){var r=Object(o.useContext)(In);return e(t,r,n)}))},Nn=Object(o.createContext)({});var Tn="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",Ln=function(e,t){var n={};for(var r in t)Pn.call(t,r)&&(n[r]=t[r]);return n[Tn]=e,n},An=Rn((function(e,t,n){var r=e.css;"string"==typeof r&&void 0!==t.registered[r]&&(r=t.registered[r]);var a=e[Tn],i=[r],l="";"string"==typeof e.className?l=mn(t.registered,i,e.className):null!=e.className&&(l=e.className+" ");var u=kn(i,void 0,"function"==typeof r||Array.isArray(r)?Object(o.useContext)(Nn):void 0);hn(t,u,"string"==typeof a);l+=t.key+"-"+u.name;var s={};for(var c in e)Pn.call(e,c)&&"css"!==c&&c!==Tn&&(s[c]=e[c]);return s.ref=n,s.className=l,Object(o.createElement)(a,s)}));n(17);var jn=function(e,t){var n=arguments;if(null==t||!Pn.call(t,"css"))return o.createElement.apply(void 0,n);var r=n.length,a=new Array(r);a[0]=An,a[1]=Ln(e,t);for(var i=2;i<r;i++)a[i]=n[i];return o.createElement.apply(null,a)};function Mn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return kn(t)}var Fn=function e(t){for(var n=t.length,r=0,o="";r<n;r++){var a=t[r];if(null!=a){var i=void 0;switch(typeof a){case"boolean":break;case"object":if(Array.isArray(a))i=e(a);else for(var l in i="",a)a[l]&&l&&(i&&(i+=" "),i+=l);break;default:i=a}i&&(o&&(o+=" "),o+=i)}}return o};function Bn(e,t,n){var r=[],o=mn(e,r,n);return r.length<2?n:o+t(r)}var Vn=Rn((function(e,t){var n=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var o=kn(n,t.registered);return hn(t,o,!1),t.key+"-"+o.name},r={css:n,cx:function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return Bn(t.registered,n,Fn(r))},theme:Object(o.useContext)(Nn)},a=e.children(r);return!0,a}));function Un(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function zn(e,t){if(null==e)return{};var n,r,o=Un(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Hn=n(4),Wn=n.n(Hn);function Gn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $n(e,t,n){return t&&qn(e.prototype,t),n&&qn(e,n),e}function Yn(e,t){return(Yn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qn(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yn(e,t)}function Kn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xn(e){return(Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Jn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function er(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zn(Object(n),!0).forEach((function(t){Jn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function tr(e){return(tr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nr(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function rr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tr(e);if(t){var o=tr(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return nr(this,n)}}var or=function(){};function ar(e,t){return t?"-"===t[0]?e+t:e+"__"+t:e}function ir(e,t,n){var r=[n];if(t&&e)for(var o in t)t.hasOwnProperty(o)&&t[o]&&r.push("".concat(ar(e,o)));return r.filter((function(e){return e})).map((function(e){return String(e).trim()})).join(" ")}var lr=function(e){return Array.isArray(e)?e.filter(Boolean):"object"===Xn(e)&&null!==e?[e]:[]};function ur(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function sr(e){return ur(e)?window.pageYOffset:e.scrollTop}function cr(e,t){ur(e)?window.scrollTo(0,t):e.scrollTop=t}function fr(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}function dr(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:or,o=sr(e),a=t-o,i=10,l=0;function u(){var t=fr(l+=i,o,a,n);cr(e,t),l<n?window.requestAnimationFrame(u):r(e)}u()}function pr(){try{return document.createEvent("TouchEvent"),!0}catch(e){return!1}}function mr(e){var t=e.maxHeight,n=e.menuEl,r=e.minHeight,o=e.placement,a=e.shouldScroll,i=e.isFixedPosition,l=e.theme.spacing,u=function(e){var t=getComputedStyle(e),n="absolute"===t.position,r=/(auto|scroll)/,o=document.documentElement;if("fixed"===t.position)return o;for(var a=e;a=a.parentElement;)if(t=getComputedStyle(a),(!n||"static"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return a;return o}(n),s={placement:"bottom",maxHeight:t};if(!n||!n.offsetParent)return s;var c=u.getBoundingClientRect().height,f=n.getBoundingClientRect(),d=f.bottom,p=f.height,m=f.top,h=n.offsetParent.getBoundingClientRect().top,v=window.innerHeight,g=sr(u),b=parseInt(getComputedStyle(n).marginBottom,10),y=parseInt(getComputedStyle(n).marginTop,10),_=h-y,w=v-m,E=_+g,S=c-g-m,x=d-v+g+b,O=g+m-y;switch(o){case"auto":case"bottom":if(w>=p)return{placement:"bottom",maxHeight:t};if(S>=p&&!i)return a&&dr(u,x,160),{placement:"bottom",maxHeight:t};if(!i&&S>=r||i&&w>=r)return a&&dr(u,x,160),{placement:"bottom",maxHeight:i?w-b:S-b};if("auto"===o||i){var C=t,k=i?_:E;return k>=r&&(C=Math.min(k-b-l.controlHeight,t)),{placement:"top",maxHeight:C}}if("bottom"===o)return cr(u,x),{placement:"bottom",maxHeight:t};break;case"top":if(_>=p)return{placement:"top",maxHeight:t};if(E>=p&&!i)return a&&dr(u,O,160),{placement:"top",maxHeight:t};if(!i&&E>=r||i&&_>=r){var P=t;return(!i&&E>=r||i&&_>=r)&&(P=i?_-y:E-y),a&&dr(u,O,160),{placement:"top",maxHeight:P}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(o,'".'))}return s}var hr=function(e){return"auto"===e?"bottom":e},vr=Object(o.createContext)({getPortalPlacement:null}),gr=function(e){Qn(n,e);var t=rr(n);function n(){var e;Gn(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return(e=t.call.apply(t,[this].concat(o))).state={maxHeight:e.props.maxMenuHeight,placement:null},e.getPlacement=function(t){var n=e.props,r=n.minMenuHeight,o=n.maxMenuHeight,a=n.menuPlacement,i=n.menuPosition,l=n.menuShouldScrollIntoView,u=n.theme;if(t){var s="fixed"===i,c=mr({maxHeight:o,menuEl:t,minHeight:r,placement:a,shouldScroll:l&&!s,isFixedPosition:s,theme:u}),f=e.context.getPortalPlacement;f&&f(c),e.setState(c)}},e.getUpdatedProps=function(){var t=e.props.menuPlacement,n=e.state.placement||hr(t);return er(er({},e.props),{},{placement:n,maxHeight:e.state.maxHeight})},e}return $n(n,[{key:"render",value:function(){return(0,this.props.children)({ref:this.getPlacement,placerProps:this.getUpdatedProps()})}}]),n}(o.Component);gr.contextType=vr;var br=function(e){var t=e.theme,n=t.spacing.baseUnit;return{color:t.colors.neutral40,padding:"".concat(2*n,"px ").concat(3*n,"px"),textAlign:"center"}},yr=br,_r=br,wr=function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerProps;return jn("div",pt({css:o("noOptionsMessage",e),className:r({"menu-notice":!0,"menu-notice--no-options":!0},n)},a),t)};wr.defaultProps={children:"No options"};var Er=function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerProps;return jn("div",pt({css:o("loadingMessage",e),className:r({"menu-notice":!0,"menu-notice--loading":!0},n)},a),t)};Er.defaultProps={children:"Loading..."};var Sr,xr=function(e){Qn(n,e);var t=rr(n);function n(){var e;Gn(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return(e=t.call.apply(t,[this].concat(o))).state={placement:null},e.getPortalPlacement=function(t){var n=t.placement;n!==hr(e.props.menuPlacement)&&e.setState({placement:n})},e}return $n(n,[{key:"render",value:function(){var e=this.props,t=e.appendTo,n=e.children,r=e.className,o=e.controlElement,a=e.cx,l=e.innerProps,u=e.menuPlacement,s=e.menuPosition,c=e.getStyles,f="fixed"===s;if(!t&&!f||!o)return null;var d=this.state.placement||hr(u),p=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(o),m=f?0:window.pageYOffset,h=p[d]+m,v=jn("div",pt({css:c("menuPortal",{offset:h,position:s,rect:p}),className:a({"menu-portal":!0},r)},l),n);return jn(vr.Provider,{value:{getPortalPlacement:this.getPortalPlacement}},t?Object(i.createPortal)(v,t):v)}}]),n}(o.Component);var Or,Cr,kr={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},Pr=function(e){var t=e.size,n=zn(e,["size"]);return jn("svg",pt({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:kr},n))},Ir=function(e){return jn(Pr,pt({size:20},e),jn("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},Dr=function(e){return jn(Pr,pt({size:20},e),jn("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Rr=function(e){var t=e.isFocused,n=e.theme,r=n.spacing.baseUnit,o=n.colors;return{label:"indicatorContainer",color:t?o.neutral60:o.neutral20,display:"flex",padding:2*r,transition:"color 150ms",":hover":{color:t?o.neutral80:o.neutral40}}},Nr=Rr,Tr=Rr,Lr=function(){var e=Mn.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(Sr||(Or=["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"],Cr||(Cr=Or.slice(0)),Sr=Object.freeze(Object.defineProperties(Or,{raw:{value:Object.freeze(Cr)}})))),Ar=function(e){var t=e.delay,n=e.offset;return jn("span",{css:Mn({animation:"".concat(Lr," 1s ease-in-out ").concat(t,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":null,height:"1em",verticalAlign:"top",width:"1em"},"","")})},jr=function(e){var t=e.className,n=e.cx,r=e.getStyles,o=e.innerProps,a=e.isRtl;return jn("div",pt({css:r("loadingIndicator",e),className:n({indicator:!0,"loading-indicator":!0},t)},o),jn(Ar,{delay:0,offset:a}),jn(Ar,{delay:160,offset:!0}),jn(Ar,{delay:320,offset:!a}))};jr.defaultProps={size:4};var Mr=function(e){return{label:"input",background:0,border:0,fontSize:"inherit",opacity:e?0:1,outline:0,padding:0,color:"inherit"}},Fr=function(e){var t=e.children,n=e.innerProps;return jn("div",n,t)},Br=Fr,Vr=Fr;var Ur=function(e){var t=e.children,n=e.className,r=e.components,o=e.cx,a=e.data,i=e.getStyles,l=e.innerProps,u=e.isDisabled,s=e.removeProps,c=e.selectProps,f=r.Container,d=r.Label,p=r.Remove;return jn(Vn,null,(function(r){var m=r.css,h=r.cx;return jn(f,{data:a,innerProps:er({className:h(m(i("multiValue",e)),o({"multi-value":!0,"multi-value--is-disabled":u},n))},l),selectProps:c},jn(d,{data:a,innerProps:{className:h(m(i("multiValueLabel",e)),o({"multi-value__label":!0},n))},selectProps:c},t),jn(p,{data:a,innerProps:er({className:h(m(i("multiValueRemove",e)),o({"multi-value__remove":!0},n))},s),selectProps:c}))}))};Ur.defaultProps={cropWithEllipsis:!0};var zr={ClearIndicator:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerProps;return jn("div",pt({css:o("clearIndicator",e),className:r({indicator:!0,"clear-indicator":!0},n)},a),t||jn(Ir,null))},Control:function(e){var t=e.children,n=e.cx,r=e.getStyles,o=e.className,a=e.isDisabled,i=e.isFocused,l=e.innerRef,u=e.innerProps,s=e.menuIsOpen;return jn("div",pt({ref:l,css:r("control",e),className:n({control:!0,"control--is-disabled":a,"control--is-focused":i,"control--menu-is-open":s},o)},u),t)},DropdownIndicator:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerProps;return jn("div",pt({css:o("dropdownIndicator",e),className:r({indicator:!0,"dropdown-indicator":!0},n)},a),t||jn(Dr,null))},DownChevron:Dr,CrossIcon:Ir,Group:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.Heading,i=e.headingProps,l=e.innerProps,u=e.label,s=e.theme,c=e.selectProps;return jn("div",pt({css:o("group",e),className:r({group:!0},n)},l),jn(a,pt({},i,{selectProps:c,theme:s,getStyles:o,cx:r}),u),jn("div",null,t))},GroupHeading:function(e){var t=e.className,n=e.cx,r=e.getStyles,o=e.theme;e.selectProps;var a=zn(e,["className","cx","getStyles","theme","selectProps"]);return jn("div",pt({css:r("groupHeading",er({theme:o},a)),className:n({"group-heading":!0},t)},a))},IndicatorsContainer:function(e){var t=e.children,n=e.className,r=e.cx,o=e.innerProps,a=e.getStyles;return jn("div",pt({css:a("indicatorsContainer",e),className:r({indicators:!0},n)},o),t)},IndicatorSeparator:function(e){var t=e.className,n=e.cx,r=e.getStyles,o=e.innerProps;return jn("span",pt({},o,{css:r("indicatorSeparator",e),className:n({"indicator-separator":!0},t)}))},Input:function(e){var t=e.className,n=e.cx,r=e.getStyles,o=e.innerRef,a=e.isHidden,i=e.isDisabled,l=e.theme;e.selectProps;var u=zn(e,["className","cx","getStyles","innerRef","isHidden","isDisabled","theme","selectProps"]);return jn("div",{css:r("input",er({theme:l},u))},jn(Wn.a,pt({className:n({input:!0},t),inputRef:o,inputStyle:Mr(a),disabled:i},u)))},LoadingIndicator:jr,Menu:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerRef,i=e.innerProps;return jn("div",pt({css:o("menu",e),className:r({menu:!0},n),ref:a},i),t)},MenuList:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerProps,i=e.innerRef,l=e.isMulti;return jn("div",pt({css:o("menuList",e),className:r({"menu-list":!0,"menu-list--is-multi":l},n),ref:i},a),t)},MenuPortal:xr,LoadingMessage:Er,NoOptionsMessage:wr,MultiValue:Ur,MultiValueContainer:Br,MultiValueLabel:Vr,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return jn("div",n,t||jn(Ir,{size:14}))},Option:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.isDisabled,i=e.isFocused,l=e.isSelected,u=e.innerRef,s=e.innerProps;return jn("div",pt({css:o("option",e),className:r({option:!0,"option--is-disabled":a,"option--is-focused":i,"option--is-selected":l},n),ref:u},s),t)},Placeholder:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerProps;return jn("div",pt({css:o("placeholder",e),className:r({placeholder:!0},n)},a),t)},SelectContainer:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.innerProps,i=e.isDisabled,l=e.isRtl;return jn("div",pt({css:o("container",e),className:r({"--is-disabled":i,"--is-rtl":l},n)},a),t)},SingleValue:function(e){var t=e.children,n=e.className,r=e.cx,o=e.getStyles,a=e.isDisabled,i=e.innerProps;return jn("div",pt({css:o("singleValue",e),className:r({"single-value":!0,"single-value--is-disabled":a},n)},i),t)},ValueContainer:function(e){var t=e.children,n=e.className,r=e.cx,o=e.innerProps,a=e.isMulti,i=e.getStyles,l=e.hasValue;return jn("div",pt({css:i("valueContainer",e),className:r({"value-container":!0,"value-container--is-multi":a,"value-container--has-value":l},n)},o),t)}};function Hr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Wr(e){return function(e){if(Array.isArray(e))return Hr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Hr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hr(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}for(var Gr=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],qr=new RegExp("["+Gr.map((function(e){return e.letters})).join("")+"]","g"),$r={},Yr=0;Yr<Gr.length;Yr++)for(var Qr=Gr[Yr],Kr=0;Kr<Qr.letters.length;Kr++)$r[Qr.letters[Kr]]=Qr.base;var Xr=function(e){return e.replace(qr,(function(e){return $r[e]}))},Jr=function(e){return e.replace(/^\s+|\s+$/g,"")},Zr=function(e){return"".concat(e.label," ").concat(e.value)};var eo={name:"7pg0cj-a11yText",styles:"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"},to=function(e){return jn("span",pt({css:eo},e))};function no(e){e.in,e.out,e.onExited,e.appear,e.enter,e.exit;var t=e.innerRef;e.emotion;var n=zn(e,["in","out","onExited","appear","enter","exit","innerRef","emotion"]);return jn("input",pt({ref:t},n,{css:Mn({label:"dummyInput",background:0,border:0,fontSize:"inherit",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(0)"},"","")}))}var ro=["boxSizing","height","overflow","paddingRight","position"],oo={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function ao(e){e.preventDefault()}function io(e){e.stopPropagation()}function lo(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function uo(){return"ontouchstart"in window||navigator.maxTouchPoints}var so=!(!window.document||!window.document.createElement),co=0,fo={capture:!1,passive:!1};var po=function(){return document.activeElement&&document.activeElement.blur()},mo={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function ho(e){var t=e.children,n=e.lockEnabled,r=e.captureEnabled,i=function(e){var t=e.isEnabled,n=e.onBottomArrive,r=e.onBottomLeave,a=e.onTopArrive,i=e.onTopLeave,l=Object(o.useRef)(!1),u=Object(o.useRef)(!1),s=Object(o.useRef)(0),c=Object(o.useRef)(null),f=Object(o.useCallback)((function(e,t){if(null!==c.current){var o=c.current,s=o.scrollTop,f=o.scrollHeight,d=o.clientHeight,p=c.current,m=t>0,h=f-d-s,v=!1;h>t&&l.current&&(r&&r(e),l.current=!1),m&&u.current&&(i&&i(e),u.current=!1),m&&t>h?(n&&!l.current&&n(e),p.scrollTop=f,v=!0,l.current=!0):!m&&-t>s&&(a&&!u.current&&a(e),p.scrollTop=0,v=!0,u.current=!0),v&&function(e){e.preventDefault(),e.stopPropagation()}(e)}}),[]),d=Object(o.useCallback)((function(e){f(e,e.deltaY)}),[f]),p=Object(o.useCallback)((function(e){s.current=e.changedTouches[0].clientY}),[]),m=Object(o.useCallback)((function(e){var t=s.current-e.changedTouches[0].clientY;f(e,t)}),[f]),h=Object(o.useCallback)((function(e){e&&("function"==typeof e.addEventListener&&e.addEventListener("wheel",d,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchstart",p,!1),"function"==typeof e.addEventListener&&e.addEventListener("touchmove",m,!1))}),[m,p,d]),v=Object(o.useCallback)((function(e){e&&("function"==typeof e.removeEventListener&&e.removeEventListener("wheel",d,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchstart",p,!1),"function"==typeof e.removeEventListener&&e.removeEventListener("touchmove",m,!1))}),[m,p,d]);return Object(o.useEffect)((function(){if(t){var e=c.current;return h(e),function(){v(e)}}}),[t,h,v]),function(e){c.current=e}}({isEnabled:void 0===r||r,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),l=function(e){var t=e.isEnabled,n=e.accountForScrollbars,r=void 0===n||n,a=Object(o.useRef)({}),i=Object(o.useRef)(null),l=Object(o.useCallback)((function(e){if(so){var t=document.body,n=t&&t.style;if(r&&ro.forEach((function(e){var t=n&&n[e];a.current[e]=t})),r&&co<1){var o=parseInt(a.current.paddingRight,10)||0,i=document.body?document.body.clientWidth:0,l=window.innerWidth-i+o||0;Object.keys(oo).forEach((function(e){var t=oo[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(l,"px"))}t&&uo()&&(t.addEventListener("touchmove",ao,fo),e&&(e.addEventListener("touchstart",lo,fo),e.addEventListener("touchmove",io,fo))),co+=1}}),[]),u=Object(o.useCallback)((function(e){if(so){var t=document.body,n=t&&t.style;co=Math.max(co-1,0),r&&co<1&&ro.forEach((function(e){var t=a.current[e];n&&(n[e]=t)})),t&&uo()&&(t.removeEventListener("touchmove",ao,fo),e&&(e.removeEventListener("touchstart",lo,fo),e.removeEventListener("touchmove",io,fo)))}}),[]);return Object(o.useEffect)((function(){if(t){var e=i.current;return l(e),function(){u(e)}}}),[t,l,u]),function(e){i.current=e}}({isEnabled:n});return jn(a.a.Fragment,null,n&&jn("div",{onClick:po,css:mo}),t((function(e){i(e),l(e)})))}var vo=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isSearchable,r=t.isMulti,o=t.label,a=t.isDisabled,i=t.tabSelectsValue;switch(e){case"menu":return"Use Up and Down to choose options".concat(a?"":", press Enter to select the currently focused option",", press Escape to exit the menu").concat(i?", press Tab to select the option and exit the menu":"",".");case"input":return"".concat(o||"Select"," is focused ").concat(n?",type to refine list":"",", press Down to open the menu, ").concat(r?" press left to focus selected values":"");case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value"}},go=function(e,t){var n=t.value,r=t.isDisabled;if(n)switch(e){case"deselect-option":case"pop-value":case"remove-value":return"option ".concat(n,", deselected.");case"select-option":return"option ".concat(n,r?" is disabled. Select another option.":", selected.")}},bo={clearIndicator:Tr,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":null,pointerEvents:t?"none":null,position:"relative"}},control:function(e){var t=e.isDisabled,n=e.isFocused,r=e.theme,o=r.colors,a=r.borderRadius,i=r.spacing;return{label:"control",alignItems:"center",backgroundColor:t?o.neutral5:o.neutral0,borderColor:t?o.neutral10:n?o.primary:o.neutral20,borderRadius:a,borderStyle:"solid",borderWidth:1,boxShadow:n?"0 0 0 1px ".concat(o.primary):null,cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:i.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms","&:hover":{borderColor:n?o.primary:o.neutral30}}},dropdownIndicator:Nr,group:function(e){var t=e.theme.spacing;return{paddingBottom:2*t.baseUnit,paddingTop:2*t.baseUnit}},groupHeading:function(e){var t=e.theme.spacing;return{label:"group",color:"#999",cursor:"default",display:"block",fontSize:"75%",fontWeight:"500",marginBottom:"0.25em",paddingLeft:3*t.baseUnit,paddingRight:3*t.baseUnit,textTransform:"uppercase"}},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing.baseUnit,o=n.colors;return{label:"indicatorSeparator",alignSelf:"stretch",backgroundColor:t?o.neutral10:o.neutral20,marginBottom:2*r,marginTop:2*r,width:1}},input:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,o=n.colors;return{margin:r.baseUnit/2,paddingBottom:r.baseUnit/2,paddingTop:r.baseUnit/2,visibility:t?"hidden":"visible",color:o.neutral80}},loadingIndicator:function(e){var t=e.isFocused,n=e.size,r=e.theme,o=r.colors,a=r.spacing.baseUnit;return{label:"loadingIndicator",color:t?o.neutral60:o.neutral20,display:"flex",padding:2*a,transition:"color 150ms",alignSelf:"center",fontSize:n,lineHeight:1,marginRight:n,textAlign:"center",verticalAlign:"middle"}},loadingMessage:_r,menu:function(e){var t,n=e.placement,r=e.theme,o=r.borderRadius,a=r.spacing,i=r.colors;return Kn(t={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(n),"100%"),Kn(t,"backgroundColor",i.neutral0),Kn(t,"borderRadius",o),Kn(t,"boxShadow","0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)"),Kn(t,"marginBottom",a.menuGutter),Kn(t,"marginTop",a.menuGutter),Kn(t,"position","absolute"),Kn(t,"width","100%"),Kn(t,"zIndex",1),t},menuList:function(e){var t=e.maxHeight,n=e.theme.spacing.baseUnit;return{maxHeight:t,overflowY:"auto",paddingBottom:n,paddingTop:n,position:"relative",WebkitOverflowScrolling:"touch"}},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius;return{label:"multiValue",backgroundColor:t.colors.neutral10,borderRadius:r/2,display:"flex",margin:n.baseUnit/2,minWidth:0}},multiValueLabel:function(e){var t=e.theme,n=t.borderRadius,r=t.colors,o=e.cropWithEllipsis;return{borderRadius:n/2,color:r.neutral80,fontSize:"85%",overflow:"hidden",padding:3,paddingLeft:6,textOverflow:o?"ellipsis":null,whiteSpace:"nowrap"}},multiValueRemove:function(e){var t=e.theme,n=t.spacing,r=t.borderRadius,o=t.colors;return{alignItems:"center",borderRadius:r/2,backgroundColor:e.isFocused&&o.dangerLight,display:"flex",paddingLeft:n.baseUnit,paddingRight:n.baseUnit,":hover":{backgroundColor:o.dangerLight,color:o.danger}}},noOptionsMessage:yr,option:function(e){var t=e.isDisabled,n=e.isFocused,r=e.isSelected,o=e.theme,a=o.spacing,i=o.colors;return{label:"option",backgroundColor:r?i.primary:n?i.primary25:"transparent",color:t?i.neutral20:r?i.neutral0:"inherit",cursor:"default",display:"block",fontSize:"inherit",padding:"".concat(2*a.baseUnit,"px ").concat(3*a.baseUnit,"px"),width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",":active":{backgroundColor:!t&&(r?i.primary:i.primary50)}}},placeholder:function(e){var t=e.theme,n=t.spacing;return{label:"placeholder",color:t.colors.neutral50,marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2,position:"absolute",top:"50%",transform:"translateY(-50%)"}},singleValue:function(e){var t=e.isDisabled,n=e.theme,r=n.spacing,o=n.colors;return{label:"singleValue",color:t?o.neutral40:o.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2,maxWidth:"calc(100% - ".concat(2*r.baseUnit,"px)"),overflow:"hidden",position:"absolute",textOverflow:"ellipsis",whiteSpace:"nowrap",top:"50%",transform:"translateY(-50%)"}},valueContainer:function(e){var t=e.theme.spacing;return{alignItems:"center",display:"flex",flex:1,flexWrap:"wrap",padding:"".concat(t.baseUnit/2,"px ").concat(2*t.baseUnit,"px"),WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"}}};var yo,_o={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},wo={backspaceRemovesValue:!0,blurInputOnSelect:pr(),captureMenuScroll:!pr(),closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){var n=er({ignoreCase:!0,ignoreAccents:!0,stringify:Zr,trim:!0,matchFrom:"any"},yo),r=n.ignoreCase,o=n.ignoreAccents,a=n.stringify,i=n.trim,l=n.matchFrom,u=i?Jr(t):t,s=i?Jr(a(e)):a(e);return r&&(u=u.toLowerCase(),s=s.toLowerCase()),o&&(u=Xr(u),s=Xr(s)),"start"===l?s.substr(0,u.length)===u:s.indexOf(u)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:"0",tabSelectsValue:!0};function Eo(e,t,n,r){return{type:"option",data:t,isDisabled:Po(e,t,n),isSelected:Io(e,t,n),label:Co(e,t),value:ko(e,t),index:r}}function So(e,t){return e.options.map((function(n,r){if(n.options){var o=n.options.map((function(n,r){return Eo(e,n,t,r)})).filter((function(t){return Oo(e,t)}));return o.length>0?{type:"group",data:n,options:o,index:r}:void 0}var a=Eo(e,n,t,r);return Oo(e,a)?a:void 0})).filter((function(e){return!!e}))}function xo(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,Wr(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Oo(e,t){var n=e.inputValue,r=void 0===n?"":n,o=t.data,a=t.isSelected,i=t.label,l=t.value;return(!Ro(e)||!a)&&Do(e,{label:i,value:l,data:o},r)}var Co=function(e,t){return e.getOptionLabel(t)},ko=function(e,t){return e.getOptionValue(t)};function Po(e,t,n){return"function"==typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function Io(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"==typeof e.isOptionSelected)return e.isOptionSelected(t,n);var r=ko(e,t);return n.some((function(t){return ko(e,t)===r}))}function Do(e,t,n){return!e.filterOption||e.filterOption(t,n)}var Ro=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},No=1,To=function(e){Qn(n,e);var t=rr(n);function n(e){var r;return Gn(this,n),(r=t.call(this,e)).state={ariaLiveSelection:"",ariaLiveContext:"",focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},r.blockOptionHover=!1,r.isComposing=!1,r.commonProps=void 0,r.initialTouchX=0,r.initialTouchY=0,r.instancePrefix="",r.openAfterFocus=!1,r.scrollToFocusedOptionOnUpdate=!1,r.userIsDragging=void 0,r.controlRef=null,r.getControlRef=function(e){r.controlRef=e},r.focusedOptionRef=null,r.getFocusedOptionRef=function(e){r.focusedOptionRef=e},r.menuListRef=null,r.getMenuListRef=function(e){r.menuListRef=e},r.inputRef=null,r.getInputRef=function(e){r.inputRef=e},r.focus=r.focusInput,r.blur=r.blurInput,r.onChange=function(e,t){var n=r.props,o=n.onChange,a=n.name;o(e,er(er({},t),{},{name:a}))},r.setValue=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"set-value",n=arguments.length>2?arguments[2]:void 0,o=r.props,a=o.closeMenuOnSelect,i=o.isMulti;r.onInputChange("",{action:"set-value"}),a&&(r.setState({inputIsHiddenAfterUpdate:!i}),r.onMenuClose()),r.setState({clearFocusValueOnUpdate:!0}),r.onChange(e,{action:t,option:n})},r.selectOption=function(e){var t=r.props,n=t.blurInputOnSelect,o=t.isMulti,a=r.state.selectValue;if(o)if(r.isOptionSelected(e,a)){var i=r.getOptionValue(e);r.setValue(a.filter((function(e){return r.getOptionValue(e)!==i})),"deselect-option",e),r.announceAriaLiveSelection({event:"deselect-option",context:{value:r.getOptionLabel(e)}})}else r.isOptionDisabled(e,a)?r.announceAriaLiveSelection({event:"select-option",context:{value:r.getOptionLabel(e),isDisabled:!0}}):(r.setValue([].concat(Wr(a),[e]),"select-option",e),r.announceAriaLiveSelection({event:"select-option",context:{value:r.getOptionLabel(e)}}));else r.isOptionDisabled(e,a)?r.announceAriaLiveSelection({event:"select-option",context:{value:r.getOptionLabel(e),isDisabled:!0}}):(r.setValue(e,"select-option"),r.announceAriaLiveSelection({event:"select-option",context:{value:r.getOptionLabel(e)}}));n&&r.blurInput()},r.removeValue=function(e){var t=r.props.isMulti,n=r.state.selectValue,o=r.getOptionValue(e),a=n.filter((function(e){return r.getOptionValue(e)!==o})),i=t?a:a.length>0?a[0]:null;r.onChange(i,{action:"remove-value",removedValue:e}),r.announceAriaLiveSelection({event:"remove-value",context:{value:e?r.getOptionLabel(e):""}}),r.focusInput()},r.clearValue=function(){var e=r.state.selectValue;r.onChange(r.props.isMulti?[]:null,{action:"clear",removedValues:e})},r.popValue=function(){var e=r.props.isMulti,t=r.state.selectValue,n=t[t.length-1],o=t.slice(0,t.length-1),a=e?o:o.length>0?o[0]:null;r.announceAriaLiveSelection({event:"pop-value",context:{value:n?r.getOptionLabel(n):""}}),r.onChange(a,{action:"pop-value",removedValue:n})},r.getValue=function(){return r.state.selectValue},r.cx=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return ir.apply(void 0,[r.props.classNamePrefix].concat(t))},r.getOptionLabel=function(e){return Co(r.props,e)},r.getOptionValue=function(e){return ko(r.props,e)},r.getStyles=function(e,t){var n=bo[e](t);n.boxSizing="border-box";var o=r.props.styles[e];return o?o(n,t):n},r.getElementId=function(e){return"".concat(r.instancePrefix,"-").concat(e)},r.getComponents=function(){return e=r.props,er(er({},zr),e.components);var e},r.buildCategorizedOptions=function(){return So(r.props,r.state.selectValue)},r.getCategorizedOptions=function(){return r.props.menuIsOpen?r.buildCategorizedOptions():[]},r.buildFocusableOptions=function(){return xo(r.buildCategorizedOptions())},r.getFocusableOptions=function(){return r.props.menuIsOpen?r.buildFocusableOptions():[]},r.announceAriaLiveSelection=function(e){var t=e.event,n=e.context;r.setState({ariaLiveSelection:go(t,n)})},r.announceAriaLiveContext=function(e){var t=e.event,n=e.context;r.setState({ariaLiveContext:vo(t,er(er({},n),{},{label:r.props["aria-label"]}))})},r.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),r.focusInput())},r.onMenuMouseMove=function(e){r.blockOptionHover=!1},r.onControlMouseDown=function(e){var t=r.props.openMenuOnClick;r.state.isFocused?r.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&r.onMenuClose():t&&r.openMenu("first"):(t&&(r.openAfterFocus=!0),r.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()},r.onDropdownIndicatorMouseDown=function(e){if(!(e&&"mousedown"===e.type&&0!==e.button||r.props.isDisabled)){var t=r.props,n=t.isMulti,o=t.menuIsOpen;r.focusInput(),o?(r.setState({inputIsHiddenAfterUpdate:!n}),r.onMenuClose()):r.openMenu("first"),e.preventDefault(),e.stopPropagation()}},r.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(r.clearValue(),e.stopPropagation(),r.openAfterFocus=!1,"touchend"===e.type?r.focusInput():setTimeout((function(){return r.focusInput()})))},r.onScroll=function(e){"boolean"==typeof r.props.closeMenuOnScroll?e.target instanceof HTMLElement&&ur(e.target)&&r.props.onMenuClose():"function"==typeof r.props.closeMenuOnScroll&&r.props.closeMenuOnScroll(e)&&r.props.onMenuClose()},r.onCompositionStart=function(){r.isComposing=!0},r.onCompositionEnd=function(){r.isComposing=!1},r.onTouchStart=function(e){var t=e.touches,n=t&&t.item(0);n&&(r.initialTouchX=n.clientX,r.initialTouchY=n.clientY,r.userIsDragging=!1)},r.onTouchMove=function(e){var t=e.touches,n=t&&t.item(0);if(n){var o=Math.abs(n.clientX-r.initialTouchX),a=Math.abs(n.clientY-r.initialTouchY);r.userIsDragging=o>5||a>5}},r.onTouchEnd=function(e){r.userIsDragging||(r.controlRef&&!r.controlRef.contains(e.target)&&r.menuListRef&&!r.menuListRef.contains(e.target)&&r.blurInput(),r.initialTouchX=0,r.initialTouchY=0)},r.onControlTouchEnd=function(e){r.userIsDragging||r.onControlMouseDown(e)},r.onClearIndicatorTouchEnd=function(e){r.userIsDragging||r.onClearIndicatorMouseDown(e)},r.onDropdownIndicatorTouchEnd=function(e){r.userIsDragging||r.onDropdownIndicatorMouseDown(e)},r.handleInputChange=function(e){var t=e.currentTarget.value;r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange(t,{action:"input-change"}),r.props.menuIsOpen||r.onMenuOpen()},r.onInputFocus=function(e){var t=r.props,n=t.isSearchable,o=t.isMulti;r.props.onFocus&&r.props.onFocus(e),r.setState({inputIsHiddenAfterUpdate:!1}),r.announceAriaLiveContext({event:"input",context:{isSearchable:n,isMulti:o}}),r.setState({isFocused:!0}),(r.openAfterFocus||r.props.openMenuOnFocus)&&r.openMenu("first"),r.openAfterFocus=!1},r.onInputBlur=function(e){r.menuListRef&&r.menuListRef.contains(document.activeElement)?r.inputRef.focus():(r.props.onBlur&&r.props.onBlur(e),r.onInputChange("",{action:"input-blur"}),r.onMenuClose(),r.setState({focusedValue:null,isFocused:!1}))},r.onOptionHover=function(e){r.blockOptionHover||r.state.focusedOption===e||r.setState({focusedOption:e})},r.shouldHideSelectedOptions=function(){return Ro(r.props)},r.onKeyDown=function(e){var t=r.props,n=t.isMulti,o=t.backspaceRemovesValue,a=t.escapeClearsValue,i=t.inputValue,l=t.isClearable,u=t.isDisabled,s=t.menuIsOpen,c=t.onKeyDown,f=t.tabSelectsValue,d=t.openMenuOnFocus,p=r.state,m=p.focusedOption,h=p.focusedValue,v=p.selectValue;if(!(u||"function"==typeof c&&(c(e),e.defaultPrevented))){switch(r.blockOptionHover=!0,e.key){case"ArrowLeft":if(!n||i)return;r.focusValue("previous");break;case"ArrowRight":if(!n||i)return;r.focusValue("next");break;case"Delete":case"Backspace":if(i)return;if(h)r.removeValue(h);else{if(!o)return;n?r.popValue():l&&r.clearValue()}break;case"Tab":if(r.isComposing)return;if(e.shiftKey||!s||!f||!m||d&&r.isOptionSelected(m,v))return;r.selectOption(m);break;case"Enter":if(229===e.keyCode)break;if(s){if(!m)return;if(r.isComposing)return;r.selectOption(m);break}return;case"Escape":s?(r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange("",{action:"menu-close"}),r.onMenuClose()):l&&a&&r.clearValue();break;case" ":if(i)return;if(!s){r.openMenu("first");break}if(!m)return;r.selectOption(m);break;case"ArrowUp":s?r.focusOption("up"):r.openMenu("last");break;case"ArrowDown":s?r.focusOption("down"):r.openMenu("first");break;case"PageUp":if(!s)return;r.focusOption("pageup");break;case"PageDown":if(!s)return;r.focusOption("pagedown");break;case"Home":if(!s)return;r.focusOption("first");break;case"End":if(!s)return;r.focusOption("last");break;default:return}e.preventDefault()}},r.instancePrefix="react-select-"+(r.props.instanceId||++No),r.state.selectValue=lr(e.value),r}return $n(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput()}},{key:"componentDidUpdate",value:function(e){var t,n,r,o,a,i=this.props,l=i.isDisabled,u=i.menuIsOpen,s=this.state.isFocused;(s&&!l&&e.isDisabled||s&&u&&!e.menuIsOpen)&&this.focusInput(),s&&l&&!e.isDisabled&&this.setState({isFocused:!1},this.onMenuClose),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(t=this.menuListRef,n=this.focusedOptionRef,r=t.getBoundingClientRect(),o=n.getBoundingClientRect(),a=n.offsetHeight/3,o.bottom+a>r.bottom?cr(t,Math.min(n.offsetTop+n.clientHeight-t.offsetHeight+a,t.scrollHeight)):o.top-a<r.top&&cr(t,Math.max(n.offsetTop-a,0)),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){var e=this.props,t=e.isSearchable,n=e.isMulti;this.announceAriaLiveContext({event:"input",context:{isSearchable:t,isMulti:n}}),this.onInputChange("",{action:"menu-close"}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t=this,n=this.state,r=n.selectValue,o=n.isFocused,a=this.buildFocusableOptions(),i=this.props,l=i.isMulti,u=i.tabSelectsValue,s="first"===e?0:a.length-1;if(!l){var c=a.indexOf(r[0]);c>-1&&(s=c)}this.scrollToFocusedOptionOnUpdate=!(o&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:a[s]},(function(){t.onMenuOpen(),t.announceAriaLiveContext({event:"menu",context:{tabSelectsValue:u}})}))}},{key:"focusValue",value:function(e){var t=this.props,n=t.isMulti,r=t.isSearchable,o=this.state,a=o.selectValue,i=o.focusedValue;if(n){this.setState({focusedOption:null});var l=a.indexOf(i);i||(l=-1,this.announceAriaLiveContext({event:"value"}));var u=a.length-1,s=-1;if(a.length){switch(e){case"previous":s=0===l?0:-1===l?u:l-1;break;case"next":l>-1&&l<u&&(s=l+1)}-1===s&&this.announceAriaLiveContext({event:"input",context:{isSearchable:r,isMulti:n}}),this.setState({inputIsHidden:-1!==s,focusedValue:a[s]})}}}},{key:"focusOption",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props,n=t.pageSize,r=t.tabSelectsValue,o=this.state,a=o.focusedOption,i=o.selectValue,l=this.getFocusableOptions();if(l.length){var u=0,s=l.indexOf(a);a||(s=-1,this.announceAriaLiveContext({event:"menu",context:{tabSelectsValue:r}})),"up"===e?u=s>0?s-1:l.length-1:"down"===e?u=(s+1)%l.length:"pageup"===e?(u=s-n)<0&&(u=0):"pagedown"===e?(u=s+n)>l.length-1&&(u=l.length-1):"last"===e&&(u=l.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:l[u],focusedValue:null}),this.announceAriaLiveContext({event:"menu",context:{isDisabled:this.isOptionDisabled(l[u],i),tabSelectsValue:r}})}}},{key:"getTheme",value:function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(_o):er(er({},_o),this.props.theme):_o}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,r=this.getValue,o=this.setValue,a=this.selectOption,i=this.props,l=i.isMulti,u=i.isRtl,s=i.options;return{cx:t,clearValue:e,getStyles:n,getValue:r,hasValue:this.hasValue(),isMulti:l,isRtl:u,options:s,selectOption:a,setValue:o,selectProps:i,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"countOptions",value:function(){return this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return Po(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return Io(this.props,e,t)}},{key:"filterOption",value:function(e,t){return Do(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"constructAriaLiveMessage",value:function(){var e=this.state,t=e.ariaLiveContext,n=e.selectValue,r=e.focusedValue,o=e.focusedOption,a=this.props,i=a.options,l=a.menuIsOpen,u=a.inputValue,s=a.screenReaderStatus,c=r?function(e){var t=e.focusedValue,n=e.getOptionLabel,r=e.selectValue;return"value ".concat(n(t)," focused, ").concat(r.indexOf(t)+1," of ").concat(r.length,".")}({focusedValue:r,getOptionLabel:this.getOptionLabel,selectValue:n}):"",f=o&&l?function(e){var t=e.focusedOption,n=e.getOptionLabel,r=e.options;return"option ".concat(n(t)," focused").concat(t.isDisabled?" disabled":"",", ").concat(r.indexOf(t)+1," of ").concat(r.length,".")}({focusedOption:o,getOptionLabel:this.getOptionLabel,options:i}):"",d=function(e){var t=e.inputValue,n=e.screenReaderMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}({inputValue:u,screenReaderMessage:s({count:this.countOptions()})});return"".concat(c," ").concat(f," ").concat(d," ").concat(t)}},{key:"renderInput",value:function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,r=e.inputId,o=e.inputValue,i=e.tabIndex,l=e.form,u=this.getComponents().Input,s=this.state.inputIsHidden,c=r||this.getElementId("input"),f={"aria-autocomplete":"list","aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"]};if(!n)return a.a.createElement(no,pt({id:c,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:or,onFocus:this.onInputFocus,readOnly:!0,disabled:t,tabIndex:i,form:l,value:""},f));var d=this.commonProps,p=d.cx,m=d.theme,h=d.selectProps;return a.a.createElement(u,pt({autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",cx:p,getStyles:this.getStyles,id:c,innerRef:this.getInputRef,isDisabled:t,isHidden:s,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,selectProps:h,spellCheck:"false",tabIndex:i,form:l,theme:m,type:"text",value:o},f))}},{key:"renderPlaceholderOrValue",value:function(){var e=this,t=this.getComponents(),n=t.MultiValue,r=t.MultiValueContainer,o=t.MultiValueLabel,i=t.MultiValueRemove,l=t.SingleValue,u=t.Placeholder,s=this.commonProps,c=this.props,f=c.controlShouldRenderValue,d=c.isDisabled,p=c.isMulti,m=c.inputValue,h=c.placeholder,v=this.state,g=v.selectValue,b=v.focusedValue,y=v.isFocused;if(!this.hasValue()||!f)return m?null:a.a.createElement(u,pt({},s,{key:"placeholder",isDisabled:d,isFocused:y}),h);if(p)return g.map((function(t,l){var u=t===b;return a.a.createElement(n,pt({},s,{components:{Container:r,Label:o,Remove:i},isFocused:u,isDisabled:d,key:"".concat(e.getOptionValue(t)).concat(l),index:l,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault(),e.stopPropagation()}},data:t}),e.formatOptionLabel(t,"value"))}));if(m)return null;var _=g[0];return a.a.createElement(l,pt({},s,{data:_,isDisabled:d}),this.formatOptionLabel(_,"value"))}},{key:"renderClearIndicator",value:function(){var e=this.getComponents().ClearIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,o=n.isLoading,i=this.state.isFocused;if(!this.isClearable()||!e||r||!this.hasValue()||o)return null;var l={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return a.a.createElement(e,pt({},t,{innerProps:l,isFocused:i}))}},{key:"renderLoadingIndicator",value:function(){var e=this.getComponents().LoadingIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,o=n.isLoading,i=this.state.isFocused;if(!e||!o)return null;return a.a.createElement(e,pt({},t,{innerProps:{"aria-hidden":"true"},isDisabled:r,isFocused:i}))}},{key:"renderIndicatorSeparator",value:function(){var e=this.getComponents(),t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var r=this.commonProps,o=this.props.isDisabled,i=this.state.isFocused;return a.a.createElement(n,pt({},r,{isDisabled:o,isFocused:i}))}},{key:"renderDropdownIndicator",value:function(){var e=this.getComponents().DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,r=this.state.isFocused,o={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return a.a.createElement(e,pt({},t,{innerProps:o,isDisabled:n,isFocused:r}))}},{key:"renderMenu",value:function(){var e=this,t=this.getComponents(),n=t.Group,r=t.GroupHeading,o=t.Menu,i=t.MenuList,l=t.MenuPortal,u=t.LoadingMessage,s=t.NoOptionsMessage,c=t.Option,f=this.commonProps,d=this.state.focusedOption,p=this.props,m=p.captureMenuScroll,h=p.inputValue,v=p.isLoading,g=p.loadingMessage,b=p.minMenuHeight,y=p.maxMenuHeight,_=p.menuIsOpen,w=p.menuPlacement,E=p.menuPosition,S=p.menuPortalTarget,x=p.menuShouldBlockScroll,O=p.menuShouldScrollIntoView,C=p.noOptionsMessage,k=p.onMenuScrollToTop,P=p.onMenuScrollToBottom;if(!_)return null;var I,D=function(t,n){var r=t.type,o=t.data,i=t.isDisabled,l=t.isSelected,u=t.label,s=t.value,p=d===o,m=i?void 0:function(){return e.onOptionHover(o)},h=i?void 0:function(){return e.selectOption(o)},v="".concat(e.getElementId("option"),"-").concat(n),g={id:v,onClick:h,onMouseMove:m,onMouseOver:m,tabIndex:-1};return a.a.createElement(c,pt({},f,{innerProps:g,data:o,isDisabled:i,isSelected:l,key:v,label:u,type:r,value:s,isFocused:p,innerRef:p?e.getFocusedOptionRef:void 0}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())I=this.getCategorizedOptions().map((function(t){if("group"===t.type){var o=t.data,i=t.options,l=t.index,u="".concat(e.getElementId("group"),"-").concat(l),s="".concat(u,"-heading");return a.a.createElement(n,pt({},f,{key:u,data:o,options:i,Heading:r,headingProps:{id:s,data:t.data},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return D(e,"".concat(l,"-").concat(e.index))})))}if("option"===t.type)return D(t,"".concat(t.index))}));else if(v){var R=g({inputValue:h});if(null===R)return null;I=a.a.createElement(u,f,R)}else{var N=C({inputValue:h});if(null===N)return null;I=a.a.createElement(s,f,N)}var T={minMenuHeight:b,maxMenuHeight:y,menuPlacement:w,menuPosition:E,menuShouldScrollIntoView:O},L=a.a.createElement(gr,pt({},f,T),(function(t){var n=t.ref,r=t.placerProps,l=r.placement,u=r.maxHeight;return a.a.createElement(o,pt({},f,T,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove},isLoading:v,placement:l}),a.a.createElement(ho,{captureEnabled:m,onTopArrive:k,onBottomArrive:P,lockEnabled:x},(function(t){return a.a.createElement(i,pt({},f,{innerRef:function(n){e.getMenuListRef(n),t(n)},isLoading:v,maxHeight:u}),I)})))}));return S||"fixed"===E?a.a.createElement(l,pt({},f,{appendTo:S,controlElement:this.controlRef,menuPlacement:w,menuPosition:E}),L):L}},{key:"renderFormField",value:function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,o=t.isMulti,i=t.name,l=this.state.selectValue;if(i&&!r){if(o){if(n){var u=l.map((function(t){return e.getOptionValue(t)})).join(n);return a.a.createElement("input",{name:i,type:"hidden",value:u})}var s=l.length>0?l.map((function(t,n){return a.a.createElement("input",{key:"i-".concat(n),name:i,type:"hidden",value:e.getOptionValue(t)})})):a.a.createElement("input",{name:i,type:"hidden"});return a.a.createElement("div",null,s)}var c=l[0]?this.getOptionValue(l[0]):"";return a.a.createElement("input",{name:i,type:"hidden",value:c})}}},{key:"renderLiveRegion",value:function(){return this.state.isFocused?a.a.createElement(to,{"aria-live":"polite"},a.a.createElement("span",{id:"aria-selection-event"}," ",this.state.ariaLiveSelection),a.a.createElement("span",{id:"aria-context"}," ",this.constructAriaLiveMessage())):null}},{key:"render",value:function(){var e=this.getComponents(),t=e.Control,n=e.IndicatorsContainer,r=e.SelectContainer,o=e.ValueContainer,i=this.props,l=i.className,u=i.id,s=i.isDisabled,c=i.menuIsOpen,f=this.state.isFocused,d=this.commonProps=this.getCommonProps();return a.a.createElement(r,pt({},d,{className:l,innerProps:{id:u,onKeyDown:this.onKeyDown},isDisabled:s,isFocused:f}),this.renderLiveRegion(),a.a.createElement(t,pt({},d,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:s,isFocused:f,menuIsOpen:c}),a.a.createElement(o,pt({},d,{isDisabled:s}),this.renderPlaceholderOrValue(),this.renderInput()),a.a.createElement(n,pt({},d,{isDisabled:s}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,r=t.clearFocusValueOnUpdate,o=t.inputIsHiddenAfterUpdate,a=e.options,i=e.value,l=e.menuIsOpen,u=e.inputValue,s={};if(n&&(i!==n.value||a!==n.options||l!==n.menuIsOpen||u!==n.inputValue)){var c=lr(i),f=l?function(e,t){return xo(So(e,t))}(e,c):[],d=r?function(e,t){var n=e.focusedValue,r=e.selectValue.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r<t.length)return t[r]}return null}(t,c):null;s={selectValue:c,focusedOption:function(e,t){var n=e.focusedOption;return n&&t.indexOf(n)>-1?n:t[0]}(t,f),focusedValue:d,clearFocusValueOnUpdate:!1}}var p=null!=o&&e!==n?{inputIsHidden:o,inputIsHiddenAfterUpdate:void 0}:{};return er(er(er({},s),p),{},{prevProps:e})}}]),n}(o.Component);To.defaultProps=wo;var Lo={defaultInputValue:"",defaultMenuIsOpen:!1,defaultValue:null};function Ao(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var jo,Mo,Fo,Bo=function(e,t){var n;void 0===t&&(t=Ao);var r,o=[],a=!1;return function(){for(var i=[],l=0;l<arguments.length;l++)i[l]=arguments[l];return a&&n===this&&t(i,o)||(r=e.apply(this,i),a=!0,n=this,o=i),r}},Vo=(n(44),n(49),n(51),n(54),n(55),o.Component,jo=To,Fo=Mo=function(e){Qn(n,e);var t=rr(n);function n(){var e;Gn(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return(e=t.call.apply(t,[this].concat(o))).select=void 0,e.state={inputValue:void 0!==e.props.inputValue?e.props.inputValue:e.props.defaultInputValue,menuIsOpen:void 0!==e.props.menuIsOpen?e.props.menuIsOpen:e.props.defaultMenuIsOpen,value:void 0!==e.props.value?e.props.value:e.props.defaultValue},e.onChange=function(t,n){e.callProp("onChange",t,n),e.setState({value:t})},e.onInputChange=function(t,n){var r=e.callProp("onInputChange",t,n);e.setState({inputValue:void 0!==r?r:t})},e.onMenuOpen=function(){e.callProp("onMenuOpen"),e.setState({menuIsOpen:!0})},e.onMenuClose=function(){e.callProp("onMenuClose"),e.setState({menuIsOpen:!1})},e}return $n(n,[{key:"focus",value:function(){this.select.focus()}},{key:"blur",value:function(){this.select.blur()}},{key:"getProp",value:function(e){return void 0!==this.props[e]?this.props[e]:this.state[e]}},{key:"callProp",value:function(e){if("function"==typeof this.props[e]){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(t=this.props)[e].apply(t,r)}}},{key:"render",value:function(){var e=this,t=this.props;t.defaultInputValue,t.defaultMenuIsOpen,t.defaultValue;var n=zn(t,["defaultInputValue","defaultMenuIsOpen","defaultValue"]);return a.a.createElement(jo,pt({},n,{ref:function(t){e.select=t},inputValue:this.getProp("inputValue"),menuIsOpen:this.getProp("menuIsOpen"),onChange:this.onChange,onInputChange:this.onInputChange,onMenuClose:this.onMenuClose,onMenuOpen:this.onMenuOpen,value:this.getProp("value")}))}}]),n}(o.Component),Mo.defaultProps=Lo,Fo);function Uo(e){return(Uo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function zo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ho(e,t,n){return(Ho="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Yo(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function Wo(e,t){return(Wo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Go(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Yo(e);if(t){var o=Yo(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return qo(this,n)}}function qo(e,t){return!t||"object"!==Uo(t)&&"function"!=typeof t?$o(e):t}function $o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yo(e){return(Yo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Qo=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Wo(e,t)}(i,e);var t,n,r,o=Go(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=o.call(this,e))._field_items=new p(t.state.handlers.api_loader,e.field_data,e.form_values,e.section_fields,t.onUpdateLoadingStatus.bind($o(t)),t.onUpdateItems.bind($o(t))),e.onRefreshForm&&e.onRefreshForm(t.refreshItems.bind($o(t),!1)),t.onChangeState("items",e.field_data.items||[]),t}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name,i=e.show_if_regexes,l=this.state.settings;if(!r[o]||!this.isFieldVisible(i,n))return null;var u=this.parseItems(r[o].items);return a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:r[o].ref_wrapper},a.a.createElement(R,{unique_id:r[o].unique_id,field_data:t,settings:l}),a.a.createElement(V,{validation_error:r[o].validation_error}),a.a.createElement(Vo,{id:r[o].unique_id,name:t.name,className:"fcfOptions__select",classNamePrefix:"reactSelect",value:u.filter((function(e){return e.value===n[t.name]})),options:r[o].is_loading?[]:u,placeholder:l.i18n.select_placeholder,noOptionsMessage:function(){return r[o].is_loading?l.i18n.select_loading:l.i18n.select_empty},isDisabled:t.readonly,onChange:t.readonly?null:this.onChangeValue.bind(this)})))}},{key:"componentDidMount",value:function(){Ho(Yo(i.prototype),"componentDidMount",this).call(this);var e=this.props.field_data;if(this.refreshItems(!1),e.endpoint_autorefresh){var t=this.state.settings;window.addEventListener(t.events.refresh_field,this.refreshItems.bind(this,!0))}}},{key:"componentWillUnmount",value:function(){Ho(Yo(i.prototype),"componentWillUnmount",this).call(this),this.onValidationError(null)}},{key:"onUpdateLoadingStatus",value:function(e){this.onChangeState("is_loading",e)}},{key:"onUpdateItems",value:function(e){this._isMounted&&(this.onChangeState("items",e),this.resetDefaultValue())}},{key:"getValue",value:function(e){return e?e.value:""}},{key:"refreshItems",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.props,n=t.field_data,r=t.form_states,o=t.state_name;n.endpoint_route&&this._field_items.refreshItems(r[o].unique_id,e)}},{key:"resetDefaultValue",value:function(){this.isAvailableValue()||this.onChangeValue(null)}},{key:"isAvailableValue",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name;if(""===n[t.name])return!0;for(var a=this.parseItems(r[o].items),i=a.length,l=0;l<i;l++)if(a[l].value===n[t.name])return!0;return!1}},{key:"parseItems",value:function(e){var t=[];for(var n in e)t.push({value:n,label:e[n]});return t}}])&&zo(t.prototype,n),r&&zo(t,r),i}(I);function Ko(e){return(Ko="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Zo(e,t){return(Zo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ea(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=na(e);if(t){var o=na(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ta(this,n)}}function ta(e,t){return!t||"object"!==Ko(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function na(e){return(na=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ra=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Zo(e,t)}(i,e);var t,n,r,o=ea(i);function i(){return Xo(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name,i=e.show_if_regexes,l=this.state.settings;if(!r[o]||!this.isFieldVisible(i,n))return null;var u=this.parseItems(r[o].items);return a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:r[o].ref_wrapper},a.a.createElement(R,{unique_id:r[o].unique_id,field_data:t,settings:l}),a.a.createElement(V,{validation_error:r[o].validation_error}),a.a.createElement(Vo,{id:r[o].unique_id,name:t.name,className:"fcfOptions__select",classNamePrefix:"reactSelect",value:u.filter((function(e){var r=e.value;return n[t.name].indexOf(r)>-1})),options:r[o].is_loading?[]:u,placeholder:l.i18n.select_placeholder,noOptionsMessage:function(){return r[o].is_loading?l.i18n.select_loading:l.i18n.select_empty},isMulti:!0,isDisabled:t.readonly,onChange:t.readonly?null:this.onChangeValue.bind(this)})))}},{key:"getValue",value:function(e){return null===e?[]:Array.from(e,(function(e){return e.value}))}},{key:"isAvailableValue",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name;if(n[t.name]===[])return!0;for(var a=this.parseItems(r[o].items).map((function(e){return e.value})),i=n[t.name].length,l=0;l<i;l++)if(-1===a.indexOf(n[t.name][l]))return!1;return!0}}])&&Jo(t.prototype,n),r&&Jo(t,r),i}(Qo);function oa(e){return(oa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function aa(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ia(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function la(e,t){return(la=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ua(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ca(e);if(t){var o=ca(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return sa(this,n)}}function sa(e,t){return!t||"object"!==oa(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ca(e){return(ca=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var fa=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&la(e,t)}(i,e);var t,n,r,o=ua(i);function i(){return aa(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name,i=e.show_if_regexes,l=this.state.settings;return r[o]&&this.isFieldVisible(i,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:r[o].ref_wrapper},a.a.createElement(R,{unique_id:r[o].unique_id,field_data:t,settings:l}),a.a.createElement(V,{validation_error:r[o].validation_error}),a.a.createElement("textarea",{id:r[o].unique_id,ref:r[o].ref_input,name:t.name,className:"fcfOptions__textarea",rows:"2",value:this.getFieldValue(),onChange:t.readonly?null:this.onChangeValue.bind(this),disabled:t.readonly}))):null}},{key:"getValue",value:function(){var e=this.props;return e.form_states[e.state_name].ref_input.current.value}}])&&ia(t.prototype,n),r&&ia(t,r),i}(I);function da(e){return(da="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pa(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ma(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ha(e,t){return(ha=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function va(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ba(e);if(t){var o=ba(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ga(this,n)}}function ga(e,t){return!t||"object"!==da(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ba(e){return(ba=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ya=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ha(e,t)}(i,e);var t,n,r,o=va(i);function i(){return pa(this,i),o.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.field_data,n=e.form_values,r=e.form_states,o=e.state_name,i=e.show_if_regexes,l=this.state.settings;return r[o]&&this.isFieldVisible(i,n)?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfOptions__row",ref:r[o].ref_wrapper},a.a.createElement(R,{unique_id:r[o].unique_id,field_data:t,settings:l}),a.a.createElement(V,{validation_error:r[o].validation_error}),a.a.createElement("input",{type:"text",id:r[o].unique_id,ref:r[o].ref_input,name:t.name,className:"fcfOptions__input",value:this.getFieldValue(),onChange:t.readonly?null:this.onChangeValue.bind(this),disabled:t.readonly}))):null}},{key:"getValue",value:function(){var e=this.props;return e.form_states[e.state_name].ref_input.current.value}}])&&ma(t.prototype,n),r&&ma(t,r),i}(I);function _a(e){return(_a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wa(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ea(e,t){return(Ea=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Sa(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Oa(e);if(t){var o=Oa(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return xa(this,n)}}function xa(e,t){return!t||"object"!==_a(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Oa(e){return(Oa=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ca=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ea(e,t)}(i,e);var t,n,r,o=Sa(i);function i(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=o.call(this,e);var n=e.settings,r=e.form_title,a=e.form_settings,l=e.validation_type;return t.state={field_types:t.updateFieldTypes(n.form_fields.option_fields),form_values:{},form_states:{},settings:n,form_title:r,form_settings:a,status:{loading_type:null,field_name_updated:!1},validation_type:l},t._form_validation=new E(n.events.validate_field,l,1),t}return t=i,(n=[{key:"render",value:function(){var e=this.state,t=e.form_values,n=e.form_states,r=e.settings,o=e.form_title,i=e.status,l=e.validation_type;return a.a.createElement("div",{className:"fcfWidget"},a.a.createElement("div",{className:"fcfWidget__inner"},a.a.createElement("div",{className:"fcfWidget__header"},a.a.createElement("div",{className:"fcfWidget__headerTitle"},o)),a.a.createElement("div",{className:"fcfWidget__content"},a.a.createElement("div",{className:"fcfOptions"},a.a.createElement("ul",{className:"fcfOptions__rows"},a.a.createElement(ot,{field_data:{name:"field_type",label:r.i18n.field_type,items:this.state.field_types,validation_rules:{"^.{1,}$":r.i18n.validation_required}},form_values:t,form_states:n,state_name:"field_type",settings:r,validation_types:[l],onChangeValue:this.onChangeValue.bind(this),onChangeState:this.onChangeState.bind(this),onValidationInit:this.onValidationInit.bind(this)}),this.isFieldTypeAvailable()?a.a.createElement(a.a.Fragment,null,a.a.createElement(fa,{field_data:{name:"field_label",label:r.i18n.field_label,validation_rules:{"^.{1,}$":r.i18n.validation_required}},form_values:t,form_states:n,state_name:"field_label",settings:r,validation_types:[l],onChangeValue:this.onChangeValue.bind(this),onChangeState:this.onChangeState.bind(this),onValidationInit:this.onValidationInit.bind(this)}),a.a.createElement(ya,{field_data:{name:"field_name",label:r.i18n.field_name,validation_rules:{"^.{1,}$":r.i18n.validation_required,"^[a-z0-9_]{1,}$":r.i18n.validation_slug}},form_values:t,form_states:n,state_name:"field_name",settings:r,validation_types:[l,"field_name"],onChangeValue:this.onChangeValue.bind(this),onChangeState:this.onChangeState.bind(this),onValidationInit:this.onValidationInit.bind(this)})):a.a.createElement(Le,{field_data:{name:"field_type_adv",label:r.i18n.alert_field_unavailable},form_values:t,form_states:n,state_name:"field_type_adv",settings:r,validation_types:[l],onChangeValue:function(){},onChangeState:function(){},onValidationInit:function(){}}),a.a.createElement("li",{className:"fcfOptions__row fcfOptions__row--padding"},a.a.createElement("button",{type:"button",className:"fcfButton fcfButton--wide fcfButton--bg fcfButton--blue",onClick:this.onSubmit.bind(this),disabled:!this.isFieldTypeAvailable()||"add_field"===i.loading_type},r.i18n.button_add_field)))))))}},{key:"isFieldTypeAvailable",value:function(){var e=this.state,t=e.settings,n=e.form_values,r=t.form_fields.option_fields;return!n.field_type||r[n.field_type].is_available}},{key:"onValidationInit",value:function(e,t,n){return this._form_validation.onValidationInit(e,t,n)}},{key:"onChangeValue",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.state,o=r.form_values,a=r.status;o[e]=t,this.setState({form_values:o}),null!==t&&("field_label"!==e||a.field_name_updated?"field_name"===e&&(this.updateFieldName(null,t),n||(a.field_name_updated=""!==t,this.setState({status:a}))):this.updateFieldName(t))}},{key:"onChangeState",value:function(e,t,n){var r=this.state.form_states;void 0===r[e]&&(r[e]={}),r[e][t]=n,this.setState({form_states:r})}},{key:"onSubmit",value:function(e){this.updateLoadingStatus("add_field"),this._form_validation.onSubmit(e).then(this.addNewField.bind(this),this.updateLoadingStatus.bind(this))}},{key:"updateLoadingStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.state.status;t&&(t.loading_type=e,this.setState({status:t}))}},{key:"updateFieldTypes",value:function(e){var t=[];for(var n in e)e[n].is_hidden||t.push(e[n]);return t}},{key:"updateFieldName",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.state.form_values;null===t&&(t=(new h).generateSlug(e)),t=this.generateUniqueFieldName(t),n.field_name!==t&&this.onChangeValue("field_name",t,!0)}},{key:"generateUniqueFieldName",value:function(e){for(var t=this.state.form_settings,n="".concat(t.form_index,"_").concat(e),r=0,o=t.option_values.length,a=0;a<o;a++)t.option_values[a].name===n&&r++;return 0===r?e:"".concat(e).concat(r+1)}},{key:"addNewField",value:function(){var e=this.props.onFieldAdd,t=this.state,n=t.form_values,r=t.form_settings;e({type:n.field_type,name:"".concat(r.form_index,"_").concat(n.field_name),label:n.field_label,custom_field:"1"}),this.setState({form_values:{},status:{}})}}])&&wa(t.prototype,n),r&&wa(t,r),i}(a.a.Component);function ka(e){return(ka="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pa(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ia(e,t){return(Ia=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Da(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ta(e);if(t){var o=Ta(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ra(this,n)}}function Ra(e,t){return!t||"object"!==ka(t)&&"function"!=typeof t?Na(e):t}function Na(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ta(e){return(Ta=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var La=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ia(e,t)}(l,e);var t,n,o,i=Da(l);function l(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),t=i.call(this,e);var n=e.settings,r=e.form_title,o=e.form_settings,a=e.validation_type;return t.state={settings:n,form_settings:o,form_title:r,option_fields:o.option_fields,option_values:o.option_values,option_states:[],status:{loading_type:null,loading_message:null},validation_type:a},t._form_validation=new E(n.events.validate_field,a,1),t._form_submit=new y(n.handlers.api_loader,o.api_route,t._form_validation,t.updateLoadingStats.bind(Na(t))),t}return t=l,(n=[{key:"render",value:function(){var e=this,t=this.state,n=t.settings,o=t.option_fields,i=t.option_values,l=t.option_states,u=t.form_title,s=t.status,c=t.validation_type;return a.a.createElement("div",{className:"fcfWidget"},a.a.createElement("div",{className:"fcfWidget__inner"},a.a.createElement("div",{className:"fcfWidget__header"},a.a.createElement("div",{className:"fcfWidget__headerTitle"},u)),a.a.createElement("div",{className:"fcfWidget__content"},a.a.createElement("div",{className:"fcfOptions"},a.a.createElement("ul",{className:"fcfOptions__rows"},o.map((function(t,o){var u=r[t.type];return a.a.createElement(u,{key:o,field_data:t,form_values:i,form_states:l,state_name:t.name,show_if_regexes:t.show_if_regexes,settings:n,validation_types:[c],onChangeValue:e.onChangeValue.bind(e),onChangeState:e.onChangeState.bind(e),onValidationInit:e.onValidationInit.bind(e)})}))))),a.a.createElement("div",{className:"fcfWidget__footer"},a.a.createElement("ul",{className:"fcfWidget__buttons"},a.a.createElement("li",{className:"fcfWidget__button"},a.a.createElement(D,{button_classes:"fcfButton fcfButton--wide fcfButton--bg fcfButton--blue",button_alignment:"left",button_label:n.i18n.button_save,loading_type:"save_bottom",loading_status:s.loading_type,loading_message:s.loading_message,settings:n,onSubmit:this.onSubmit.bind(this,"save_bottom",{form_fields:i})}))))))}},{key:"onValidationInit",value:function(e,t,n){return this._form_validation.onValidationInit(e,t,n)}},{key:"onChangeValue",value:function(e,t){var n=this.state.option_values;n[e]=t,this.setState({option_values:n})}},{key:"onChangeState",value:function(e,t,n){var r=this.state.option_states;void 0===r[e]&&(r[e]={}),r[e][t]=n,this.setState({option_states:r})}},{key:"onSubmit",value:function(e,t,n){return n.preventDefault(),this._form_submit.onSubmit(e,t)}},{key:"updateLoadingStats",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.state.status;n.loading_type=e,n.loading_message=t,this.setState({status:n})}}])&&Pa(t.prototype,n),o&&Pa(t,o),l}(a.a.Component);function Aa(e){return(Aa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ja(){return(ja=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ma(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Fa(e,t){return(Fa=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ba(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ua(e);if(t){var o=Ua(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Va(this,n)}}function Va(e,t){return!t||"object"!==Aa(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ua(e){return(Ua=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var za=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fa(e,t)}(l,e);var t,n,o,i=Ba(l);function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=i.call(this,e)).state={settings:e.settings,form_settings:e.form_settings,events:{onChangeValue:e.onChangeValue,onChangeState:e.onChangeState,onFieldRemove:e.onFieldRemove,onValidationInit:e.onValidationInit},refs:{wrapper:a.a.createRef()},refresh_functions:[],validation_types:t.props.validation_types},t.props.onChangeValue("_current_tab",0),t.props.onChangeValue("_is_open",!1),t}return t=l,(n=[{key:"shouldComponentUpdate",value:function(e){return e.last_row_index===e.row_index||null===e.last_row_index}},{key:"render",value:function(){var e=this,t=this.props,n=t.provided,o=t.field_data,i=t.form_states,l=t.field_type,u=t.section_fields,s=this.state,c=s.settings,f=s.form_settings,d=s.events,p=s.refs,m=s.validation_types,h=this.getAvailableSettingsTabs(l.options),v=o.label.replace(/(<([^>]+)>)/gi,"");return a.a.createElement("li",ja({className:"fcfFields__item ".concat("0"===o.visible?"fcfFields__item--disabled":""),ref:n.innerRef},n.draggableProps),a.a.createElement("div",{className:"fcfFields__itemInner",ref:p.wrapper},a.a.createElement("div",ja({className:"fcfFields__itemHeader"},n.dragHandleProps,{onClick:this.toggleSettings.bind(this)}),a.a.createElement("div",{className:"fcfFields__itemHeaderOuter"},a.a.createElement("div",{className:"fcfFields__itemHeaderInner"},a.a.createElement("div",{className:"fcfFields__itemHeaderTitle"},v||o.name,"1"===o.required?" * ":""),a.a.createElement("div",{className:"fcfFields__itemHeaderDesc ".concat("1"===o.custom_field?"fcfFields__itemHeaderDesc--flag":""," ")},l.label)),a.a.createElement("ul",{className:"fcfFields__itemHeaderButtons"},"1"===o.custom_field?a.a.createElement("li",{className:"fcfFields__itemHeaderButton"},a.a.createElement(B,{text:c.i18n.alert_remove_field,onAccept:d.onFieldRemove,settings:c},a.a.createElement("button",{type:"button",className:"fcfFields__itemHeaderButtonInner fcfFields__itemHeaderButtonInner--remove"}))):null,a.a.createElement("li",{className:"fcfFields__itemHeaderButton"},a.a.createElement("button",{type:"button",className:"fcfFields__itemHeaderButtonInner fcfFields__itemHeaderButtonInner--".concat(o._is_open?"close":"open")}))))),a.a.createElement("div",{className:"fcfFields__itemContent",style:{display:o._is_open?"block":"none"}},a.a.createElement("div",{className:"fcfFields__itemTabs fcfTabs fcfTabs--small"},a.a.createElement("ul",{className:"fcfTabs__items"},h.map((function(t,n){var r=f.settings_tabs[t];return a.a.createElement("li",{className:"fcfTabs__item",key:n},a.a.createElement("a",{href:"#".concat(r.tab_name),className:"fcfTabs__itemLink ".concat(n===o._current_tab?"fcfTabs__itemLink--active":""," ").concat(r.icon),onClick:e.changeTab.bind(e,n)},r.label))})))),a.a.createElement("div",{className:"fcfOptions"},h.map((function(t,n){return a.a.createElement("ul",{className:"fcfOptions__rows",key:n,style:{display:n===o._current_tab?"block":"none"}},l.options.map((function(l,s){var f=r[l.type];return l.tab_name===t?a.a.createElement(f,{key:s,field_data:l,form_values:o,form_states:i,state_name:l.name,section_fields:u,show_if_regexes:l.show_if_regexes,validation_types:m,settings:c,onChangeValue:e.onChangeValue.bind(e),onChangeState:d.onChangeState,onRefreshForm:e.onRefreshForm.bind(e),onValidationInit:e.onValidationInit.bind(e,n)}):null})))}))))))}},{key:"onChangeValue",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.state,o=r.refresh_functions,a=r.events;a.onChangeValue(e,t,n);for(var i=o.length,l=0;l<i;l++)o[l]()}},{key:"onRefreshForm",value:function(e){this.state.refresh_functions.push(e)}},{key:"onValidationInit",value:function(e,t,n){var r=this,o=this.state,a=o.refs;o.events.onValidationInit(t,n,(function(){r.toggleSettings(!0),r.changeTab(e),a.wrapper.current.scrollIntoView(!1)}))}},{key:"getAvailableSettingsTabs",value:function(e){for(var t=[],n=e.length,r=0;r<n;r++)-1===t.indexOf(e[r].tab_name)&&t.push(e[r].tab_name);return t}},{key:"toggleSettings",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.props.field_data,n=this.state.events;n.onChangeValue("_is_open",!0===e||!t._is_open)}},{key:"changeTab",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t&&t.preventDefault();var n=this.state.events;n.onChangeValue("_current_tab",e)}}])&&Ma(t.prototype,n),o&&Ma(t,o),l}(a.a.Component);function Ha(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var Wa=n(7),Ga=function(){return Math.random().toString(36).substring(7).split("").join(".")},qa={INIT:"@@redux/INIT"+Ga(),REPLACE:"@@redux/REPLACE"+Ga(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+Ga()}};function $a(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Ya(e,t,n){var r;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error("Expected the enhancer to be a function.");return n(Ya)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var o=e,a=t,i=[],l=i,u=!1;function s(){l===i&&(l=i.slice())}function c(){if(u)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return a}function f(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(u)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details.");var t=!0;return s(),l.push(e),function(){if(t){if(u)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details.");t=!1,s();var n=l.indexOf(e);l.splice(n,1),i=null}}}function d(e){if(!$a(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(u)throw new Error("Reducers may not dispatch actions.");try{u=!0,a=o(a,e)}finally{u=!1}for(var t=i=l,n=0;n<t.length;n++){(0,t[n])()}return e}function p(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");o=e,d({type:qa.REPLACE})}function m(){var e,t=f;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function n(){e.next&&e.next(c())}return n(),{unsubscribe:t(n)}}})[Wa.a]=function(){return this},e}return d({type:qa.INIT}),(r={dispatch:d,subscribe:f,getState:c,replaceReducer:p})[Wa.a]=m,r}function Qa(e,t){return function(){return t(e.apply(this,arguments))}}function Ka(e,t){if("function"==typeof e)return Qa(e,t);if("object"!=typeof e||null===e)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===e?"null":typeof e)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');var n={};for(var r in e){var o=e[r];"function"==typeof o&&(n[r]=Qa(o,t))}return n}function Xa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ja(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n}function Za(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ja(n,!0).forEach((function(t){Xa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ja(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ei(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}n(19);var ti=a.a.createContext(null);var ni=function(e){e()},ri={notify:function(){}};function oi(){var e=ni,t=null,n=null;return{clear:function(){t=null,n=null},notify:function(){e((function(){for(var e=t;e;)e.callback(),e=e.next}))},get:function(){for(var e=[],n=t;n;)e.push(n),n=n.next;return e},subscribe:function(e){var r=!0,o=n={callback:e,next:null,prev:n};return o.prev?o.prev.next=o:t=o,function(){r&&null!==t&&(r=!1,o.next?o.next.prev=o.prev:n=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}var ai=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=ri,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=oi())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=ri)},e}();var ii=function(e){var t=e.store,n=e.context,r=e.children,i=Object(o.useMemo)((function(){var e=new ai(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),l=Object(o.useMemo)((function(){return t.getState()}),[t]);Object(o.useEffect)((function(){var e=i.subscription;return e.trySubscribe(),l!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[i,l]);var u=n||ti;return a.a.createElement(u.Provider,{value:i},r)},li=n(5),ui="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?o.useLayoutEffect:o.useEffect,si=[],ci=[null,null];function fi(e,t){var n=e[1];return[t.payload,n+1]}function di(e,t,n){ui((function(){return e.apply(void 0,t)}),n)}function pi(e,t,n,r,o,a,i){e.current=r,t.current=o,n.current=!1,a.current&&(a.current=null,i())}function mi(e,t,n,r,o,a,i,l,u,s){if(e){var c=!1,f=null,d=function(){if(!c){var e,n,d=t.getState();try{e=r(d,o.current)}catch(e){n=e,f=e}n||(f=null),e===a.current?i.current||u():(a.current=e,l.current=e,i.current=!0,s({type:"STORE_UPDATED",payload:{error:n}}))}};n.onStateChange=d,n.trySubscribe(),d();return function(){if(c=!0,n.tryUnsubscribe(),n.onStateChange=null,f)throw f}}}var hi=function(){return[null,0]};function vi(e,t){void 0===t&&(t={});var n=t,r=n.getDisplayName,i=void 0===r?function(e){return"ConnectAdvanced("+e+")"}:r,l=n.methodName,u=void 0===l?"connectAdvanced":l,s=n.renderCountProp,c=void 0===s?void 0:s,f=n.shouldHandleStateChanges,d=void 0===f||f,p=n.storeKey,m=void 0===p?"store":p,h=(n.withRef,n.forwardRef),v=void 0!==h&&h,g=n.context,b=void 0===g?ti:g,y=Un(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]),_=b;return function(t){var n=t.displayName||t.name||"Component",r=i(n),l=pt({},y,{getDisplayName:i,methodName:u,renderCountProp:c,shouldHandleStateChanges:d,storeKey:m,displayName:r,wrappedComponentName:n,WrappedComponent:t}),s=y.pure;var f=s?o.useMemo:function(e){return e()};function p(n){var r=Object(o.useMemo)((function(){var e=n.reactReduxForwardedRef,t=Un(n,["reactReduxForwardedRef"]);return[n.context,e,t]}),[n]),i=r[0],u=r[1],s=r[2],c=Object(o.useMemo)((function(){return i&&i.Consumer&&Object(li.isContextConsumer)(a.a.createElement(i.Consumer,null))?i:_}),[i,_]),p=Object(o.useContext)(c),m=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch);Boolean(p)&&Boolean(p.store);var h=m?n.store:p.store,v=Object(o.useMemo)((function(){return function(t){return e(t.dispatch,l)}(h)}),[h]),g=Object(o.useMemo)((function(){if(!d)return ci;var e=new ai(h,m?null:p.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[h,m,p]),b=g[0],y=g[1],w=Object(o.useMemo)((function(){return m?p:pt({},p,{subscription:b})}),[m,p,b]),E=Object(o.useReducer)(fi,si,hi),S=E[0][0],x=E[1];if(S&&S.error)throw S.error;var O=Object(o.useRef)(),C=Object(o.useRef)(s),k=Object(o.useRef)(),P=Object(o.useRef)(!1),I=f((function(){return k.current&&s===C.current?k.current:v(h.getState(),s)}),[h,S,s]);di(pi,[C,O,P,s,I,k,y]),di(mi,[d,h,b,v,C,O,P,k,y,x],[h,b,v]);var D=Object(o.useMemo)((function(){return a.a.createElement(t,pt({},I,{ref:u}))}),[u,t,I]);return Object(o.useMemo)((function(){return d?a.a.createElement(c.Provider,{value:w},D):D}),[c,D,w])}var h=s?a.a.memo(p):p;if(h.WrappedComponent=t,h.displayName=r,v){var g=a.a.forwardRef((function(e,t){return a.a.createElement(h,pt({},e,{reactReduxForwardedRef:t}))}));return g.displayName=r,g.WrappedComponent=t,pn()(g,t)}return pn()(h,t)}}function gi(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function bi(e,t){if(gi(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!Object.prototype.hasOwnProperty.call(t,n[o])||!gi(e[n[o]],t[n[o]]))return!1;return!0}function yi(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function _i(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function wi(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=_i(e);var o=r(t,n);return"function"==typeof o&&(r.mapToProps=o,r.dependsOnOwnProps=_i(o),o=r(t,n)),o},r}}var Ei=[function(e){return"function"==typeof e?wi(e):void 0},function(e){return e?void 0:yi((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?yi((function(t){return Ka(e,t)})):void 0}];var Si=[function(e){return"function"==typeof e?wi(e):void 0},function(e){return e?void 0:yi((function(){return{}}))}];function xi(e,t,n){return pt({},n,e,t)}var Oi=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,o=n.pure,a=n.areMergedPropsEqual,i=!1;return function(t,n,l){var u=e(t,n,l);return i?o&&a(u,r)||(r=u):(i=!0,r=u),r}}}(e):void 0},function(e){return e?void 0:function(){return xi}}];function Ci(e,t,n,r){return function(o,a){return n(e(o,a),t(r,a),a)}}function ki(e,t,n,r,o){var a,i,l,u,s,c=o.areStatesEqual,f=o.areOwnPropsEqual,d=o.areStatePropsEqual,p=!1;function m(o,p){var m,h,v=!f(p,i),g=!c(o,a);return a=o,i=p,v&&g?(l=e(a,i),t.dependsOnOwnProps&&(u=t(r,i)),s=n(l,u,i)):v?(e.dependsOnOwnProps&&(l=e(a,i)),t.dependsOnOwnProps&&(u=t(r,i)),s=n(l,u,i)):g?(m=e(a,i),h=!d(m,l),l=m,h&&(s=n(l,u,i)),s):s}return function(o,c){return p?m(o,c):(l=e(a=o,i=c),u=t(r,i),s=n(l,u,i),p=!0,s)}}function Pi(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,a=Un(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),i=n(e,a),l=r(e,a),u=o(e,a);return(a.pure?ki:Ci)(i,l,u,e,a)}function Ii(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function Di(e,t){return e===t}function Ri(e){var t=void 0===e?{}:e,n=t.connectHOC,r=void 0===n?vi:n,o=t.mapStateToPropsFactories,a=void 0===o?Si:o,i=t.mapDispatchToPropsFactories,l=void 0===i?Ei:i,u=t.mergePropsFactories,s=void 0===u?Oi:u,c=t.selectorFactory,f=void 0===c?Pi:c;return function(e,t,n,o){void 0===o&&(o={});var i=o,u=i.pure,c=void 0===u||u,d=i.areStatesEqual,p=void 0===d?Di:d,m=i.areOwnPropsEqual,h=void 0===m?bi:m,v=i.areStatePropsEqual,g=void 0===v?bi:v,b=i.areMergedPropsEqual,y=void 0===b?bi:b,_=Un(i,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),w=Ii(e,a,"mapStateToProps"),E=Ii(t,l,"mapDispatchToProps"),S=Ii(n,s,"mergeProps");return r(f,pt({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:w,initMapDispatchToProps:E,initMergeProps:S,pure:c,areStatesEqual:p,areOwnPropsEqual:h,areStatePropsEqual:g,areMergedPropsEqual:y},_))}}var Ni=Ri();var Ti;function Li(e,t){var n=Object(o.useState)((function(){return{inputs:t,result:e()}}))[0],r=Object(o.useRef)(n),a=Boolean(t&&r.current.inputs&&function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(t,r.current.inputs))?r.current:{inputs:t,result:e()};return Object(o.useEffect)((function(){r.current=a}),[a]),a.result}Ti=i.unstable_batchedUpdates,ni=Ti;var Ai=Li,ji=function(e,t){return Li((function(){return e}),t)};var Mi=function(e,t){if(!e)throw new Error("Invariant failed")},Fi=function(e){var t=e.top,n=e.right,r=e.bottom,o=e.left;return{top:t,right:n,bottom:r,left:o,width:n-o,height:r-t,x:o,y:t,center:{x:(n+o)/2,y:(r+t)/2}}},Bi=function(e,t){return{top:e.top-t.top,left:e.left-t.left,bottom:e.bottom+t.bottom,right:e.right+t.right}},Vi=function(e,t){return{top:e.top+t.top,left:e.left+t.left,bottom:e.bottom-t.bottom,right:e.right-t.right}},Ui={top:0,right:0,bottom:0,left:0},zi=function(e){var t=e.borderBox,n=e.margin,r=void 0===n?Ui:n,o=e.border,a=void 0===o?Ui:o,i=e.padding,l=void 0===i?Ui:i,u=Fi(Bi(t,r)),s=Fi(Vi(t,a)),c=Fi(Vi(s,l));return{marginBox:u,borderBox:Fi(t),paddingBox:s,contentBox:c,margin:r,border:a,padding:l}},Hi=function(e){var t=e.slice(0,-2);if("px"!==e.slice(-2))return 0;var n=Number(t);return isNaN(n)&&Mi(!1),n},Wi=function(e,t){var n,r,o=e.borderBox,a=e.border,i=e.margin,l=e.padding,u=(r=t,{top:(n=o).top+r.y,left:n.left+r.x,bottom:n.bottom+r.y,right:n.right+r.x});return zi({borderBox:u,border:a,margin:i,padding:l})},Gi=function(e,t){return void 0===t&&(t={x:window.pageXOffset,y:window.pageYOffset}),Wi(e,t)},qi=function(e,t){var n={top:Hi(t.marginTop),right:Hi(t.marginRight),bottom:Hi(t.marginBottom),left:Hi(t.marginLeft)},r={top:Hi(t.paddingTop),right:Hi(t.paddingRight),bottom:Hi(t.paddingBottom),left:Hi(t.paddingLeft)},o={top:Hi(t.borderTopWidth),right:Hi(t.borderRightWidth),bottom:Hi(t.borderBottomWidth),left:Hi(t.borderLeftWidth)};return zi({borderBox:e,margin:n,padding:r,border:o})},$i=function(e){var t=e.getBoundingClientRect(),n=window.getComputedStyle(e);return qi(t,n)},Yi=function(e){var t=[],n=null,r=function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];t=o,n||(n=requestAnimationFrame((function(){n=null,e.apply(void 0,t)})))};return r.cancel=function(){n&&(cancelAnimationFrame(n),n=null)},r};function Qi(e,t){}Qi.bind(null,"warn"),Qi.bind(null,"error");function Ki(){}function Xi(e,t,n){var r=t.map((function(t){var r,o,a=(r=n,o=t.options,pt({},r,{},o));return e.addEventListener(t.eventName,t.fn,a),function(){e.removeEventListener(t.eventName,t.fn,a)}}));return function(){r.forEach((function(e){e()}))}}function Ji(e){this.message=e}function Zi(e,t){if(!e)throw new Ji("Invariant failed")}Ji.prototype.toString=function(){return this.message};var el=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).callbacks=null,t.unbind=Ki,t.onWindowError=function(e){var n=t.getCallbacks();n.isDragging()&&n.tryAbort(),e.error instanceof Ji&&e.preventDefault()},t.getCallbacks=function(){if(!t.callbacks)throw new Error("Unable to find AppCallbacks in <ErrorBoundary/>");return t.callbacks},t.setCallbacks=function(e){t.callbacks=e},t}Ha(t,e);var n=t.prototype;return n.componentDidMount=function(){this.unbind=Xi(window,[{eventName:"error",fn:this.onWindowError}])},n.componentWillUnmount=function(){this.unbind()},n.componentDidCatch=function(e){if(!(e instanceof Ji))throw e;this.setState({})},n.render=function(){return this.props.children(this.setCallbacks)},t}(a.a.Component),tl=function(e){return e+1},nl=function(e,t){var n=e.droppableId===t.droppableId,r=tl(e.index),o=tl(t.index);return n?"\n You have moved the item from position "+r+"\n to position "+o+"\n ":"\n You have moved the item from position "+r+"\n in list "+e.droppableId+"\n to list "+t.droppableId+"\n in position "+o+"\n "},rl=function(e,t,n){return t.droppableId===n.droppableId?"\n The item "+e+"\n has been combined with "+n.draggableId:"\n The item "+e+"\n in list "+t.droppableId+"\n has been combined with "+n.draggableId+"\n in list "+n.droppableId+"\n "},ol=function(e){return"\n The item has returned to its starting position\n of "+tl(e.index)+"\n"},al="\n Press space bar to start a drag.\n When dragging you can use the arrow keys to move the item around and escape to cancel.\n Some screen readers may require you to be in focus mode or to use your pass through key\n",il=function(e){return"\n You have lifted an item in position "+tl(e.source.index)+"\n"},ll=function(e){var t=e.destination;if(t)return nl(e.source,t);var n=e.combine;return n?rl(e.draggableId,e.source,n):"You are over an area that cannot be dropped on"},ul=function(e){if("CANCEL"===e.reason)return"\n Movement cancelled.\n "+ol(e.source)+"\n ";var t=e.destination,n=e.combine;return t?"\n You have dropped the item.\n "+nl(e.source,t)+"\n ":n?"\n You have dropped the item.\n "+rl(e.draggableId,e.source,n)+"\n ":"\n The item has been dropped while not over a drop area.\n "+ol(e.source)+"\n "},sl={x:0,y:0},cl=function(e,t){return{x:e.x+t.x,y:e.y+t.y}},fl=function(e,t){return{x:e.x-t.x,y:e.y-t.y}},dl=function(e,t){return e.x===t.x&&e.y===t.y},pl=function(e){return{x:0!==e.x?-e.x:0,y:0!==e.y?-e.y:0}},ml=function(e,t,n){var r;return void 0===n&&(n=0),(r={})[e]=t,r["x"===e?"y":"x"]=n,r},hl=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},vl=function(e,t){return Math.min.apply(Math,t.map((function(t){return hl(e,t)})))},gl=function(e){return function(t){return{x:e(t.x),y:e(t.y)}}},bl=function(e,t){return{top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}},yl=function(e){return[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}]},_l=function(e,t){return t&&t.shouldClipSubject?function(e,t){var n=Fi({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n}(t.pageMarginBox,e):Fi(e)},wl=function(e){var t=e.page,n=e.withPlaceholder,r=e.axis,o=e.frame,a=function(e,t,n){var r;return n&&n.increasedBy?pt({},e,((r={})[t.end]=e[t.end]+n.increasedBy[t.line],r)):e}(function(e,t){return t?bl(e,t.scroll.diff.displacement):e}(t.marginBox,o),r,n);return{page:t,withPlaceholder:n,active:_l(a,o)}},El=function(e,t){e.frame||Zi(!1);var n=e.frame,r=fl(t,n.scroll.initial),o=pl(r),a=pt({},n,{scroll:{initial:n.scroll.initial,current:t,diff:{value:r,displacement:o},max:n.scroll.max}});return pt({},e,{frame:a,subject:wl({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:a})})};function Sl(e){return Object.values?Object.values(e):Object.keys(e).map((function(t){return e[t]}))}function xl(e,t){if(e.findIndex)return e.findIndex(t);for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1}function Ol(e,t){if(e.find)return e.find(t);var n=xl(e,t);return-1!==n?e[n]:void 0}function Cl(e){return Array.prototype.slice.call(e)}var kl=Bo((function(e){return e.reduce((function(e,t){return e[t.descriptor.id]=t,e}),{})})),Pl=Bo((function(e){return e.reduce((function(e,t){return e[t.descriptor.id]=t,e}),{})})),Il=Bo((function(e){return Sl(e)})),Dl=Bo((function(e){return Sl(e)})),Rl=Bo((function(e,t){return Dl(t).filter((function(t){return e===t.descriptor.droppableId})).sort((function(e,t){return e.descriptor.index-t.descriptor.index}))}));function Nl(e){return e.at&&"REORDER"===e.at.type?e.at.destination:null}function Tl(e){return e.at&&"COMBINE"===e.at.type?e.at.combine:null}var Ll=Bo((function(e,t){return t.filter((function(t){return t.descriptor.id!==e.descriptor.id}))})),Al=function(e,t){return e.descriptor.droppableId===t.descriptor.id},jl={point:sl,value:0},Ml={invisible:{},visible:{},all:[]},Fl={displaced:Ml,displacedBy:jl,at:null},Bl=function(e,t){return function(n){return e<=n&&n<=t}},Vl=function(e){var t=Bl(e.top,e.bottom),n=Bl(e.left,e.right);return function(r){if(t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right))return!0;var o=t(r.top)||t(r.bottom),a=n(r.left)||n(r.right);if(o&&a)return!0;var i=r.top<e.top&&r.bottom>e.bottom,l=r.left<e.left&&r.right>e.right;return!(!i||!l)||(i&&a||l&&o)}},Ul=function(e){var t=Bl(e.top,e.bottom),n=Bl(e.left,e.right);return function(e){return t(e.top)&&t(e.bottom)&&n(e.left)&&n(e.right)}},zl={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},Hl={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"},Wl=function(e){var t=e.target,n=e.destination,r=e.viewport,o=e.withDroppableDisplacement,a=e.isVisibleThroughFrameFn,i=o?function(e,t){var n=t.frame?t.frame.scroll.diff.displacement:sl;return bl(e,n)}(t,n):t;return function(e,t,n){return!!t.subject.active&&n(t.subject.active)(e)}(i,n,a)&&function(e,t,n){return n(t)(e)}(i,r,a)},Gl=function(e){return Wl(pt({},e,{isVisibleThroughFrameFn:Vl}))},ql=function(e){return Wl(pt({},e,{isVisibleThroughFrameFn:Ul}))};function $l(e){var t=e.afterDragging,n=e.destination,r=e.displacedBy,o=e.viewport,a=e.forceShouldAnimate,i=e.last;return t.reduce((function(e,t){var l=function(e,t){var n=e.page.marginBox,r={top:t.point.y,right:0,bottom:0,left:t.point.x};return Fi(Bi(n,r))}(t,r),u=t.descriptor.id;if(e.all.push(u),!Gl({target:l,destination:n,viewport:o,withDroppableDisplacement:!0}))return e.invisible[t.descriptor.id]=!0,e;var s={draggableId:u,shouldAnimate:function(e,t,n){if("boolean"==typeof n)return n;if(!t)return!0;var r=t.invisible,o=t.visible;if(r[e])return!1;var a=o[e];return!a||a.shouldAnimate}(u,i,a)};return e.visible[u]=s,e}),{all:[],visible:{},invisible:{}})}function Yl(e){var t=e.insideDestination,n=e.inHomeList,r=e.displacedBy,o=e.destination,a=function(e,t){if(!e.length)return 0;var n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}(t,{inHomeList:n});return{displaced:Ml,displacedBy:r,at:{type:"REORDER",destination:{droppableId:o.descriptor.id,index:a}}}}function Ql(e){var t=e.draggable,n=e.insideDestination,r=e.destination,o=e.viewport,a=e.displacedBy,i=e.last,l=e.index,u=e.forceShouldAnimate,s=Al(t,r);if(null==l)return Yl({insideDestination:n,inHomeList:s,displacedBy:a,destination:r});var c=Ol(n,(function(e){return e.descriptor.index===l}));if(!c)return Yl({insideDestination:n,inHomeList:s,displacedBy:a,destination:r});var f=Ll(t,n),d=n.indexOf(c);return{displaced:$l({afterDragging:f.slice(d),destination:r,displacedBy:a,last:i,viewport:o.frame,forceShouldAnimate:u}),displacedBy:a,at:{type:"REORDER",destination:{droppableId:r.descriptor.id,index:l}}}}function Kl(e,t){return Boolean(t.effected[e])}var Xl=function(e){var t=e.isMovingForward,n=e.isInHomeList,r=e.draggable,o=e.draggables,a=e.destination,i=e.insideDestination,l=e.previousImpact,u=e.viewport,s=e.afterCritical,c=l.at;if(c||Zi(!1),"REORDER"===c.type){var f=function(e){var t=e.isMovingForward,n=e.isInHomeList,r=e.insideDestination,o=e.location;if(!r.length)return null;var a=o.index,i=t?a+1:a-1,l=r[0].descriptor.index,u=r[r.length-1].descriptor.index;return i<l||i>(n?u:u+1)?null:i}({isMovingForward:t,isInHomeList:n,location:c.destination,insideDestination:i});return null==f?null:Ql({draggable:r,insideDestination:i,destination:a,viewport:u,last:l.displaced,displacedBy:l.displacedBy,index:f})}var d=function(e){var t=e.isMovingForward,n=e.destination,r=e.draggables,o=e.combine,a=e.afterCritical;if(!n.isCombineEnabled)return null;var i=o.draggableId,l=r[i].descriptor.index;return Kl(i,a)?t?l:l-1:t?l+1:l}({isMovingForward:t,destination:a,displaced:l.displaced,draggables:o,combine:c.combine,afterCritical:s});return null==d?null:Ql({draggable:r,insideDestination:i,destination:a,viewport:u,last:l.displaced,displacedBy:l.displacedBy,index:d})},Jl=function(e){var t=e.afterCritical,n=e.impact,r=e.draggables,o=Tl(n);o||Zi(!1);var a=o.draggableId,i=r[a].page.borderBox.center,l=function(e){var t=e.displaced,n=e.afterCritical,r=e.combineWith,o=e.displacedBy,a=Boolean(t.visible[r]||t.invisible[r]);return Kl(r,n)?a?sl:pl(o.point):a?o.point:sl}({displaced:n.displaced,afterCritical:t,combineWith:a,displacedBy:n.displacedBy});return cl(i,l)},Zl=function(e,t){return t.margin[e.start]+t.borderBox[e.size]/2},eu=function(e,t,n){return t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2},tu=function(e){var t=e.axis,n=e.moveRelativeTo,r=e.isMoving;return ml(t.line,n.marginBox[t.end]+Zl(t,r),eu(t,n.marginBox,r))},nu=function(e){var t=e.axis,n=e.moveRelativeTo,r=e.isMoving;return ml(t.line,n.marginBox[t.start]-function(e,t){return t.margin[e.end]+t.borderBox[e.size]/2}(t,r),eu(t,n.marginBox,r))},ru=function(e){var t=e.impact,n=e.draggable,r=e.draggables,o=e.droppable,a=e.afterCritical,i=Rl(o.descriptor.id,r),l=n.page,u=o.axis;if(!i.length)return function(e){var t=e.axis,n=e.moveInto,r=e.isMoving;return ml(t.line,n.contentBox[t.start]+Zl(t,r),eu(t,n.contentBox,r))}({axis:u,moveInto:o.page,isMoving:l});var s=t.displaced,c=t.displacedBy,f=s.all[0];if(f){var d=r[f];if(Kl(f,a))return nu({axis:u,moveRelativeTo:d.page,isMoving:l});var p=Wi(d.page,c.point);return nu({axis:u,moveRelativeTo:p,isMoving:l})}var m=i[i.length-1];if(m.descriptor.id===n.descriptor.id)return l.borderBox.center;if(Kl(m.descriptor.id,a)){var h=Wi(m.page,pl(a.displacedBy.point));return tu({axis:u,moveRelativeTo:h,isMoving:l})}return tu({axis:u,moveRelativeTo:m.page,isMoving:l})},ou=function(e,t){var n=e.frame;return n?cl(t,n.scroll.diff.displacement):t},au=function(e){var t=function(e){var t=e.impact,n=e.draggable,r=e.droppable,o=e.draggables,a=e.afterCritical,i=n.page.borderBox.center,l=t.at;return r&&l?"REORDER"===l.type?ru({impact:t,draggable:n,draggables:o,droppable:r,afterCritical:a}):Jl({impact:t,draggables:o,afterCritical:a}):i}(e),n=e.droppable;return n?ou(n,t):t},iu=function(e,t){var n=fl(t,e.scroll.initial),r=pl(n);return{frame:Fi({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:r}}}};function lu(e,t){return e.map((function(e){return t[e]}))}var uu=function(e){var t=e.pageBorderBoxCenter,n=e.draggable,r=function(e,t){return cl(e.scroll.diff.displacement,t)}(e.viewport,t),o=fl(r,n.page.borderBox.center);return cl(n.client.borderBox.center,o)},su=function(e){var t=e.draggable,n=e.destination,r=e.newPageBorderBoxCenter,o=e.viewport,a=e.withDroppableDisplacement,i=e.onlyOnMainAxis,l=void 0!==i&&i,u=fl(r,t.page.borderBox.center),s={target:bl(t.page.borderBox,u),destination:n,withDroppableDisplacement:a,viewport:o};return l?function(e){return Wl(pt({},e,{isVisibleThroughFrameFn:(t=e.destination.axis,function(e){var n=Bl(e.top,e.bottom),r=Bl(e.left,e.right);return function(e){return t===zl?n(e.top)&&n(e.bottom):r(e.left)&&r(e.right)}})}));var t}(s):ql(s)},cu=function(e){var t=e.isMovingForward,n=e.draggable,r=e.destination,o=e.draggables,a=e.previousImpact,i=e.viewport,l=e.previousPageBorderBoxCenter,u=e.previousClientSelection,s=e.afterCritical;if(!r.isEnabled)return null;var c=Rl(r.descriptor.id,o),f=Al(n,r),d=function(e){var t=e.isMovingForward,n=e.draggable,r=e.destination,o=e.insideDestination,a=e.previousImpact;if(!r.isCombineEnabled)return null;if(!Nl(a))return null;function i(e){var t={type:"COMBINE",combine:{draggableId:e,droppableId:r.descriptor.id}};return pt({},a,{at:t})}var l=a.displaced.all,u=l.length?l[0]:null;if(t)return u?i(u):null;var s=Ll(n,o);if(!u)return s.length?i(s[s.length-1].descriptor.id):null;var c=xl(s,(function(e){return e.descriptor.id===u}));-1===c&&Zi(!1);var f=c-1;return f<0?null:i(s[f].descriptor.id)}({isMovingForward:t,draggable:n,destination:r,insideDestination:c,previousImpact:a})||Xl({isMovingForward:t,isInHomeList:f,draggable:n,draggables:o,destination:r,insideDestination:c,previousImpact:a,viewport:i,afterCritical:s});if(!d)return null;var p=au({impact:d,draggable:n,droppable:r,draggables:o,afterCritical:s});if(su({draggable:n,destination:r,newPageBorderBoxCenter:p,viewport:i.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:uu({pageBorderBoxCenter:p,draggable:n,viewport:i}),impact:d,scrollJumpRequest:null};var m=fl(p,l);return{clientSelection:u,impact:function(e){var t=e.impact,n=e.viewport,r=e.destination,o=e.draggables,a=e.maxScrollChange,i=iu(n,cl(n.scroll.current,a)),l=r.frame?El(r,cl(r.frame.scroll.current,a)):r,u=t.displaced,s=$l({afterDragging:lu(u.all,o),destination:r,displacedBy:t.displacedBy,viewport:i.frame,last:u,forceShouldAnimate:!1}),c=$l({afterDragging:lu(u.all,o),destination:l,displacedBy:t.displacedBy,viewport:n.frame,last:u,forceShouldAnimate:!1}),f={},d={},p=[u,s,c];return u.all.forEach((function(e){var t=function(e,t){for(var n=0;n<t.length;n++){var r=t[n].visible[e];if(r)return r}return null}(e,p);t?d[e]=t:f[e]=!0})),pt({},t,{displaced:{all:u.all,invisible:f,visible:d}})}({impact:d,viewport:i,destination:r,draggables:o,maxScrollChange:m}),scrollJumpRequest:m}},fu=function(e){var t=e.subject.active;return t||Zi(!1),t},du=function(e,t){var n=e.page.borderBox.center;return Kl(e.descriptor.id,t)?fl(n,t.displacedBy.point):n},pu=function(e,t){var n=e.page.borderBox;return Kl(e.descriptor.id,t)?bl(n,pl(t.displacedBy.point)):n},mu=Bo((function(e,t){var n=t[e.line];return{value:n,point:ml(e.line,n)}})),hu=function(e,t){return pt({},e,{scroll:pt({},e.scroll,{max:t})})},vu=function(e,t,n){var r=e.frame;Al(t,e)&&Zi(!1),e.subject.withPlaceholder&&Zi(!1);var o=mu(e.axis,t.displaceBy).point,a=function(e,t,n){var r=e.axis;if("virtual"===e.descriptor.mode)return ml(r.line,t[r.line]);var o=e.subject.page.contentBox[r.size],a=Rl(e.descriptor.id,n).reduce((function(e,t){return e+t.client.marginBox[r.size]}),0)+t[r.line]-o;return a<=0?null:ml(r.line,a)}(e,o,n),i={placeholderSize:o,increasedBy:a,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!r)return pt({},e,{subject:wl({page:e.subject.page,withPlaceholder:i,axis:e.axis,frame:e.frame})});var l=a?cl(r.scroll.max,a):r.scroll.max,u=hu(r,l);return pt({},e,{subject:wl({page:e.subject.page,withPlaceholder:i,axis:e.axis,frame:u}),frame:u})},gu=function(e){var t=e.isMovingForward,n=e.previousPageBorderBoxCenter,r=e.draggable,o=e.isOver,a=e.draggables,i=e.droppables,l=e.viewport,u=e.afterCritical,s=function(e){var t=e.isMovingForward,n=e.pageBorderBoxCenter,r=e.source,o=e.droppables,a=e.viewport,i=r.subject.active;if(!i)return null;var l=r.axis,u=Bl(i[l.start],i[l.end]),s=Il(o).filter((function(e){return e!==r})).filter((function(e){return e.isEnabled})).filter((function(e){return Boolean(e.subject.active)})).filter((function(e){return Vl(a.frame)(fu(e))})).filter((function(e){var n=fu(e);return t?i[l.crossAxisEnd]<n[l.crossAxisEnd]:n[l.crossAxisStart]<i[l.crossAxisStart]})).filter((function(e){var t=fu(e),n=Bl(t[l.start],t[l.end]);return u(t[l.start])||u(t[l.end])||n(i[l.start])||n(i[l.end])})).sort((function(e,n){var r=fu(e)[l.crossAxisStart],o=fu(n)[l.crossAxisStart];return t?r-o:o-r})).filter((function(e,t,n){return fu(e)[l.crossAxisStart]===fu(n[0])[l.crossAxisStart]}));if(!s.length)return null;if(1===s.length)return s[0];var c=s.filter((function(e){return Bl(fu(e)[l.start],fu(e)[l.end])(n[l.line])}));return 1===c.length?c[0]:c.length>1?c.sort((function(e,t){return fu(e)[l.start]-fu(t)[l.start]}))[0]:s.sort((function(e,t){var r=vl(n,yl(fu(e))),o=vl(n,yl(fu(t)));return r!==o?r-o:fu(e)[l.start]-fu(t)[l.start]}))[0]}({isMovingForward:t,pageBorderBoxCenter:n,source:o,droppables:i,viewport:l});if(!s)return null;var c=Rl(s.descriptor.id,a),f=function(e){var t=e.previousPageBorderBoxCenter,n=e.moveRelativeTo,r=e.insideDestination,o=e.draggable,a=e.draggables,i=e.destination,l=e.viewport,u=e.afterCritical;if(!n){if(r.length)return null;var s={displaced:Ml,displacedBy:jl,at:{type:"REORDER",destination:{droppableId:i.descriptor.id,index:0}}},c=au({impact:s,draggable:o,droppable:i,draggables:a,afterCritical:u}),f=Al(o,i)?i:vu(i,o,a);return su({draggable:o,destination:f,newPageBorderBoxCenter:c,viewport:l.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?s:null}var d,p=Boolean(t[i.axis.line]<=n.page.borderBox.center[i.axis.line]),m=(d=n.descriptor.index,n.descriptor.id===o.descriptor.id||p?d:d+1),h=mu(i.axis,o.displaceBy);return Ql({draggable:o,insideDestination:r,destination:i,viewport:l,displacedBy:h,last:Ml,index:m})}({previousPageBorderBoxCenter:n,destination:s,draggable:r,draggables:a,moveRelativeTo:function(e){var t=e.pageBorderBoxCenter,n=e.viewport,r=e.destination,o=e.insideDestination,a=e.afterCritical;return o.filter((function(e){return ql({target:pu(e,a),destination:r,viewport:n.frame,withDroppableDisplacement:!0})})).sort((function(e,n){var o=hl(t,ou(r,du(e,a))),i=hl(t,ou(r,du(n,a)));return o<i?-1:i<o?1:e.descriptor.index-n.descriptor.index}))[0]||null}({pageBorderBoxCenter:n,viewport:l,destination:s,insideDestination:c,afterCritical:u}),insideDestination:c,viewport:l,afterCritical:u});if(!f)return null;var d=au({impact:f,draggable:r,droppable:s,draggables:a,afterCritical:u});return{clientSelection:uu({pageBorderBoxCenter:d,draggable:r,viewport:l}),impact:f,scrollJumpRequest:null}},bu=function(e){var t=e.at;return t?"REORDER"===t.type?t.destination.droppableId:t.combine.droppableId:null},yu=function(e){var t=e.state,n=e.type,r=function(e,t){var n=bu(e);return n?t[n]:null}(t.impact,t.dimensions.droppables),o=Boolean(r),a=t.dimensions.droppables[t.critical.droppable.id],i=r||a,l=i.axis.direction,u="vertical"===l&&("MOVE_UP"===n||"MOVE_DOWN"===n)||"horizontal"===l&&("MOVE_LEFT"===n||"MOVE_RIGHT"===n);if(u&&!o)return null;var s="MOVE_DOWN"===n||"MOVE_RIGHT"===n,c=t.dimensions.draggables[t.critical.draggable.id],f=t.current.page.borderBoxCenter,d=t.dimensions,p=d.draggables,m=d.droppables;return u?cu({isMovingForward:s,previousPageBorderBoxCenter:f,draggable:c,destination:i,draggables:p,viewport:t.viewport,previousClientSelection:t.current.client.selection,previousImpact:t.impact,afterCritical:t.afterCritical}):gu({isMovingForward:s,previousPageBorderBoxCenter:f,draggable:c,isOver:i,draggables:p,droppables:m,viewport:t.viewport,afterCritical:t.afterCritical})};function _u(e){return"DRAGGING"===e.phase||"COLLECTING"===e.phase}function wu(e){var t=Bl(e.top,e.bottom),n=Bl(e.left,e.right);return function(e){return t(e.y)&&n(e.x)}}function Eu(e){var t=e.pageBorderBox,n=e.draggable,r=e.droppables,o=Il(r).filter((function(e){if(!e.isEnabled)return!1;var n,r,o=e.subject.active;if(!o)return!1;if(r=o,!((n=t).left<r.right&&n.right>r.left&&n.top<r.bottom&&n.bottom>r.top))return!1;if(wu(o)(t.center))return!0;var a=e.axis,i=o.center[a.crossAxisLine],l=t[a.crossAxisStart],u=t[a.crossAxisEnd],s=Bl(o[a.crossAxisStart],o[a.crossAxisEnd]),c=s(l),f=s(u);return!c&&!f||(c?l<i:u>i)}));return o.length?1===o.length?o[0].descriptor.id:function(e){var t=e.pageBorderBox,n=e.draggable,r=e.candidates,o=n.page.borderBox.center,a=r.map((function(e){var n=e.axis,r=ml(e.axis.line,t.center[n.line],e.page.borderBox.center[n.crossAxisLine]);return{id:e.descriptor.id,distance:hl(o,r)}})).sort((function(e,t){return t.distance-e.distance}));return a[0]?a[0].id:null}({pageBorderBox:t,draggable:n,candidates:o}):null}var Su=function(e,t){return Fi(bl(e,t))};function xu(e){var t=e.displaced,n=e.id;return Boolean(t.visible[n]||t.invisible[n])}var Ou=function(e){var t=e.pageOffset,n=e.draggable,r=e.draggables,o=e.droppables,a=e.previousImpact,i=e.viewport,l=e.afterCritical,u=Su(n.page.borderBox,t),s=Eu({pageBorderBox:u,draggable:n,droppables:o});if(!s)return Fl;var c,f,d=o[s],p=Rl(d.descriptor.id,r),m=(c=u,(f=d.frame)?Su(c,f.scroll.diff.value):c);return function(e){var t=e.draggable,n=e.pageBorderBoxWithDroppableScroll,r=e.previousImpact,o=e.destination,a=e.insideDestination,i=e.afterCritical;if(!o.isCombineEnabled)return null;var l=o.axis,u=mu(o.axis,t.displaceBy),s=u.value,c=n[l.start],f=n[l.end],d=Ol(Ll(t,a),(function(e){var t=e.descriptor.id,n=e.page.borderBox,o=n[l.size]/4,a=Kl(t,i),u=xu({displaced:r.displaced,id:t});return a?u?f>n[l.start]+o&&f<n[l.end]-o:c>n[l.start]-s+o&&c<n[l.end]-s-o:u?f>n[l.start]+s+o&&f<n[l.end]+s-o:c>n[l.start]+o&&c<n[l.end]-o}));return d?{displacedBy:u,displaced:r.displaced,at:{type:"COMBINE",combine:{draggableId:d.descriptor.id,droppableId:o.descriptor.id}}}:null}({pageBorderBoxWithDroppableScroll:m,draggable:n,previousImpact:a,destination:d,insideDestination:p,afterCritical:l})||function(e){var t=e.pageBorderBoxWithDroppableScroll,n=e.draggable,r=e.destination,o=e.insideDestination,a=e.last,i=e.viewport,l=e.afterCritical,u=r.axis,s=mu(r.axis,n.displaceBy),c=s.value,f=t[u.start],d=t[u.end],p=function(e){var t=e.draggable,n=e.closest,r=e.inHomeList;return n?r&&n.descriptor.index>t.descriptor.index?n.descriptor.index-1:n.descriptor.index:null}({draggable:n,closest:Ol(Ll(n,o),(function(e){var t=e.descriptor.id,n=e.page.borderBox.center[u.line],r=Kl(t,l),o=xu({displaced:a,id:t});return r?o?d<=n:f<n-c:o?d<=n+c:f<n})),inHomeList:Al(n,r)});return Ql({draggable:n,insideDestination:o,destination:r,viewport:i,last:a,displacedBy:s,index:p})}({pageBorderBoxWithDroppableScroll:m,draggable:n,destination:d,insideDestination:p,last:a.displaced,viewport:i,afterCritical:l})},Cu=function(e,t){var n;return pt({},e,((n={})[t.descriptor.id]=t,n))},ku=function(e){var t=e.previousImpact,n=e.impact,r=e.droppables,o=bu(t),a=bu(n);if(!o)return r;if(o===a)return r;var i=r[o];if(!i.subject.withPlaceholder)return r;var l=function(e){var t=e.subject.withPlaceholder;t||Zi(!1);var n=e.frame;if(!n)return pt({},e,{subject:wl({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null})});var r=t.oldFrameMaxScroll;r||Zi(!1);var o=hu(n,r);return pt({},e,{subject:wl({page:e.subject.page,axis:e.axis,frame:o,withPlaceholder:null}),frame:o})}(i);return Cu(r,l)},Pu=function(e){var t=e.state,n=e.clientSelection,r=e.dimensions,o=e.viewport,a=e.impact,i=e.scrollJumpRequest,l=o||t.viewport,u=r||t.dimensions,s=n||t.current.client.selection,c=fl(s,t.initial.client.selection),f={offset:c,selection:s,borderBoxCenter:cl(t.initial.client.borderBoxCenter,c)},d={selection:cl(f.selection,l.scroll.current),borderBoxCenter:cl(f.borderBoxCenter,l.scroll.current),offset:cl(f.offset,l.scroll.diff.value)},p={client:f,page:d};if("COLLECTING"===t.phase)return pt({phase:"COLLECTING"},t,{dimensions:u,viewport:l,current:p});var m=u.draggables[t.critical.draggable.id],h=a||Ou({pageOffset:d.offset,draggable:m,draggables:u.draggables,droppables:u.droppables,previousImpact:t.impact,viewport:l,afterCritical:t.afterCritical}),v=function(e){var t=e.draggable,n=e.draggables,r=e.droppables,o=e.previousImpact,a=e.impact,i=ku({previousImpact:o,impact:a,droppables:r}),l=bu(a);if(!l)return i;var u=r[l];if(Al(t,u))return i;if(u.subject.withPlaceholder)return i;var s=vu(u,t,n);return Cu(i,s)}({draggable:m,impact:h,previousImpact:t.impact,draggables:u.draggables,droppables:u.droppables});return pt({},t,{current:p,dimensions:{draggables:u.draggables,droppables:v},impact:h,viewport:l,scrollJumpRequest:i||null,forceShouldAnimate:!i&&null})};var Iu=function(e){var t=e.impact,n=e.viewport,r=e.draggables,o=e.destination,a=e.forceShouldAnimate,i=t.displaced;return pt({},t,{displaced:$l({afterDragging:function(e,t){return e.map((function(e){return t[e]}))}(i.all,r),destination:o,displacedBy:t.displacedBy,viewport:n.frame,forceShouldAnimate:a,last:i})})},Du=function(e){var t=e.impact,n=e.draggable,r=e.droppable,o=e.draggables,a=e.viewport,i=e.afterCritical,l=au({impact:t,draggable:n,draggables:o,droppable:r,afterCritical:i});return uu({pageBorderBoxCenter:l,draggable:n,viewport:a})},Ru=function(e){var t=e.state,n=e.dimensions,r=e.viewport;"SNAP"!==t.movementMode&&Zi(!1);var o=t.impact,a=r||t.viewport,i=n||t.dimensions,l=i.draggables,u=i.droppables,s=l[t.critical.draggable.id],c=bu(o);c||Zi(!1);var f=u[c],d=Iu({impact:o,viewport:a,destination:f,draggables:l}),p=Du({impact:d,draggable:s,droppable:f,draggables:l,viewport:a,afterCritical:t.afterCritical});return Pu({impact:d,clientSelection:p,state:t,dimensions:i,viewport:a})},Nu=function(e){var t=e.draggable,n=e.home,r=e.draggables,o=e.viewport,a=mu(n.axis,t.displaceBy),i=Rl(n.descriptor.id,r),l=i.indexOf(t);-1===l&&Zi(!1);var u,s=i.slice(l+1),c=s.reduce((function(e,t){return e[t.descriptor.id]=!0,e}),{}),f={inVirtualList:"virtual"===n.descriptor.mode,displacedBy:a,effected:c};return{impact:{displaced:$l({afterDragging:s,destination:n,displacedBy:a,last:null,viewport:o.frame,forceShouldAnimate:!1}),displacedBy:a,at:{type:"REORDER",destination:(u=t.descriptor,{index:u.index,droppableId:u.droppableId})}},afterCritical:f}},Tu=function(e){0},Lu=function(e){0},Au=function(e){var t=e.additions,n=e.updatedDroppables,r=e.viewport,o=r.scroll.diff.value;return t.map((function(e){var t=e.descriptor.droppableId,a=function(e){var t=e.frame;return t||Zi(!1),t}(n[t]).scroll.diff.value;return function(e){var t=e.draggable,n=e.offset,r=e.initialWindowScroll,o=Wi(t.client,n),a=Gi(o,r);return pt({},t,{placeholder:pt({},t.placeholder,{client:o}),client:o,page:a})}({draggable:e,offset:cl(o,a),initialWindowScroll:r.scroll.initial})}))},ju=function(e){return"SNAP"===e.movementMode},Mu=function(e,t,n){var r=function(e,t){return{draggables:e.draggables,droppables:Cu(e.droppables,t)}}(e.dimensions,t);return!ju(e)||n?Pu({state:e,dimensions:r}):Ru({state:e,dimensions:r})};function Fu(e){return e.isDragging&&"SNAP"===e.movementMode?pt({phase:"DRAGGING"},e,{scrollJumpRequest:null}):e}var Bu={phase:"IDLE",completed:null,shouldFlush:!1},Vu=function(e,t){if(void 0===e&&(e=Bu),"FLUSH"===t.type)return pt({},Bu,{shouldFlush:!0});if("INITIAL_PUBLISH"===t.type){"IDLE"!==e.phase&&Zi(!1);var n=t.payload,r=n.critical,o=n.clientSelection,a=n.viewport,i=n.dimensions,l=n.movementMode,u=i.draggables[r.draggable.id],s=i.droppables[r.droppable.id],c={selection:o,borderBoxCenter:u.client.borderBox.center,offset:sl},f={client:c,page:{selection:cl(c.selection,a.scroll.initial),borderBoxCenter:cl(c.selection,a.scroll.initial),offset:cl(c.selection,a.scroll.diff.value)}},d=Il(i.droppables).every((function(e){return!e.isFixedOnPage})),p=Nu({draggable:u,home:s,draggables:i.draggables,viewport:a}),m=p.impact;return{phase:"DRAGGING",isDragging:!0,critical:r,movementMode:l,dimensions:i,initial:f,current:f,isWindowScrollAllowed:d,impact:m,afterCritical:p.afterCritical,onLiftImpact:m,viewport:a,scrollJumpRequest:null,forceShouldAnimate:null}}if("COLLECTION_STARTING"===t.type)return"COLLECTING"===e.phase||"DROP_PENDING"===e.phase?e:("DRAGGING"!==e.phase&&Zi(!1),pt({phase:"COLLECTING"},e,{phase:"COLLECTING"}));if("PUBLISH_WHILE_DRAGGING"===t.type)return"COLLECTING"!==e.phase&&"DROP_PENDING"!==e.phase&&Zi(!1),function(e){var t=e.state,n=e.published;Tu();var r=n.modified.map((function(e){var n=t.dimensions.droppables[e.droppableId];return El(n,e.scroll)})),o=pt({},t.dimensions.droppables,{},kl(r)),a=Pl(Au({additions:n.additions,updatedDroppables:o,viewport:t.viewport})),i=pt({},t.dimensions.draggables,{},a);n.removals.forEach((function(e){delete i[e]}));var l={droppables:o,draggables:i},u=bu(t.impact),s=u?l.droppables[u]:null,c=l.draggables[t.critical.draggable.id],f=l.droppables[t.critical.droppable.id],d=Nu({draggable:c,home:f,draggables:i,viewport:t.viewport}),p=d.impact,m=d.afterCritical,h=s&&s.isCombineEnabled?t.impact:p,v=Ou({pageOffset:t.current.page.offset,draggable:l.draggables[t.critical.draggable.id],draggables:l.draggables,droppables:l.droppables,previousImpact:h,viewport:t.viewport,afterCritical:m});Lu();var g=pt({phase:"DRAGGING"},t,{phase:"DRAGGING",impact:v,onLiftImpact:p,dimensions:l,afterCritical:m,forceShouldAnimate:!1});return"COLLECTING"===t.phase?g:pt({phase:"DROP_PENDING"},g,{phase:"DROP_PENDING",reason:t.reason,isWaiting:!1})}({state:e,published:t.payload});if("MOVE"===t.type){if("DROP_PENDING"===e.phase)return e;_u(e)||Zi(!1);var h=t.payload.client;return dl(h,e.current.client.selection)?e:Pu({state:e,clientSelection:h,impact:ju(e)?e.impact:null})}if("UPDATE_DROPPABLE_SCROLL"===t.type){if("DROP_PENDING"===e.phase)return Fu(e);if("COLLECTING"===e.phase)return Fu(e);_u(e)||Zi(!1);var v=t.payload,g=v.id,b=v.newScroll,y=e.dimensions.droppables[g];if(!y)return e;var _=El(y,b);return Mu(e,_,!1)}if("UPDATE_DROPPABLE_IS_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;_u(e)||Zi(!1);var w=t.payload,E=w.id,S=w.isEnabled,x=e.dimensions.droppables[E];x||Zi(!1),x.isEnabled===S&&Zi(!1);var O=pt({},x,{isEnabled:S});return Mu(e,O,!0)}if("UPDATE_DROPPABLE_IS_COMBINE_ENABLED"===t.type){if("DROP_PENDING"===e.phase)return e;_u(e)||Zi(!1);var C=t.payload,k=C.id,P=C.isCombineEnabled,I=e.dimensions.droppables[k];I||Zi(!1),I.isCombineEnabled===P&&Zi(!1);var D=pt({},I,{isCombineEnabled:P});return Mu(e,D,!0)}if("MOVE_BY_WINDOW_SCROLL"===t.type){if("DROP_PENDING"===e.phase||"DROP_ANIMATING"===e.phase)return e;_u(e)||Zi(!1),e.isWindowScrollAllowed||Zi(!1);var R=t.payload.newScroll;if(dl(e.viewport.scroll.current,R))return Fu(e);var N=iu(e.viewport,R);return ju(e)?Ru({state:e,viewport:N}):Pu({state:e,viewport:N})}if("UPDATE_VIEWPORT_MAX_SCROLL"===t.type){if(!_u(e))return e;var T=t.payload.maxScroll;if(dl(T,e.viewport.scroll.max))return e;var L=pt({},e.viewport,{scroll:pt({},e.viewport.scroll,{max:T})});return pt({phase:"DRAGGING"},e,{viewport:L})}if("MOVE_UP"===t.type||"MOVE_DOWN"===t.type||"MOVE_LEFT"===t.type||"MOVE_RIGHT"===t.type){if("COLLECTING"===e.phase||"DROP_PENDING"===e.phase)return e;"DRAGGING"!==e.phase&&Zi(!1);var A=yu({state:e,type:t.type});return A?Pu({state:e,impact:A.impact,clientSelection:A.clientSelection,scrollJumpRequest:A.scrollJumpRequest}):e}if("DROP_PENDING"===t.type){var j=t.payload.reason;return"COLLECTING"!==e.phase&&Zi(!1),pt({phase:"DROP_PENDING"},e,{phase:"DROP_PENDING",isWaiting:!0,reason:j})}if("DROP_ANIMATE"===t.type){var M=t.payload,F=M.completed,B=M.dropDuration,V=M.newHomeClientOffset;return"DRAGGING"!==e.phase&&"DROP_PENDING"!==e.phase&&Zi(!1),{phase:"DROP_ANIMATING",completed:F,dropDuration:B,newHomeClientOffset:V,dimensions:e.dimensions}}return"DROP_COMPLETE"===t.type?{phase:"IDLE",completed:t.payload.completed,shouldFlush:!1}:e},Uu=function(e){return{type:"PUBLISH_WHILE_DRAGGING",payload:e}},zu=function(){return{type:"COLLECTION_STARTING",payload:null}},Hu=function(e){return{type:"UPDATE_DROPPABLE_SCROLL",payload:e}},Wu=function(e){return{type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}},Gu=function(e){return{type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}},qu=function(e){return{type:"MOVE",payload:e}},$u=function(){return{type:"MOVE_UP",payload:null}},Yu=function(){return{type:"MOVE_DOWN",payload:null}},Qu=function(){return{type:"MOVE_RIGHT",payload:null}},Ku=function(){return{type:"MOVE_LEFT",payload:null}},Xu=function(e){return{type:"DROP_COMPLETE",payload:e}},Ju=function(e){return{type:"DROP",payload:e}},Zu=function(){return{type:"DROP_ANIMATION_FINISHED",payload:null}};var es="cubic-bezier(.2,1,.1,1)",ts={drop:0,combining:.7},ns={drop:.75},rs=.2+"s "+"cubic-bezier(0.2, 0, 0, 1)",os={fluid:"opacity "+rs,snap:"transform "+rs+", opacity "+rs,drop:function(e){var t=e+"s "+es;return"transform "+t+", opacity "+t},outOfTheWay:"transform "+rs,placeholder:"height "+rs+", width "+rs+", margin "+rs},as=function(e){return dl(e,sl)?null:"translate("+e.x+"px, "+e.y+"px)"},is=as,ls=function(e,t){var n=as(e);return n?t?n+" scale("+ns.drop+")":n:null},us=.33,ss=.55,cs=ss-us,fs=function(e){var t=e.getState,n=e.dispatch;return function(e){return function(r){if("DROP"===r.type){var o=t(),a=r.payload.reason;if("COLLECTING"!==o.phase){if("IDLE"!==o.phase){"DROP_PENDING"===o.phase&&o.isWaiting&&Zi(!1),"DRAGGING"!==o.phase&&"DROP_PENDING"!==o.phase&&Zi(!1);var i=o.critical,l=o.dimensions,u=l.draggables[o.critical.draggable.id],s=function(e){var t=e.draggables,n=e.reason,r=e.lastImpact,o=e.home,a=e.viewport,i=e.onLiftImpact;return r.at&&"DROP"===n?"REORDER"===r.at.type?{impact:r,didDropInsideDroppable:!0}:{impact:pt({},r,{displaced:Ml}),didDropInsideDroppable:!0}:{impact:Iu({draggables:t,impact:i,destination:o,viewport:a,forceShouldAnimate:!0}),didDropInsideDroppable:!1}}({reason:a,lastImpact:o.impact,afterCritical:o.afterCritical,onLiftImpact:o.onLiftImpact,home:o.dimensions.droppables[o.critical.droppable.id],viewport:o.viewport,draggables:o.dimensions.draggables}),c=s.impact,f=s.didDropInsideDroppable,d=f?Nl(c):null,p=f?Tl(c):null,m={index:i.draggable.index,droppableId:i.droppable.id},h={draggableId:u.descriptor.id,type:u.descriptor.type,source:m,reason:a,mode:o.movementMode,destination:d,combine:p},v=function(e){var t=e.impact,n=e.draggable,r=e.dimensions,o=e.viewport,a=e.afterCritical,i=r.draggables,l=r.droppables,u=bu(t),s=u?l[u]:null,c=l[n.descriptor.droppableId],f=Du({impact:t,draggable:n,draggables:i,afterCritical:a,droppable:s||c,viewport:o});return fl(f,n.client.borderBox.center)}({impact:c,draggable:u,dimensions:l,viewport:o.viewport,afterCritical:o.afterCritical}),g={critical:o.critical,afterCritical:o.afterCritical,result:h,impact:c};if(!dl(o.current.client.offset,v)||Boolean(h.combine)){var b=function(e){var t=e.current,n=e.destination,r=e.reason,o=hl(t,n);if(o<=0)return us;if(o>=1500)return ss;var a=us+cs*(o/1500);return Number(("CANCEL"===r?.6*a:a).toFixed(2))}({current:o.current.client.offset,destination:v,reason:a});n(function(e){return{type:"DROP_ANIMATE",payload:e}}({newHomeClientOffset:v,dropDuration:b,completed:g}))}else n(Xu({completed:g}))}}else n(function(e){return{type:"DROP_PENDING",payload:e}}({reason:a}))}else e(r)}}},ds=function(){return{x:window.pageXOffset,y:window.pageYOffset}};function ps(e){var t=e.onWindowScroll;var n,r=Yi((function(){t(ds())})),o=(n=r,{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(e){e.target!==window&&e.target!==window.document||n()}}),a=Ki;function i(){return a!==Ki}return{start:function(){i()&&Zi(!1),a=Xi(window,[o])},stop:function(){i()||Zi(!1),r.cancel(),a(),a=Ki},isActive:i}}var ms=function(e){var t=ps({onWindowScroll:function(t){e.dispatch({type:"MOVE_BY_WINDOW_SCROLL",payload:{newScroll:t}})}});return function(e){return function(n){t.isActive()||"INITIAL_PUBLISH"!==n.type||t.start(),t.isActive()&&function(e){return"DROP_COMPLETE"===e.type||"DROP_ANIMATE"===e.type||"FLUSH"===e.type}(n)&&t.stop(),e(n)}}},hs=function(){var e=[];return{add:function(t){var n=setTimeout((function(){return function(t){var n=xl(e,(function(e){return e.timerId===t}));-1===n&&Zi(!1),e.splice(n,1)[0].callback()}(n)})),r={timerId:n,callback:t};e.push(r)},flush:function(){if(e.length){var t=[].concat(e);e.length=0,t.forEach((function(e){clearTimeout(e.timerId),e.callback()}))}}}},vs=function(e,t){Tu(),t(),Lu()},gs=function(e,t){return{draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t}},bs=function(e,t,n,r){if(e){var o=function(e){var t=!1,n=!1,r=setTimeout((function(){n=!0})),o=function(o){t||n||(t=!0,e(o),clearTimeout(r))};return o.wasCalled=function(){return t},o}(n);e(t,{announce:o}),o.wasCalled()||n(r(t))}else n(r(t))},ys=function(e,t){var n=function(e,t){var n=hs(),r=null,o=function(n){r||Zi(!1),r=null,vs(0,(function(){return bs(e().onDragEnd,n,t,ul)}))};return{beforeCapture:function(t,n){r&&Zi(!1),vs(0,(function(){var r=e().onBeforeCapture;r&&r({draggableId:t,mode:n})}))},beforeStart:function(t,n){r&&Zi(!1),vs(0,(function(){var r=e().onBeforeDragStart;r&&r(gs(t,n))}))},start:function(o,a){r&&Zi(!1);var i=gs(o,a);r={mode:a,lastCritical:o,lastLocation:i.source,lastCombine:null},n.add((function(){vs(0,(function(){return bs(e().onDragStart,i,t,il)}))}))},update:function(o,a){var i=Nl(a),l=Tl(a);r||Zi(!1);var u=!function(e,t){if(e===t)return!0;var n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,r=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&r}(o,r.lastCritical);u&&(r.lastCritical=o);var s,c,f=(s=r.lastLocation,c=i,!(null==s&&null==c||null!=s&&null!=c&&s.droppableId===c.droppableId&&s.index===c.index));f&&(r.lastLocation=i);var d=!function(e,t){return null==e&&null==t||null!=e&&null!=t&&(e.draggableId===t.draggableId&&e.droppableId===t.droppableId)}(r.lastCombine,l);if(d&&(r.lastCombine=l),u||f||d){var p=pt({},gs(o,r.mode),{combine:l,destination:i});n.add((function(){vs(0,(function(){return bs(e().onDragUpdate,p,t,ll)}))}))}},flush:function(){r||Zi(!1),n.flush()},drop:o,abort:function(){if(r){var e=pt({},gs(r.lastCritical,r.mode),{combine:null,destination:null,reason:"CANCEL"});o(e)}}}}(e,t);return function(e){return function(t){return function(r){if("BEFORE_INITIAL_CAPTURE"!==r.type){if("INITIAL_PUBLISH"===r.type){var o=r.payload.critical;return n.beforeStart(o,r.payload.movementMode),t(r),void n.start(o,r.payload.movementMode)}if("DROP_COMPLETE"===r.type){var a=r.payload.completed.result;return n.flush(),t(r),void n.drop(a)}if(t(r),"FLUSH"!==r.type){var i=e.getState();"DRAGGING"===i.phase&&n.update(i.critical,i.impact)}else n.abort()}else n.beforeCapture(r.payload.draggableId,r.payload.movementMode)}}}},_s=function(e){return function(t){return function(n){if("DROP_ANIMATION_FINISHED"===n.type){var r=e.getState();"DROP_ANIMATING"!==r.phase&&Zi(!1),e.dispatch(Xu({completed:r.completed}))}else t(n)}}},ws=function(e){var t=null,n=null;return function(r){return function(o){if("FLUSH"!==o.type&&"DROP_COMPLETE"!==o.type&&"DROP_ANIMATION_FINISHED"!==o.type||(n&&(cancelAnimationFrame(n),n=null),t&&(t(),t=null)),r(o),"DROP_ANIMATE"===o.type){var a={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){"DROP_ANIMATING"===e.getState().phase&&e.dispatch({type:"DROP_ANIMATION_FINISHED",payload:null})}};n=requestAnimationFrame((function(){n=null,t=Xi(window,[a])}))}}}},Es=function(e){return function(t){return function(n){if(t(n),"PUBLISH_WHILE_DRAGGING"===n.type){var r=e.getState();"DROP_PENDING"===r.phase&&(r.isWaiting||e.dispatch(Ju({reason:r.reason})))}}}},Ss=ei,xs=function(e){var t,n=e.dimensionMarshal,r=e.focusMarshal,o=e.styleMarshal,a=e.getResponders,i=e.announce,l=e.autoScroller;return Ya(Vu,Ss(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},o={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},a=t.map((function(e){return e(o)}));return Za({},n,{dispatch:r=ei.apply(void 0,a)(n.dispatch)})}}}((t=o,function(){return function(e){return function(n){"INITIAL_PUBLISH"===n.type&&t.dragging(),"DROP_ANIMATE"===n.type&&t.dropping(n.payload.completed.result.reason),"FLUSH"!==n.type&&"DROP_COMPLETE"!==n.type||t.resting(),e(n)}}}),function(e){return function(){return function(t){return function(n){"DROP_COMPLETE"!==n.type&&"FLUSH"!==n.type&&"DROP_ANIMATE"!==n.type||e.stopPublishing(),t(n)}}}}(n),function(e){return function(t){var n=t.getState,r=t.dispatch;return function(t){return function(o){if("LIFT"===o.type){var a=o.payload,i=a.id,l=a.clientSelection,u=a.movementMode,s=n();"DROP_ANIMATING"===s.phase&&r(Xu({completed:s.completed})),"IDLE"!==n().phase&&Zi(!1),r({type:"FLUSH",payload:null}),r({type:"BEFORE_INITIAL_CAPTURE",payload:{draggableId:i,movementMode:u}});var c={draggableId:i,scrollOptions:{shouldPublishImmediately:"SNAP"===u}},f=e.startPublishing(c),d=f.critical,p=f.dimensions,m=f.viewport;r(function(e){return{type:"INITIAL_PUBLISH",payload:e}}({critical:d,dimensions:p,clientSelection:l,movementMode:u,viewport:m}))}else t(o)}}}}(n),fs,_s,ws,Es,function(e){return function(t){return function(n){return function(r){if(function(e){return"DROP_COMPLETE"===e.type||"DROP_ANIMATE"===e.type||"FLUSH"===e.type}(r))return e.stop(),void n(r);if("INITIAL_PUBLISH"===r.type){n(r);var o=t.getState();return"DRAGGING"!==o.phase&&Zi(!1),void e.start(o)}n(r),e.scroll(t.getState())}}}}(l),ms,function(e){var t=!1;return function(){return function(n){return function(r){if("INITIAL_PUBLISH"===r.type)return t=!0,e.tryRecordFocus(r.payload.critical.draggable.id),n(r),void e.tryRestoreFocusRecorded();if(n(r),t){if("FLUSH"===r.type)return t=!1,void e.tryRestoreFocusRecorded();if("DROP_COMPLETE"===r.type){t=!1;var o=r.payload.completed.result;o.combine&&e.tryShiftRecord(o.draggableId,o.combine.draggableId),e.tryRestoreFocusRecorded()}}}}}}(r),ys(a,i))))};var Os=function(e){var t=e.scrollHeight,n=e.scrollWidth,r=e.height,o=e.width,a=fl({x:n,y:t},{x:o,y:r});return{x:Math.max(0,a.x),y:Math.max(0,a.y)}},Cs=function(){var e=document.documentElement;return e||Zi(!1),e},ks=function(){var e=Cs();return Os({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},Ps=function(e){var t=e.critical,n=e.scrollOptions,r=e.registry;Tu();var o,a,i,l,u,s,c,f=(o=ds(),a=ks(),i=o.y,l=o.x,u=Cs(),s=u.clientWidth,c=u.clientHeight,{frame:Fi({top:i,left:l,right:l+s,bottom:i+c}),scroll:{initial:o,current:o,max:a,diff:{value:sl,displacement:sl}}}),d=f.scroll.current,p=t.droppable,m=r.droppable.getAllByType(p.type).map((function(e){return e.callbacks.getDimensionAndWatchScroll(d,n)})),h=r.draggable.getAllByType(t.draggable.type).map((function(e){return e.getDimension(d)})),v={draggables:Pl(h),droppables:kl(m)};return Lu(),{dimensions:v,critical:t,viewport:f}};function Is(e,t,n){return n.descriptor.id!==t.id&&(n.descriptor.type===t.type&&"virtual"===e.droppable.getById(n.descriptor.droppableId).descriptor.mode)}var Ds,Rs,Ns=function(e,t){var n=null,r=function(e){var t=e.registry,n=e.callbacks,r={additions:{},removals:{},modified:{}},o=null,a=function(){o||(n.collectionStarting(),o=requestAnimationFrame((function(){o=null,Tu();var e=r,a=e.additions,i=e.removals,l=e.modified,u=Object.keys(a).map((function(e){return t.draggable.getById(e).getDimension(sl)})).sort((function(e,t){return e.descriptor.index-t.descriptor.index})),s=Object.keys(l).map((function(e){return{droppableId:e,scroll:t.droppable.getById(e).callbacks.getScrollWhileDragging()}})),c={additions:u,removals:Object.keys(i),modified:s};r={additions:{},removals:{},modified:{}},Lu(),n.publish(c)})))};return{add:function(e){var t=e.descriptor.id;r.additions[t]=e,r.modified[e.descriptor.droppableId]=!0,r.removals[t]&&delete r.removals[t],a()},remove:function(e){var t=e.descriptor;r.removals[t.id]=!0,r.modified[t.droppableId]=!0,r.additions[t.id]&&delete r.additions[t.id],a()},stop:function(){o&&(cancelAnimationFrame(o),o=null,r={additions:{},removals:{},modified:{}})}}}({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),o=function(t){n||Zi(!1);var o=n.critical.draggable;"ADDITION"===t.type&&Is(e,o,t.value)&&r.add(t.value),"REMOVAL"===t.type&&Is(e,o,t.value)&&r.remove(t.value)};return{updateDroppableIsEnabled:function(r,o){e.droppable.exists(r)||Zi(!1),n&&t.updateDroppableIsEnabled({id:r,isEnabled:o})},updateDroppableIsCombineEnabled:function(r,o){n&&(e.droppable.exists(r)||Zi(!1),t.updateDroppableIsCombineEnabled({id:r,isCombineEnabled:o}))},scrollDroppable:function(t,r){n&&e.droppable.getById(t).callbacks.scroll(r)},updateDroppableScroll:function(r,o){n&&(e.droppable.exists(r)||Zi(!1),t.updateDroppableScroll({id:r,newScroll:o}))},startPublishing:function(t){n&&Zi(!1);var r=e.draggable.getById(t.draggableId),a=e.droppable.getById(r.descriptor.droppableId),i={draggable:r.descriptor,droppable:a.descriptor},l=e.subscribe(o);return n={critical:i,unsubscribe:l},Ps({critical:i,registry:e,scrollOptions:t.scrollOptions})},stopPublishing:function(){if(n){r.stop();var t=n.critical.droppable;e.droppable.getAllByType(t.type).forEach((function(e){return e.callbacks.dragStopped()})),n.unsubscribe(),n=null}}}},Ts=function(e,t){return"IDLE"===e.phase||"DROP_ANIMATING"===e.phase&&(e.completed.result.draggableId!==t&&"DROP"===e.completed.result.reason)},Ls=function(e){window.scrollBy(e.x,e.y)},As=Bo((function(e){return Il(e).filter((function(e){return!!e.isEnabled&&!!e.frame}))})),js=function(e){var t=e.center,n=e.destination,r=e.droppables;if(n){var o=r[n];return o.frame?o:null}return function(e,t){return Ol(As(t),(function(t){return t.frame||Zi(!1),wu(t.frame.pageMarginBox)(e)}))}(t,r)},Ms=.25,Fs=.05,Bs=28,Vs=function(e){return Math.pow(e,2)},Us={stopDampeningAt:1200,accelerateAt:360},zs=function(e){var t=e.startOfRange,n=e.endOfRange,r=e.current,o=n-t;return 0===o?0:(r-t)/o},Hs=Us.accelerateAt,Ws=Us.stopDampeningAt,Gs=function(e){var t=e.distanceToEdge,n=e.thresholds,r=e.dragStartTime,o=e.shouldUseTimeDampening,a=function(e,t){if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return Bs;if(e===t.startScrollingFrom)return 1;var n=zs({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),r=Bs*Vs(1-n);return Math.ceil(r)}(t,n);return 0===a?0:o?Math.max(function(e,t){var n=t,r=Ws,o=Date.now()-n;if(o>=Ws)return e;if(o<Hs)return 1;var a=zs({startOfRange:Hs,endOfRange:r,current:o}),i=e*Vs(a);return Math.ceil(i)}(a,r),1):a},qs=function(e){var t=e.container,n=e.distanceToEdges,r=e.dragStartTime,o=e.axis,a=e.shouldUseTimeDampening,i=function(e,t){return{startScrollingFrom:e[t.size]*Ms,maxScrollValueAt:e[t.size]*Fs}}(t,o);return n[o.end]<n[o.start]?Gs({distanceToEdge:n[o.end],thresholds:i,dragStartTime:r,shouldUseTimeDampening:a}):-1*Gs({distanceToEdge:n[o.start],thresholds:i,dragStartTime:r,shouldUseTimeDampening:a})},$s=gl((function(e){return 0===e?0:e})),Ys=function(e){var t=e.dragStartTime,n=e.container,r=e.subject,o=e.center,a=e.shouldUseTimeDampening,i={top:o.y-n.top,right:n.right-o.x,bottom:n.bottom-o.y,left:o.x-n.left},l=qs({container:n,distanceToEdges:i,dragStartTime:t,axis:zl,shouldUseTimeDampening:a}),u=qs({container:n,distanceToEdges:i,dragStartTime:t,axis:Hl,shouldUseTimeDampening:a}),s=$s({x:u,y:l});if(dl(s,sl))return null;var c=function(e){var t=e.container,n=e.subject,r=e.proposedScroll,o=n.height>t.height,a=n.width>t.width;return a||o?a&&o?null:{x:a?0:r.x,y:o?0:r.y}:r}({container:n,subject:r,proposedScroll:s});return c?dl(c,sl)?null:c:null},Qs=gl((function(e){return 0===e?0:e>0?1:-1})),Ks=(Ds=function(e,t){return e<0?e:e>t?e-t:0},function(e){var t=e.current,n=e.max,r=e.change,o=cl(t,r),a={x:Ds(o.x,n.x),y:Ds(o.y,n.y)};return dl(a,sl)?null:a}),Xs=function(e){var t=e.max,n=e.current,r=e.change,o={x:Math.max(n.x,t.x),y:Math.max(n.y,t.y)},a=Qs(r),i=Ks({max:o,current:n,change:a});return!i||(0!==a.x&&0===i.x||0!==a.y&&0===i.y)},Js=function(e,t){return Xs({current:e.scroll.current,max:e.scroll.max,change:t})},Zs=function(e,t){var n=e.frame;return!!n&&Xs({current:n.scroll.current,max:n.scroll.max,change:t})},ec=function(e){var t=e.state,n=e.dragStartTime,r=e.shouldUseTimeDampening,o=e.scrollWindow,a=e.scrollDroppable,i=t.current.page.borderBoxCenter,l=t.dimensions.draggables[t.critical.draggable.id].page.marginBox;if(t.isWindowScrollAllowed){var u=function(e){var t=e.viewport,n=e.subject,r=e.center,o=e.dragStartTime,a=e.shouldUseTimeDampening,i=Ys({dragStartTime:o,container:t.frame,subject:n,center:r,shouldUseTimeDampening:a});return i&&Js(t,i)?i:null}({dragStartTime:n,viewport:t.viewport,subject:l,center:i,shouldUseTimeDampening:r});if(u)return void o(u)}var s=js({center:i,destination:bu(t.impact),droppables:t.dimensions.droppables});if(s){var c=function(e){var t=e.droppable,n=e.subject,r=e.center,o=e.dragStartTime,a=e.shouldUseTimeDampening,i=t.frame;if(!i)return null;var l=Ys({dragStartTime:o,container:i.pageMarginBox,subject:n,center:r,shouldUseTimeDampening:a});return l&&Zs(t,l)?l:null}({dragStartTime:n,droppable:s,subject:l,center:i,shouldUseTimeDampening:r});c&&a(s.descriptor.id,c)}},tc=function(e){var t=e.move,n=e.scrollDroppable,r=e.scrollWindow,o=function(e,t){if(!Zs(e,t))return t;var r=function(e,t){var n=e.frame;return n&&Zs(e,t)?Ks({current:n.scroll.current,max:n.scroll.max,change:t}):null}(e,t);if(!r)return n(e.descriptor.id,t),null;var o=fl(t,r);return n(e.descriptor.id,o),fl(t,o)},a=function(e,t,n){if(!e)return n;if(!Js(t,n))return n;var o=function(e,t){if(!Js(e,t))return null;var n=e.scroll.max,r=e.scroll.current;return Ks({current:r,max:n,change:t})}(t,n);if(!o)return r(n),null;var a=fl(n,o);return r(a),fl(n,a)};return function(e){var n=e.scrollJumpRequest;if(n){var r=bu(e.impact);r||Zi(!1);var i=o(e.dimensions.droppables[r],n);if(i){var l=e.viewport,u=a(e.isWindowScrollAllowed,l,i);u&&function(e,n){var r=cl(e.current.client.selection,n);t({client:r})}(e,u)}}}},nc=function(e){var t=e.scrollDroppable,n=e.scrollWindow,r=e.move,o=function(e){var t=e.scrollWindow,n=e.scrollDroppable,r=Yi(t),o=Yi(n),a=null,i=function(e){a||Zi(!1);var t=a,n=t.shouldUseTimeDampening,i=t.dragStartTime;ec({state:e,scrollWindow:r,scrollDroppable:o,dragStartTime:i,shouldUseTimeDampening:n})};return{start:function(e){Tu(),a&&Zi(!1);var t=Date.now(),n=!1,r=function(){n=!0};ec({state:e,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:r,scrollDroppable:r}),a={dragStartTime:t,shouldUseTimeDampening:n},Lu(),n&&i(e)},stop:function(){a&&(r.cancel(),o.cancel(),a=null)},scroll:i}}({scrollWindow:n,scrollDroppable:t}),a=tc({move:r,scrollWindow:n,scrollDroppable:t});return{scroll:function(e){"DRAGGING"===e.phase&&("FLUID"!==e.movementMode?e.scrollJumpRequest&&a(e):o.scroll(e))},start:o.start,stop:o.stop}},rc={base:Rs="data-rbd-drag-handle",draggableId:Rs+"-draggable-id",contextId:Rs+"-context-id"},oc=function(){var e="data-rbd-draggable";return{base:e,contextId:e+"-context-id",id:e+"-id"}}(),ac=function(){var e="data-rbd-droppable";return{base:e,contextId:e+"-context-id",id:e+"-id"}}(),ic={contextId:"data-rbd-scroll-container-context-id"},lc=function(e,t){return e.map((function(e){var n=e.styles[t];return n?e.selector+" { "+n+" }":""})).join(" ")},uc="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?o.useLayoutEffect:o.useEffect,sc=function(){var e=document.querySelector("head");return e||Zi(!1),e},cc=function(e){var t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.type="text/css",t};function fc(e,t){var n=Ai((function(){return function(e){var t,n,r,o=(t=e,function(e){return"["+e+'="'+t+'"]'}),a=(n="\n cursor: -webkit-grab;\n cursor: grab;\n ",{selector:o(rc.contextId),styles:{always:"\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n touch-action: manipulation;\n ",resting:n,dragging:"pointer-events: none;",dropAnimating:n}}),i=[(r="\n transition: "+os.outOfTheWay+";\n ",{selector:o(oc.contextId),styles:{dragging:r,dropAnimating:r,userCancel:r}}),a,{selector:o(ac.contextId),styles:{always:"overflow-anchor: none;"}},{selector:"body",styles:{dragging:"\n cursor: grabbing;\n cursor: -webkit-grabbing;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n overflow-anchor: none;\n "}}];return{always:lc(i,"always"),resting:lc(i,"resting"),dragging:lc(i,"dragging"),dropAnimating:lc(i,"dropAnimating"),userCancel:lc(i,"userCancel")}}(e)}),[e]),r=Object(o.useRef)(null),a=Object(o.useRef)(null),i=ji(Bo((function(e){var t=a.current;t||Zi(!1),t.textContent=e})),[]),l=ji((function(e){var t=r.current;t||Zi(!1),t.textContent=e}),[]);uc((function(){(r.current||a.current)&&Zi(!1);var o=cc(t),u=cc(t);return r.current=o,a.current=u,o.setAttribute("data-rbd-always",e),u.setAttribute("data-rbd-dynamic",e),sc().appendChild(o),sc().appendChild(u),l(n.always),i(n.resting),function(){var e=function(e){var t=e.current;t||Zi(!1),sc().removeChild(t),e.current=null};e(r),e(a)}}),[t,l,i,n.always,n.resting,e]);var u=ji((function(){return i(n.dragging)}),[i,n.dragging]),s=ji((function(e){i("DROP"!==e?n.userCancel:n.dropAnimating)}),[i,n.dropAnimating,n.userCancel]),c=ji((function(){a.current&&i(n.resting)}),[i,n.resting]);return Ai((function(){return{dragging:u,dropping:s,resting:c}}),[u,s,c])}var dc=function(e){return e&&e.ownerDocument?e.ownerDocument.defaultView:window};function pc(e){return e instanceof dc(e).HTMLElement}function mc(e,t){var n="["+rc.contextId+'="'+e+'"]',r=Cl(document.querySelectorAll(n));if(!r.length)return null;var o=Ol(r,(function(e){return e.getAttribute(rc.draggableId)===t}));return o&&pc(o)?o:null}function hc(){var e={draggables:{},droppables:{}},t=[];function n(e){t.length&&t.forEach((function(t){return t(e)}))}function r(t){return e.draggables[t]||null}function o(t){return e.droppables[t]||null}return{draggable:{register:function(t){e.draggables[t.descriptor.id]=t,n({type:"ADDITION",value:t})},update:function(t,n){var r=e.draggables[n.descriptor.id];r&&r.uniqueId===t.uniqueId&&(delete e.draggables[n.descriptor.id],e.draggables[t.descriptor.id]=t)},unregister:function(t){var o=t.descriptor.id,a=r(o);a&&t.uniqueId===a.uniqueId&&(delete e.draggables[o],n({type:"REMOVAL",value:t}))},getById:function(e){var t=r(e);return t||Zi(!1),t},findById:r,exists:function(e){return Boolean(r(e))},getAllByType:function(t){return Sl(e.draggables).filter((function(e){return e.descriptor.type===t}))}},droppable:{register:function(t){e.droppables[t.descriptor.id]=t},unregister:function(t){var n=o(t.descriptor.id);n&&t.uniqueId===n.uniqueId&&delete e.droppables[t.descriptor.id]},getById:function(e){var t=o(e);return t||Zi(!1),t},findById:o,exists:function(e){return Boolean(o(e))},getAllByType:function(t){return Sl(e.droppables).filter((function(e){return e.descriptor.type===t}))}},subscribe:function(e){return t.push(e),function(){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}},clean:function(){e.draggables={},e.droppables={},t.length=0}}}var vc=a.a.createContext(null),gc=function(){var e=document.body;return e||Zi(!1),e},bc={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"};var yc=0,_c={separator:"::"};function wc(e,t){return void 0===t&&(t=_c),Ai((function(){return""+e+t.separator+yc++}),[t.separator,e])}var Ec=a.a.createContext(null);function Sc(e){0}function xc(e,t){Sc()}function Oc(){xc()}function Cc(e){var t=Object(o.useRef)(e);return Object(o.useEffect)((function(){t.current=e})),t}var kc,Pc=((kc={})[13]=!0,kc[9]=!0,kc),Ic=function(e){Pc[e.keyCode]&&e.preventDefault()},Dc=function(){var e="visibilitychange";return"undefined"==typeof document?e:Ol([e,"ms"+e,"webkit"+e,"moz"+e,"o"+e],(function(e){return"on"+e in document}))||e}();var Rc,Nc={type:"IDLE"};function Tc(e){var t=e.cancel,n=e.completed,r=e.getPhase,o=e.setPhase;return[{eventName:"mousemove",fn:function(e){var t=e.button,n=e.clientX,a=e.clientY;if(0===t){var i={x:n,y:a},l=r();if("DRAGGING"===l.type)return e.preventDefault(),void l.actions.move(i);"PENDING"!==l.type&&Zi(!1);var u=l.point;if(s=u,c=i,Math.abs(c.x-s.x)>=5||Math.abs(c.y-s.y)>=5){var s,c;e.preventDefault();var f=l.actions.fluidLift(i);o({type:"DRAGGING",actions:f})}}}},{eventName:"mouseup",fn:function(e){var o=r();"DRAGGING"===o.type?(e.preventDefault(),o.actions.drop({shouldBlockNextClick:!0}),n()):t()}},{eventName:"mousedown",fn:function(e){"DRAGGING"===r().type&&e.preventDefault(),t()}},{eventName:"keydown",fn:function(e){if("PENDING"!==r().type)return 27===e.keyCode?(e.preventDefault(),void t()):void Ic(e);t()}},{eventName:"resize",fn:t},{eventName:"scroll",options:{passive:!0,capture:!1},fn:function(){"PENDING"===r().type&&t()}},{eventName:"webkitmouseforcedown",fn:function(e){var n=r();"IDLE"===n.type&&Zi(!1),n.actions.shouldRespectForcePress()?t():e.preventDefault()}},{eventName:Dc,fn:t}]}function Lc(){}var Ac=((Rc={})[34]=!0,Rc[33]=!0,Rc[36]=!0,Rc[35]=!0,Rc);function jc(e,t){function n(){t(),e.cancel()}return[{eventName:"keydown",fn:function(r){return 27===r.keyCode?(r.preventDefault(),void n()):32===r.keyCode?(r.preventDefault(),t(),void e.drop()):40===r.keyCode?(r.preventDefault(),void e.moveDown()):38===r.keyCode?(r.preventDefault(),void e.moveUp()):39===r.keyCode?(r.preventDefault(),void e.moveRight()):37===r.keyCode?(r.preventDefault(),void e.moveLeft()):void(Ac[r.keyCode]?r.preventDefault():Ic(r))}},{eventName:"mousedown",fn:n},{eventName:"mouseup",fn:n},{eventName:"click",fn:n},{eventName:"touchstart",fn:n},{eventName:"resize",fn:n},{eventName:"wheel",fn:n,options:{passive:!0}},{eventName:Dc,fn:n}]}var Mc={type:"IDLE"};var Fc={input:!0,button:!0,textarea:!0,select:!0,option:!0,optgroup:!0,video:!0,audio:!0};function Bc(e,t){var n=t.target;return!!pc(n)&&function e(t,n){if(null==n)return!1;if(Boolean(Fc[n.tagName.toLowerCase()]))return!0;var r=n.getAttribute("contenteditable");return"true"===r||""===r||n!==t&&e(t,n.parentElement)}(e,n)}var Vc=function(e){return Fi(e.getBoundingClientRect()).center};var Uc="undefined"==typeof document?"matches":Ol(["matches","msMatchesSelector","webkitMatchesSelector"],(function(e){return e in Element.prototype}))||"matches";function zc(e,t){return e.closest?e.closest(t):function e(t,n){return null==t?null:t[Uc](n)?t:e(t.parentElement,n)}(e,t)}function Hc(e,t){var n,r=t.target;if(!((n=r)instanceof dc(n).Element))return null;var o=zc(r,function(e){return"["+rc.contextId+'="'+e+'"]'}(e));return o&&pc(o)?o:null}function Wc(e){e.preventDefault()}function Gc(e){var t=e.expected,n=e.phase,r=e.isLockActive;e.shouldWarn;return!!r()&&t===n}function qc(e){var t=e.lockAPI,n=e.store,r=e.registry,o=e.draggableId;if(t.isClaimed())return!1;var a=r.draggable.findById(o);return!!a&&(!!a.options.isEnabled&&!!Ts(n.getState(),o))}function $c(e){var t=e.lockAPI,n=e.contextId,r=e.store,o=e.registry,a=e.draggableId,i=e.forceSensorStop,l=e.sourceEvent;if(!qc({lockAPI:t,store:r,registry:o,draggableId:a}))return null;var u=o.draggable.getById(a),s=function(e,t){var n="["+oc.contextId+'="'+e+'"]',r=Ol(Cl(document.querySelectorAll(n)),(function(e){return e.getAttribute(oc.id)===t}));return r&&pc(r)?r:null}(n,u.descriptor.id);if(!s)return null;if(l&&!u.options.canDragInteractiveElements&&Bc(s,l))return null;var c=t.claim(i||Ki),f="PRE_DRAG";function d(){return u.options.shouldRespectForcePress}function p(){return t.isActive(c)}var m=function(e,t){Gc({expected:e,phase:f,isLockActive:p,shouldWarn:!0})&&r.dispatch(t())}.bind(null,"DRAGGING");function h(e){function n(){t.release(),f="COMPLETED"}function o(t,o){if(void 0===o&&(o={shouldBlockNextClick:!1}),e.cleanup(),o.shouldBlockNextClick){var a=Xi(window,[{eventName:"click",fn:Wc,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(a)}n(),r.dispatch(Ju({reason:t}))}return"PRE_DRAG"!==f&&(n(),"PRE_DRAG"!==f&&Zi(!1)),r.dispatch(function(e){return{type:"LIFT",payload:e}}(e.liftActionArgs)),f="DRAGGING",pt({isActive:function(){return Gc({expected:"DRAGGING",phase:f,isLockActive:p,shouldWarn:!1})},shouldRespectForcePress:d,drop:function(e){return o("DROP",e)},cancel:function(e){return o("CANCEL",e)}},e.actions)}return{isActive:function(){return Gc({expected:"PRE_DRAG",phase:f,isLockActive:p,shouldWarn:!1})},shouldRespectForcePress:d,fluidLift:function(e){var t=Yi((function(e){m((function(){return qu({client:e})}))}));return pt({},h({liftActionArgs:{id:a,clientSelection:e,movementMode:"FLUID"},cleanup:function(){return t.cancel()},actions:{move:t}}),{move:t})},snapLift:function(){var e={moveUp:function(){return m($u)},moveRight:function(){return m(Qu)},moveDown:function(){return m(Yu)},moveLeft:function(){return m(Ku)}};return h({liftActionArgs:{id:a,clientSelection:Vc(s),movementMode:"SNAP"},cleanup:Ki,actions:e})},abort:function(){Gc({expected:"PRE_DRAG",phase:f,isLockActive:p,shouldWarn:!0})&&t.release()}}}var Yc=[function(e){var t=Object(o.useRef)(Nc),n=Object(o.useRef)(Ki),r=Ai((function(){return{eventName:"mousedown",fn:function(t){if(!t.defaultPrevented&&0===t.button&&!(t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)){var r=e.findClosestDraggableId(t);if(r){var o=e.tryGetLock(r,l,{sourceEvent:t});if(o){t.preventDefault();var a={x:t.clientX,y:t.clientY};n.current(),c(o,a)}}}}}}),[e]),a=Ai((function(){return{eventName:"webkitmouseforcewillbegin",fn:function(t){if(!t.defaultPrevented){var n=e.findClosestDraggableId(t);if(n){var r=e.findOptionsForDraggable(n);r&&(r.shouldRespectForcePress||e.canGetLock(n)&&t.preventDefault())}}}}}),[e]),i=ji((function(){n.current=Xi(window,[a,r],{passive:!1,capture:!0})}),[a,r]),l=ji((function(){"IDLE"!==t.current.type&&(t.current=Nc,n.current(),i())}),[i]),u=ji((function(){var e=t.current;l(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()}),[l]),s=ji((function(){var e=Tc({cancel:u,completed:l,getPhase:function(){return t.current},setPhase:function(e){t.current=e}});n.current=Xi(window,e,{capture:!0,passive:!1})}),[u,l]),c=ji((function(e,n){"IDLE"!==t.current.type&&Zi(!1),t.current={type:"PENDING",point:n,actions:e},s()}),[s]);uc((function(){return i(),function(){n.current()}}),[i])},function(e){var t=Object(o.useRef)(Lc),n=Ai((function(){return{eventName:"keydown",fn:function(n){if(!n.defaultPrevented&&32===n.keyCode){var o=e.findClosestDraggableId(n);if(o){var a=e.tryGetLock(o,u,{sourceEvent:n});if(a){n.preventDefault();var i=!0,l=a.snapLift();t.current(),t.current=Xi(window,jc(l,u),{capture:!0,passive:!1})}}}function u(){i||Zi(!1),i=!1,t.current(),r()}}}}),[e]),r=ji((function(){t.current=Xi(window,[n],{passive:!1,capture:!0})}),[n]);uc((function(){return r(),function(){t.current()}}),[r])},function(e){var t=Object(o.useRef)(Mc),n=Object(o.useRef)(Ki),r=ji((function(){return t.current}),[]),a=ji((function(e){t.current=e}),[]),i=Ai((function(){return{eventName:"touchstart",fn:function(t){if(!t.defaultPrevented){var r=e.findClosestDraggableId(t);if(r){var o=e.tryGetLock(r,u,{sourceEvent:t});if(o){var a=t.touches[0],i={x:a.clientX,y:a.clientY};n.current(),d(o,i)}}}}}}),[e]),l=ji((function(){n.current=Xi(window,[i],{capture:!0,passive:!1})}),[i]),u=ji((function(){var e=t.current;"IDLE"!==e.type&&("PENDING"===e.type&&clearTimeout(e.longPressTimerId),a(Mc),n.current(),l())}),[l,a]),s=ji((function(){var e=t.current;u(),"DRAGGING"===e.type&&e.actions.cancel({shouldBlockNextClick:!0}),"PENDING"===e.type&&e.actions.abort()}),[u]),c=ji((function(){var e={capture:!0,passive:!1},t={cancel:s,completed:u,getPhase:r},o=Xi(window,function(e){var t=e.cancel,n=e.completed,r=e.getPhase;return[{eventName:"touchmove",options:{capture:!1},fn:function(e){var n=r();if("DRAGGING"===n.type){n.hasMoved=!0;var o=e.touches[0],a={x:o.clientX,y:o.clientY};e.preventDefault(),n.actions.move(a)}else t()}},{eventName:"touchend",fn:function(e){var o=r();"DRAGGING"===o.type?(e.preventDefault(),o.actions.drop({shouldBlockNextClick:!0}),n()):t()}},{eventName:"touchcancel",fn:function(e){"DRAGGING"===r().type?(e.preventDefault(),t()):t()}},{eventName:"touchforcechange",fn:function(e){var n=r();"IDLE"===n.type&&Zi(!1);var o=e.touches[0];if(o&&o.force>=.15){var a=n.actions.shouldRespectForcePress();if("PENDING"!==n.type)return a?n.hasMoved?void e.preventDefault():void t():void e.preventDefault();a&&t()}}},{eventName:Dc,fn:t}]}(t),e),a=Xi(window,function(e){var t=e.cancel,n=e.getPhase;return[{eventName:"orientationchange",fn:t},{eventName:"resize",fn:t},{eventName:"contextmenu",fn:function(e){e.preventDefault()}},{eventName:"keydown",fn:function(e){"DRAGGING"===n().type?(27===e.keyCode&&e.preventDefault(),t()):t()}},{eventName:Dc,fn:t}]}(t),e);n.current=function(){o(),a()}}),[s,r,u]),f=ji((function(){var e=r();"PENDING"!==e.type&&Zi(!1);var t=e.actions.fluidLift(e.point);a({type:"DRAGGING",actions:t,hasMoved:!1})}),[r,a]),d=ji((function(e,t){"IDLE"!==r().type&&Zi(!1);var n=setTimeout(f,120);a({type:"PENDING",point:t,actions:e,longPressTimerId:n}),c()}),[c,r,a,f]);uc((function(){return l(),function(){n.current();var e=r();"PENDING"===e.type&&(clearTimeout(e.longPressTimerId),a(Mc))}}),[r,l,a]),uc((function(){return Xi(window,[{eventName:"touchmove",fn:function(){},options:{capture:!1,passive:!1}}])}),[])}];function Qc(e){var t=e.contextId,n=e.store,r=e.registry,a=e.customSensors,i=e.enableDefaultSensors,l=[].concat(i?Yc:[],a||[]),u=Object(o.useState)((function(){return function(){var e=null;function t(){e||Zi(!1),e=null}return{isClaimed:function(){return Boolean(e)},isActive:function(t){return t===e},claim:function(t){e&&Zi(!1);var n={abandon:t};return e=n,n},release:t,tryAbandon:function(){e&&(e.abandon(),t())}}}()}))[0],s=ji((function(e,t){e.isDragging&&!t.isDragging&&u.tryAbandon()}),[u]);uc((function(){var e=n.getState();return n.subscribe((function(){var t=n.getState();s(e,t),e=t}))}),[u,n,s]),uc((function(){return u.tryAbandon}),[u.tryAbandon]);var c=ji((function(e){return qc({lockAPI:u,registry:r,store:n,draggableId:e})}),[u,r,n]),f=ji((function(e,o,a){return $c({lockAPI:u,registry:r,contextId:t,store:n,draggableId:e,forceSensorStop:o,sourceEvent:a&&a.sourceEvent?a.sourceEvent:null})}),[t,u,r,n]),d=ji((function(e){return function(e,t){var n=Hc(e,t);return n?n.getAttribute(rc.draggableId):null}(t,e)}),[t]),p=ji((function(e){var t=r.draggable.findById(e);return t?t.options:null}),[r.draggable]),m=ji((function(){u.isClaimed()&&(u.tryAbandon(),"IDLE"!==n.getState().phase&&n.dispatch({type:"FLUSH",payload:null}))}),[u,n]),h=ji(u.isClaimed,[u]),v=Ai((function(){return{canGetLock:c,tryGetLock:f,findClosestDraggableId:d,findOptionsForDraggable:p,tryReleaseLock:m,isLockClaimed:h}}),[c,f,d,p,m,h]);Sc();for(var g=0;g<l.length;g++)l[g](v)}function Kc(e){return e.current||Zi(!1),e.current}function Xc(e){var t=e.contextId,n=e.setCallbacks,r=e.sensors,i=e.nonce,l=e.dragHandleUsageInstructions,u=Object(o.useRef)(null);Oc();var s=Cc(e),c=ji((function(){return function(e){return{onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}}(s.current)}),[s]),f=function(e){var t=Ai((function(){return function(e){return"rbd-announcement-"+e}(e)}),[e]),n=Object(o.useRef)(null);return Object(o.useEffect)((function(){var e=document.createElement("div");return n.current=e,e.id=t,e.setAttribute("aria-live","assertive"),e.setAttribute("aria-atomic","true"),pt(e.style,bc),gc().appendChild(e),function(){setTimeout((function(){var t=gc();t.contains(e)&&t.removeChild(e),e===n.current&&(n.current=null)}))}}),[t]),ji((function(e){var t=n.current;t&&(t.textContent=e)}),[])}(t),d=function(e){var t=e.contextId,n=e.text,r=wc("hidden-text",{separator:"-"}),a=Ai((function(){return"rbd-hidden-text-"+(e={contextId:t,uniqueId:r}).contextId+"-"+e.uniqueId;var e}),[r,t]);return Object(o.useEffect)((function(){var e=document.createElement("div");return e.id=a,e.textContent=n,e.style.display="none",gc().appendChild(e),function(){var t=gc();t.contains(e)&&t.removeChild(e)}}),[a,n]),a}({contextId:t,text:l}),p=fc(t,i),m=ji((function(e){Kc(u).dispatch(e)}),[]),h=Ai((function(){return Ka({publishWhileDragging:Uu,updateDroppableScroll:Hu,updateDroppableIsEnabled:Wu,updateDroppableIsCombineEnabled:Gu,collectionStarting:zu},m)}),[m]),v=function(){var e=Ai(hc,[]);return Object(o.useEffect)((function(){return function(){requestAnimationFrame(e.clean)}}),[e]),e}(),g=Ai((function(){return Ns(v,h)}),[v,h]),b=Ai((function(){return nc(pt({scrollWindow:Ls,scrollDroppable:g.scrollDroppable},Ka({move:qu},m)))}),[g.scrollDroppable,m]),y=function(e){var t=Object(o.useRef)({}),n=Object(o.useRef)(null),r=Object(o.useRef)(null),a=Object(o.useRef)(!1),i=ji((function(e,n){var r={id:e,focus:n};return t.current[e]=r,function(){var n=t.current;n[e]!==r&&delete n[e]}}),[]),l=ji((function(t){var n=mc(e,t);n&&n!==document.activeElement&&n.focus()}),[e]),u=ji((function(e,t){n.current===e&&(n.current=t)}),[]),s=ji((function(){r.current||a.current&&(r.current=requestAnimationFrame((function(){r.current=null;var e=n.current;e&&l(e)})))}),[l]),c=ji((function(e){n.current=null;var t=document.activeElement;t&&t.getAttribute(rc.draggableId)===e&&(n.current=e)}),[]);return uc((function(){return a.current=!0,function(){a.current=!1;var e=r.current;e&&cancelAnimationFrame(e)}}),[]),Ai((function(){return{register:i,tryRecordFocus:c,tryRestoreFocusRecorded:s,tryShiftRecord:u}}),[i,c,s,u])}(t),_=Ai((function(){return xs({announce:f,autoScroller:b,dimensionMarshal:g,focusMarshal:y,getResponders:c,styleMarshal:p})}),[f,b,g,y,c,p]);u.current=_;var w=ji((function(){var e=Kc(u);"IDLE"!==e.getState().phase&&e.dispatch({type:"FLUSH",payload:null})}),[]),E=ji((function(){var e=Kc(u).getState();return e.isDragging||"DROP_ANIMATING"===e.phase}),[]);n(Ai((function(){return{isDragging:E,tryAbort:w}}),[E,w]));var S=ji((function(e){return Ts(Kc(u).getState(),e)}),[]),x=ji((function(){return _u(Kc(u).getState())}),[]),O=Ai((function(){return{marshal:g,focus:y,contextId:t,canLift:S,isMovementAllowed:x,dragHandleUsageInstructionsId:d,registry:v}}),[t,g,d,y,S,x,v]);return Qc({contextId:t,store:_,registry:v,customSensors:r,enableDefaultSensors:!1!==e.enableDefaultSensors}),Object(o.useEffect)((function(){return w}),[w]),a.a.createElement(Ec.Provider,{value:O},a.a.createElement(ii,{context:vc,store:_},e.children))}var Jc=0;function Zc(e){var t=Ai((function(){return""+Jc++}),[]),n=e.dragHandleUsageInstructions||al;return a.a.createElement(el,null,(function(r){return a.a.createElement(Xc,{nonce:e.nonce,contextId:t,setCallbacks:r,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd},e.children)}))}var ef=function(e){return function(t){return e===t}},tf=ef("scroll"),nf=ef("auto"),rf=(ef("visible"),function(e,t){return t(e.overflowX)||t(e.overflowY)}),of=function(e){var t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return rf(n,tf)||rf(n,nf)},af=function e(t){return null==t||t===document.body||t===document.documentElement?null:of(t)?t:e(t.parentElement)},lf=function(e){return{x:e.scrollLeft,y:e.scrollTop}},uf=function(e){return{closestScrollable:af(e),isFixedOnPage:function e(t){return!!t&&("fixed"===window.getComputedStyle(t).position||e(t.parentElement))}(e)}},sf=function(e){var t=e.ref,n=e.descriptor,r=e.env,o=e.windowScroll,a=e.direction,i=e.isDropDisabled,l=e.isCombineEnabled,u=e.shouldClipSubject,s=r.closestScrollable,c=function(e,t){var n=$i(e);if(!t)return n;if(e!==t)return n;var r=n.paddingBox.top-t.scrollTop,o=n.paddingBox.left-t.scrollLeft,a=r+t.scrollHeight,i=o+t.scrollWidth,l=Bi({top:r,right:i,bottom:a,left:o},n.border);return zi({borderBox:l,margin:n.margin,border:n.border,padding:n.padding})}(t,s),f=Gi(c,o),d=function(){if(!s)return null;var e=$i(s),t={scrollHeight:s.scrollHeight,scrollWidth:s.scrollWidth};return{client:e,page:Gi(e,o),scroll:lf(s),scrollSize:t,shouldClipSubject:u}}();return function(e){var t=e.descriptor,n=e.isEnabled,r=e.isCombineEnabled,o=e.isFixedOnPage,a=e.direction,i=e.client,l=e.page,u=e.closest,s=function(){if(!u)return null;var e=u.scrollSize,t=u.client,n=Os({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,height:t.paddingBox.height,width:t.paddingBox.width});return{pageMarginBox:u.page.marginBox,frameClient:t,scrollSize:e,shouldClipSubject:u.shouldClipSubject,scroll:{initial:u.scroll,current:u.scroll,max:n,diff:{value:sl,displacement:sl}}}}(),c="vertical"===a?zl:Hl;return{descriptor:t,isCombineEnabled:r,isFixedOnPage:o,axis:c,isEnabled:n,client:i,page:l,frame:s,subject:wl({page:l,withPlaceholder:null,axis:c,frame:s})}}({descriptor:n,isEnabled:!i,isCombineEnabled:l,isFixedOnPage:r.isFixedOnPage,direction:a,client:c,page:f,closest:d})},cf={passive:!1},ff={passive:!0},df=function(e){return e.shouldPublishImmediately?cf:ff};function pf(e){var t=Object(o.useContext)(e);return t||Zi(!1),t}var mf=function(e){return e&&e.env.closestScrollable||null};function hf(){}var vf={width:0,height:0,margin:{top:0,right:0,bottom:0,left:0}},gf=function(e){var t=e.isAnimatingOpenOnMount,n=e.placeholder,r=e.animate,o=function(e){var t=e.isAnimatingOpenOnMount,n=e.placeholder,r=e.animate;return t||"close"===r?vf:{height:n.client.borderBox.height,width:n.client.borderBox.width,margin:n.client.margin}}({isAnimatingOpenOnMount:t,placeholder:n,animate:r});return{display:n.display,boxSizing:"border-box",width:o.width,height:o.height,marginTop:o.margin.top,marginRight:o.margin.right,marginBottom:o.margin.bottom,marginLeft:o.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:"none"!==r?os.placeholder:null}};var bf=a.a.memo((function(e){var t=Object(o.useRef)(null),n=ji((function(){t.current&&(clearTimeout(t.current),t.current=null)}),[]),r=e.animate,i=e.onTransitionEnd,l=e.onClose,u=e.contextId,s=Object(o.useState)("open"===e.animate),c=s[0],f=s[1];Object(o.useEffect)((function(){return c?"open"!==r?(n(),f(!1),hf):t.current?hf:(t.current=setTimeout((function(){t.current=null,f(!1)})),n):hf}),[r,c,n]);var d=ji((function(e){"height"===e.propertyName&&(i(),"close"===r&&l())}),[r,l,i]),p=gf({isAnimatingOpenOnMount:c,animate:e.animate,placeholder:e.placeholder});return a.a.createElement(e.placeholder.tagName,{style:p,"data-rbd-placeholder-context-id":u,onTransitionEnd:d,ref:e.innerRef})})),yf=a.a.createContext(null);var _f=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).state={isVisible:Boolean(t.props.on),data:t.props.on,animate:t.props.shouldAnimate&&t.props.on?"open":"none"},t.onClose=function(){"close"===t.state.animate&&t.setState({isVisible:!1})},t}return Ha(t,e),t.getDerivedStateFromProps=function(e,t){return e.shouldAnimate?e.on?{isVisible:!0,data:e.on,animate:"open"}:t.isVisible?{isVisible:!0,data:t.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:Boolean(e.on),data:e.on,animate:"none"}},t.prototype.render=function(){if(!this.state.isVisible)return null;var e={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(e)},t}(a.a.PureComponent),wf=5e3,Ef=4500,Sf=function(e,t){return t?os.drop(t.duration):e?os.snap:os.fluid},xf=function(e,t){return e?t?ts.drop:ts.combining:null};function Of(e){return"DRAGGING"===e.type?(r=(n=e).dimension.client,o=n.offset,a=n.combineWith,i=n.dropping,l=Boolean(a),u=function(e){return null!=e.forceShouldAnimate?e.forceShouldAnimate:"SNAP"===e.mode}(n),s=Boolean(i),c=s?ls(o,l):is(o),{position:"fixed",top:r.marginBox.top,left:r.marginBox.left,boxSizing:"border-box",width:r.borderBox.width,height:r.borderBox.height,transition:Sf(u,i),transform:c,opacity:xf(l,s),zIndex:s?Ef:wf,pointerEvents:"none"}):{transform:is((t=e).offset),transition:t.shouldAnimateDisplacement?null:"none"};var t,n,r,o,a,i,l,u,s,c}function Cf(e){var t=wc("draggable"),n=e.descriptor,r=e.registry,a=e.getDraggableRef,i=e.canDragInteractiveElements,l=e.shouldRespectForcePress,u=e.isEnabled,s=Ai((function(){return{canDragInteractiveElements:i,shouldRespectForcePress:l,isEnabled:u}}),[i,u,l]),c=ji((function(e){var t=a();return t||Zi(!1),function(e,t,n){void 0===n&&(n=sl);var r=window.getComputedStyle(t),o=t.getBoundingClientRect(),a=qi(o,r),i=Gi(a,n);return{descriptor:e,placeholder:{client:a,tagName:t.tagName.toLowerCase(),display:r.display},displaceBy:{x:a.marginBox.width,y:a.marginBox.height},client:a,page:i}}(n,t,e)}),[n,a]),f=Ai((function(){return{uniqueId:t,descriptor:n,options:s,getDimension:c}}),[n,c,s,t]),d=Object(o.useRef)(f),p=Object(o.useRef)(!0);uc((function(){return r.draggable.register(d.current),function(){return r.draggable.unregister(d.current)}}),[r.draggable]),uc((function(){if(p.current)p.current=!1;else{var e=d.current;d.current=f,r.draggable.update(f,e)}}),[f,r.draggable])}function kf(e,t,n){xc()}function Pf(e){e.preventDefault()}var If=function(e,t){return e===t},Df=function(e){var t=e.combine,n=e.destination;return n?n.droppableId:t?t.droppableId:null};function Rf(e){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}var Nf={mapped:{type:"SECONDARY",offset:sl,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:Rf(null)}};var Tf=Ni((function(){var e,t,n,r=(e=Bo((function(e,t){return{x:e,y:t}})),t=Bo((function(e,t,n,r,o){return{isDragging:!0,isClone:t,isDropAnimating:Boolean(o),dropAnimation:o,mode:e,draggingOver:n,combineWith:r,combineTargetFor:null}})),n=Bo((function(e,n,r,o,a,i,l){return{mapped:{type:"DRAGGING",dropping:null,draggingOver:a,combineWith:i,mode:n,offset:e,dimension:r,forceShouldAnimate:l,snapshot:t(n,o,a,i,null)}}})),function(r,o){if(r.isDragging){if(r.critical.draggable.id!==o.draggableId)return null;var a=r.current.client.offset,i=r.dimensions.draggables[o.draggableId],l=bu(r.impact),u=(c=r.impact).at&&"COMBINE"===c.at.type?c.at.combine.draggableId:null,s=r.forceShouldAnimate;return n(e(a.x,a.y),r.movementMode,i,o.isClone,l,u,s)}var c;if("DROP_ANIMATING"===r.phase){var f=r.completed;if(f.result.draggableId!==o.draggableId)return null;var d=o.isClone,p=r.dimensions.draggables[o.draggableId],m=f.result,h=m.mode,v=Df(m),g=function(e){return e.combine?e.combine.draggableId:null}(m),b={duration:r.dropDuration,curve:es,moveTo:r.newHomeClientOffset,opacity:g?ts.drop:null,scale:g?ns.drop:null};return{mapped:{type:"DRAGGING",offset:r.newHomeClientOffset,dimension:p,dropping:b,draggingOver:v,combineWith:g,mode:h,forceShouldAnimate:null,snapshot:t(h,d,v,g,b)}}}return null}),o=function(){var e=Bo((function(e,t){return{x:e,y:t}})),t=Bo(Rf),n=Bo((function(e,n,r){return void 0===n&&(n=null),{mapped:{type:"SECONDARY",offset:e,combineTargetFor:n,shouldAnimateDisplacement:r,snapshot:t(n)}}})),r=function(e){return e?n(sl,e,!0):null},o=function(t,o,a,i){var l=a.displaced.visible[t],u=Boolean(i.inVirtualList&&i.effected[t]),s=Tl(a),c=s&&s.draggableId===t?o:null;if(!l){if(!u)return r(c);if(a.displaced.invisible[t])return null;var f=pl(i.displacedBy.point),d=e(f.x,f.y);return n(d,c,!0)}if(u)return r(c);var p=a.displacedBy.point,m=e(p.x,p.y);return n(m,c,l.shouldAnimate)};return function(e,t){if(e.isDragging)return e.critical.draggable.id===t.draggableId?null:o(t.draggableId,e.critical.draggable.id,e.impact,e.afterCritical);if("DROP_ANIMATING"===e.phase){var n=e.completed;return n.result.draggableId===t.draggableId?null:o(t.draggableId,n.result.draggableId,n.impact,n.afterCritical)}return null}}();return function(e,t){return r(e,t)||o(e,t)||Nf}}),{dropAnimationFinished:Zu},null,{context:vc,pure:!0,areStatePropsEqual:If})((function(e){var t=Object(o.useRef)(null),n=ji((function(e){t.current=e}),[]),r=ji((function(){return t.current}),[]),a=pf(Ec),i=a.contextId,l=a.dragHandleUsageInstructionsId,u=a.registry,s=pf(yf),c=s.type,f=s.droppableId,d=Ai((function(){return{id:e.draggableId,index:e.index,type:c,droppableId:f}}),[e.draggableId,e.index,c,f]),p=e.children,m=e.draggableId,h=e.isEnabled,v=e.shouldRespectForcePress,g=e.canDragInteractiveElements,b=e.isClone,y=e.mapped,_=e.dropAnimationFinished;kf(),Sc(),b||Cf(Ai((function(){return{descriptor:d,registry:u,getDraggableRef:r,canDragInteractiveElements:g,shouldRespectForcePress:v,isEnabled:h}}),[d,u,r,g,v,h]));var w=Ai((function(){return h?{tabIndex:0,role:"button","aria-describedby":l,"data-rbd-drag-handle-draggable-id":m,"data-rbd-drag-handle-context-id":i,draggable:!1,onDragStart:Pf}:null}),[i,l,m,h]),E=ji((function(e){"DRAGGING"===y.type&&y.dropping&&"transform"===e.propertyName&&_()}),[_,y]),S=Ai((function(){var e=Of(y),t="DRAGGING"===y.type&&y.dropping?E:null;return{innerRef:n,draggableProps:{"data-rbd-draggable-context-id":i,"data-rbd-draggable-id":m,style:e,onTransitionEnd:t},dragHandleProps:w}}),[i,w,m,y,E,n]),x=Ai((function(){return{draggableId:d.id,type:d.type,source:{index:d.index,droppableId:d.droppableId}}}),[d.droppableId,d.id,d.index,d.type]);return p(S,y.snapshot,x)}));function Lf(e){return pf(yf).isUsingCloneFor!==e.draggableId||e.isClone?a.a.createElement(Tf,e):null}function Af(e){var t="boolean"!=typeof e.isDragDisabled||!e.isDragDisabled,n=Boolean(e.disableInteractiveElementBlocking),r=Boolean(e.shouldRespectForcePress);return a.a.createElement(Lf,pt({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:r}))}var jf=function(e,t){return e===t.droppable.type},Mf=function(e,t){return t.draggables[e.draggable.id]};var Ff={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:function(){return document.body||Zi(!1),document.body}},Bf=Ni((function(){var e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t=pt({},e,{shouldAnimatePlaceholder:!1}),n=Bo((function(e){return{draggableId:e.id,type:e.type,source:{index:e.index,droppableId:e.droppableId}}})),r=Bo((function(r,o,a,i,l,u){var s=l.descriptor.id;if(l.descriptor.droppableId===r){var c=u?{render:u,dragging:n(l.descriptor)}:null,f={isDraggingOver:a,draggingOverWith:a?s:null,draggingFromThisWith:s,isUsingPlaceholder:!0};return{placeholder:l.placeholder,shouldAnimatePlaceholder:!1,snapshot:f,useClone:c}}if(!o)return t;if(!i)return e;var d={isDraggingOver:a,draggingOverWith:s,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:l.placeholder,shouldAnimatePlaceholder:!0,snapshot:d,useClone:null}}));return function(n,o){var a=o.droppableId,i=o.type,l=!o.isDropDisabled,u=o.renderClone;if(n.isDragging){var s=n.critical;if(!jf(i,s))return t;var c=Mf(s,n.dimensions),f=bu(n.impact)===a;return r(a,l,f,f,c,u)}if("DROP_ANIMATING"===n.phase){var d=n.completed;if(!jf(i,d.critical))return t;var p=Mf(d.critical,n.dimensions);return r(a,l,Df(d.result)===a,bu(d.impact)===a,p,u)}if("IDLE"===n.phase&&n.completed&&!n.shouldFlush){var m=n.completed;if(!jf(i,m.critical))return t;var h=bu(m.impact)===a,v=Boolean(m.impact.at&&"COMBINE"===m.impact.at.type),g=m.critical.droppable.id===a;return h?v?e:t:g?e:t}return t}}),{updateViewportMaxScroll:function(e){return{type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e}}},null,{context:vc,pure:!0,areStatePropsEqual:If})((function(e){var t=Object(o.useContext)(Ec);t||Zi(!1);var n=t.contextId,r=t.isMovementAllowed,i=Object(o.useRef)(null),u=Object(o.useRef)(null),s=e.children,c=e.droppableId,f=e.type,d=e.mode,p=e.direction,m=e.ignoreContainerClipping,h=e.isDropDisabled,v=e.isCombineEnabled,g=e.snapshot,b=e.useClone,y=e.updateViewportMaxScroll,_=e.getContainerForClone,w=ji((function(){return i.current}),[]),E=ji((function(e){i.current=e}),[]),S=(ji((function(){return u.current}),[]),ji((function(e){u.current=e}),[]));xc();var x=ji((function(){r()&&y({maxScroll:ks()})}),[r,y]);!function(e){var t=Object(o.useRef)(null),n=pf(Ec),r=wc("droppable"),a=n.registry,i=n.marshal,l=Cc(e),u=Ai((function(){return{id:e.droppableId,type:e.type,mode:e.mode}}),[e.droppableId,e.mode,e.type]),s=Object(o.useRef)(u),c=Ai((function(){return Bo((function(e,n){t.current||Zi(!1);var r={x:e,y:n};i.updateDroppableScroll(u.id,r)}))}),[u.id,i]),f=ji((function(){var e=t.current;return e&&e.env.closestScrollable?lf(e.env.closestScrollable):sl}),[]),d=ji((function(){var e=f();c(e.x,e.y)}),[f,c]),p=Ai((function(){return Yi(d)}),[d]),m=ji((function(){var e=t.current,n=mf(e);e&&n||Zi(!1),e.scrollOptions.shouldPublishImmediately?d():p()}),[p,d]),h=ji((function(e,r){t.current&&Zi(!1);var o=l.current,a=o.getDroppableRef();a||Zi(!1);var i=uf(a),s={ref:a,descriptor:u,env:i,scrollOptions:r};t.current=s;var c=sf({ref:a,descriptor:u,env:i,windowScroll:e,direction:o.direction,isDropDisabled:o.isDropDisabled,isCombineEnabled:o.isCombineEnabled,shouldClipSubject:!o.ignoreContainerClipping}),f=i.closestScrollable;return f&&(f.setAttribute(ic.contextId,n.contextId),f.addEventListener("scroll",m,df(s.scrollOptions))),c}),[n.contextId,u,m,l]),v=ji((function(){var e=t.current,n=mf(e);return e&&n||Zi(!1),lf(n)}),[]),g=ji((function(){var e=t.current;e||Zi(!1);var n=mf(e);t.current=null,n&&(p.cancel(),n.removeAttribute(ic.contextId),n.removeEventListener("scroll",m,df(e.scrollOptions)))}),[m,p]),b=ji((function(e){var n=t.current;n||Zi(!1);var r=mf(n);r||Zi(!1),r.scrollTop+=e.y,r.scrollLeft+=e.x}),[]),y=Ai((function(){return{getDimensionAndWatchScroll:h,getScrollWhileDragging:v,dragStopped:g,scroll:b}}),[g,h,v,b]),_=Ai((function(){return{uniqueId:r,descriptor:u,callbacks:y}}),[y,u,r]);uc((function(){return s.current=_.descriptor,a.droppable.register(_),function(){t.current&&g(),a.droppable.unregister(_)}}),[y,u,g,_,i,a.droppable]),uc((function(){t.current&&i.updateDroppableIsEnabled(s.current.id,!e.isDropDisabled)}),[e.isDropDisabled,i]),uc((function(){t.current&&i.updateDroppableIsCombineEnabled(s.current.id,e.isCombineEnabled)}),[e.isCombineEnabled,i])}({droppableId:c,type:f,mode:d,direction:p,isDropDisabled:h,isCombineEnabled:v,ignoreContainerClipping:m,getDroppableRef:w});var O=a.a.createElement(_f,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},(function(e){var t=e.onClose,r=e.data,o=e.animate;return a.a.createElement(bf,{placeholder:r,onClose:t,innerRef:S,animate:o,contextId:n,onTransitionEnd:x})})),C=Ai((function(){return{innerRef:E,placeholder:O,droppableProps:{"data-rbd-droppable-id":c,"data-rbd-droppable-context-id":n}}}),[n,c,O,E]),k=b?b.dragging.draggableId:null,P=Ai((function(){return{droppableId:c,type:f,isUsingCloneFor:k}}),[c,k,f]);return a.a.createElement(yf.Provider,{value:P},s(C,g),function(){if(!b)return null;var e=b.dragging,t=b.render,n=a.a.createElement(Lf,{draggableId:e.draggableId,index:e.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(function(n,r){return t(n,r,e)}));return l.a.createPortal(n,_())}())}));function Vf(e){return(Vf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Uf(){return(Uf=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function zf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hf(e,t){return(Hf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Wf(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=$f(e);if(t){var o=$f(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Gf(this,n)}}function Gf(e,t){return!t||"object"!==Vf(t)&&"function"!=typeof t?qf(e):t}function qf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function $f(e){return($f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Bf.defaultProps=Ff;var Yf=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Hf(e,t)}(i,e);var t,n,r,o=Wf(i);function i(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=o.call(this,e);var n=e.settings,r=e.form_title,l=e.validation_type,u=n.form_fields;return t.state={field_values:u.option_values||[],field_states:[],form_settings:u,settings:n,form_title:r,status:{loading_type:null,loading_message:null},refs:{wrapper:a.a.createRef()},validation_type:l,last_row_index:null},t._form_validation=new E(n.events.validate_field,l),t._form_submit=new y(n.handlers.api_loader,u.api_route,t._form_validation,t.updateLoadingStatus.bind(qf(t))),t}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.state,n=t.field_values,r=t.field_states,o=t.settings,i=t.form_title,l=t.form_settings,u=t.status,s=t.refs,c=t.validation_type;return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"fcfWidget"},a.a.createElement("form",{className:"fcfWidget__inner"},a.a.createElement("div",{className:"fcfWidget__header"},a.a.createElement("div",{className:"fcfWidget__headerTitle"},i),a.a.createElement("div",{className:"fcfWidget__headerButtons"},a.a.createElement("ul",{className:"fcfWidget__buttons"},a.a.createElement("li",{className:"fcfWidget__button"},a.a.createElement(D,{button_classes:"fcfButton fcfButton--wide fcfButton--small fcfButton--bg fcfButton--blue",button_alignment:"right",button_label:o.i18n.button_save,loading_type:"save_top",loading_status:u.loading_type,loading_message:u.loading_message,settings:o,onSubmit:this.onSubmit.bind(this,"save_top",{form_fields:n})}))))),a.a.createElement("div",{className:"fcfWidget__content"},n.length>0?a.a.createElement("div",{className:"fcfFields",ref:s.wrapper},a.a.createElement(Zc,{onBeforeDragStart:this.onDragStart.bind(this),onDragEnd:this.onDragEnd.bind(this)},a.a.createElement(Bf,{droppableId:"dnd-fields"},(function(t,i){return a.a.createElement("ul",Uf({className:"fcfFields__items dnd-fields"},t.droppableProps,{ref:t.innerRef}),n.map((function(t,s){return null!==t&&e.getFieldType(t)?a.a.createElement(Af,{key:s,draggableId:"field-".concat(s),index:s},(function(f){return a.a.createElement(za,{provided:f,field_data:t,form_states:r[s]||{},field_type:e.getFieldType(t),section_fields:n,validation_types:[c],settings:o,form_settings:l,onChangeValue:e.onChangeValue.bind(e,s),onChangeState:e.onChangeState.bind(e,s),onFieldRemove:e.onFieldRemove.bind(e,s),onValidationInit:e.onValidationInit.bind(e),row_index:s,last_row_index:i.isDraggingOver||null!==u.loading_type?null:e.state.last_row_index})})):null})),t.placeholder)})))):a.a.createElement("div",{className:"fcfWidget__contentPlaceholder"},o.i18n.alert_no_fields)),a.a.createElement("div",{className:"fcfWidget__footer"},a.a.createElement("ul",{className:"fcfWidget__buttons"},a.a.createElement("li",{className:"fcfWidget__button"},a.a.createElement(D,{button_classes:"fcfButton fcfButton--wide fcfButton--bg fcfButton--blue",button_alignment:"left",button_label:o.i18n.button_save,loading_type:"save_bottom",loading_status:u.loading_type,loading_message:u.loading_message,settings:o,onSubmit:this.onSubmit.bind(this,"save_bottom",{form_fields:n})})),a.a.createElement("li",{className:"fcfWidget__button"},a.a.createElement(D,{button_classes:"fcfButton fcfButton--wide fcfButton--border fcfButton--red",button_alignment:"right",button_label:o.i18n.button_reset,loading_type:"reset_bottom",loading_status:u.loading_type,loading_message:u.loading_message,tooltip_text:o.i18n.alert_reset,settings:o,onSubmit:this.onReset.bind(this,"reset_bottom",{form_fields:{}})})))))))}},{key:"onValidationInit",value:function(e,t,n){return this._form_validation.onValidationInit(e,t,n)}},{key:"onChangeValue",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=this.state.field_values;o[e][t]=n,this.setState({field_values:o,last_row_index:r?null:e}),r&&this.sendRefreshEvent()}},{key:"onChangeState",value:function(e,t,n,r){var o=this.state.field_states;void 0===o[e]&&(o[e]={}),void 0===o[e][t]&&(o[e][t]={}),o[e][t][n]=r,this.setState({field_states:o})}},{key:"sendRefreshEvent",value:function(){var e=this.state.settings;clearTimeout(this.refresh_timeout),this.refresh_timeout=setTimeout((function(){window.dispatchEvent(new CustomEvent(e.events.refresh_field))}),1e3)}},{key:"onFieldRemove",value:function(e){var t=this.state.field_values;t.splice(e,1),this.setState({field_values:t,last_row_index:null}),this.sendRefreshEvent()}},{key:"onSubmit",value:function(e,t,n){return n.preventDefault(),this._form_submit.onSubmit(e,t)}},{key:"onReset",value:function(e,t){return this._form_submit.onReset(e,t)}},{key:"onDragStart",value:function(){var e=this.state.refs;e.wrapper.current.style.height="".concat(e.wrapper.current.offsetHeight,"px")}},{key:"onDragEnd",value:function(e){if(this.state.refs.wrapper.current.style.height="",e.destination){var t=this.state,n=t.field_values,r=t.field_states,o=n[e.source.index],a=r[e.source.index];n.splice(e.source.index,1),r.splice(e.source.index,1),n.splice(e.destination.index,0,o),r.splice(e.destination.index,0,a),this._form_validation.clearValidationHandlers(),this.setState({field_values:this.updateFieldsPriority(n),field_states:r,last_row_index:null})}}},{key:"updateLoadingStatus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.state.status;n.loading_type=e,n.loading_message=t,this.setState({status:n})}},{key:"getFieldType",value:function(e){var t=this.state.form_settings;for(var n in t.option_fields)if(t.option_fields.hasOwnProperty(n)&&t.option_fields[n].reserved_field_names.indexOf(e.name)>-1)return t.option_fields[n];return t.option_fields.fcf_default}},{key:"updateFieldsPriority",value:function(e){for(var t=10,n=e.length,r=0;r<n;r++)e[r].priority=t,t+=10;return e}}])&&zf(t.prototype,n),r&&zf(t,r),i}(a.a.Component);function Qf(e){return(Qf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Kf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Xf(e,t){return(Xf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Jf(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ed(e);if(t){var o=ed(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Zf(this,n)}}function Zf(e,t){return!t||"object"!==Qf(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ed(e){return(ed=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var td=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Xf(e,t)}(i,e);var t,n,r,o=Jf(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=o.call(this,e)).state={settings:{i18n:reactInit.i18n,handlers:{api_loader:new f(reactInit.rest_api_url,reactInit.header_nonce)},events:{validate_field:"fcf-field-validate",refresh_field:"fcf-field-refresh"},form_fields:reactInit.form_fields,form_section:reactInit.form_section,form_settings:reactInit.form_settings}},t}return t=i,(n=[{key:"render",value:function(){var e=this.state.settings;return a.a.createElement("ul",{className:"fcfSettings__columns fcfSettings__columns--margin"},a.a.createElement(a.a.Fragment,null,e.form_fields?a.a.createElement("li",{className:"fcfSettings__column"},a.a.createElement(Ca,{settings:e,form_settings:e.form_fields,form_title:e.i18n.form_add_field,validation_type:"form_add_field",onFieldAdd:this.addNewField.bind(this)})):null,e.form_fields||e.form_section?a.a.createElement("li",{className:"fcfSettings__column fcfSettings__column--wide"},e.form_fields?a.a.createElement(Yf,{settings:e,form_settings:e.form_fields,form_title:e.i18n.form_fields,validation_type:"form_fields"}):null,e.form_section?a.a.createElement(La,{settings:e,form_settings:e.form_section,form_title:e.i18n.form_section,validation_type:"form_section"}):null):null),e.form_settings?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"fcfSettings__column fcfSettings__column--wide"},a.a.createElement(La,{settings:e,form_settings:e.form_settings,form_title:e.i18n.form_settings,validation_type:"form_settings"}))):null)}},{key:"addNewField",value:function(e){var t=this.state.settings;t.form_fields.option_values.push(e),this.setState({settings:t}),window.dispatchEvent(new CustomEvent(t.events.refresh_field))}}])&&Kf(t.prototype,n),r&&Kf(t,r),i}(a.a.Component);function nd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var rd=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.setVars()&&this.setEvents()}var t,n,r;return t=e,(n=[{key:"setVars",value:function(){if(this.section=document.querySelector("#fcf-settings"),this.section)return!0}},{key:"setEvents",value:function(){document.addEventListener("DOMContentLoaded",this.renderDom.bind(this))}},{key:"renderDom",value:function(){l.a.render(a.a.createElement(td,null),this.section)}}])&&nd(t.prototype,n),r&&nd(t,r),e}();new function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),new rd}},function(e,t){}]);
|
classes/filed-validation.php
CHANGED
@@ -76,7 +76,7 @@ class Flexible_Checkout_Fields_Field_Validation {
|
|
76 |
'phone' => __( 'Phone', 'flexible-checkout-fields' ),
|
77 |
);
|
78 |
if ( in_array( $section, array( 'billing', 'shipping' ), true ) ) {
|
79 |
-
$validation_options['postcode'] = __( '
|
80 |
}
|
81 |
$custom_validations = $this->get_custom_validations( $section );
|
82 |
foreach ( $custom_validations as $custom_validation_key => $custom_validation ) {
|
76 |
'phone' => __( 'Phone', 'flexible-checkout-fields' ),
|
77 |
);
|
78 |
if ( in_array( $section, array( 'billing', 'shipping' ), true ) ) {
|
79 |
+
$validation_options['postcode'] = __( 'Postcode', 'flexible-checkout-fields' );
|
80 |
}
|
81 |
$custom_validations = $this->get_custom_validations( $section );
|
82 |
foreach ( $custom_validations as $custom_validation_key => $custom_validation ) {
|
classes/plugin.php
CHANGED
@@ -147,18 +147,6 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
|
|
147 |
|
148 |
add_filter( 'flexible_chekout_fields_fields', array( $this, 'getCheckoutFields' ), 10, 2 );
|
149 |
|
150 |
-
add_filter( 'flexible_checkout_fields_field_tabs', array( $this, 'flexible_checkout_fields_field_tabs' ), 10 );
|
151 |
-
|
152 |
-
add_action( 'flexible_checkout_fields_field_tabs_content', array(
|
153 |
-
$this,
|
154 |
-
'flexible_checkout_fields_field_tabs_content'
|
155 |
-
), 10, 4 );
|
156 |
-
|
157 |
-
add_action( 'flexible_checkout_fields_field_tabs_content_js', array(
|
158 |
-
$this,
|
159 |
-
'flexible_checkout_fields_field_tabs_content_js'
|
160 |
-
), 10 );
|
161 |
-
|
162 |
add_action( 'woocommerce_default_address_fields', array( $this, 'woocommerce_default_address_fields' ), 9999 );
|
163 |
add_filter( 'woocommerce_get_country_locale', array( $this, 'woocommerce_get_country_locale' ), 9999 );
|
164 |
add_filter( 'woocommerce_get_country_locale_base', array( $this, 'woocommerce_get_country_locale_base' ), 9999 );
|
@@ -894,30 +882,6 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
|
|
894 |
return $this->getCheckoutFields( $fields, 'order' );
|
895 |
}
|
896 |
|
897 |
-
public function changeAdminBillingFields( $labels ) {
|
898 |
-
return $this->changeAdminLabelsCheckoutFields( $labels, 'billing' );
|
899 |
-
}
|
900 |
-
|
901 |
-
public function changeAdminShippingFields( $labels ) {
|
902 |
-
return $this->changeAdminLabelsCheckoutFields( $labels, 'shipping' );
|
903 |
-
}
|
904 |
-
|
905 |
-
public function changeAdminOrderFields( $labels ) {
|
906 |
-
return $this->changeAdminLabelsCheckoutFields( $labels, 'order' );
|
907 |
-
}
|
908 |
-
|
909 |
-
public function addCustomBillingFieldsToAdmin( $order ) {
|
910 |
-
$this->printCheckoutFields( $order, 'billing' );
|
911 |
-
}
|
912 |
-
|
913 |
-
public function addCustomShippingFieldsToAdmin( $order ) {
|
914 |
-
$this->printCheckoutFields( $order, 'shipping' );
|
915 |
-
}
|
916 |
-
|
917 |
-
public function addCustomOrderFieldsToAdmin( $order ) {
|
918 |
-
$this->printCheckoutFields( $order, 'order' );
|
919 |
-
}
|
920 |
-
|
921 |
public function addCustomFieldsBillingFields( $fields ) {
|
922 |
return $this->getCheckoutUserFields( $fields, 'billing' );
|
923 |
}
|
@@ -962,29 +926,6 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
|
|
962 |
echo 1;
|
963 |
}
|
964 |
|
965 |
-
public function flexible_checkout_fields_field_tabs( $tabs ) {
|
966 |
-
$tabs[] = array(
|
967 |
-
'hash' => 'advanced',
|
968 |
-
'title' => __( 'Advanced', 'flexible-checkout-fields' )
|
969 |
-
);
|
970 |
-
$tabs[] = [
|
971 |
-
'hash' => 'pricing',
|
972 |
-
'title' => __( 'Pricing', 'flexible-checkout-fields' ),
|
973 |
-
];
|
974 |
-
|
975 |
-
return $tabs;
|
976 |
-
}
|
977 |
-
|
978 |
-
public function flexible_checkout_fields_field_tabs_content( $key, $name, $field, $settings ) {
|
979 |
-
include $this->plugin_path . '/views/settings-field-advanced.php';
|
980 |
-
include $this->plugin_path . '/views/settings-field-pricing.php';
|
981 |
-
}
|
982 |
-
|
983 |
-
public function flexible_checkout_fields_field_tabs_content_js() {
|
984 |
-
include $this->plugin_path . '/views/settings-field-advanced-js.php';
|
985 |
-
include $this->plugin_path . '/views/settings-field-pricing-js.php';
|
986 |
-
}
|
987 |
-
|
988 |
public function woocommerce_get_country_locale_default( $address_fields ) {
|
989 |
return $address_fields;
|
990 |
}
|
@@ -1011,11 +952,6 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
|
|
1011 |
$current_screen = get_current_screen();
|
1012 |
}
|
1013 |
|
1014 |
-
if ( isset( $current_screen ) && 'woocommerce_page_inspire_checkout_fields_settings' === $current_screen->id ) {
|
1015 |
-
wp_enqueue_style( 'jquery-ui-style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/jquery-ui' . $suffix . '.css', array(), $this->scripts_version );
|
1016 |
-
wp_enqueue_script( 'jquery-tiptip' );
|
1017 |
-
}
|
1018 |
-
|
1019 |
wp_enqueue_style( 'inspire_checkout_fields_admin_style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/admin' . $suffix . '.css', array(), $this->scripts_version );
|
1020 |
$deps = array(
|
1021 |
'jquery',
|
147 |
|
148 |
add_filter( 'flexible_chekout_fields_fields', array( $this, 'getCheckoutFields' ), 10, 2 );
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
add_action( 'woocommerce_default_address_fields', array( $this, 'woocommerce_default_address_fields' ), 9999 );
|
151 |
add_filter( 'woocommerce_get_country_locale', array( $this, 'woocommerce_get_country_locale' ), 9999 );
|
152 |
add_filter( 'woocommerce_get_country_locale_base', array( $this, 'woocommerce_get_country_locale_base' ), 9999 );
|
882 |
return $this->getCheckoutFields( $fields, 'order' );
|
883 |
}
|
884 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
885 |
public function addCustomFieldsBillingFields( $fields ) {
|
886 |
return $this->getCheckoutUserFields( $fields, 'billing' );
|
887 |
}
|
926 |
echo 1;
|
927 |
}
|
928 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
929 |
public function woocommerce_get_country_locale_default( $address_fields ) {
|
930 |
return $address_fields;
|
931 |
}
|
952 |
$current_screen = get_current_screen();
|
953 |
}
|
954 |
|
|
|
|
|
|
|
|
|
|
|
955 |
wp_enqueue_style( 'inspire_checkout_fields_admin_style', trailingslashit( $this->get_plugin_assets_url() ) . 'css/admin' . $suffix . '.css', array(), $this->scripts_version );
|
956 |
$deps = array(
|
957 |
'jquery',
|
classes/settings.php
CHANGED
@@ -3,41 +3,19 @@
|
|
3 |
|
4 |
class Flexible_Checkout_Fields_Settings {
|
5 |
|
6 |
-
const SECURITY_NONCE_NAME = 'fcf_settings';
|
7 |
-
const SECURITY_NONCE_FIELD = 'inspire_checkout_fields_security';
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Fields requirement controlled by woocommerce.
|
11 |
-
*
|
12 |
-
* @var array
|
13 |
-
*/
|
14 |
-
private $fields_requirement_controlled_by_woocommerce;
|
15 |
-
|
16 |
-
private $admin_notices = array();
|
17 |
-
|
18 |
/**
|
19 |
* Flexible_Checkout_Fields_Settings constructor.
|
20 |
*
|
21 |
* @param Flexible_Checkout_Fields_Plugin $plugin .
|
22 |
-
* @param array $fields_requirement_controlled_by_woocommerce .
|
23 |
*/
|
24 |
-
public function __construct( $plugin
|
25 |
|
26 |
$this->plugin = $plugin;
|
27 |
|
28 |
-
$this->fields_requirement_controlled_by_woocommerce = $fields_requirement_controlled_by_woocommerce;
|
29 |
-
|
30 |
-
add_action( 'admin_init', array($this, 'updateSettingsAction') );
|
31 |
-
add_action( 'admin_menu', array($this, 'initAdminMenuAction'), 80);
|
32 |
-
|
33 |
add_action( 'init', array($this, 'init_polylang') );
|
34 |
add_action( 'admin_init', array($this, 'init_wpml') );
|
35 |
}
|
36 |
|
37 |
-
public function getSettingValue( $name, $default = null ) {
|
38 |
-
return $this->plugin->get_setting_value( $name, $default );
|
39 |
-
}
|
40 |
-
|
41 |
function init_polylang() {
|
42 |
if ( function_exists( 'pll_register_string' ) ) {
|
43 |
$settings = get_option('inspire_checkout_fields_settings', array() );
|
@@ -88,7 +66,7 @@
|
|
88 |
if ( isset( $field['default'] ) && $field['default'] != '' ) {
|
89 |
icl_register_string( 'flexible-checkout-fields', $field['default'], $field['default'], false, $icl_language_code );
|
90 |
}
|
91 |
-
if ( isset( $field['type'] ) && isset( $checkout_field_type[$field['type']]['has_options'] ) && $checkout_field_type[$field['type']]['has_options'] ) {
|
92 |
$array_options = explode("\n", $field['option']);
|
93 |
if ( !empty( $array_options ) ){
|
94 |
foreach ( $array_options as $option ) {
|
@@ -104,272 +82,4 @@
|
|
104 |
}
|
105 |
}
|
106 |
}
|
107 |
-
|
108 |
-
/**
|
109 |
-
* add new menu to woocommerce function.
|
110 |
-
*
|
111 |
-
* @access public
|
112 |
-
* @param none
|
113 |
-
* @return void
|
114 |
-
*/
|
115 |
-
|
116 |
-
public function initAdminMenuAction() {
|
117 |
-
add_submenu_page( 'woocommerce', __( 'Checkout Fields Settings', 'flexible-checkout-fields' ), __( 'Checkout Fields', 'flexible-checkout-fields' ) , 'manage_woocommerce', 'inspire_checkout_fields_settings', array( $this, 'renderInspireCheckoutFieldsSettingsPage') );
|
118 |
-
}
|
119 |
-
|
120 |
-
/**
|
121 |
-
* wordpress action
|
122 |
-
*
|
123 |
-
* renders plugin submenu page
|
124 |
-
*/
|
125 |
-
public function renderInspireCheckoutFieldsSettingsPage() {
|
126 |
-
global $woocommerce;
|
127 |
-
|
128 |
-
$settings = get_option( 'inspire_checkout_fields_settings' );
|
129 |
-
|
130 |
-
$countries = new WC_Countries();
|
131 |
-
$billing = $countries->get_address_fields($countries->get_base_country(), 'billing_');
|
132 |
-
$shipping = $countries->get_address_fields($countries->get_base_country(), 'shipping_');
|
133 |
-
|
134 |
-
if( empty( $settings ) || empty( $settings['order'] ) ) {
|
135 |
-
$order = array(
|
136 |
-
'order_comments' => array(
|
137 |
-
'type' => 'textarea',
|
138 |
-
'class' => array('notes'),
|
139 |
-
'label' => __( 'Order Notes', 'flexible-checkout-fields' ),
|
140 |
-
'placeholder' => _x( 'Notes about your order, e.g. special notes for delivery.', 'placeholder', 'flexible-checkout-fields')
|
141 |
-
)
|
142 |
-
);
|
143 |
-
}
|
144 |
-
else {
|
145 |
-
$order = $settings['order'];
|
146 |
-
}
|
147 |
-
|
148 |
-
$checkout_fields = array_merge( array('billing' => $billing), array('shipping' => $shipping), array('order' => $order) );
|
149 |
-
|
150 |
-
foreach ( $this->plugin->sections as $custom_section => $custom_section_data ) {
|
151 |
-
if ( $custom_section_data['section'] == 'billing' || $custom_section_data['section'] == 'shipping' || $custom_section_data['section'] == 'order' ) continue;
|
152 |
-
if ( empty( $settings[$custom_section_data['section']] ) ) {
|
153 |
-
$checkout_fields[$custom_section_data['section']] = array();
|
154 |
-
}
|
155 |
-
else {
|
156 |
-
$checkout_fields[$custom_section_data['section']] = $settings[$custom_section_data['section']];
|
157 |
-
}
|
158 |
-
|
159 |
-
}
|
160 |
-
$current_tab = ( empty( $_GET['tab'] ) ) ? 'fields_billing' : sanitize_text_field( urldecode( $_GET['tab'] ) );
|
161 |
-
|
162 |
-
$args = array(
|
163 |
-
'current_tab' => $current_tab,
|
164 |
-
'tabs' => array(
|
165 |
-
'settings' => __( 'Settings', 'flexible-checkout-fields' ),
|
166 |
-
)
|
167 |
-
);
|
168 |
-
|
169 |
-
foreach ( $this->plugin->sections as $section => $section_data ) {
|
170 |
-
$args['tabs'][$section_data['tab']] = $section_data['tab_title'];
|
171 |
-
}
|
172 |
-
|
173 |
-
if ( !is_flexible_checkout_fields_pro_active() ) {
|
174 |
-
$args['tabs']['pro'] = __( 'Custom Sections', 'flexible-checkout-fields' );
|
175 |
-
}
|
176 |
-
|
177 |
-
$docs_link = 'https://www.wpdesk.net/docs/flexible-checkout-fields-pro-woocommerce-docs/';
|
178 |
-
if ( get_locale() === 'pl_PL' ) {
|
179 |
-
$docs_link = 'https://www.wpdesk.pl/docs/woocommerce-checkout-fields-docs/';
|
180 |
-
}
|
181 |
-
$docs_link .= '?utm_source=wp-admin-plugins&utm_medium=quick-link&utm_campaign=flexible-checkout-fields-docs-link';
|
182 |
-
|
183 |
-
include( 'views/settings-tabs.php' );
|
184 |
-
|
185 |
-
require_once('activation-tracker.php');
|
186 |
-
$activation_tracker = new Flexible_Checkout_Fields_Activation_Tracker( $this->plugin->plugin_namespace );
|
187 |
-
|
188 |
-
switch ($current_tab) {
|
189 |
-
case 'settings':
|
190 |
-
|
191 |
-
$args = array(
|
192 |
-
'plugin' => $this->plugin,
|
193 |
-
);
|
194 |
-
|
195 |
-
include( 'views/settings-settings.php' );
|
196 |
-
|
197 |
-
break;
|
198 |
-
|
199 |
-
case 'checkboxes':
|
200 |
-
echo $this->loadTemplate('submenu_checkboxes', 'settings', array(
|
201 |
-
'plugin' => $this->plugin
|
202 |
-
)
|
203 |
-
);
|
204 |
-
break;
|
205 |
-
|
206 |
-
case 'pro':
|
207 |
-
|
208 |
-
include( 'views/settings-pro.php' );
|
209 |
-
|
210 |
-
break;
|
211 |
-
|
212 |
-
default:
|
213 |
-
|
214 |
-
$args = array(
|
215 |
-
'plugin' => $this->plugin,
|
216 |
-
'checkout_fields' => $checkout_fields,
|
217 |
-
'show_ads' => $activation_tracker->is_activated_more_than_two_weeks(),
|
218 |
-
);
|
219 |
-
|
220 |
-
$fields_requirement_controlled_by_woocommerce = $this->fields_requirement_controlled_by_woocommerce;
|
221 |
-
|
222 |
-
include( 'views/settings-fields.php' );
|
223 |
-
|
224 |
-
break;
|
225 |
-
}
|
226 |
-
|
227 |
-
}
|
228 |
-
|
229 |
-
private function is_active_more_than_week() {
|
230 |
-
|
231 |
-
}
|
232 |
-
|
233 |
-
|
234 |
-
public function validate_field_name( $name, $section ) {
|
235 |
-
if ( in_array( $section, array( 'billing' ) ) ) {
|
236 |
-
if ( in_array( $name, array(
|
237 |
-
'billing_address_1',
|
238 |
-
'billing_address_2',
|
239 |
-
'billing_address_index',
|
240 |
-
'billing_city',
|
241 |
-
'billing_company',
|
242 |
-
'billing_country',
|
243 |
-
'billing_email',
|
244 |
-
'billing_first_name',
|
245 |
-
'billing_last_name',
|
246 |
-
'billing_phone',
|
247 |
-
'billing_postcode'
|
248 |
-
) ) ) {
|
249 |
-
return false;
|
250 |
-
}
|
251 |
-
}
|
252 |
-
if ( in_array( $section, array( 'shipping' ) ) ) {
|
253 |
-
if ( in_array( $name, array(
|
254 |
-
'shipping_address_1',
|
255 |
-
'shipping_address_2',
|
256 |
-
'shipping_city',
|
257 |
-
'shipping_company',
|
258 |
-
'shipping_country',
|
259 |
-
'shipping_first_name',
|
260 |
-
'shipping_last_name',
|
261 |
-
'shipping_postcode',
|
262 |
-
'shipping_state'
|
263 |
-
) ) ) {
|
264 |
-
return false;
|
265 |
-
}
|
266 |
-
}
|
267 |
-
return true;
|
268 |
-
}
|
269 |
-
|
270 |
-
/**
|
271 |
-
* save settings function.
|
272 |
-
*
|
273 |
-
* @access public
|
274 |
-
* @param none
|
275 |
-
* @return void
|
276 |
-
*/
|
277 |
-
|
278 |
-
public function updateSettingsAction(){
|
279 |
-
|
280 |
-
if ( current_user_can( 'manage_options' ) && ! empty( $_POST ) ) {
|
281 |
-
if ( !empty($_POST['option_page']) && in_array( $_POST['option_page'], array('inspire_checkout_fields_settings', 'inspire_checkout_fields_checkboxes') ) ) {
|
282 |
-
|
283 |
-
$nonce = $_REQUEST[self::SECURITY_NONCE_FIELD];
|
284 |
-
if ( ! wp_verify_nonce( $nonce, Flexible_Checkout_Fields_Settings::SECURITY_NONCE_NAME ) ) {
|
285 |
-
wp_die( __( 'Flexible Checkout Fields: security check error. Fields not saved!', 'flexible-checkout-fields' ) );
|
286 |
-
}
|
287 |
-
|
288 |
-
if ( !empty( $_POST[$this->plugin->get_namespace()] ) ) {
|
289 |
-
|
290 |
-
foreach ( $_POST[$this->plugin->get_namespace()] as $name => $value ) {
|
291 |
-
$settings = get_option( 'inspire_checkout_fields_' . $name, array() );
|
292 |
-
if ( ! is_array( $settings ) ) {
|
293 |
-
$settings = array();
|
294 |
-
}
|
295 |
-
if ( is_array( $value )) {
|
296 |
-
foreach ( $value as $key => $val ) {
|
297 |
-
$settings[$key] = $val;
|
298 |
-
if ( isset( $_POST['reset_settings'] ) ) {
|
299 |
-
unset( $settings[$key] );
|
300 |
-
}
|
301 |
-
else {
|
302 |
-
$section_settings = array();
|
303 |
-
if ( empty( $settings[$key] ) ) {
|
304 |
-
$settings[$key] = array();
|
305 |
-
}
|
306 |
-
foreach ( $settings[ $key ] as $field_name => $field ) {
|
307 |
-
if ( isset( $field['custom_field'] ) && $field['custom_field'] == '1' ) {
|
308 |
-
if ( isset( $field['short_name'] ) && $field['short_name'] ) {
|
309 |
-
$new_field_name = $key . '_' . $field['short_name'];
|
310 |
-
if ( $new_field_name != $field_name ) {
|
311 |
-
if ( $this->validate_field_name( $new_field_name, $key ) ) {
|
312 |
-
unset( $settings[$key][$field_name] );
|
313 |
-
$field['name'] = $new_field_name;
|
314 |
-
$field_name = $new_field_name;
|
315 |
-
}
|
316 |
-
else {
|
317 |
-
$this->add_admin_notice( sprintf( __( 'You cannot use this field name: %s, for field: %s.', 'flexible-checkout-fields' ), esc_html( $field['short_name'] ), esc_html( $field['label'] ) ), 'error' );
|
318 |
-
}
|
319 |
-
}
|
320 |
-
else {
|
321 |
-
$field['name'] = $new_field_name;
|
322 |
-
}
|
323 |
-
}
|
324 |
-
}
|
325 |
-
if ( is_array( $field ) ) {
|
326 |
-
if ( empty( $field['label'] ) ) {
|
327 |
-
$field['label'] = '';
|
328 |
-
} else {
|
329 |
-
$field['label'] = wp_kses( wp_unslash( $field['label'] ), wp_kses_allowed_html( 'post' ) );
|
330 |
-
}
|
331 |
-
if ( empty( $field['placeholder'] ) ) {
|
332 |
-
$field['placeholder'] = '';
|
333 |
-
} else {
|
334 |
-
$field['placeholder'] = sanitize_text_field( wp_unslash( $field['placeholder'] ) );
|
335 |
-
}
|
336 |
-
if ( ! isset( $field['default'] ) ) {
|
337 |
-
$field['default'] = '';
|
338 |
-
} else {
|
339 |
-
$field['default'] = sanitize_text_field( wp_unslash( $field['default'] ) );
|
340 |
-
}
|
341 |
-
} else {
|
342 |
-
$field = wp_unslash( $field );
|
343 |
-
}
|
344 |
-
$section_settings[$field_name] = $field;
|
345 |
-
}
|
346 |
-
$settings[$key] = $section_settings;
|
347 |
-
}
|
348 |
-
}
|
349 |
-
}
|
350 |
-
else {
|
351 |
-
$settings = $value;
|
352 |
-
}
|
353 |
-
update_option( 'inspire_checkout_fields_' . $name, $settings );
|
354 |
-
$settings = get_option( 'inspire_checkout_fields_' . $name, array() );
|
355 |
-
$this->plugin->init_sections();
|
356 |
-
}
|
357 |
-
}
|
358 |
-
elseif ( empty( $_POST[$this->plugin->get_namespace()] ) && $_POST['option_page'] == 'inspire_checkout_fields_checkboxes' ) {
|
359 |
-
update_option('inspire_checkout_fields_checkboxes', '');
|
360 |
-
}
|
361 |
-
}
|
362 |
-
}
|
363 |
-
}
|
364 |
-
|
365 |
-
public function add_admin_notice( $message, $class ) {
|
366 |
-
$this->admin_notices[] = array( 'message' => $message, 'class' => $class );
|
367 |
-
}
|
368 |
-
|
369 |
-
public function admin_notices() {
|
370 |
-
foreach ( $this->admin_notices as $admin_notice ) {
|
371 |
-
echo sprintf( '<div class="%s fade"><p>%s</p></div>', $admin_notice['class'], $admin_notice['message'] );
|
372 |
-
}
|
373 |
-
}
|
374 |
-
|
375 |
}
|
3 |
|
4 |
class Flexible_Checkout_Fields_Settings {
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
/**
|
7 |
* Flexible_Checkout_Fields_Settings constructor.
|
8 |
*
|
9 |
* @param Flexible_Checkout_Fields_Plugin $plugin .
|
|
|
10 |
*/
|
11 |
+
public function __construct( $plugin ) {
|
12 |
|
13 |
$this->plugin = $plugin;
|
14 |
|
|
|
|
|
|
|
|
|
|
|
15 |
add_action( 'init', array($this, 'init_polylang') );
|
16 |
add_action( 'admin_init', array($this, 'init_wpml') );
|
17 |
}
|
18 |
|
|
|
|
|
|
|
|
|
19 |
function init_polylang() {
|
20 |
if ( function_exists( 'pll_register_string' ) ) {
|
21 |
$settings = get_option('inspire_checkout_fields_settings', array() );
|
66 |
if ( isset( $field['default'] ) && $field['default'] != '' ) {
|
67 |
icl_register_string( 'flexible-checkout-fields', $field['default'], $field['default'], false, $icl_language_code );
|
68 |
}
|
69 |
+
if ( isset( $field['type'] ) && isset( $checkout_field_type[$field['type']]['has_options'] ) && $checkout_field_type[$field['type']]['has_options'] && $field['option'] ) {
|
70 |
$array_options = explode("\n", $field['option']);
|
71 |
if ( !empty( $array_options ) ){
|
72 |
foreach ( $array_options as $option ) {
|
82 |
}
|
83 |
}
|
84 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
}
|
classes/views/settings-ads.php
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php if ( ! is_flexible_checkout_fields_pro_active() ): ?>
|
2 |
-
|
3 |
-
<div class="stuffbox">
|
4 |
-
<h3><?php _e( 'Enjoying the free version? Rate it!', 'flexible-checkout-fields' ); ?></h3>
|
5 |
-
<div class="inside">
|
6 |
-
<div class="main">
|
7 |
-
<p class="rate">
|
8 |
-
<a href="<?php echo esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-widget-review-stars' ) ); ?>"
|
9 |
-
target="_blank">
|
10 |
-
<span class="dashicons dashicons-star-filled"></span>
|
11 |
-
<span class="dashicons dashicons-star-filled"></span>
|
12 |
-
<span class="dashicons dashicons-star-filled"></span>
|
13 |
-
<span class="dashicons dashicons-star-filled"></span>
|
14 |
-
<span class="dashicons dashicons-star-filled"></span>
|
15 |
-
</a>
|
16 |
-
</p>
|
17 |
-
<p style="padding: 0 10px;">
|
18 |
-
<?php echo sprintf(
|
19 |
-
__( 'If you want to continue using Flexible Checkout Fields for free, %splease add a review%s. You will help us support the free version. Thank you.', 'flexible-checkout-fields' ),
|
20 |
-
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-widget-review-link' ) ) . '" target="_blank">',
|
21 |
-
'</a>'
|
22 |
-
); ?>
|
23 |
-
</p>
|
24 |
-
</div>
|
25 |
-
</div>
|
26 |
-
</div>
|
27 |
-
|
28 |
-
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
classes/views/settings-fields.php
DELETED
@@ -1,1123 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
global $woocommerce;
|
4 |
-
|
5 |
-
$checkout_fields = $args['checkout_fields'];
|
6 |
-
$settings = get_option( 'inspire_checkout_fields_settings', array() );
|
7 |
-
if ( ! is_array( $settings ) ) {
|
8 |
-
$settings = array();
|
9 |
-
}
|
10 |
-
|
11 |
-
$checkout_field_type = $args['plugin']->get_fields();
|
12 |
-
|
13 |
-
$fields_display_on = array(
|
14 |
-
'thank_you' => array( 'label' => __( 'Thank You Page', 'flexible-checkout-fields' ), 'default_value' => '1' ),
|
15 |
-
'address' => array( 'label' => __( 'My Account - address', 'flexible-checkout-fields' ), 'default_value' => '1' ),
|
16 |
-
'order' => array( 'label' => __( 'My Account - order', 'flexible-checkout-fields' ), 'default_value' => '1' ),
|
17 |
-
'emails' => array( 'label' => __( 'Emails', 'flexible-checkout-fields' ), 'default_value' => '1' ),
|
18 |
-
);
|
19 |
-
|
20 |
-
$fields_display_on_options = array(
|
21 |
-
'new_line_before' => array( 'label' => __( 'Display field in the new line', 'flexible-checkout-fields' ), 'custom_fields_only' => false, 'default_value' => '1' ),
|
22 |
-
'show_label' => array( 'label' => __( 'Display field\'s label', 'flexible-checkout-fields' ), 'custom_fields_only' => true, 'default_value' => '1' ),
|
23 |
-
);
|
24 |
-
|
25 |
-
$plugin = $args['plugin'];
|
26 |
-
$current_section = array();
|
27 |
-
|
28 |
-
foreach ( $plugin->sections as $section ) {
|
29 |
-
if ( $section['tab'] == $current_tab ) {
|
30 |
-
$current_section = $section;
|
31 |
-
}
|
32 |
-
}
|
33 |
-
$validation_options = $this->plugin->field_validation->get_validation_options( $current_section['section'] );
|
34 |
-
|
35 |
-
?>
|
36 |
-
|
37 |
-
<div class="wrap">
|
38 |
-
<?php $this->admin_notices(); ?>
|
39 |
-
<?php if ( ! empty( $_POST['option_page'] ) && $_POST['option_page'] === 'inspire_checkout_fields_settings' ): ?>
|
40 |
-
<?php if ( isset( $_POST['reset_settings'] ) ) : ?>
|
41 |
-
<div id="message" class="updated fade">
|
42 |
-
<p><strong><?php _e( 'Settings resetted.', 'flexible-checkout-fields' ); ?></strong></p>
|
43 |
-
</div>
|
44 |
-
<?php endif; ?>
|
45 |
-
<div id="message" class="updated fade">
|
46 |
-
<p><strong><?php _e( 'Settings saved.', 'flexible-checkout-fields' ); ?></strong></p>
|
47 |
-
</div>
|
48 |
-
<?php endif; ?>
|
49 |
-
|
50 |
-
<div id="nav-menus-frame" class="wp-clearfix">
|
51 |
-
<div id="menu-settings-column" class="metabox-holder add-new-field-box">
|
52 |
-
<div id="side-sortables" class="accordion-container">
|
53 |
-
<form method="post" action="" id="add-new-field">
|
54 |
-
<h3><?php _e( 'Add New Field', 'flexible-checkout-fields' ); ?></h3>
|
55 |
-
|
56 |
-
<div class="add-new-field-content accordion-section-content" style="display:block;">
|
57 |
-
<div>
|
58 |
-
<label for="woocommerce_checkout_fields_field_type"><?php _e( 'Field Type', 'flexible-checkout-fields' ); ?></label>
|
59 |
-
|
60 |
-
<select id="woocommerce_checkout_fields_field_type"
|
61 |
-
name="woocommerce_checkout_fields_field_type">
|
62 |
-
<?php foreach ( $checkout_field_type as $key => $value ): ?>
|
63 |
-
<?php if ( $key == 'checkbox' ) continue; ?>
|
64 |
-
<option value="<?php echo esc_attr($key); ?>"><?php echo esc_html($value['name']); ?></option>
|
65 |
-
<?php endforeach; ?>
|
66 |
-
</select>
|
67 |
-
</div>
|
68 |
-
|
69 |
-
<div id="woocommerce_checkout_fields_field_name_container">
|
70 |
-
<label for="woocommerce_checkout_fields_field_name"><?php _e( 'Label', 'flexible-checkout-fields' ); ?></label>
|
71 |
-
|
72 |
-
<textarea id="woocommerce_checkout_fields_field_name"
|
73 |
-
name="woocommerce_checkout_fields_field_name"></textarea>
|
74 |
-
|
75 |
-
<p class="description"><?php _e( 'You can use HTML.', 'flexible-checkout-fields' ); ?></p>
|
76 |
-
</div>
|
77 |
-
|
78 |
-
<div id="woocommerce_checkout_fields_field_short_name_container">
|
79 |
-
<label for="woocommerce_checkout_fields_field_short_name"><?php _e( 'Name', 'flexible-checkout-fields' ); ?></label>
|
80 |
-
|
81 |
-
<input type="text" data-changed="0" id="woocommerce_checkout_fields_field_short_name" name="woocommerce_checkout_fields_field_short_name" style="width:100%;"/>
|
82 |
-
|
83 |
-
<p class="description"><?php echo sprintf( __( 'Meta name: %s.', 'flexible-checkout-fields' ), '<span id="woocommerce_checkout_fields_field_short_name_meta"></span>' ); ?></p>
|
84 |
-
</div>
|
85 |
-
|
86 |
-
<div id="woocommerce_checkout_fields_field_name_container_pro" style="display:none;">
|
87 |
-
<div class="updated">
|
88 |
-
<p>
|
89 |
-
<?php _e( 'This field is available in the PRO version.', 'flexible-checkout-fields' ); ?>
|
90 |
-
<a href="<?php echo esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-type-upgrade' ) ); ?>" target="_blank">
|
91 |
-
<?php _e( 'Upgrade to PRO now →', 'flexible-checkout-fields' ); ?>
|
92 |
-
</a>
|
93 |
-
</p>
|
94 |
-
</div>
|
95 |
-
</div>
|
96 |
-
|
97 |
-
<div style="display:none;">
|
98 |
-
<label for="woocommerce_checkout_fields_field_section"><?php _e( 'Section', 'flexible-checkout-fields' ); ?></label>
|
99 |
-
|
100 |
-
<select id="woocommerce_checkout_fields_field_section"
|
101 |
-
name="woocommerce_checkout_fields_field_section">
|
102 |
-
<?php foreach ( $this->plugin->sections as $custom_section => $custom_section_data ) : ?>
|
103 |
-
<?php $selected = selected( $custom_section_data['tab'], $current_tab, false ); ?>
|
104 |
-
<option value="<?php echo esc_attr( $custom_section_data['section'] ); ?>" <?php echo $selected; ?>><?php echo esc_html( $custom_section_data['tab_title'] ); ?></option>
|
105 |
-
<?php endforeach; ?>
|
106 |
-
</select>
|
107 |
-
</div>
|
108 |
-
|
109 |
-
<p class="list-controls"><?php _e( 'Save changes after adding a field.', 'flexible-checkout-fields' ) ?></p>
|
110 |
-
|
111 |
-
<p class="button-controls wp-clearfix">
|
112 |
-
<span class="add-to-menu">
|
113 |
-
<input id="button_add_field" type="button" name=""
|
114 |
-
value="<?php _e( 'Add Field', 'flexible-checkout-fields' ) ?>"
|
115 |
-
class="button-secondary right">
|
116 |
-
</span>
|
117 |
-
</p>
|
118 |
-
</div>
|
119 |
-
</form>
|
120 |
-
</div>
|
121 |
-
<?php if ($args['show_ads']): ?>
|
122 |
-
<?php include( 'settings-ads.php' ); ?>
|
123 |
-
<?php endif; ?>
|
124 |
-
<?php do_action( 'flexible_checkout_fields_after_add_new_field' ); ?>
|
125 |
-
</div>
|
126 |
-
|
127 |
-
<div id="menu-management-liquid">
|
128 |
-
<div id="menu-management">
|
129 |
-
<form method="post" action="" id="inspire_checkout_field" class="nav-menus-php">
|
130 |
-
<?php settings_fields( 'inspire_checkout_fields_settings' ); ?>
|
131 |
-
|
132 |
-
<div class="menu-edit wp-clearfix">
|
133 |
-
<div id="nav-menu-header">
|
134 |
-
<div class="major-publishing-actions wp-clearfix">
|
135 |
-
<h3><?php _e( 'Edit Section', 'flexible-checkout-fields' ) ?></h3>
|
136 |
-
|
137 |
-
<div class="publishing-action">
|
138 |
-
<span class="spinner"></span>
|
139 |
-
<input type="submit" name=""
|
140 |
-
value="<?php _e( 'Save Changes', 'flexible-checkout-fields' ) ?>"
|
141 |
-
class="button button-primary">
|
142 |
-
</div>
|
143 |
-
</div>
|
144 |
-
</div>
|
145 |
-
|
146 |
-
<?php foreach ( $checkout_fields as $key => $fields ): ?>
|
147 |
-
<?php if ( 'fields_' . $key != $current_tab ) {
|
148 |
-
continue;
|
149 |
-
} ?>
|
150 |
-
<input class="field_key" type="hidden" name="inspire_checkout_fields[settings][<?php echo $key ?>]" value=""/>
|
151 |
-
<div id="post-body" class="fields-container">
|
152 |
-
<h3><?php _e( 'Section Fields', 'flexible-checkout-fields' ) ?><?php //echo $checkout_field_type_name[$key] ?></h3>
|
153 |
-
|
154 |
-
<ul class="fields menu sortable" id="<?php echo esc_attr($key); ?>">
|
155 |
-
<?php foreach ( $fields as $name => $field ) : ?>
|
156 |
-
<?php
|
157 |
-
$field_name_prefix = 'inspire_checkout_fields[settings][' . sanitize_title( $key ) . '][' . sanitize_title( $name ) . ']';
|
158 |
-
if ( empty( $settings[ $key ][ $name ]['short_name'] ) ) {
|
159 |
-
$field['short_name'] = $name;
|
160 |
-
$settings[ $key ][ $name ]['short_name'] = $name;
|
161 |
-
if ( strpos( $name, $key) === 0 ) {
|
162 |
-
$settings[ $key ][ $name ]['short_name'] = substr( $name, strlen( $key ) + 1 );
|
163 |
-
$field['short_name'] = substr( $name, strlen( $key ) + 1 );
|
164 |
-
}
|
165 |
-
}
|
166 |
-
$field_required = ( ! empty( $settings[ $key ][ $name ]['required'] ) && $settings[ $key ][ $name ]['required'] == '1' ) || ( isset( $field['required'] ) && $field['required'] == 1 && empty( $settings[ $key ][ $name ]['required'] ) );
|
167 |
-
$field_visible = empty( $settings[ $key ][ $name ]['visible'] );
|
168 |
-
$field_type = 'text';
|
169 |
-
if ( isset( $field['type'] ) ) {
|
170 |
-
$field_type = $field['type'];
|
171 |
-
}
|
172 |
-
$fcf_field = Flexible_Checkout_Fields_Field::create_with_settings( $field, $settings[ $key ][ $name ], $plugin );
|
173 |
-
$is_custom_field = $fcf_field->is_custom_field();
|
174 |
-
if ( $is_custom_field ) {
|
175 |
-
if ( empty( $settings[ $key ][ $name ]['type'] ) ) {
|
176 |
-
$settings[ $key ][ $name ]['type'] = Flexible_Checkout_Fields_Field_Type_Settings::FIELD_TYPE_TEXT;
|
177 |
-
$fcf_field->set_type( Flexible_Checkout_Fields_Field_Type_Settings::FIELD_TYPE_TEXT );
|
178 |
-
}
|
179 |
-
}
|
180 |
-
if ( isset( $checkout_field_type[ $fcf_field->get_type() ] ) ) {
|
181 |
-
$fcf_field_type = new Flexible_Checkout_Fields_Field_Type_Settings( $checkout_field_type[ $fcf_field->get_type() ] );
|
182 |
-
} else {
|
183 |
-
$fcf_field_type = null;
|
184 |
-
}
|
185 |
-
?>
|
186 |
-
<li
|
187 |
-
class="field-item menu-item<?php if ( ! $field_visible ): ?> field-hidden<?php endif; ?> fcf-field-<?php echo esc_attr($field_type); ?>"
|
188 |
-
data-qa-id="field-item"
|
189 |
-
data-qa-id2="<?php if ( isset( $settings[ $key ][ $name ]['label'] ) ): echo esc_attr( $settings[ $key ][ $name ]['label'] ); elseif ( isset( $field['label'] ) ): echo esc_attr( $field['label'] ); endif; ?>"
|
190 |
-
>
|
191 |
-
<div class="menu-item-bar">
|
192 |
-
<div class="menu-item-handle field-item-handle">
|
193 |
-
<?php if ( ! empty( $settings[ $key ][ $name ]['custom_field'] ) && $settings[ $key ][ $name ]['custom_field'] == '1' ): ?>
|
194 |
-
<input class="field_custom_field"
|
195 |
-
type="hidden"
|
196 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[custom_field]"
|
197 |
-
value="1"
|
198 |
-
data-qa-id="field-custom-field"
|
199 |
-
/>
|
200 |
-
<?php else : ?>
|
201 |
-
<input class="field_custom_field"
|
202 |
-
type="hidden"
|
203 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[custom_field]"
|
204 |
-
value="0"
|
205 |
-
data-qa-id="field-custom-field"
|
206 |
-
/>
|
207 |
-
<?php endif; ?>
|
208 |
-
|
209 |
-
<input
|
210 |
-
class="field_name"
|
211 |
-
type="hidden"
|
212 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[name]"
|
213 |
-
value="<?php echo esc_attr($name); ?>"
|
214 |
-
data-qa-id="field-name"
|
215 |
-
/>
|
216 |
-
|
217 |
-
<span class="item-title">
|
218 |
-
<span class="item-type">
|
219 |
-
<?php if ( isset( $checkout_field_type[$field_type] ) ) : ?>
|
220 |
-
<?php echo esc_html($checkout_field_type[$field_type]['name']); ?>
|
221 |
-
<?php else : ?>
|
222 |
-
<?php echo __( ucfirst( $field_type ), 'woocommerce' ); ?>
|
223 |
-
<?php endif; ?>
|
224 |
-
</span>
|
225 |
-
<?php if ( ! empty( $field['label'] ) ): ?>
|
226 |
-
<?php echo esc_html( strip_tags( $field['label'] ) ); ?>
|
227 |
-
<?php else: ?>
|
228 |
-
<?php echo esc_html($name) ?>
|
229 |
-
<?php endif; ?>
|
230 |
-
|
231 |
-
<?php if ( $field_required ): ?> *<?php endif; ?>
|
232 |
-
</span>
|
233 |
-
|
234 |
-
<span class="item-controls">
|
235 |
-
<a href="#" class="item-edit more"><span class="screen-reader-text"><?php _e( 'Edit', 'flexible-checkout-fields' ) ?></span></a>
|
236 |
-
</span>
|
237 |
-
</div>
|
238 |
-
</div>
|
239 |
-
|
240 |
-
<div class="menu-item-settings field-settings">
|
241 |
-
<div class="nav-tab-wrapper">
|
242 |
-
<a href="#general"
|
243 |
-
class="nav-tab nav-tab-active"><?php _e( 'General', 'flexible-checkout-fields' ); ?></a>
|
244 |
-
<a class="nav-tab"
|
245 |
-
href="#appearance"><?php _e( 'Appearance', 'flexible-checkout-fields' ); ?></a>
|
246 |
-
<a class="nav-tab display-options display-options-<?php echo esc_attr($field_type); ?>"
|
247 |
-
href="#display-options"><?php _e( 'Display On', 'flexible-checkout-fields' ); ?></a>
|
248 |
-
<?php
|
249 |
-
$additional_tabs = apply_filters( 'flexible_checkout_fields_field_tabs', array() );
|
250 |
-
foreach ( $additional_tabs as $additional_tab ) {
|
251 |
-
?>
|
252 |
-
<a class="nav-tab"
|
253 |
-
href="#<?php echo esc_attr($additional_tab['hash']); ?>"><?php echo esc_html($additional_tab['title']); ?></a>
|
254 |
-
<?php
|
255 |
-
}
|
256 |
-
?>
|
257 |
-
</div>
|
258 |
-
<div class="field-settings-tab-container field-settings-general">
|
259 |
-
<?php if ( $is_custom_field ): ?>
|
260 |
-
<?php if ( isset( $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['description'] ) ) : ?>
|
261 |
-
<div class="element-<?php echo $settings[ $key ][ $name ]['type']; ?>-description show">
|
262 |
-
<p class="description"><?php echo $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['description']; ?></p>
|
263 |
-
</div>
|
264 |
-
<?php endif; ?>
|
265 |
-
<?php endif; ?>
|
266 |
-
|
267 |
-
|
268 |
-
<div>
|
269 |
-
<input type="hidden"
|
270 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[visible]"
|
271 |
-
value="1"
|
272 |
-
/>
|
273 |
-
|
274 |
-
<label>
|
275 |
-
<input class="field_visible"
|
276 |
-
type="checkbox"
|
277 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[visible]"
|
278 |
-
value="0" <?php if ( $field_visible ): ?> checked<?php endif; ?>
|
279 |
-
data-qa-id="field-visible"
|
280 |
-
/>
|
281 |
-
<?php _e( 'Enable Field', 'flexible-checkout-fields' ) ?>
|
282 |
-
</label>
|
283 |
-
</div>
|
284 |
-
|
285 |
-
<?php
|
286 |
-
if ( in_array( $name, $fields_requirement_controlled_by_woocommerce ) ) {
|
287 |
-
$requirement_controlled_by_woocommerce = true;
|
288 |
-
} else {
|
289 |
-
$requirement_controlled_by_woocommerce = false;
|
290 |
-
}
|
291 |
-
$disabled = '';
|
292 |
-
$checked = '';
|
293 |
-
$style = '';
|
294 |
-
if ( isset( $settings[ $key ][ $name ]['type'] )
|
295 |
-
&& isset( $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['has_required'] )
|
296 |
-
&& $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['has_required'] == false
|
297 |
-
) {
|
298 |
-
$style = ' display:none; ';
|
299 |
-
} else {
|
300 |
-
if ( $field_required ) {
|
301 |
-
$checked = ' checked';
|
302 |
-
}
|
303 |
-
}
|
304 |
-
if ( $requirement_controlled_by_woocommerce ) {
|
305 |
-
$disabled = ' disabled';
|
306 |
-
}
|
307 |
-
|
308 |
-
if( empty( $field['class'] ) ) {
|
309 |
-
$field['class'] = array( 'form-row' );
|
310 |
-
}
|
311 |
-
?>
|
312 |
-
<div style="<?php echo esc_attr($style); ?>">
|
313 |
-
<input type="hidden"
|
314 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[required]"
|
315 |
-
value="0"
|
316 |
-
/>
|
317 |
-
<label>
|
318 |
-
<input class="field_required"
|
319 |
-
type="checkbox"
|
320 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[required]"
|
321 |
-
value="1" <?php echo $checked; ?> <?php echo $disabled; ?>
|
322 |
-
data-qa-id="field-required"
|
323 |
-
/>
|
324 |
-
<?php _e( 'Required Field', 'flexible-checkout-fields' ) ?>
|
325 |
-
</label>
|
326 |
-
<?php if ( $requirement_controlled_by_woocommerce ) : ?>
|
327 |
-
<?php $tip = __( 'Requirement of this field is controlled by WooCommerce and cannot be changed.', 'flexible-checkout-fields' ); ?>
|
328 |
-
<span class="woocommerce-help-tip" data-tip="<?php echo esc_attr($tip);?>"></span>
|
329 |
-
<?php endif; ?>
|
330 |
-
</div>
|
331 |
-
|
332 |
-
<div class="element_<?php echo esc_attr($name) ?> field-type-label">
|
333 |
-
|
334 |
-
<label for="label_<?php echo esc_attr($name) ?>"><?php _e( 'Label', 'flexible-checkout-fields' ) ?></label>
|
335 |
-
|
336 |
-
<textarea data-field="<?php echo esc_attr($name); ?>" class="fcf_label field-name field_label" id="label_<?php echo esc_attr($name) ?>" class="field-name"
|
337 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[label]"
|
338 |
-
data-qa-id="field-name"
|
339 |
-
><?php if ( isset( $settings[ $key ][ $name ]['label'] ) ): echo esc_textarea( $settings[ $key ][ $name ]['label'] );
|
340 |
-
elseif ( isset( $field['label'] ) ): echo esc_html( $field['label'] ); endif; ?></textarea>
|
341 |
-
|
342 |
-
<p class="description"><?php _e( 'You can use HTML.', 'flexible-checkout-fields' ); ?></p>
|
343 |
-
</div>
|
344 |
-
|
345 |
-
<?php $short_name_disabled = 'readonly'; ?>
|
346 |
-
<?php if ( !$is_custom_field ): ?>
|
347 |
-
<?php $short_name_disabled = 'disabled'; ?>
|
348 |
-
<?php endif; ?>
|
349 |
-
<div class="field-type-name">
|
350 |
-
|
351 |
-
<label for="short_name_<?php echo esc_attr($name); ?>"><?php _e( 'Name', 'flexible-checkout-fields' ) ?></label>
|
352 |
-
|
353 |
-
<?php $short_name_value = ''; ?>
|
354 |
-
<?php if ( isset( $settings[ $key ][ $name ]['short_name'] ) ): $short_name_value = esc_attr( $settings[ $key ][ $name ]['short_name'] ); elseif ( isset( $field['short_name'] ) ): $short_name_value = $field['short_name']; endif; ?>
|
355 |
-
|
356 |
-
<input
|
357 |
-
required <?php echo $short_name_disabled; ?>
|
358 |
-
class="short_name field_short_name"
|
359 |
-
type="text"
|
360 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[short_name]"
|
361 |
-
value="<?php echo esc_attr($short_name_value); ?>"
|
362 |
-
data-qa-id="field-short-nem"
|
363 |
-
/>
|
364 |
-
|
365 |
-
<p class="description"><?php echo sprintf( __( 'Meta name: %s.', 'flexible-checkout-fields' ), '<strong>' . '_' . $key . '_' . $short_name_value . '</strong>' ); ?></p>
|
366 |
-
|
367 |
-
</div>
|
368 |
-
|
369 |
-
<div class="field-validation field-validation-<?php echo esc_attr($field_type); ?>">
|
370 |
-
|
371 |
-
<label for="validation_<?php echo esc_attr($name) ?>"><?php _e( 'Validation', 'flexible-checkout-fields' ) ?></label>
|
372 |
-
|
373 |
-
<?php $validation_value = ''; ?>
|
374 |
-
<?php if ( isset( $settings[ $key ][ $name ]['validation'] ) ): $validation_value = esc_attr( $settings[ $key ][ $name ]['validation'] ); elseif ( isset( $field['validation'] ) ): $short_name_value = $field['validation']; endif; ?>
|
375 |
-
|
376 |
-
<select
|
377 |
-
class="validation field_validation" type="text"
|
378 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[validation]"
|
379 |
-
data-qa-id="field-validation"
|
380 |
-
>
|
381 |
-
<?php foreach ( $validation_options as $option_value => $option ) : ?>
|
382 |
-
<?php if ( $is_custom_field && $option_value == '' ) continue; ?>
|
383 |
-
<option value="<?php echo esc_attr($option_value); ?>" <?php echo selected( $validation_value, $option_value ); ?>><?php echo esc_html($option); ?></option>
|
384 |
-
<?php endforeach; ?>
|
385 |
-
</select>
|
386 |
-
<p class="description"><?php echo __( 'For Post Code validation works only with country.', 'flexible-checkout-fields' ); ?></p>
|
387 |
-
</div>
|
388 |
-
|
389 |
-
<?php if ( $is_custom_field ): ?>
|
390 |
-
<?php
|
391 |
-
$required = '';
|
392 |
-
if ( $fcf_field_type && $fcf_field_type->has_options() ) {
|
393 |
-
$required = ' required';
|
394 |
-
}
|
395 |
-
?>
|
396 |
-
<div class="element-option<?php if ( $fcf_field_type && $fcf_field_type->has_options() ) echo " show" ?>">
|
397 |
-
<label for="option_<?php echo esc_attr($name); ?>"><?php _e( 'Options', 'flexible-checkout-fields' ) ?></label>
|
398 |
-
|
399 |
-
<textarea class="field_option"
|
400 |
-
data-field="<?php echo esc_attr($name); ?>" class="fcf_options"
|
401 |
-
id="option_<?php echo esc_attr($name); ?>"
|
402 |
-
data-qa-id="field-option"
|
403 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[option]"
|
404 |
-
<?php echo $required; ?>
|
405 |
-
><?php echo isset( $settings[ $key ][ $name ]['option'] ) ? esc_textarea( stripslashes( $settings[ $key ][ $name ]['option'] ) ) : ''; ?></textarea>
|
406 |
-
<p><?php _e( 'Format: <code>Value : Name</code>. Value will be in the code, name will be visible to the user. One option per line. Example:<br /><code>woman : I am a woman</code><br /><code>man : I am a man</code>', 'flexible-checkout-fields' ) ?></p>
|
407 |
-
</div>
|
408 |
-
<?php endif; ?>
|
409 |
-
|
410 |
-
<?php if ( $is_custom_field ): ?>
|
411 |
-
<?php if ( $fcf_field_type && $fcf_field_type->has_default_value() ): ?>
|
412 |
-
<div class="default">
|
413 |
-
<label for="default_<?php echo esc_attr($name); ?>"><?php _e( 'Default value', 'flexible-checkout-fields' ) ?></label>
|
414 |
-
|
415 |
-
<input class="default" id="default_<?php echo esc_attr($name); ?>"
|
416 |
-
type="text"
|
417 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[default]"
|
418 |
-
value="<?php echo esc_attr( $fcf_field->get_default() ); ?>"
|
419 |
-
data-qa-id="default"
|
420 |
-
/>
|
421 |
-
<p class="description"><?php _e( 'For checkbox enter <strong>Yes</strong> if should be checked by default.', 'flexible-checkout-fields' ); ?></p>
|
422 |
-
</div>
|
423 |
-
<?php else : ?>
|
424 |
-
<input class="default" id="default_<?php echo esc_attr($name); ?>"
|
425 |
-
type="hidden"
|
426 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[default]"
|
427 |
-
value="<?php echo esc_attr( $fcf_field->get_default() ); ?>"
|
428 |
-
data-qa-id="default"
|
429 |
-
/>
|
430 |
-
<?php endif; ?>
|
431 |
-
<?php endif; ?>
|
432 |
-
|
433 |
-
<?php if ( $is_custom_field ): ?>
|
434 |
-
<?php do_action( 'flexible_checkout_fields_settings_html', $key, $name, $settings ); ?>
|
435 |
-
<div class="field_type">
|
436 |
-
<label for="type_<?php echo esc_attr($name); ?>"><?php _e( 'Field Type', 'flexible-checkout-fields' ) ?></label>
|
437 |
-
|
438 |
-
<select class="field_type" id="field_type_<?php echo esc_attr($name); ?>"
|
439 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[type]"
|
440 |
-
disabled
|
441 |
-
data-qa-id="field-type"
|
442 |
-
>
|
443 |
-
<?php foreach ( $checkout_field_type as $type_key => $value ): ?>
|
444 |
-
<option value="<?php echo esc_attr($type_key); ?>"<?php if ( $settings[ $key ][ $name ]['type'] == $type_key ) {
|
445 |
-
echo " selected";
|
446 |
-
} ?>><?php echo esc_html($value['name']) ?></option>
|
447 |
-
<?php endforeach; ?>
|
448 |
-
</select>
|
449 |
-
</div>
|
450 |
-
<?php else : ?>
|
451 |
-
<?php if ( !empty( $field['type'] ) ) : ?>
|
452 |
-
<input
|
453 |
-
type="hidden"
|
454 |
-
id="field_type_<?php echo esc_attr($name); ?>"
|
455 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[type]"
|
456 |
-
value="<?php echo esc_attr($field['type']); ?>"
|
457 |
-
data-qa-id="field-type"
|
458 |
-
/>
|
459 |
-
<?php endif; ?>
|
460 |
-
<?php endif; ?>
|
461 |
-
</div>
|
462 |
-
<div class="field-settings-tab-container field-settings-appearance" style="display:none;">
|
463 |
-
<?php if ( ! $is_custom_field || empty( $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['disable_placeholder'] ) || ! $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['disable_placeholder'] ): ?>
|
464 |
-
<div class="field_placeholder">
|
465 |
-
<?php
|
466 |
-
$required = '';
|
467 |
-
if ( isset( $settings[ $key ][ $name ]['type'] ) && isset( $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['label_is_required'] ) ) {
|
468 |
-
$required = ' required';
|
469 |
-
}
|
470 |
-
?>
|
471 |
-
<label for="placeholder_<?php echo esc_attr($name); ?>"><?php if ( $is_custom_field && isset( $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['placeholder_label'] ) ): ?><?php echo $checkout_field_type[ $settings[ $key ][ $name ]['type'] ]['placeholder_label']; ?><?php else: ?><?php _e( 'Placeholder', 'flexible-checkout-fields' ) ?><?php endif; ?></label>
|
472 |
-
|
473 |
-
<?php
|
474 |
-
$disabled = '';
|
475 |
-
$tip = '';
|
476 |
-
if ( in_array( $name, array(
|
477 |
-
'billing_state', 'billing_country',
|
478 |
-
'shipping_state', 'shipping_country'
|
479 |
-
) ) ) {
|
480 |
-
$disabled = 'disabled';
|
481 |
-
$tip = __( 'This field is address locale dependent and cannot be modified.', 'flexible-checkout-fields' );
|
482 |
-
?>
|
483 |
-
<span class="woocommerce-help-tip" data-tip="<?php echo esc_attr($tip); ?>"></span>
|
484 |
-
<?php
|
485 |
-
}
|
486 |
-
?>
|
487 |
-
|
488 |
-
<input class="field_placeholder"
|
489 |
-
<?php echo $disabled; ?> type="text" id="placeholder_<?php echo esc_attr($name); ?>"
|
490 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[placeholder]"
|
491 |
-
value="<?php if ( ! empty( $settings[ $key ][ $name ]['placeholder'] ) ): echo esc_attr( $settings[ $key ][ $name ]['placeholder'] );
|
492 |
-
else: echo isset( $field['placeholder'] ) ? esc_attr( $field['placeholder'] ) : ''; endif; ?>" <?php echo $required; ?>
|
493 |
-
data-qa-id="field-placeholder"
|
494 |
-
/>
|
495 |
-
</div>
|
496 |
-
<?php endif; ?>
|
497 |
-
<div class="field-class">
|
498 |
-
<label for="class_<?php echo esc_attr($name); ?>"><?php _e( 'CSS Class', 'flexible-checkout-fields' ) ?></label>
|
499 |
-
<input class="field_class" type="text" id="class_<?php echo esc_attr($name); ?>"
|
500 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[class]"
|
501 |
-
value="<?php if ( ! empty( $settings[ $key ][ $name ]['class'] ) ): echo esc_attr($settings[ $key ][ $name ]['class']);
|
502 |
-
else: if ( ! empty( $field['class'] ) ) {
|
503 |
-
echo esc_attr( implode( ' ', $field['class'] ) );
|
504 |
-
} endif; ?>"
|
505 |
-
data-qa-id="field-class"
|
506 |
-
/>
|
507 |
-
</div>
|
508 |
-
|
509 |
-
<?php do_action( 'flexible_checkout_fields_setting_appearance_html', $key, $name, $settings ); ?>
|
510 |
-
|
511 |
-
</div>
|
512 |
-
|
513 |
-
|
514 |
-
<div class="field-settings-tab-container field-settings-display-options" style="display:none;">
|
515 |
-
<p><strong><?php _e( 'Pages/emails', 'flexible-checkout-fields' ) ?></strong></p>
|
516 |
-
|
517 |
-
<?php foreach ( $fields_display_on as $display_on_field_key => $display_on_field ) : ?>
|
518 |
-
<?php if ( $display_on_field_key == 'address' && !in_array( $key, array( 'billing', 'shipping' ) ) ) continue; ?>
|
519 |
-
<div class="fcf-display-on-<?php echo esc_attr($display_on_field_key); ?>">
|
520 |
-
<?php
|
521 |
-
$checked = ' checked';
|
522 |
-
$style = '';
|
523 |
-
if ( isset( $settings[ $key ][ $name ]['display_on_' . $display_on_field_key ] )
|
524 |
-
&& $settings[ $key ][ $name ]['display_on_' . $display_on_field_key ] == '0'
|
525 |
-
) {
|
526 |
-
$checked = '';
|
527 |
-
}
|
528 |
-
?>
|
529 |
-
<input type="hidden"
|
530 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[display_on_<?php echo $display_on_field_key; ?>]"
|
531 |
-
value="0"/>
|
532 |
-
|
533 |
-
<label>
|
534 |
-
<input class="field_required"
|
535 |
-
type="checkbox"
|
536 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[display_on_<?php echo $display_on_field_key; ?>]"
|
537 |
-
value="1" <?php echo $checked; ?>
|
538 |
-
data-qa-id="field-display-on-address"
|
539 |
-
/>
|
540 |
-
<?php echo $display_on_field['label']; ?>
|
541 |
-
</label>
|
542 |
-
</div>
|
543 |
-
<?php endforeach; ?>
|
544 |
-
|
545 |
-
<?php if ( in_array( $key, array( 'billing', 'shipping' ) ) ) : ?>
|
546 |
-
<p><strong><?php _e( 'Formatting on pages/emails', 'flexible-checkout-fields' ) ?></strong></p>
|
547 |
-
|
548 |
-
<?php
|
549 |
-
if ( $fcf_field::FIELD_TYPE_STATE === $fcf_field->get_type() ) {
|
550 |
-
$fields_display_on_options[ $fcf_field::DISPLAY_OPTION_STATE_CODE ] = array(
|
551 |
-
'label' => __( 'Display state abbreviations', 'flexible-checkout-fields' ),
|
552 |
-
'custom_fields_only' => false,
|
553 |
-
'default_value' => '0',
|
554 |
-
);
|
555 |
-
$fields_display_on_options[ $fcf_field::DISPLAY_OPTION_STATE_COMMA_BEFORE ] = array(
|
556 |
-
'label' => __( 'Display a comma before, if the field is not in the new line', 'flexible-checkout-fields' ),
|
557 |
-
'custom_fields_only' => false,
|
558 |
-
'default_value' => '0',
|
559 |
-
);
|
560 |
-
} else {
|
561 |
-
unset( $fields_display_on_options[ $fcf_field::DISPLAY_OPTION_STATE_CODE ] );
|
562 |
-
unset( $fields_display_on_options[ $fcf_field::DISPLAY_OPTION_STATE_COMMA_BEFORE ] );
|
563 |
-
}
|
564 |
-
?>
|
565 |
-
|
566 |
-
<?php foreach ( $fields_display_on_options as $display_on_field_key => $display_on_field ) : ?>
|
567 |
-
<?php if ( $display_on_field['custom_fields_only'] && ! $fcf_field->is_custom_field() ) continue; ?>
|
568 |
-
<?php if ( $display_on_field_key == $fcf_field::DISPLAY_OPTION_STATE_CODE ) : ?>
|
569 |
-
<p><strong><?php _e( 'State / County formatting', 'flexible-checkout-fields' ) ?></strong></p>
|
570 |
-
<?php endif; ?>
|
571 |
-
<div class="fcf-display-on-<?php echo esc_attr( $display_on_field_key ); ?>">
|
572 |
-
<?php
|
573 |
-
$field_name = $fcf_field->prepare_display_on_option_name( $display_on_field_key );
|
574 |
-
$default_setting_value = isset( $display_on_field['default_value'] ) ? $display_on_field['default_value'] : '1';
|
575 |
-
$checked = $fcf_field->get_field_setting( $field_name, $default_setting_value ) === '1' ? 'checked' : '';
|
576 |
-
?>
|
577 |
-
<input type="hidden"
|
578 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[<?php echo $field_name; ?>]"
|
579 |
-
value="0"/>
|
580 |
-
|
581 |
-
<label>
|
582 |
-
<input class="field_required"
|
583 |
-
type="checkbox"
|
584 |
-
name="<?php echo esc_attr( $field_name_prefix ); ?>[<?php echo $field_name; ?>]"
|
585 |
-
value="1" <?php echo $checked; ?>
|
586 |
-
data-qa-id="field-display-on-address"
|
587 |
-
/>
|
588 |
-
<?php echo $display_on_field['label']; ?>
|
589 |
-
</label>
|
590 |
-
</div>
|
591 |
-
<?php endforeach; ?>
|
592 |
-
|
593 |
-
<?php endif; ?>
|
594 |
-
|
595 |
-
</div>
|
596 |
-
|
597 |
-
<?php do_action( 'flexible_checkout_fields_field_tabs_content', $key, $name, $field, $settings ); ?>
|
598 |
-
<?php if ( $is_custom_field ) : ?>
|
599 |
-
<a class="remove-field" data-field="<?php echo esc_attr($name); ?>"
|
600 |
-
href="#"><?php _e( 'Delete Field', 'flexible-checkout-fields' ) ?></a>
|
601 |
-
<?php endif; ?>
|
602 |
-
</div>
|
603 |
-
|
604 |
-
</li>
|
605 |
-
<?php endforeach; ?>
|
606 |
-
</ul>
|
607 |
-
</div>
|
608 |
-
|
609 |
-
<?php do_action( 'flexible_checkout_fields_section_settings', $key, $settings ); ?>
|
610 |
-
|
611 |
-
<?php endforeach; ?>
|
612 |
-
|
613 |
-
<div id="nav-menu-footer">
|
614 |
-
<div class="major-publishing-actions wp-clearfix">
|
615 |
-
<input type="hidden"
|
616 |
-
name="<?php echo esc_attr( Flexible_Checkout_Fields_Settings::SECURITY_NONCE_FIELD ); ?>"
|
617 |
-
value="<?php echo esc_attr( wp_create_nonce( Flexible_Checkout_Fields_Settings::SECURITY_NONCE_NAME ) ); ?>">
|
618 |
-
<input type="submit" name=""
|
619 |
-
value="<?php _e( 'Save Changes', 'flexible-checkout-fields' ) ?>"
|
620 |
-
class="button button-primary">
|
621 |
-
<input type="submit"
|
622 |
-
value="<?php _e( 'Reset Section Settings', 'flexible-checkout-fields' ); ?>"
|
623 |
-
class="button reset_settings" id="submit" name="reset_settings">
|
624 |
-
<span class="spinner"></span>
|
625 |
-
</div>
|
626 |
-
</div>
|
627 |
-
</div>
|
628 |
-
</form>
|
629 |
-
</div>
|
630 |
-
</div>
|
631 |
-
</div>
|
632 |
-
</div>
|
633 |
-
|
634 |
-
<script type="text/javascript">
|
635 |
-
|
636 |
-
var fcf_all_sections = <?php echo json_encode( $plugin->sections, JSON_FORCE_OBJECT ); ?>;
|
637 |
-
var fcf_current_section = <?php echo json_encode( $current_section, JSON_FORCE_OBJECT ); ?>;
|
638 |
-
var fcf_field_type = <?php echo json_encode( $checkout_field_type ); ?>
|
639 |
-
|
640 |
-
jQuery(document).ready(function () {
|
641 |
-
|
642 |
-
String.prototype.escape = function() {
|
643 |
-
var tagsToReplace = {
|
644 |
-
'&': '&',
|
645 |
-
'<': '<',
|
646 |
-
'>': '>'
|
647 |
-
};
|
648 |
-
return this.replace(/[&<>]/g, function(tag) {
|
649 |
-
return tagsToReplace[tag] || tag;
|
650 |
-
});
|
651 |
-
};
|
652 |
-
|
653 |
-
function validate_field_name( field ) {
|
654 |
-
var return_false = false;
|
655 |
-
jQuery('.short_name').each(function() {
|
656 |
-
var field_name = jQuery(this).attr('name').escape();
|
657 |
-
var field_settings = jQuery(this).closest('.field-item');
|
658 |
-
if ( field_name != jQuery(field).attr('name').escape() ) {
|
659 |
-
if ( jQuery(field).val().toLowerCase() == jQuery(this).val().toLowerCase() ) {
|
660 |
-
var message = '<?php echo sprintf(__( 'Invalid field name: %s. The name already exists.', 'flexible-checkout-fields' ), '[field]' ); ?>';
|
661 |
-
message = message.replace( '[field]', jQuery(field).val() );
|
662 |
-
alert( message );
|
663 |
-
return_false = true;
|
664 |
-
return false;
|
665 |
-
}
|
666 |
-
}
|
667 |
-
})
|
668 |
-
if ( return_false ) {
|
669 |
-
return false;
|
670 |
-
}
|
671 |
-
if ( jQuery(field).val() == '' ) {
|
672 |
-
alert( '<?php _e( 'Field name can not be empty!', 'flexible-checkout-fields' ); ?>' );
|
673 |
-
return false;
|
674 |
-
}
|
675 |
-
if ( jQuery(field).val() !== stringToSlug(jQuery(field).val()) ) {
|
676 |
-
alert( '<?php _e( 'Field name should contains only lowercase letters, numbers and underscore sign.', 'flexible-checkout-fields' ); ?>' );
|
677 |
-
return false;
|
678 |
-
}
|
679 |
-
if ( !isNaN( jQuery(field).val() ) ) {
|
680 |
-
alert( '<?php _e( 'Field name can not be number!', 'flexible-checkout-fields' ); ?>' );
|
681 |
-
return false;
|
682 |
-
}
|
683 |
-
return true;
|
684 |
-
}
|
685 |
-
|
686 |
-
function generate_short_name( short_name ) {
|
687 |
-
var unique = false;
|
688 |
-
var count = 0;
|
689 |
-
var tmp_short_name = short_name;
|
690 |
-
while ( !unique ) {
|
691 |
-
unique = true;
|
692 |
-
jQuery('.short_name').each(function(){
|
693 |
-
if ( jQuery(this).val() == tmp_short_name ) {
|
694 |
-
unique = false;
|
695 |
-
count++;
|
696 |
-
tmp_short_name = short_name + '_' + count.toString();
|
697 |
-
}
|
698 |
-
})
|
699 |
-
}
|
700 |
-
return tmp_short_name;
|
701 |
-
}
|
702 |
-
|
703 |
-
jQuery('.sortable').sortable({
|
704 |
-
handle: '.field-item-handle',
|
705 |
-
placeholder: 'sortable-placeholder',
|
706 |
-
opacity: 0.7,
|
707 |
-
activate: function (event, ui) {
|
708 |
-
ui.item.find('.field-settings').hide();
|
709 |
-
}
|
710 |
-
});
|
711 |
-
|
712 |
-
function strip_tags( html ) {
|
713 |
-
return jQuery('<p>' + html + '</p>').text();
|
714 |
-
}
|
715 |
-
|
716 |
-
function htmlEncode(value){
|
717 |
-
//create a in-memory div, set it's inner text(which jQuery automatically encodes)
|
718 |
-
//then grab the encoded contents back out. The div never exists on the page.
|
719 |
-
return jQuery('<div/>').text(value).html();
|
720 |
-
}
|
721 |
-
|
722 |
-
function htmlDecode(value){
|
723 |
-
return jQuery('<div/>').html(value).text();
|
724 |
-
}
|
725 |
-
|
726 |
-
// Add New Field
|
727 |
-
jQuery("#button_add_field").click(function (e) {
|
728 |
-
e.preventDefault();
|
729 |
-
|
730 |
-
var field_label = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_name').val();
|
731 |
-
var field_section = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_section').val();
|
732 |
-
var field_type = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_type').val();
|
733 |
-
var field_option = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_option').val();
|
734 |
-
|
735 |
-
var field_short_name = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_short_name').val().escape();
|
736 |
-
var field_slug = field_section + '_' + field_short_name;
|
737 |
-
|
738 |
-
// Proceed if Name (label) is filled
|
739 |
-
if ( field_label ) {
|
740 |
-
if ( !validate_field_name( jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_short_name') ) ) {
|
741 |
-
return false;
|
742 |
-
}
|
743 |
-
var html = '';
|
744 |
-
html += '<li class="field-item menu-item element_' + field_slug + ' just-added fcf-field-' + field_type + '" data-qa-id="field-item" data-qa-id2="' + htmlEncode( field_label ) + '">';
|
745 |
-
//html += '<li class="field-item menu-item">';
|
746 |
-
html += '<div class="menu-item-bar">';
|
747 |
-
html += '<div class="menu-item-handle field-item-handle">';
|
748 |
-
html += '<input class="field_custom_field" type="hidden" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][custom_field]" value="1" data-qa-id="field-custom-field">';
|
749 |
-
html += '<span class="item-title">';
|
750 |
-
html += '<span class="item-type">';
|
751 |
-
html += fcf_field_type[field_type]['name'];
|
752 |
-
html += '</span>';
|
753 |
-
html += htmlEncode( strip_tags(field_label) );
|
754 |
-
html += '</span>';
|
755 |
-
html += '<span class="item-controls">';
|
756 |
-
html += '<a href="#" class="item-edit more"><span class="screen-reader-text"><?php _e( 'Edit', 'flexible-checkout-fields' ) ?></span></a>';
|
757 |
-
html += '</span>';
|
758 |
-
html += '</div>';
|
759 |
-
html += '</div>';
|
760 |
-
html += '<div class="menu-item-settings field-settings">';
|
761 |
-
|
762 |
-
html += '<div class="nav-tab-wrapper">';
|
763 |
-
html += '<a href="#general" class="nav-tab nav-tab-active"><?php _e( 'General', 'flexible-checkout-fields' ); ?></a>';
|
764 |
-
html += '<a class="nav-tab" href="#appearance"><?php _e( 'Appearance', 'flexible-checkout-fields' ); ?></a>';
|
765 |
-
html += '<a class="nav-tab display-options display-options-' + field_type + '" href="#display-options"><?php _e( 'Display On', 'flexible-checkout-fields' ); ?></a>';
|
766 |
-
<?php
|
767 |
-
$additional_tabs = apply_filters( 'flexible_checkout_fields_field_tabs', array() );
|
768 |
-
foreach ( $additional_tabs as $additional_tab ) {
|
769 |
-
?>
|
770 |
-
html += '<a class="nav-tab" href="#<?php echo esc_attr($additional_tab['hash']); ?>"><?php echo esc_html($additional_tab['title']); ?></a>';
|
771 |
-
<?php
|
772 |
-
}
|
773 |
-
?>
|
774 |
-
html += '</div>';
|
775 |
-
html += '<div class="field-settings-tab-container field-settings-general">';
|
776 |
-
|
777 |
-
<?php foreach ( $checkout_field_type as $key => $value ) : ?>
|
778 |
-
<?php if ( isset( $value['description'] ) ) : ?>
|
779 |
-
html += '<div class="element-<?php echo esc_attr($key); ?>-description">';
|
780 |
-
html += '<p class="description"><?php echo esc_html($value['description']); ?></p>';
|
781 |
-
html += '</div>';
|
782 |
-
<?php endif; ?>
|
783 |
-
<?php endforeach; ?>
|
784 |
-
html += '<div>';
|
785 |
-
html += '<input type="hidden" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][visible]" value="1">';
|
786 |
-
html += '<label>';
|
787 |
-
html += '<input class="field_visible" type="checkbox" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][visible]" value="0" checked data-qa-id="field-visible">';
|
788 |
-
html += '<?php _e( 'Enable Field', 'flexible-checkout-fields' ) ?>';
|
789 |
-
html += '</label>';
|
790 |
-
html += '</div>';
|
791 |
-
|
792 |
-
html += '<input type="hidden" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][required]" value="0">';
|
793 |
-
if (field_type !== 'info') { // do not show required field for html/info type
|
794 |
-
html += '<div>';
|
795 |
-
html += '<label>';
|
796 |
-
html += '<input class="field_required" type="checkbox" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][required]" value="1" data-qa-id="field-required">';
|
797 |
-
html += '<?php _e( 'Required Field', 'flexible-checkout-fields' ) ?>';
|
798 |
-
html += '</label>';
|
799 |
-
html += '</div>';
|
800 |
-
}
|
801 |
-
|
802 |
-
html += '<div class="field-type-label">';
|
803 |
-
html += '<label class="fcf_label" for="label_' + field_slug + '"><?php _e( 'Label', 'flexible-checkout-fields' ) ?></label>';
|
804 |
-
html += '<textarea class="field_label" data-field="' + field_slug + '" id="label_' + field_slug + '" class="fcf_label field-name" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][label]" data-qa-id="field-label">' + field_label + '</textarea>';
|
805 |
-
html += '<p class="description"><?php _e( 'You can use HTML.', 'flexible-checkout-fields' ); ?></p>';
|
806 |
-
html += '</div>';
|
807 |
-
|
808 |
-
html += '<div class="field-type-name">';
|
809 |
-
html += ' <label for="short_name_' + field_slug + '"><?php _e( 'Name', 'flexible-checkout-fields' ) ?></label>';
|
810 |
-
html += ' <input required class="field_short_name short_name" type="text" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][short_name]" value="' + field_short_name + '" data-qa-id="field-short-name" readonly />';
|
811 |
-
html += ' <p class="description"><?php echo __( 'Meta name: ', 'flexible-checkout-fields' ); ?><strong>_' + field_section + '_' + field_short_name + '</strong></p>';
|
812 |
-
html += ' </div>';
|
813 |
-
|
814 |
-
html += '<div class="field-validation field-validation-' + field_type + '">';
|
815 |
-
html += ' <label for="validation_' + field_slug + '"><?php _e( 'Validation', 'flexible-checkout-fields' ) ?></label>';
|
816 |
-
html += ' <select class="validation field_validation" type="text" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][validation]" data-qa-id="field-validation">';
|
817 |
-
<?php unset( $validation_options[''] ); ?>
|
818 |
-
<?php foreach ( $validation_options as $option_value => $option ) : ?>
|
819 |
-
<?php if ( $option_value == '' ) continue; ?>
|
820 |
-
html += ' <option value="<?php echo esc_attr($option_value); ?>"><?php echo esc_html($option); ?></option>';
|
821 |
-
<?php endforeach; ?>
|
822 |
-
html += ' </select>';
|
823 |
-
html += ' <p class="description"><?php echo __( 'For Post Code validation works only with country.', 'flexible-checkout-fields' ); ?></p>';
|
824 |
-
html += '</div>';
|
825 |
-
|
826 |
-
let default_value_input_type = 'hidden';
|
827 |
-
if ( fcf_field_type[field_type].has_default_value !== undefined && fcf_field_type[field_type].has_default_value ) {
|
828 |
-
html += '<div class="default">';
|
829 |
-
html += ' <label for="default_' + field_slug + '"><?php _e( 'Default value',
|
830 |
-
'flexible-checkout-fields' ) ?></label>';
|
831 |
-
html += ' <input class="default" id="default_' + field_slug + '"';
|
832 |
-
html += ' type="text"';
|
833 |
-
html += ' name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][default]"';
|
834 |
-
html += ' value=""';
|
835 |
-
html += ' data-qa-id="default"';
|
836 |
-
html += ' />';
|
837 |
-
html += ' <p class="description"><?php _e( 'For checkbox enter <strong>Yes</strong> if should by checked by default.',
|
838 |
-
'flexible-checkout-fields' ); ?></p>';
|
839 |
-
html += '</div>';
|
840 |
-
} else {
|
841 |
-
html += ' <input class="default" id="default_' + field_slug + '"';
|
842 |
-
html += ' type="hidden"';
|
843 |
-
html += ' name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][default]"';
|
844 |
-
html += ' value=""';
|
845 |
-
html += ' data-qa-id="default"';
|
846 |
-
html += ' />';
|
847 |
-
}
|
848 |
-
|
849 |
-
<?php do_action( 'flexible_checkout_fields_settings_js_html' ); ?>
|
850 |
-
|
851 |
-
html += '<div class="field_type">';
|
852 |
-
html += '<label for="type_' + field_slug + '"><?php _e( 'Field Type', 'flexible-checkout-fields' ) ?></label>';
|
853 |
-
html += '<select class="field_type" id="field_type_' + field_slug + '" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][type]" disabled data-qa-id="field-type">' + printSelectTypeOptions(field_type) + '</select>';
|
854 |
-
html += '</div>';
|
855 |
-
|
856 |
-
html += '</div>';
|
857 |
-
html += '<div class="field-settings-tab-container field-settings-appearance" style="display:none;">';
|
858 |
-
|
859 |
-
html += '<div class="field_placeholder">';
|
860 |
-
html += '<label for="placeholder_' + field_slug + '"><?php _e( 'Placeholder', 'flexible-checkout-fields' ) ?></label>';
|
861 |
-
html += '<input class="field_placeholder" type="text" id="placeholder_' + field_slug + '" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][placeholder]" value="" data-qa-id="field-placeholder" />';
|
862 |
-
html += '</div>';
|
863 |
-
html += '<div class="field-class">';
|
864 |
-
html += '<label for="class_' + field_slug + '"><?php _e( 'CSS Class', 'flexible-checkout-fields' ) ?></label>';
|
865 |
-
html += '<input class="field_class" type="text" id="class_' + field_slug + '" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][class]" value="form-row" data-qa-id="field-class" />';
|
866 |
-
html += '</div>';
|
867 |
-
|
868 |
-
html += '</div>';
|
869 |
-
|
870 |
-
html += '<div class="field-settings-tab-container field-settings-display-options" style="display:none;">';
|
871 |
-
html += '<p><strong><?php _e( 'Formatting on pages/emails', 'flexible-checkout-fields' ) ?></strong></p>';
|
872 |
-
|
873 |
-
<?php foreach ( $fields_display_on as $display_on_field_key => $display_on_field ) : ?>
|
874 |
-
<?php if ( $display_on_field_key === 'address' && !in_array( $current_tab, array( 'fields_billing', 'fields_shipping' ) ) ) continue; ?>
|
875 |
-
html += '<div class=" fcf-display-on-<?php echo esc_attr($display_on_field_key); ?>">';
|
876 |
-
html += '<input type="hidden" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][display_on_<?php echo esc_attr($display_on_field_key); ?>]" value="0"/>';
|
877 |
-
html += '<label>';
|
878 |
-
html += '<input class="field_required" type="checkbox" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][display_on_<?php echo esc_attr($display_on_field_key); ?>]" value="1" checked data-qa-id="field-display-on-address" />';
|
879 |
-
html += '<?php echo esc_attr($display_on_field['label']); ?>';
|
880 |
-
html += '</label>';
|
881 |
-
html += '</div>';
|
882 |
-
<?php endforeach; ?>
|
883 |
-
|
884 |
-
<?php if ( in_array( $current_tab, array( 'fields_billing', 'fields_shipping' ) ) ) : ?>
|
885 |
-
html += '<hr />';
|
886 |
-
html += '<p><strong><?php _e( 'Pages/emails', 'flexible-checkout-fields' ) ?></strong></p>';
|
887 |
-
<?php foreach ( $fields_display_on_options as $display_on_field_key => $display_on_field ) : ?>
|
888 |
-
html += '<div class=" fcf-display-on-option-<?php echo esc_attr($display_on_field_key); ?>">';
|
889 |
-
html += '<input type="hidden" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][display_on_option_<?php echo esc_attr($display_on_field_key); ?>]" value="0"/>';
|
890 |
-
html += '<label>';
|
891 |
-
html += '<input class="field_required" type="checkbox" name="inspire_checkout_fields[settings][' + field_section + '][' + field_slug + '][display_on_option_<?php echo esc_attr($display_on_field_key); ?>]" value="1" checked data-qa-id="field-display-on-address" />';
|
892 |
-
html += '<?php echo esc_attr($display_on_field['label']); ?>';
|
893 |
-
html += '</label>';
|
894 |
-
html += '</div>';
|
895 |
-
<?php endforeach; ?>
|
896 |
-
<?php endif; ?>
|
897 |
-
|
898 |
-
html += '</div>';
|
899 |
-
|
900 |
-
<?php do_action( 'flexible_checkout_fields_field_tabs_content_js' ); ?>
|
901 |
-
|
902 |
-
html += '<a class="remove-field" href="#"><?php _e( 'Delete Field', 'flexible-checkout-fields' ) ?></a>';
|
903 |
-
html += '</li>';
|
904 |
-
html += '';
|
905 |
-
|
906 |
-
jQuery('#' + field_section).append(html);
|
907 |
-
jQuery('.element_' + field_slug + ' .element-file-description').hide();
|
908 |
-
|
909 |
-
// Add Field Options or Value or Placeholder
|
910 |
-
switch (field_type) {
|
911 |
-
|
912 |
-
<?php do_action( 'flexible_checkout_fields_settings_js_options' ); ?>
|
913 |
-
|
914 |
-
default:
|
915 |
-
jQuery('.element_' + field_slug + ' .field_placeholder label').html('<?php _e( 'Placeholder', 'flexible-checkout-fields' ); ?>');
|
916 |
-
jQuery('.element_' + field_slug + ' .field_placeholder').show();
|
917 |
-
break;
|
918 |
-
}
|
919 |
-
jQuery(document).trigger("fcf:add_field", [ field_slug ] );
|
920 |
-
jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_name').val('');
|
921 |
-
jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_short_name').val('');
|
922 |
-
jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_short_name_meta').html('');
|
923 |
-
jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_short_name').attr('data-changed',0);
|
924 |
-
}
|
925 |
-
// Display Alert if Name (label) is NOT filled
|
926 |
-
else {
|
927 |
-
alert('<?php _e( 'Field label can not be empty!', 'flexible-checkout-fields' ) ?>');
|
928 |
-
}
|
929 |
-
});
|
930 |
-
|
931 |
-
// Toggle field settings
|
932 |
-
jQuery(document).on('click', '.field-item a.more', function (e) {
|
933 |
-
e.preventDefault();
|
934 |
-
jQuery(this).closest('.field-item').find('.field-settings').slideToggle('fast');
|
935 |
-
jQuery(this).closest('.field-item').toggleClass('menu-item-edit-active');
|
936 |
-
if (jQuery(this).closest('.field-item').hasClass('menu-item-edit-active')) {
|
937 |
-
jQuery(this).closest('.field-item').attr('data-qa-id','field-item-active');
|
938 |
-
}
|
939 |
-
else {
|
940 |
-
jQuery(this).closest('.field-item').attr('data-qa-id','field-item');
|
941 |
-
}
|
942 |
-
});
|
943 |
-
|
944 |
-
jQuery(document).on('change', '#woocommerce_checkout_fields_field_type', function (e) {
|
945 |
-
<?php if (!is_flexible_checkout_fields_pro_active()) : ?>
|
946 |
-
if ( jQuery(this).val() == 'text' || jQuery(this).val() == 'textarea' ) {
|
947 |
-
jQuery('#woocommerce_checkout_fields_field_name_container').show();
|
948 |
-
jQuery('#woocommerce_checkout_fields_field_short_name_container').show();
|
949 |
-
jQuery('#woocommerce_checkout_fields_field_name_container_pro').hide();
|
950 |
-
jQuery('#button_add_field').prop('disabled',false);
|
951 |
-
}
|
952 |
-
else {
|
953 |
-
jQuery('#woocommerce_checkout_fields_field_name_container').hide();
|
954 |
-
jQuery('#woocommerce_checkout_fields_field_short_name_container').hide();
|
955 |
-
jQuery('#woocommerce_checkout_fields_field_name_container_pro').show();
|
956 |
-
jQuery('#button_add_field').prop('disabled',true);
|
957 |
-
}
|
958 |
-
<?php endif; ?>
|
959 |
-
})
|
960 |
-
|
961 |
-
var current_field_name_value = '';
|
962 |
-
jQuery(document).on( 'keydown', '#woocommerce_checkout_fields_field_short_name', function (e) {
|
963 |
-
current_field_name_value = jQuery(this).val().escape();
|
964 |
-
});
|
965 |
-
|
966 |
-
jQuery(document).on( 'keyup', '#woocommerce_checkout_fields_field_short_name', function (e) {
|
967 |
-
if ( current_field_name_value != jQuery(this).val().escape() ) {
|
968 |
-
jQuery(this).attr('data-changed', 1);
|
969 |
-
jQuery(this).change();
|
970 |
-
current_field_name_value = jQuery(this).val().escape();
|
971 |
-
}
|
972 |
-
});
|
973 |
-
|
974 |
-
jQuery(document).on( 'change', '#woocommerce_checkout_fields_field_short_name', function (e) {
|
975 |
-
var field_section = jQuery(this).closest('form').find('#woocommerce_checkout_fields_field_section').val();
|
976 |
-
jQuery('#woocommerce_checkout_fields_field_short_name_meta').html( '_' + field_section + '_' + jQuery(this).val().escape());
|
977 |
-
})
|
978 |
-
|
979 |
-
jQuery(document).on( 'keyup', '#woocommerce_checkout_fields_field_name', function (e) {
|
980 |
-
if ( jQuery('#woocommerce_checkout_fields_field_short_name').attr('data-changed') == 0 ) {
|
981 |
-
var field_label = jQuery(this).val();
|
982 |
-
var field_name = generate_short_name( stringToSlug(field_label).substr(0, 20) );
|
983 |
-
current_field_name_value = field_name;
|
984 |
-
jQuery('#woocommerce_checkout_fields_field_short_name').val(field_name);
|
985 |
-
jQuery('#woocommerce_checkout_fields_field_short_name').change();
|
986 |
-
}
|
987 |
-
})
|
988 |
-
|
989 |
-
// Toggle between placeholder or value
|
990 |
-
jQuery(document).on('change', '.field-item .field-settings #woocommerce_checkout_fields_field_type', function (e) {
|
991 |
-
switch (jQuery(this).val()) {
|
992 |
-
default:
|
993 |
-
jQuery(this).closest('.field-item').find('.element-option').removeClass('show');
|
994 |
-
jQuery(this).closest('.field-item').find('.field_placeholder label').html('<?php _e( 'Placeholder', 'flexible-checkout-fields' ); ?>');
|
995 |
-
jQuery(this).closest('.field-item').find('.field_placeholder').show();
|
996 |
-
break;
|
997 |
-
}
|
998 |
-
e.preventDefault();
|
999 |
-
});
|
1000 |
-
|
1001 |
-
window.fcf_do_remove_field = false;
|
1002 |
-
// Remove field
|
1003 |
-
jQuery(document).on('click', '.field-item a.remove-field', function (e) {
|
1004 |
-
e.preventDefault();
|
1005 |
-
var toRemove = jQuery(this).closest('li');
|
1006 |
-
window.fcf_do_remove_field = true;
|
1007 |
-
jQuery(this).trigger('fcf:pre_remove_field');
|
1008 |
-
if ( window.fcf_do_remove_field == true ) {
|
1009 |
-
var message = '<?php echo sprintf( __( 'Do you really want to delete this field: %s? Deleting a field remove it from all orders.', 'flexible-checkout-fields' ), '[field_name]' ); ?>';
|
1010 |
-
message = message.replace('[field_name]', toRemove.find('.field-name').val());
|
1011 |
-
if (confirm(message)) {
|
1012 |
-
jQuery(this).trigger('fcf:remove_field');
|
1013 |
-
toRemove.remove();
|
1014 |
-
}
|
1015 |
-
}
|
1016 |
-
});
|
1017 |
-
|
1018 |
-
// When Saving Form Remove disabled from Selects
|
1019 |
-
jQuery('form').bind('submit', function (event) {
|
1020 |
-
var return_false = false;
|
1021 |
-
jQuery('li.just-added .short_name').each(function(){
|
1022 |
-
var field_settings = jQuery(this).closest('.field-item');
|
1023 |
-
var custom_field = jQuery(field_settings).find('.field_custom_field');
|
1024 |
-
if ( jQuery(custom_field).length && jQuery(custom_field).val() == '1' ) {
|
1025 |
-
var validate_field = validate_field_name( this );
|
1026 |
-
if ( !validate_field ) {
|
1027 |
-
return_false = true;
|
1028 |
-
return false;
|
1029 |
-
}
|
1030 |
-
}
|
1031 |
-
});
|
1032 |
-
if ( return_false ) {
|
1033 |
-
return false;
|
1034 |
-
}
|
1035 |
-
jQuery(this).find('select').prop('disabled', false);
|
1036 |
-
jQuery(this).find('.field_required').prop('disabled', false);
|
1037 |
-
jQuery(this).find('.major-publishing-actions').find('.spinner').css('visibility', 'visible');
|
1038 |
-
jQuery('.flexible_checkout_fields_add_rule select').each(function () {
|
1039 |
-
jQuery(this).attr('disabled', 'disabled');
|
1040 |
-
});
|
1041 |
-
});
|
1042 |
-
|
1043 |
-
// Activate Spinner on Save
|
1044 |
-
jQuery('input[type="submit"]').on('click', function (event) {
|
1045 |
-
jQuery('#inspire_checkout_field [required]').each(function () {
|
1046 |
-
if (jQuery(this).val() === '' && jQuery(this).is(':hidden')) {
|
1047 |
-
jQuery(this).css('border-color', 'red' );
|
1048 |
-
var classes = jQuery(this).closest('.field-settings-tab-container').attr('class').split(' ');
|
1049 |
-
var tab = classes[1].split('-')[2];
|
1050 |
-
jQuery(this).closest('.field-settings').find('.field-settings-tab-container').hide();
|
1051 |
-
jQuery(this).closest('.field-settings').find('.nav-tab-wrapper a').removeClass('nav-tab-active');
|
1052 |
-
jQuery(this).closest('.field-settings').find('a[href="#' + tab + '"]').addClass('nav-tab-active');
|
1053 |
-
jQuery('.' + classes[1] ).show();
|
1054 |
-
jQuery(this).closest('li').find('.field-settings').slideDown();
|
1055 |
-
}
|
1056 |
-
});
|
1057 |
-
if (jQuery(this).hasClass("reset_settings")) {
|
1058 |
-
if (!confirm('<?php _e( 'Do you really want to reset section settings?. Resetting a section remove all added fields from orders.', 'flexible-checkout-fields' ); ?>')) {
|
1059 |
-
return false;
|
1060 |
-
}
|
1061 |
-
}
|
1062 |
-
});
|
1063 |
-
});
|
1064 |
-
|
1065 |
-
<?php do_action( 'flexible_checkout_fields_java_script', $settings ); ?>
|
1066 |
-
|
1067 |
-
jQuery(document).on('click', '.field-settings .nav-tab-wrapper > a', function () {
|
1068 |
-
jQuery(this).parent().find('a').each(function () {
|
1069 |
-
jQuery(this).removeClass('nav-tab-active');
|
1070 |
-
});
|
1071 |
-
jQuery(this).addClass('nav-tab-active');
|
1072 |
-
jQuery(this).parent().parent().find('.field-settings-tab-container').each(function () {
|
1073 |
-
jQuery(this).hide();
|
1074 |
-
});
|
1075 |
-
var href = jQuery(this).attr("href");
|
1076 |
-
var hash = href.substr(href.indexOf("#") + 1);
|
1077 |
-
jQuery(this).parent().parent().find('.field-settings-' + hash).each(function () {
|
1078 |
-
jQuery(this).show();
|
1079 |
-
});
|
1080 |
-
jQuery(this).blur();
|
1081 |
-
return false;
|
1082 |
-
});
|
1083 |
-
|
1084 |
-
function printSelectTypeOptions(selected) {
|
1085 |
-
var index;
|
1086 |
-
var select;
|
1087 |
-
var sel = "";
|
1088 |
-
|
1089 |
-
var type = {
|
1090 |
-
<?php foreach ( $checkout_field_type as $key => $value ) : ?>
|
1091 |
-
<?php echo esc_attr($key); ?>:
|
1092 |
-
'<?php echo esc_attr($value['name']); ?>',
|
1093 |
-
<?php endforeach; ?>
|
1094 |
-
}
|
1095 |
-
;
|
1096 |
-
|
1097 |
-
jQuery.each(type, function (key, value) {
|
1098 |
-
if (key == selected) sel = " selected";
|
1099 |
-
select += '<option value="' + key + '"' + sel + '>' + value + '</option>';
|
1100 |
-
sel = "";
|
1101 |
-
});
|
1102 |
-
|
1103 |
-
return select;
|
1104 |
-
}
|
1105 |
-
|
1106 |
-
function stringToSlug(str) {
|
1107 |
-
str = str.replace(/^\s+|\s+$/g, '');
|
1108 |
-
str = str.toLowerCase();
|
1109 |
-
|
1110 |
-
var from = "àáäâèéëêìíïîòóöôùúüûñçęóąśłżźćń·/_,:;";
|
1111 |
-
var to = "aaaaeeeeiiiioooouuuunceoaslzxcn------";
|
1112 |
-
for (var i = 0, l = from.length; i < l; i++) {
|
1113 |
-
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
|
1114 |
-
}
|
1115 |
-
|
1116 |
-
str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
|
1117 |
-
.replace(/\s+/g, '_') // collapse whitespace and replace by -
|
1118 |
-
.replace(/-+/g, '_'); // collapse dashes
|
1119 |
-
|
1120 |
-
return str;
|
1121 |
-
}
|
1122 |
-
|
1123 |
-
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
classes/views/settings-pro.php
DELETED
@@ -1,26 +0,0 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
|
2 |
-
|
3 |
-
<div class="notice notice-success" style="margin-left: 0.5rem;">
|
4 |
-
<h2><?php _e( 'Buy Flexible Checkout Fields PRO to use Custom Sections:', 'flexible-checkout-fields' ); ?></h2>
|
5 |
-
<ul>
|
6 |
-
<li>
|
7 |
-
<span class="dashicons dashicons-yes"></span>
|
8 |
-
<?php _e( 'Add fields anywhere in the WooCommerce checkout form.', 'flexible-checkout-fields' ); ?>
|
9 |
-
</li>
|
10 |
-
<li>
|
11 |
-
<span class="dashicons dashicons-yes"></span>
|
12 |
-
<?php _e( 'Get more fields: checkboxes, radios buttons, dropdowns, file uploads, date & time or color pickers and more.', 'flexible-checkout-fields' ); ?>
|
13 |
-
</li>
|
14 |
-
<li>
|
15 |
-
<span class="dashicons dashicons-yes"></span>
|
16 |
-
<?php _e( 'Conditionally show or hide fields based on products or categories.', 'flexible-checkout-fields' ); ?>
|
17 |
-
</li>
|
18 |
-
</ul>
|
19 |
-
<p>
|
20 |
-
<a class="button button-primary button-hero"
|
21 |
-
href="<?php echo esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-section-custom-upgrade' ) ); ?>"
|
22 |
-
target="_blank">
|
23 |
-
<?php _e( 'Get Flexible Checkout Fields PRO now →', 'flexible-checkout-fields' ); ?>
|
24 |
-
</a>
|
25 |
-
</p>
|
26 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
classes/views/settings-settings.php
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
global $woocommerce;
|
3 |
-
?>
|
4 |
-
<form action="" method="post">
|
5 |
-
<?php settings_fields( 'inspire_checkout_fields_settings' ); ?>
|
6 |
-
|
7 |
-
<?php if (!empty($_POST['option_page']) && $_POST['option_page'] === 'inspire_checkout_fields_settings'): ?>
|
8 |
-
<div id="message" class="updated fade"><p><strong><?php _e( 'Settings saved.', 'flexible-checkout-fields' ); ?></strong></p></div>
|
9 |
-
<?php endif; ?>
|
10 |
-
|
11 |
-
<h3><?php _e( 'Settings', 'flexible-checkout-fields' ); ?></h3>
|
12 |
-
|
13 |
-
<table class="form-table">
|
14 |
-
<tbody>
|
15 |
-
<tr valign="top">
|
16 |
-
<th class="titledesc" scope="row">
|
17 |
-
<label for="woocommerce_checkout_fields_css"><?php _e( 'CSS jQuery UI', 'flexible-checkout-fields' ); ?></label>
|
18 |
-
</th>
|
19 |
-
|
20 |
-
<td class="forminp forminp-text">
|
21 |
-
<input value="0" id="woocommerce_checkout_fields_css" name="inspire_checkout_fields[css_disable]" type="hidden" />
|
22 |
-
|
23 |
-
<label><input class="regular-checkbox" value="1" id="woocommerce_checkout_fields_css" name="inspire_checkout_fields[css_disable]" type="checkbox" <?php if( $this->getSettingValue('css_disable') == 1) echo('checked'); ?> /> <?php _e( 'Disable jquery-ui.css on the frontend', 'flexible-checkout-fields' ); ?></label>
|
24 |
-
|
25 |
-
<p class="description"><?php _e( 'Remember that some fields, i.e. datepicker use jQuery UI CSS. The plugin adds a default CSS but sometimes it can create some visual glitches.', 'flexible-checkout-fields' ); ?></p>
|
26 |
-
|
27 |
-
</td>
|
28 |
-
</tr>
|
29 |
-
<?php do_action( 'flexible_checkout_fields_settings' ); ?>
|
30 |
-
</table>
|
31 |
-
|
32 |
-
<?php do_action('woocommerce_checkout_fields_after_display_tab_settings'); ?>
|
33 |
-
|
34 |
-
<p class="submit">
|
35 |
-
<input type="hidden"
|
36 |
-
name="<?php echo esc_attr( Flexible_Checkout_Fields_Settings::SECURITY_NONCE_FIELD ); ?>"
|
37 |
-
value="<?php echo esc_attr( wp_create_nonce( Flexible_Checkout_Fields_Settings::SECURITY_NONCE_NAME ) ); ?>">
|
38 |
-
<input type="submit" value="<?php _e( 'Save Changes', 'flexible-checkout-fields' ); ?>" class="button button-primary" id="submit" name="">
|
39 |
-
</p>
|
40 |
-
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
classes/views/settings-tabs.php
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
<h2 class="nav-tab-wrapper">
|
2 |
-
<?php foreach ( $args['tabs'] as $tab_key => $tab_caption ): ?>
|
3 |
-
<?php $active = $args['current_tab'] == $tab_key ? 'nav-tab-active' : '';?>
|
4 |
-
<a class="nav-tab <?= $active ?>" href="?page=inspire_checkout_fields_settings&tab=<?= $tab_key ?>"><?php echo $tab_caption; ?></a>
|
5 |
-
<?php endforeach; ?>
|
6 |
-
</h2>
|
7 |
-
<?php if ( ! is_flexible_checkout_fields_pro_active() ) : ?>
|
8 |
-
<p>
|
9 |
-
<?php echo sprintf(
|
10 |
-
__( 'Read the %sconfiguration manual →%s', 'flexible-checkout-fields' ),
|
11 |
-
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-section-tabs-docs' ) ) . '" target="_blank">',
|
12 |
-
'</a>'
|
13 |
-
); ?>
|
14 |
-
</p>
|
15 |
-
<?php endif; ?>
|
16 |
-
<?php if ( function_exists('icl_object_id') ) : ?>
|
17 |
-
<p><?php echo sprintf( __( 'WPML detected. Read %sthis instructions if you want to translate Flexible Checkout Fields. →%s', 'flexible-checkout-fields' ), '<a href="https://wpml.org/faq/string-translation-default-language-not-english/" target="_blank">', '</a>' ); ?></p>
|
18 |
-
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flexible-checkout-fields.php
CHANGED
@@ -3,15 +3,15 @@
|
|
3 |
Plugin Name: Flexible Checkout Fields
|
4 |
Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
|
5 |
Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
|
6 |
-
Version:
|
7 |
Author: WP Desk
|
8 |
Author URI: https://www.wpdesk.net/
|
9 |
Text Domain: flexible-checkout-fields
|
10 |
Domain Path: /lang/
|
11 |
-
Requires at least:
|
12 |
Tested up to: 5.6
|
13 |
-
WC requires at least: 4.
|
14 |
-
WC tested up to: 5.
|
15 |
Requires PHP: 7.0
|
16 |
|
17 |
Copyright 2017 WP Desk Ltd.
|
@@ -39,14 +39,14 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
39 |
|
40 |
|
41 |
/* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
|
42 |
-
$plugin_version = '
|
43 |
|
44 |
/*
|
45 |
* Update when conditions are met:
|
46 |
* - major version: no compatibility (disables dependent plugins)
|
47 |
* - minor version: compatibility problems (displays notice in dependent plugins)
|
48 |
*/
|
49 |
-
$plugin_version_dev = '1.
|
50 |
|
51 |
define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION', $plugin_version );
|
52 |
define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION_DEV', $plugin_version_dev );
|
3 |
Plugin Name: Flexible Checkout Fields
|
4 |
Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
|
5 |
Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
|
6 |
+
Version: 3.0.0
|
7 |
Author: WP Desk
|
8 |
Author URI: https://www.wpdesk.net/
|
9 |
Text Domain: flexible-checkout-fields
|
10 |
Domain Path: /lang/
|
11 |
+
Requires at least: 5.2
|
12 |
Tested up to: 5.6
|
13 |
+
WC requires at least: 4.6
|
14 |
+
WC tested up to: 5.1
|
15 |
Requires PHP: 7.0
|
16 |
|
17 |
Copyright 2017 WP Desk Ltd.
|
39 |
|
40 |
|
41 |
/* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
|
42 |
+
$plugin_version = '3.0.0';
|
43 |
|
44 |
/*
|
45 |
* Update when conditions are met:
|
46 |
* - major version: no compatibility (disables dependent plugins)
|
47 |
* - minor version: compatibility problems (displays notice in dependent plugins)
|
48 |
*/
|
49 |
+
$plugin_version_dev = '1.1';
|
50 |
|
51 |
define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION', $plugin_version );
|
52 |
define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION_DEV', $plugin_version_dev );
|
lang/flexible-checkout-fields.pot
CHANGED
@@ -1,604 +1,485 @@
|
|
|
|
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: Flexible Checkout Fields\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"Last-Translator:
|
6 |
-
"Language-Team:
|
7 |
"MIME-Version: 1.0\n"
|
8 |
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
"Content-Transfer-Encoding: 8bit\n"
|
10 |
-
"POT-Creation-Date: 2021-
|
11 |
-
"PO-Revision-Date:
|
12 |
-
"
|
13 |
-
"X-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
msgid "If you want to continue using Flexible Checkout Fields for free, %splease add a review%s. You will help us support the free version. Thank you."
|
23 |
-
msgstr ""
|
24 |
-
|
25 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:14
|
26 |
-
msgid "Thank You Page"
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:15
|
30 |
-
msgid "My Account - address"
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:16
|
34 |
-
msgid "My Account - order"
|
35 |
-
msgstr ""
|
36 |
-
|
37 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:17
|
38 |
-
msgid "Emails"
|
39 |
-
msgstr ""
|
40 |
-
|
41 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:21
|
42 |
-
msgid "Display field in the new line"
|
43 |
-
msgstr ""
|
44 |
-
|
45 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:22
|
46 |
-
msgid "Display field's label"
|
47 |
-
msgstr ""
|
48 |
-
|
49 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:83
|
50 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:365
|
51 |
-
msgid "Meta name: %s."
|
52 |
-
msgstr ""
|
53 |
-
|
54 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:327
|
55 |
-
msgid "Requirement of this field is controlled by WooCommerce and cannot be changed."
|
56 |
-
msgstr ""
|
57 |
-
|
58 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:386
|
59 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:823
|
60 |
-
msgid "For Post Code validation works only with country."
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:481
|
64 |
-
msgid "This field is address locale dependent and cannot be modified."
|
65 |
-
msgstr ""
|
66 |
-
|
67 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:551
|
68 |
-
msgid "Display state abbreviations"
|
69 |
-
msgstr ""
|
70 |
-
|
71 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:556
|
72 |
-
msgid "Display a comma before, if the field is not in the new line"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/views/settings-fields.php:660
|
76 |
-
msgid "Invalid field name: %s. The name already exists."
|
77 |
msgstr ""
|
78 |
|
79 |
-
|
80 |
-
msgid "
|
81 |
msgstr ""
|
82 |
|
83 |
-
|
84 |
-
msgid "
|
85 |
msgstr ""
|
86 |
|
87 |
-
|
88 |
-
msgid "
|
89 |
msgstr ""
|
90 |
|
91 |
-
|
92 |
-
msgid "
|
93 |
msgstr ""
|
94 |
|
95 |
-
#:
|
96 |
-
#:
|
97 |
msgid "Additional Information"
|
98 |
msgstr ""
|
99 |
|
100 |
-
#:
|
101 |
msgid "Select option"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#:
|
105 |
-
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/filed-validation.php:73
|
109 |
msgid "Default"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#:
|
|
|
113 |
msgid "None"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#:
|
117 |
msgid "Email"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#:
|
|
|
121 |
msgid "Phone"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#:
|
125 |
-
|
|
|
126 |
msgstr ""
|
127 |
|
128 |
-
#:
|
|
|
129 |
msgid "Billing"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#:
|
|
|
133 |
msgid "Shipping"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#:
|
|
|
137 |
msgid "Order"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#:
|
|
|
141 |
msgid "Single Line Text"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#:
|
|
|
145 |
msgid "Paragraph Text"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#:
|
149 |
-
#:
|
|
|
150 |
msgid "Checkbox"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#:
|
154 |
msgid "Radio button"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#:
|
|
|
158 |
msgid "Select (Drop Down)"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#:
|
|
|
162 |
msgid "Multi-select"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#:
|
|
|
166 |
msgid "Date"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#:
|
|
|
170 |
msgid "Time"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#:
|
|
|
174 |
msgid "Color Picker"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#:
|
|
|
178 |
msgid "Headline"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#:
|
|
|
182 |
msgid "HTML"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#:
|
|
|
186 |
msgid "File Upload"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#:
|
190 |
-
msgid "Advanced"
|
191 |
-
msgstr ""
|
192 |
-
|
193 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:972
|
194 |
-
msgid "Pricing"
|
195 |
-
msgstr ""
|
196 |
-
|
197 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1050
|
198 |
msgid "Uploading file..."
|
199 |
msgstr ""
|
200 |
|
201 |
-
#:
|
202 |
-
|
203 |
-
msgstr ""
|
204 |
-
|
205 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1098
|
206 |
-
msgid "Today"
|
207 |
-
msgstr ""
|
208 |
-
|
209 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1101
|
210 |
-
msgid "Next"
|
211 |
-
msgstr ""
|
212 |
-
|
213 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1102
|
214 |
-
msgid "Previous"
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1123
|
218 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:165
|
219 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:198
|
220 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Page/SettingsPage.php:46
|
221 |
msgid "Settings"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#:
|
225 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:194
|
226 |
msgid "Docs"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#:
|
230 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:191
|
231 |
msgid "Support"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#:
|
235 |
msgid "Upgrade"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#:
|
239 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:52
|
240 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:55
|
241 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:63
|
242 |
-
msgid "Flexible Checkout Fields"
|
243 |
-
msgstr ""
|
244 |
-
|
245 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:117
|
246 |
-
msgid "Checkout Fields Settings"
|
247 |
-
msgstr ""
|
248 |
-
|
249 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:117
|
250 |
-
msgid "Checkout Fields"
|
251 |
-
msgstr ""
|
252 |
-
|
253 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:139
|
254 |
-
msgid "Order Notes"
|
255 |
-
msgstr ""
|
256 |
-
|
257 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:174
|
258 |
-
msgid "Custom Sections"
|
259 |
-
msgstr ""
|
260 |
-
|
261 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:285
|
262 |
-
msgid "Flexible Checkout Fields: security check error. Fields not saved!"
|
263 |
-
msgstr ""
|
264 |
-
|
265 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:317
|
266 |
-
msgid "You cannot use this field name: %s, for field: %s."
|
267 |
-
msgstr ""
|
268 |
-
|
269 |
-
#: /builds/wpdesk/flexible-checkout-fields/classes/tracker.php:332
|
270 |
msgid "Opt-in"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#:
|
274 |
msgid "Opt-out"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#:
|
|
|
278 |
msgid "Yes"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#:
|
|
|
282 |
msgid "No"
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: /
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
#: /
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
#: /builds/wpdesk/flexible-checkout-fields/templates/notices/review.php:37
|
294 |
-
msgid "Add review"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: /builds/wpdesk/flexible-checkout-fields/templates/notices/review.php:41
|
298 |
-
msgid "I added review, do not show again"
|
299 |
-
msgstr ""
|
300 |
-
|
301 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-basic-requirements/src/Basic_Requirement_Checker.php:181
|
302 |
-
msgid "The “%s” plugin cannot run on PHP versions older than %s. Please contact your host and ask them to upgrade."
|
303 |
-
msgstr ""
|
304 |
-
|
305 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-basic-requirements/src/Basic_Requirement_Checker.php:184
|
306 |
-
msgid "The “%s” plugin cannot run on WordPress versions older than %s. Please update WordPress."
|
307 |
-
msgstr ""
|
308 |
-
|
309 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-basic-requirements/src/Basic_Requirement_Checker.php:187
|
310 |
-
msgid "The “%s” plugin cannot run on WooCommerce versions older than %s. Please update WooCommerce."
|
311 |
-
msgstr ""
|
312 |
-
|
313 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-basic-requirements/src/Basic_Requirement_Checker.php:190
|
314 |
-
msgid "The “%s” plugin cannot run without OpenSSL module version at least %s. Please update OpenSSL module."
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: /
|
318 |
-
msgid "
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: /
|
322 |
-
msgid "
|
323 |
-
msgstr ""
|
324 |
-
|
325 |
-
#: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-basic-requirements/src/Basic_Requirement_Checker.php:399
|
326 |
-
msgid "The “%s” plugin requires free %s plugin. <a href=\"%s\">Install %s →</a>"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: /
|
330 |
-
msgid "
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: /
|
334 |
-
msgid "
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: /
|
338 |
-
msgid "
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: /
|
342 |
-
msgid "
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: /
|
346 |
-
msgid "
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: /
|
350 |
-
msgid "
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: /
|
354 |
-
msgid "
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: /
|
358 |
-
msgid "
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: /
|
362 |
-
msgid "
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: /
|
366 |
-
msgid "
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: /
|
370 |
-
msgid "
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: /
|
374 |
-
msgid "
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: /
|
378 |
-
msgid "
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: /
|
382 |
-
msgid "
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: /
|
386 |
-
|
387 |
-
msgid "Debug"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: /
|
391 |
-
msgid "
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: /
|
395 |
-
|
|
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: /
|
399 |
-
|
|
|
400 |
msgstr ""
|
401 |
|
402 |
-
|
403 |
-
|
|
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: /
|
407 |
-
msgid "
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: /
|
411 |
-
msgid "
|
412 |
msgstr ""
|
413 |
|
414 |
-
|
415 |
-
|
|
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: /
|
419 |
-
msgid "
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: /
|
423 |
-
msgid "
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: /
|
427 |
-
msgid "
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: /
|
431 |
-
msgid "
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: /
|
435 |
-
msgid "
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: /
|
439 |
-
|
440 |
-
msgid "Save Changes"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: /
|
444 |
-
msgid "
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: /
|
448 |
-
msgid "
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: /
|
452 |
-
msgid "
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: /
|
456 |
-
msgid "
|
457 |
msgstr ""
|
458 |
|
459 |
-
|
460 |
-
|
|
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: /
|
464 |
-
msgid "
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: /
|
468 |
-
|
469 |
-
msgid "Plugin activated. "
|
470 |
msgstr ""
|
471 |
|
472 |
-
#:
|
473 |
-
msgid "
|
474 |
msgstr ""
|
475 |
|
476 |
-
#:
|
477 |
-
msgid "
|
478 |
msgstr ""
|
479 |
|
480 |
-
#:
|
481 |
-
|
482 |
-
msgid "Plugin subscription deactivated. "
|
483 |
msgstr ""
|
484 |
|
485 |
-
#:
|
486 |
-
msgid "
|
487 |
msgstr ""
|
488 |
|
489 |
-
#:
|
490 |
-
msgid "
|
491 |
msgstr ""
|
492 |
|
493 |
-
#:
|
494 |
-
msgid "
|
495 |
msgstr ""
|
496 |
|
497 |
-
#:
|
498 |
-
msgid "
|
499 |
msgstr ""
|
500 |
|
501 |
-
#:
|
502 |
-
msgid "
|
503 |
msgstr ""
|
504 |
|
505 |
-
#:
|
506 |
-
msgid "
|
507 |
msgstr ""
|
508 |
|
509 |
-
#:
|
510 |
-
msgid "
|
511 |
msgstr ""
|
512 |
|
513 |
-
#:
|
514 |
-
msgid "
|
515 |
msgstr ""
|
516 |
|
517 |
-
#:
|
518 |
-
msgid "
|
519 |
msgstr ""
|
520 |
|
521 |
-
#:
|
522 |
-
msgid "
|
523 |
msgstr ""
|
524 |
|
525 |
-
#:
|
526 |
-
msgid "
|
527 |
msgstr ""
|
528 |
|
529 |
-
#:
|
530 |
-
msgid "
|
531 |
msgstr ""
|
532 |
|
533 |
-
#:
|
534 |
-
msgid "
|
535 |
msgstr ""
|
536 |
|
537 |
-
#:
|
538 |
-
msgid "
|
539 |
msgstr ""
|
540 |
|
541 |
-
|
542 |
-
|
|
|
543 |
msgstr ""
|
544 |
|
545 |
-
#:
|
546 |
-
msgid "
|
547 |
msgstr ""
|
548 |
|
549 |
-
#:
|
550 |
-
msgid "
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: /
|
554 |
-
msgid "
|
555 |
msgstr ""
|
556 |
|
557 |
-
#:
|
558 |
-
msgid "
|
559 |
msgstr ""
|
560 |
|
561 |
-
#:
|
562 |
-
msgid "
|
563 |
msgstr ""
|
564 |
|
565 |
-
#:
|
566 |
-
msgid "
|
567 |
msgstr ""
|
568 |
|
569 |
-
#:
|
570 |
-
msgid "
|
571 |
msgstr ""
|
572 |
|
573 |
-
#:
|
574 |
-
msgid "
|
575 |
msgstr ""
|
576 |
|
577 |
-
#:
|
578 |
-
msgid "
|
579 |
msgstr ""
|
580 |
|
581 |
-
#:
|
582 |
-
msgid "
|
583 |
msgstr ""
|
584 |
|
585 |
-
#: /
|
586 |
-
msgid "
|
587 |
msgstr ""
|
588 |
|
589 |
-
|
590 |
-
#: /
|
591 |
-
msgid "
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: /
|
595 |
-
msgid "
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: /
|
599 |
-
msgid "
|
600 |
msgstr ""
|
601 |
|
602 |
-
|
603 |
-
|
|
|
604 |
msgstr ""
|
1 |
+
# Copyright (C) 2021 WP Desk
|
2 |
+
# This file is distributed under the same license as the Flexible Checkout Fields plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Flexible Checkout Fields 3.0.0\n"
|
6 |
+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/flexible-checkout-fields\n"
|
7 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2021-03-01T12:16:46+00:00\n"
|
13 |
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
+
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
+
"X-Domain: flexible-checkout-fields\n"
|
16 |
+
|
17 |
+
#. Plugin Name of the plugin
|
18 |
+
#: classes/settings.php:27
|
19 |
+
#: classes/settings.php:30
|
20 |
+
#: classes/settings.php:33
|
21 |
+
#: classes/settings.php:41
|
22 |
+
#: templates/views/admin-page.php:20
|
23 |
+
msgid "Flexible Checkout Fields"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
msgstr ""
|
25 |
|
26 |
+
#. Plugin URI of the plugin
|
27 |
+
msgid "https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/"
|
28 |
msgstr ""
|
29 |
|
30 |
+
#. Description of the plugin
|
31 |
+
msgid "Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields."
|
32 |
msgstr ""
|
33 |
|
34 |
+
#. Author of the plugin
|
35 |
+
msgid "WP Desk"
|
36 |
msgstr ""
|
37 |
|
38 |
+
#. Author URI of the plugin
|
39 |
+
msgid "https://www.wpdesk.net/"
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: classes/display-options.php:103
|
43 |
+
#: classes/user-profile.php:207
|
44 |
msgid "Additional Information"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: classes/field-options.php:58
|
48 |
msgid "Select option"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: classes/filed-validation.php:73
|
52 |
+
#: src/Settings/Option/ValidationOption.php:64
|
|
|
|
|
|
|
53 |
msgid "Default"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: classes/filed-validation.php:74
|
57 |
+
#: src/Settings/Option/ValidationOption.php:65
|
58 |
msgid "None"
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: classes/filed-validation.php:75
|
62 |
msgid "Email"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: classes/filed-validation.php:76
|
66 |
+
#: src/Settings/Option/ValidationOption.php:67
|
67 |
msgid "Phone"
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: classes/filed-validation.php:79
|
71 |
+
#: src/Settings/Option/ValidationOption.php:68
|
72 |
+
msgid "Postcode"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: classes/plugin.php:296
|
76 |
+
#: src/Settings/Menu.php:75
|
77 |
msgid "Billing"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: classes/plugin.php:303
|
81 |
+
#: src/Settings/Menu.php:76
|
82 |
msgid "Shipping"
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: classes/plugin.php:310
|
86 |
+
#: src/Settings/Menu.php:77
|
87 |
msgid "Order"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: classes/plugin.php:325
|
91 |
+
#: src/Field/Type/TextType.php:57
|
92 |
msgid "Single Line Text"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: classes/plugin.php:329
|
96 |
+
#: src/Field/Type/TextareaType.php:57
|
97 |
msgid "Paragraph Text"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: classes/plugin.php:337
|
101 |
+
#: classes/plugin.php:342
|
102 |
+
#: src/Field/Type/CheckboxType.php:35
|
103 |
msgid "Checkbox"
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: classes/plugin.php:347
|
107 |
msgid "Radio button"
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: classes/plugin.php:352
|
111 |
+
#: src/Field/Type/SelectType.php:35
|
112 |
msgid "Select (Drop Down)"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: classes/plugin.php:357
|
116 |
+
#: src/Field/Type/Multiselect.php:35
|
117 |
msgid "Multi-select"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: classes/plugin.php:362
|
121 |
+
#: src/Field/Type/DateType.php:35
|
122 |
msgid "Date"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: classes/plugin.php:367
|
126 |
+
#: src/Field/Type/TimeType.php:35
|
127 |
msgid "Time"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: classes/plugin.php:372
|
131 |
+
#: src/Field/Type/ColorType.php:35
|
132 |
msgid "Color Picker"
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: classes/plugin.php:377
|
136 |
+
#: src/Field/Type/HeadingType.php:35
|
137 |
msgid "Headline"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: classes/plugin.php:382
|
141 |
+
#: src/Field/Type/HtmlType.php:35
|
142 |
msgid "HTML"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: classes/plugin.php:387
|
146 |
+
#: src/Field/Type/FileType.php:35
|
147 |
msgid "File Upload"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: classes/plugin.php:986
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
msgid "Uploading file..."
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: classes/plugin.php:1059
|
155 |
+
#: src/Settings/Menu.php:40
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
msgid "Settings"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: classes/plugin.php:1060
|
|
|
160 |
msgid "Docs"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: classes/plugin.php:1061
|
|
|
164 |
msgid "Support"
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: classes/plugin.php:1065
|
168 |
msgid "Upgrade"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: classes/tracker.php:332
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
msgid "Opt-in"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: classes/tracker.php:336
|
176 |
msgid "Opt-out"
|
177 |
msgstr ""
|
178 |
|
179 |
+
#: classes/user-profile.php:100
|
180 |
+
#: src/Settings/Page.php:191
|
181 |
msgid "Yes"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: classes/user-profile.php:101
|
185 |
+
#: src/Settings/Page.php:192
|
186 |
msgid "No"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: src/Field/Type/DefaultType.php:54
|
190 |
+
#: src/Field/Type/Wc/WcAddress2Type.php:53
|
191 |
+
#: src/Field/Type/Wc/WcCountryType.php:50
|
192 |
+
#: src/Field/Type/Wc/WcDefaultType.php:53
|
193 |
+
#: src/Field/Type/Wc/WcNotesType.php:52
|
194 |
+
#: src/Field/Type/Wc/WcPostcodeType.php:51
|
195 |
+
#: src/Field/Type/Wc/WcStateType.php:51
|
196 |
+
msgid "WooCommerce Default Field"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: src/Field/Type/RadioType.php:35
|
200 |
+
msgid "Radio Button"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: src/Settings/Form/EditFieldsForm.php:74
|
204 |
+
msgid "Order Notes"
|
|
|
|
|
|
|
|
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: src/Settings/Form/EditFieldsForm.php:75
|
208 |
+
msgid "Notes about your order, e.g. special notes for delivery."
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: src/Settings/Menu.php:41
|
212 |
+
msgid "Checkout Sections"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: src/Settings/Option/CssOption.php:54
|
216 |
+
msgid "CSS class"
|
217 |
msgstr ""
|
218 |
|
219 |
+
#: src/Settings/Option/CssOption.php:63
|
220 |
+
msgid "Enter CSS classes separated by a space."
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: src/Settings/Option/DisplayOnAccountAddressOption.php:44
|
224 |
+
msgid "My Account - address"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: src/Settings/Option/DisplayOnAccountOrderOption.php:44
|
228 |
+
msgid "My Account - order"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: src/Settings/Option/DisplayOnEmailsOption.php:44
|
232 |
+
msgid "E-mails"
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: src/Settings/Option/DisplayOnOption.php:58
|
236 |
+
msgid "Pages/e-mails"
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: src/Settings/Option/DisplayOnThankYouOption.php:44
|
240 |
+
msgid "Thank You Page"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: src/Settings/Option/EnabledOption.php:54
|
244 |
+
msgid "Enable field"
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: src/Settings/Option/FormattingFieldLabelOption.php:44
|
248 |
+
msgid "Display field label"
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: src/Settings/Option/FormattingNewLineOption.php:44
|
252 |
+
msgid "Display the field on a new line"
|
253 |
msgstr ""
|
254 |
|
255 |
+
#: src/Settings/Option/FormattingOption.php:56
|
256 |
+
msgid "Formatting on pages/e-mails"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: src/Settings/Option/FormattingStateAbbrOption.php:44
|
260 |
+
msgid "Display state abbreviations"
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: src/Settings/Option/FormattingStateCommaOption.php:44
|
264 |
+
msgid "Display a comma before if the field is not on a new line"
|
|
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: src/Settings/Option/FormattingStateOption.php:56
|
268 |
+
msgid "State/County formatting"
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: src/Settings/Option/LabelOption.php:56
|
272 |
+
#: src/Settings/Page.php:196
|
273 |
+
msgid "This field is required."
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: src/Settings/Option/LabelOption.php:66
|
277 |
+
#: src/Settings/Page.php:194
|
278 |
+
msgid "Label"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#. translators: %1$s: anchor opening tag, %2$s: anchor closing tag, %3$s: anchor opening tag, %4$s: anchor closing tag, %5$s: anchor opening tag, %6$s: anchor closing tag, %7$s: break line, %8$s: anchor opening tag, %9$s: anchor closing tag
|
282 |
+
#: src/Settings/Option/LogicAdvOption.php:60
|
283 |
+
msgid "Add conditional logic based on %1$sproducts and categories%2$s as well as %3$sFCF fields%4$s and %5$sshipping methods%6$s set. %7$s%8$sUpgrade to PRO%9$s"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: src/Settings/Option/NameOption.php:63
|
287 |
+
msgid "Meta name"
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: src/Settings/Option/PlaceholderOption.php:54
|
291 |
+
msgid "Placeholder"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#. translators: %1$s: break line, %2$s: anchor opening tag, %3$s: anchor closing tag
|
295 |
+
#: src/Settings/Option/PricingAdvOption.php:57
|
296 |
+
msgid "Add a fixed or percentage price to the field and set the tax on this price.%1$s %2$sUpgrade to PRO%3$s"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: src/Settings/Option/RequiredHiddenOption.php:33
|
300 |
+
msgid "Requirement of this field is controlled by WooCommerce and cannot be changed."
|
301 |
msgstr ""
|
302 |
|
303 |
+
#: src/Settings/Option/RequiredOption.php:54
|
304 |
+
msgid "Required field"
|
305 |
msgstr ""
|
306 |
|
307 |
+
#: src/Settings/Option/SettingJqueryCssOption.php:45
|
308 |
+
msgid "Disable jquery-ui.css on the frontend"
|
309 |
msgstr ""
|
310 |
|
311 |
+
#: src/Settings/Option/SettingJqueryCssOption.php:54
|
312 |
+
msgid "Remember that some fields, i.e. datepicker use jQuery UI CSS. The plugin adds a default CSS but sometimes it can create some visual glitches."
|
313 |
msgstr ""
|
314 |
|
315 |
+
#: src/Settings/Option/SettingJqueryOption.php:45
|
316 |
+
msgid "jQuery UI"
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: src/Settings/Option/SettingSectionsAdvOption.php:45
|
320 |
+
msgid "Get Flexible Checkout Fields PRO to use Custom Sections"
|
|
|
321 |
msgstr ""
|
322 |
|
323 |
+
#: src/Settings/Option/SettingSectionsAdvOption.php:47
|
324 |
+
msgid "Extend the form with additional fields. Insert Text inputs and Headings. Add Checkboxes and fields with options like DropDown or Radio."
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: src/Settings/Option/SettingSectionsAdvOption.php:48
|
328 |
+
msgid "Add conditional logic based on products and categories as well as FCF fields and shipping methods."
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: src/Settings/Option/SettingSectionsAdvOption.php:49
|
332 |
+
msgid "Add a fixed or percentage price to the field and set the tax on this price."
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: src/Settings/Option/SettingSectionsAdvOption.php:51
|
336 |
+
msgid "Upgrade to PRO"
|
337 |
msgstr ""
|
338 |
|
339 |
+
#. translators: %1$s: anchor opening tag, %2$s: anchor closing tag
|
340 |
+
#: src/Settings/Option/ValidationInfoOption.php:57
|
341 |
+
msgid "You can to add custom validation in the functions.php file. %1$sRead more%2$s"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: src/Settings/Option/ValidationOption.php:54
|
345 |
+
msgid "Validation"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: src/Settings/Option/ValidationOption.php:66
|
349 |
+
msgid "E-mail"
|
|
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: src/Settings/Page.php:66
|
353 |
+
msgid "Checkout Fields Settings"
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: src/Settings/Page.php:67
|
357 |
+
msgid "Checkout Fields"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: src/Settings/Page.php:182
|
361 |
+
msgid "Edit form"
|
|
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: src/Settings/Page.php:183
|
365 |
+
msgid "Add new field"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: src/Settings/Page.php:184
|
369 |
+
msgid "Edit section"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: src/Settings/Page.php:185
|
373 |
+
msgid "Edit settings"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: src/Settings/Page.php:186
|
377 |
+
msgid "Add Field"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: src/Settings/Page.php:187
|
381 |
+
msgid "Add New"
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: src/Settings/Page.php:188
|
385 |
+
msgid "Save Changes"
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: src/Settings/Page.php:189
|
389 |
+
msgid "Reset Section Settings"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: src/Settings/Page.php:190
|
393 |
+
msgid "Read more"
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: src/Settings/Page.php:193
|
397 |
+
msgid "Field Type"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: src/Settings/Page.php:195
|
401 |
+
msgid "Name"
|
402 |
msgstr ""
|
403 |
|
404 |
+
#: src/Settings/Page.php:197
|
405 |
+
msgid "Field name should contains only lowercase letters, numbers and underscore sign."
|
406 |
msgstr ""
|
407 |
|
408 |
+
#: src/Settings/Page.php:198
|
409 |
+
msgid "Select..."
|
410 |
msgstr ""
|
411 |
|
412 |
+
#: src/Settings/Page.php:199
|
413 |
+
msgid "Loading..."
|
414 |
msgstr ""
|
415 |
|
416 |
+
#: src/Settings/Page.php:200
|
417 |
+
msgid "No options."
|
418 |
msgstr ""
|
419 |
|
420 |
+
#. translators: %1$s: break line, %2$s: anchor opening tag, %3$s: anchor closing tag
|
421 |
+
#: src/Settings/Page.php:203
|
422 |
+
msgid "This field is available in the PRO version.%1$s %2$sUpgrade to PRO%3$s"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: src/Settings/Page.php:208
|
426 |
+
msgid "Are you sure you want to delete this field? Deleting a field will remove it from all orders."
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: src/Settings/Page.php:209
|
430 |
+
msgid "Do you really want to reset section settings? Resetting a section remove all added fields from orders."
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: src/Settings/Page.php:210
|
434 |
+
msgid "No fields available."
|
435 |
msgstr ""
|
436 |
|
437 |
+
#: src/Settings/Route/RouteIntegration.php:86
|
438 |
+
msgid "An unknown error occurred while processing the request."
|
439 |
msgstr ""
|
440 |
|
441 |
+
#: src/Settings/Tab/AdvancedTab.php:35
|
442 |
+
msgid "Advanced"
|
443 |
msgstr ""
|
444 |
|
445 |
+
#: src/Settings/Tab/AppearanceTab.php:35
|
446 |
+
msgid "Appearance"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: src/Settings/Tab/DisplayTab.php:35
|
450 |
+
msgid "Display On"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: src/Settings/Tab/GeneralTab.php:35
|
454 |
+
msgid "General"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: src/Settings/Tab/LogicTab.php:35
|
458 |
+
msgid "Conditional Logic"
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: src/Settings/Tab/PricingTab.php:35
|
462 |
+
msgid "Pricing"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: templates/notices/review.php:19
|
466 |
+
msgid "Thanks for using the free version of Flexible Checkout Fields!"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#. translators: %1$s: dashicon, %2$s: break-line tag
|
470 |
+
#: templates/notices/review.php:26
|
471 |
+
msgid "We are glad that (with our little help %1$s) the shop is now better suited to the needs. We will be grateful for the rating and feedback. %2$sIt will take less than reading this and it will help us a lot!"
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: templates/notices/review.php:37
|
475 |
+
msgid "Add review"
|
476 |
msgstr ""
|
477 |
|
478 |
+
#: templates/notices/review.php:41
|
479 |
+
msgid "I added review, do not show again"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#. translators: %$1s: love icon, %$2s: anchor opening tag, %$3s: anchor closing tag, %$4s: anchor opening tag, %$5s: anchor closing tag
|
483 |
+
#: templates/views/admin-page.php:66
|
484 |
+
msgid "Created with %1$s by Rangers from %2$sWP Desk%3$s - if you like FCF %4$srate us%5$s"
|
485 |
msgstr ""
|
readme.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
=== Flexible Checkout Fields for WooCommerce ===
|
2 |
|
3 |
-
Contributors: wpdesk,dyszczo,grola,piotrpo,marcinkolanko,mateuszgbiorczyk
|
4 |
Donate link: https://www.wpdesk.net/flexible-checkout-fields-woocommerce/
|
5 |
Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager, woocommerce fields editor, woocommerce custom checkout fields, woocommerce checkout options, woocommerce checkout pro, woocommerce custom sections, woocommerce file upload
|
6 |
Requires at least: 4.9
|
@@ -187,6 +187,12 @@ If you are upgrading from the old WooCommerce Checkout Fields version (1.1, wooc
|
|
187 |
|
188 |
== Changelog ==
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
= 2.9.2 - 2021-02-11 =
|
191 |
* Added support for WooCommerce 5.0
|
192 |
|
1 |
=== Flexible Checkout Fields for WooCommerce ===
|
2 |
|
3 |
+
Contributors: wpdesk,dyszczo,grola,piotrpo,marcinkolanko,mateuszgbiorczyk,sebastianpisula
|
4 |
Donate link: https://www.wpdesk.net/flexible-checkout-fields-woocommerce/
|
5 |
Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager, woocommerce fields editor, woocommerce custom checkout fields, woocommerce checkout options, woocommerce checkout pro, woocommerce custom sections, woocommerce file upload
|
6 |
Requires at least: 4.9
|
187 |
|
188 |
== Changelog ==
|
189 |
|
190 |
+
= 3.0.0 - 2021-03-01 =
|
191 |
+
* Major Update!
|
192 |
+
* Dropped support for Flexible Checkout Fields PRO version lower than 3.0
|
193 |
+
* Added new admin page to manage plugin settings
|
194 |
+
* Added validation for fields on settings page
|
195 |
+
|
196 |
= 2.9.2 - 2021-02-11 =
|
197 |
* Added support for WooCommerce 5.0
|
198 |
|
src/Admin/NoticeReview.php
CHANGED
@@ -65,7 +65,7 @@ class NoticeReview implements Hookable, HookablePluginDependant {
|
|
65 |
$notice_date = strtotime( get_option( $option_notice, false ) );
|
66 |
$min_date = strtotime( current_time( 'mysql' ) );
|
67 |
|
68 |
-
if ( ( basename( $_SERVER['PHP_SELF'] ) !== 'index.php' )
|
69 |
|| ( ( $notice_date !== false ) && ( $notice_date > $min_date ) ) ) {
|
70 |
return;
|
71 |
}
|
65 |
$notice_date = strtotime( get_option( $option_notice, false ) );
|
66 |
$min_date = strtotime( current_time( 'mysql' ) );
|
67 |
|
68 |
+
if ( ( basename( $_SERVER['PHP_SELF'] ) !== 'index.php' ) // phpcs:ignore
|
69 |
|| ( ( $notice_date !== false ) && ( $notice_date > $min_date ) ) ) {
|
70 |
return;
|
71 |
}
|
src/Admin/Page.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Admin;
|
9 |
+
|
10 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
11 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookablePluginDependant;
|
12 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\PluginAccess;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Removes WooCommerce footer in plugin settings page.
|
16 |
+
*/
|
17 |
+
class Page implements Hookable, HookablePluginDependant {
|
18 |
+
|
19 |
+
use PluginAccess;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Integrate with WordPress and with other plugins using action/filter system.
|
23 |
+
*
|
24 |
+
* @return void
|
25 |
+
*/
|
26 |
+
public function hooks() {
|
27 |
+
add_filter( 'admin_footer_text', [ $this, 'update_footer_text' ], 10 );
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* .
|
32 |
+
*
|
33 |
+
* @param string $original_text .
|
34 |
+
*
|
35 |
+
* @internal
|
36 |
+
*/
|
37 |
+
public function update_footer_text( string $original_text ): string {
|
38 |
+
return '';
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
src/Field/FieldData.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\DefaultType;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Generates field data based on options for field type.
|
15 |
+
*/
|
16 |
+
class FieldData {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Returns parsed data for field.
|
20 |
+
*
|
21 |
+
* @param array $field_settings Settings of field.
|
22 |
+
* @param bool $is_decode Is it decoding (used saved settings) data instead of encoding (for settings save).
|
23 |
+
*
|
24 |
+
* @return array Data of field.
|
25 |
+
*/
|
26 |
+
public static function get_field_data( array $field_settings, bool $is_decode = true ): array {
|
27 |
+
$field_data = [];
|
28 |
+
|
29 |
+
$new_field_settings = $field_settings;
|
30 |
+
if ( ! isset( $field_settings['type'] ) ) {
|
31 |
+
$new_field_settings['type'] = DefaultType::FIELD_TYPE;
|
32 |
+
}
|
33 |
+
|
34 |
+
if ( ! ( $option_objects = self::get_field_options( $field_settings ) )
|
35 |
+
&& ! ( $option_objects = self::get_field_options( $new_field_settings ) ) ) {
|
36 |
+
return $field_data;
|
37 |
+
}
|
38 |
+
|
39 |
+
$field_data['name'] = $field_settings['name'];
|
40 |
+
foreach ( $option_objects as $field_option ) {
|
41 |
+
$field_data = $field_option[ ( $is_decode ) ? 'update_field_callback' : 'save_field_callback' ](
|
42 |
+
$field_data,
|
43 |
+
$new_field_settings
|
44 |
+
);
|
45 |
+
}
|
46 |
+
return $field_data;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Returns list of option objects.
|
51 |
+
*
|
52 |
+
* @param array $field_settings Settings of field.
|
53 |
+
*
|
54 |
+
* @return OptionInterface[] List of options.
|
55 |
+
*/
|
56 |
+
public static function get_field_options( array $field_settings ): array {
|
57 |
+
$field_types = apply_filters( 'flexible_checkout_fields/field_types', [] );
|
58 |
+
foreach ( $field_types as $field_type ) {
|
59 |
+
if ( in_array( $field_settings['name'], $field_type['reserved_field_names'], true )
|
60 |
+
|| ( isset( $field_settings['type'] ) && ( $field_settings['type'] === $field_type['type'] ) ) ) {
|
61 |
+
return $field_type['options'];
|
62 |
+
}
|
63 |
+
}
|
64 |
+
return [];
|
65 |
+
}
|
66 |
+
}
|
src/Field/Type/CheckboxType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class CheckboxType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'inspirecheckbox';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Checkbox', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-check-square';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/ColorType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class ColorType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'colorpicker';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Color Picker', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-palette';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/DateType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class DateType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'datepicker';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Date', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-calendar-alt';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/DefaultType.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
17 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\CustomFieldOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingWcOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\LogicAdvOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\PlaceholderOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
28 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredOption;
|
29 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
30 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Supports field type settings.
|
34 |
+
*/
|
35 |
+
class DefaultType extends TypeAbstract implements TypeInterface {
|
36 |
+
|
37 |
+
const FIELD_TYPE = 'fcf_default';
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns value of field type.
|
41 |
+
*
|
42 |
+
* @return string Field type.
|
43 |
+
*/
|
44 |
+
public function get_field_type(): string {
|
45 |
+
return self::FIELD_TYPE;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of field type.
|
50 |
+
*
|
51 |
+
* @return string Field label.
|
52 |
+
*/
|
53 |
+
public function get_field_type_label(): string {
|
54 |
+
return __( 'WooCommerce Default Field', 'flexible-checkout-fields' );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns whether field type is hidden.
|
59 |
+
*
|
60 |
+
* @return bool Status if field type is hidden.
|
61 |
+
*/
|
62 |
+
public function is_hidden(): bool {
|
63 |
+
return true;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns whether field type is available for plugin version.
|
68 |
+
*
|
69 |
+
* @return bool Status if field type is available.
|
70 |
+
*/
|
71 |
+
public function is_available(): bool {
|
72 |
+
return true;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Returns list of options for field settings.
|
77 |
+
*
|
78 |
+
* @return OptionInterface[] List of option fields.
|
79 |
+
*/
|
80 |
+
public function get_options_objects(): array {
|
81 |
+
return [
|
82 |
+
GeneralTab::TAB_NAME => [
|
83 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
84 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
85 |
+
CustomFieldOption::FIELD_NAME => new CustomFieldOption(),
|
86 |
+
RequiredOption::FIELD_NAME => new RequiredOption(),
|
87 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
88 |
+
NameOption::FIELD_NAME => new NameOption(),
|
89 |
+
],
|
90 |
+
AdvancedTab::TAB_NAME => [
|
91 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
92 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
93 |
+
],
|
94 |
+
AppearanceTab::TAB_NAME => [
|
95 |
+
PlaceholderOption::FIELD_NAME => new PlaceholderOption(),
|
96 |
+
CssOption::FIELD_NAME => new CssOption(),
|
97 |
+
],
|
98 |
+
DisplayTab::TAB_NAME => [
|
99 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
100 |
+
FormattingWcOption::FIELD_NAME => new FormattingWcOption(),
|
101 |
+
],
|
102 |
+
LogicTab::TAB_NAME => [
|
103 |
+
LogicAdvOption::FIELD_NAME => new LogicAdvOption(),
|
104 |
+
],
|
105 |
+
];
|
106 |
+
}
|
107 |
+
}
|
src/Field/Type/FileType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class FileType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'file';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'File Upload', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-upload';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/HeadingType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class HeadingType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'heading';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Headline', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-heading';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/HtmlType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class HtmlType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'info';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'HTML', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-code';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/Multiselect.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class Multiselect extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'wpdeskmultiselect';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Multi-select', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-tasks';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/RadioType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class RadioType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'inspireradio';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Radio Button', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-list-ul';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/SelectType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class SelectType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'select';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Select (Drop Down)', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-tasks-alt';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/TextType.php
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
17 |
+
use WPDesk\FCF\Free\Settings\Tab\PricingTab;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\CustomFieldOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\FieldTypeOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\LogicAdvOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
28 |
+
use WPDesk\FCF\Free\Settings\Option\PlaceholderOption;
|
29 |
+
use WPDesk\FCF\Free\Settings\Option\PricingAdvOption;
|
30 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
31 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredOption;
|
32 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
33 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Supports field type settings.
|
37 |
+
*/
|
38 |
+
class TextType extends TypeAbstract implements TypeInterface {
|
39 |
+
|
40 |
+
const FIELD_TYPE = 'text';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Returns value of field type.
|
44 |
+
*
|
45 |
+
* @return string Field type.
|
46 |
+
*/
|
47 |
+
public function get_field_type(): string {
|
48 |
+
return self::FIELD_TYPE;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Returns label of field type.
|
53 |
+
*
|
54 |
+
* @return string Field label.
|
55 |
+
*/
|
56 |
+
public function get_field_type_label(): string {
|
57 |
+
return __( 'Single Line Text', 'flexible-checkout-fields' );
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
62 |
+
*
|
63 |
+
* @return string Field icon.
|
64 |
+
*/
|
65 |
+
public function get_field_type_icon(): string {
|
66 |
+
return 'icon-font';
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Returns whether field type is available for plugin version.
|
71 |
+
*
|
72 |
+
* @return bool Status if field type is available.
|
73 |
+
*/
|
74 |
+
public function is_available(): bool {
|
75 |
+
return true;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns list of options for field settings.
|
80 |
+
*
|
81 |
+
* @return OptionInterface[] List of option fields.
|
82 |
+
*/
|
83 |
+
public function get_options_objects(): array {
|
84 |
+
return [
|
85 |
+
GeneralTab::TAB_NAME => [
|
86 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
87 |
+
FieldTypeOption::FIELD_NAME => new FieldTypeOption(),
|
88 |
+
CustomFieldOption::FIELD_NAME => new CustomFieldOption(),
|
89 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
90 |
+
RequiredOption::FIELD_NAME => new RequiredOption(),
|
91 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
92 |
+
NameOption::FIELD_NAME => new NameOption(),
|
93 |
+
],
|
94 |
+
AdvancedTab::TAB_NAME => [
|
95 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
96 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
97 |
+
],
|
98 |
+
AppearanceTab::TAB_NAME => [
|
99 |
+
PlaceholderOption::FIELD_NAME => new PlaceholderOption(),
|
100 |
+
CssOption::FIELD_NAME => new CssOption(),
|
101 |
+
],
|
102 |
+
DisplayTab::TAB_NAME => [
|
103 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
104 |
+
FormattingOption::FIELD_NAME => new FormattingOption(),
|
105 |
+
],
|
106 |
+
LogicTab::TAB_NAME => [
|
107 |
+
LogicAdvOption::FIELD_NAME => new LogicAdvOption(),
|
108 |
+
],
|
109 |
+
PricingTab::TAB_NAME => [
|
110 |
+
PricingAdvOption::FIELD_NAME => new PricingAdvOption(),
|
111 |
+
],
|
112 |
+
];
|
113 |
+
}
|
114 |
+
}
|
src/Field/Type/TextareaType.php
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
17 |
+
use WPDesk\FCF\Free\Settings\Tab\PricingTab;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\CustomFieldOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\FieldTypeOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\LogicAdvOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
28 |
+
use WPDesk\FCF\Free\Settings\Option\PlaceholderOption;
|
29 |
+
use WPDesk\FCF\Free\Settings\Option\PricingAdvOption;
|
30 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
31 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredOption;
|
32 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
33 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Supports field type settings.
|
37 |
+
*/
|
38 |
+
class TextareaType extends TypeAbstract implements TypeInterface {
|
39 |
+
|
40 |
+
const FIELD_TYPE = 'textarea';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Returns value of field type.
|
44 |
+
*
|
45 |
+
* @return string Field type.
|
46 |
+
*/
|
47 |
+
public function get_field_type(): string {
|
48 |
+
return self::FIELD_TYPE;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Returns label of field type.
|
53 |
+
*
|
54 |
+
* @return string Field label.
|
55 |
+
*/
|
56 |
+
public function get_field_type_label(): string {
|
57 |
+
return __( 'Paragraph Text', 'flexible-checkout-fields' );
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
62 |
+
*
|
63 |
+
* @return string Field icon.
|
64 |
+
*/
|
65 |
+
public function get_field_type_icon(): string {
|
66 |
+
return 'icon-align-left';
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Returns whether field type is available for plugin version.
|
71 |
+
*
|
72 |
+
* @return bool Status if field type is available.
|
73 |
+
*/
|
74 |
+
public function is_available(): bool {
|
75 |
+
return true;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns list of options for field settings.
|
80 |
+
*
|
81 |
+
* @return OptionInterface[] List of option fields.
|
82 |
+
*/
|
83 |
+
public function get_options_objects(): array {
|
84 |
+
return [
|
85 |
+
GeneralTab::TAB_NAME => [
|
86 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
87 |
+
FieldTypeOption::FIELD_NAME => new FieldTypeOption(),
|
88 |
+
CustomFieldOption::FIELD_NAME => new CustomFieldOption(),
|
89 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
90 |
+
RequiredOption::FIELD_NAME => new RequiredOption(),
|
91 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
92 |
+
NameOption::FIELD_NAME => new NameOption(),
|
93 |
+
],
|
94 |
+
AdvancedTab::TAB_NAME => [
|
95 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
96 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
97 |
+
],
|
98 |
+
AppearanceTab::TAB_NAME => [
|
99 |
+
PlaceholderOption::FIELD_NAME => new PlaceholderOption(),
|
100 |
+
CssOption::FIELD_NAME => new CssOption(),
|
101 |
+
],
|
102 |
+
DisplayTab::TAB_NAME => [
|
103 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
104 |
+
FormattingOption::FIELD_NAME => new FormattingOption(),
|
105 |
+
],
|
106 |
+
LogicTab::TAB_NAME => [
|
107 |
+
LogicAdvOption::FIELD_NAME => new LogicAdvOption(),
|
108 |
+
],
|
109 |
+
PricingTab::TAB_NAME => [
|
110 |
+
PricingAdvOption::FIELD_NAME => new PricingAdvOption(),
|
111 |
+
],
|
112 |
+
];
|
113 |
+
}
|
114 |
+
}
|
src/Field/Type/TimeType.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports field type settings.
|
15 |
+
*/
|
16 |
+
class TimeType extends TypeAbstract implements TypeInterface {
|
17 |
+
|
18 |
+
const FIELD_TYPE = 'timepicker';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns value of field type.
|
22 |
+
*
|
23 |
+
* @return string Field type.
|
24 |
+
*/
|
25 |
+
public function get_field_type(): string {
|
26 |
+
return self::FIELD_TYPE;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of field type.
|
31 |
+
*
|
32 |
+
* @return string Field label.
|
33 |
+
*/
|
34 |
+
public function get_field_type_label(): string {
|
35 |
+
return __( 'Time', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Field icon.
|
42 |
+
*/
|
43 |
+
public function get_field_type_icon(): string {
|
44 |
+
return 'icon-clock';
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns whether field type is available for plugin version.
|
49 |
+
*
|
50 |
+
* @return bool Status if field type is available.
|
51 |
+
*/
|
52 |
+
public function is_available(): bool {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
src/Field/Type/TypeAbstract.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Option\OptionIntegration;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Abstract class of field type.
|
16 |
+
*/
|
17 |
+
abstract class TypeAbstract implements TypeInterface {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Returns value of field type used in HTML.
|
21 |
+
*
|
22 |
+
* @return string Field type.
|
23 |
+
*/
|
24 |
+
public function get_raw_field_type(): string {
|
25 |
+
return $this->get_field_type();
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
30 |
+
*
|
31 |
+
* @return array Field names.
|
32 |
+
*/
|
33 |
+
public function get_reserved_field_names(): array {
|
34 |
+
return [];
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
39 |
+
*
|
40 |
+
* @return string Field icon.
|
41 |
+
*/
|
42 |
+
public function get_field_type_icon(): string {
|
43 |
+
return '';
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Returns whether field type is hidden.
|
48 |
+
*
|
49 |
+
* @return bool Status if field type is hidden.
|
50 |
+
*/
|
51 |
+
public function is_hidden(): bool {
|
52 |
+
return false;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Returns whether field type is available for plugin version.
|
57 |
+
*
|
58 |
+
* @return bool Status if field type is available.
|
59 |
+
*/
|
60 |
+
public function is_available(): bool {
|
61 |
+
return false;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Returns list of options objects for field settings.
|
66 |
+
*
|
67 |
+
* @return OptionInterface[] List of field options objects.
|
68 |
+
*/
|
69 |
+
public function get_options_objects(): array {
|
70 |
+
return [];
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Returns list of options for field settings.
|
75 |
+
*
|
76 |
+
* @return array List of field options.
|
77 |
+
*/
|
78 |
+
public function get_options(): array {
|
79 |
+
$options = [];
|
80 |
+
foreach ( $this->get_options_objects() as $option_objects ) {
|
81 |
+
foreach ( $option_objects as $option_object ) {
|
82 |
+
$options[] = ( new OptionIntegration( $option_object ) )->get_field_settings();
|
83 |
+
}
|
84 |
+
}
|
85 |
+
return $options;
|
86 |
+
}
|
87 |
+
}
|
src/Field/Type/TypeIntegration.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Initializes integration for REST API route.
|
14 |
+
*/
|
15 |
+
class TypeIntegration {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Class object for field type.
|
19 |
+
*
|
20 |
+
* @var TypeInterface
|
21 |
+
*/
|
22 |
+
private $type_object;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Class constructor.
|
26 |
+
*
|
27 |
+
* @param TypeInterface $type_object Class object of field type.
|
28 |
+
*/
|
29 |
+
public function __construct( TypeInterface $type_object ) {
|
30 |
+
$this->type_object = $type_object;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Integrate with WordPress and with other plugins using action/filter system.
|
35 |
+
*
|
36 |
+
* @return void
|
37 |
+
*/
|
38 |
+
public function hooks() {
|
39 |
+
add_filter( 'flexible_checkout_fields/field_types', [ $this, 'add_field_type' ], 0 );
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Adds new field type with settings of field type.
|
44 |
+
*
|
45 |
+
* @param array $types List of field types.
|
46 |
+
*
|
47 |
+
* @return array Updated list of field types.
|
48 |
+
*
|
49 |
+
* @internal
|
50 |
+
*/
|
51 |
+
public function add_field_type( array $types ): array {
|
52 |
+
$field_type = $this->type_object->get_field_type();
|
53 |
+
$types[ $field_type ] = $this->get_field_type_settings();
|
54 |
+
return $types;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns list of settings for field type.
|
59 |
+
*
|
60 |
+
* @return array Settings of field type.
|
61 |
+
*/
|
62 |
+
private function get_field_type_settings(): array {
|
63 |
+
return [
|
64 |
+
'type' => $this->type_object->get_field_type(),
|
65 |
+
'reserved_field_names' => $this->type_object->get_reserved_field_names(),
|
66 |
+
'label' => $this->type_object->get_field_type_label(),
|
67 |
+
'icon' => $this->type_object->get_field_type_icon(),
|
68 |
+
'is_hidden' => $this->type_object->is_hidden(),
|
69 |
+
'is_available' => $this->type_object->is_available(),
|
70 |
+
'options' => $this->type_object->get_options(),
|
71 |
+
];
|
72 |
+
}
|
73 |
+
}
|
src/Field/Type/TypeInterface.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Interface of field type.
|
14 |
+
*/
|
15 |
+
interface TypeInterface {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Returns value of field type.
|
19 |
+
*
|
20 |
+
* @return string Field type.
|
21 |
+
*/
|
22 |
+
public function get_field_type(): string;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Returns value of field type used in HTML.
|
26 |
+
*
|
27 |
+
* @return string Field type.
|
28 |
+
*/
|
29 |
+
public function get_raw_field_type(): string;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
33 |
+
*
|
34 |
+
* @return array Field names.
|
35 |
+
*/
|
36 |
+
public function get_reserved_field_names(): array;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of field type.
|
40 |
+
*
|
41 |
+
* @return string Field label.
|
42 |
+
*/
|
43 |
+
public function get_field_type_label(): string;
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Returns field icon as CSS Class supported by Icomoon.
|
47 |
+
*
|
48 |
+
* @return string Field icon.
|
49 |
+
*/
|
50 |
+
public function get_field_type_icon(): string;
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Returns whether field type is hidden.
|
54 |
+
*
|
55 |
+
* @return bool Status if field type is hidden.
|
56 |
+
*/
|
57 |
+
public function is_hidden(): bool;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Returns whether field type is available for plugin version.
|
61 |
+
*
|
62 |
+
* @return bool Status if field type is available.
|
63 |
+
*/
|
64 |
+
public function is_available(): bool;
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns list of options objects for field settings.
|
68 |
+
*
|
69 |
+
* @return OptionInterface[] List of field options objects.
|
70 |
+
*/
|
71 |
+
public function get_options_objects(): array;
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Returns list of options for field settings.
|
75 |
+
*
|
76 |
+
* @return array List of field options.
|
77 |
+
*/
|
78 |
+
public function get_options(): array;
|
79 |
+
}
|
src/Field/Type/Wc/WcAddress2Type.php
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type\Wc;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
17 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingWcOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOptionallyOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\LogicAdvOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\PlaceholderOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredOption;
|
28 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
29 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Supports field type settings.
|
33 |
+
*/
|
34 |
+
class WcAddress2Type extends TypeAbstract implements TypeInterface {
|
35 |
+
|
36 |
+
const FIELD_TYPE = 'wc_address2';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns value of field type.
|
40 |
+
*
|
41 |
+
* @return string Field type.
|
42 |
+
*/
|
43 |
+
public function get_field_type(): string {
|
44 |
+
return self::FIELD_TYPE;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns label of field type.
|
49 |
+
*
|
50 |
+
* @return string Field label.
|
51 |
+
*/
|
52 |
+
public function get_field_type_label(): string {
|
53 |
+
return __( 'WooCommerce Default Field', 'flexible-checkout-fields' );
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
58 |
+
*
|
59 |
+
* @return array Field names.
|
60 |
+
*/
|
61 |
+
public function get_reserved_field_names(): array {
|
62 |
+
return [
|
63 |
+
'billing_address_2',
|
64 |
+
'shipping_address_2',
|
65 |
+
];
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Returns whether field type is hidden.
|
70 |
+
*
|
71 |
+
* @return bool Status if field type is hidden.
|
72 |
+
*/
|
73 |
+
public function is_hidden(): bool {
|
74 |
+
return true;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Returns list of options for field settings.
|
79 |
+
*
|
80 |
+
* @return OptionInterface[] List of option fields.
|
81 |
+
*/
|
82 |
+
public function get_options_objects(): array {
|
83 |
+
return [
|
84 |
+
GeneralTab::TAB_NAME => [
|
85 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
86 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
87 |
+
RequiredOption::FIELD_NAME => new RequiredOption(),
|
88 |
+
LabelOptionallyOption::FIELD_NAME => new LabelOptionallyOption(),
|
89 |
+
NameOption::FIELD_NAME => new NameOption(),
|
90 |
+
],
|
91 |
+
AdvancedTab::TAB_NAME => [
|
92 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
93 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
94 |
+
],
|
95 |
+
AppearanceTab::TAB_NAME => [
|
96 |
+
PlaceholderOption::FIELD_NAME => new PlaceholderOption(),
|
97 |
+
CssOption::FIELD_NAME => new CssOption(),
|
98 |
+
],
|
99 |
+
DisplayTab::TAB_NAME => [
|
100 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
101 |
+
FormattingWcOption::FIELD_NAME => new FormattingWcOption(),
|
102 |
+
],
|
103 |
+
LogicTab::TAB_NAME => [
|
104 |
+
LogicAdvOption::FIELD_NAME => new LogicAdvOption(),
|
105 |
+
],
|
106 |
+
];
|
107 |
+
}
|
108 |
+
}
|
src/Field/Type/Wc/WcCountryType.php
ADDED
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type\Wc;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
17 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingWcOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredHiddenOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Supports field type settings.
|
30 |
+
*/
|
31 |
+
class WcCountryType extends TypeAbstract implements TypeInterface {
|
32 |
+
|
33 |
+
const FIELD_TYPE = 'wc_country';
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Returns value of field type.
|
37 |
+
*
|
38 |
+
* @return string Field type.
|
39 |
+
*/
|
40 |
+
public function get_field_type(): string {
|
41 |
+
return self::FIELD_TYPE;
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Returns label of field type.
|
46 |
+
*
|
47 |
+
* @return string Field label.
|
48 |
+
*/
|
49 |
+
public function get_field_type_label(): string {
|
50 |
+
return __( 'WooCommerce Default Field', 'flexible-checkout-fields' );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
55 |
+
*
|
56 |
+
* @return array Field names.
|
57 |
+
*/
|
58 |
+
public function get_reserved_field_names(): array {
|
59 |
+
return [
|
60 |
+
'billing_country',
|
61 |
+
'shipping_country',
|
62 |
+
];
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Returns whether field type is hidden.
|
67 |
+
*
|
68 |
+
* @return bool Status if field type is hidden.
|
69 |
+
*/
|
70 |
+
public function is_hidden(): bool {
|
71 |
+
return true;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Returns list of options for field settings.
|
76 |
+
*
|
77 |
+
* @return OptionInterface[] List of option fields.
|
78 |
+
*/
|
79 |
+
public function get_options_objects(): array {
|
80 |
+
return [
|
81 |
+
GeneralTab::TAB_NAME => [
|
82 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
83 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
84 |
+
RequiredHiddenOption::FIELD_NAME => new RequiredHiddenOption(),
|
85 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
86 |
+
NameOption::FIELD_NAME => new NameOption(),
|
87 |
+
],
|
88 |
+
AdvancedTab::TAB_NAME => [
|
89 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
90 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
91 |
+
],
|
92 |
+
AppearanceTab::TAB_NAME => [
|
93 |
+
CssOption::FIELD_NAME => new CssOption(),
|
94 |
+
],
|
95 |
+
DisplayTab::TAB_NAME => [
|
96 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
97 |
+
FormattingWcOption::FIELD_NAME => new FormattingWcOption(),
|
98 |
+
],
|
99 |
+
];
|
100 |
+
}
|
101 |
+
}
|
src/Field/Type/Wc/WcDefaultType.php
ADDED
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type\Wc;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
17 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingWcOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\LogicAdvOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\PlaceholderOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredOption;
|
28 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
29 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Supports field type settings.
|
33 |
+
*/
|
34 |
+
class WcDefaultType extends TypeAbstract implements TypeInterface {
|
35 |
+
|
36 |
+
const FIELD_TYPE = 'wc_text';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns value of field type.
|
40 |
+
*
|
41 |
+
* @return string Field type.
|
42 |
+
*/
|
43 |
+
public function get_field_type(): string {
|
44 |
+
return self::FIELD_TYPE;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns label of field type.
|
49 |
+
*
|
50 |
+
* @return string Field label.
|
51 |
+
*/
|
52 |
+
public function get_field_type_label(): string {
|
53 |
+
return __( 'WooCommerce Default Field', 'flexible-checkout-fields' );
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
58 |
+
*
|
59 |
+
* @return array Field names.
|
60 |
+
*/
|
61 |
+
public function get_reserved_field_names(): array {
|
62 |
+
return [
|
63 |
+
'billing_first_name',
|
64 |
+
'billing_last_name',
|
65 |
+
'billing_company',
|
66 |
+
'billing_address_1',
|
67 |
+
'billing_city',
|
68 |
+
'billing_phone',
|
69 |
+
'billing_email',
|
70 |
+
'shipping_first_name',
|
71 |
+
'shipping_last_name',
|
72 |
+
'shipping_company',
|
73 |
+
'shipping_address_1',
|
74 |
+
'shipping_city',
|
75 |
+
];
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns whether field type is hidden.
|
80 |
+
*
|
81 |
+
* @return bool Status if field type is hidden.
|
82 |
+
*/
|
83 |
+
public function is_hidden(): bool {
|
84 |
+
return true;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Returns whether field type is available for plugin version.
|
89 |
+
*
|
90 |
+
* @return bool Status if field type is available.
|
91 |
+
*/
|
92 |
+
public function is_available(): bool {
|
93 |
+
return true;
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Returns list of options for field settings.
|
98 |
+
*
|
99 |
+
* @return OptionInterface[] List of option fields.
|
100 |
+
*/
|
101 |
+
public function get_options_objects(): array {
|
102 |
+
return [
|
103 |
+
GeneralTab::TAB_NAME => [
|
104 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
105 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
106 |
+
RequiredOption::FIELD_NAME => new RequiredOption(),
|
107 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
108 |
+
NameOption::FIELD_NAME => new NameOption(),
|
109 |
+
],
|
110 |
+
AdvancedTab::TAB_NAME => [
|
111 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
112 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
113 |
+
],
|
114 |
+
AppearanceTab::TAB_NAME => [
|
115 |
+
PlaceholderOption::FIELD_NAME => new PlaceholderOption(),
|
116 |
+
CssOption::FIELD_NAME => new CssOption(),
|
117 |
+
],
|
118 |
+
DisplayTab::TAB_NAME => [
|
119 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
120 |
+
FormattingWcOption::FIELD_NAME => new FormattingWcOption(),
|
121 |
+
],
|
122 |
+
LogicTab::TAB_NAME => [
|
123 |
+
LogicAdvOption::FIELD_NAME => new LogicAdvOption(),
|
124 |
+
],
|
125 |
+
];
|
126 |
+
}
|
127 |
+
}
|
src/Field/Type/Wc/WcNotesType.php
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type\Wc;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
17 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnWithoutAddressOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\LogicAdvOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\PlaceholderOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
28 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Supports field type settings.
|
32 |
+
*/
|
33 |
+
class WcNotesType extends TypeAbstract implements TypeInterface {
|
34 |
+
|
35 |
+
const FIELD_TYPE = 'wc_notes';
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Returns value of field type.
|
39 |
+
*
|
40 |
+
* @return string Field type.
|
41 |
+
*/
|
42 |
+
public function get_field_type(): string {
|
43 |
+
return self::FIELD_TYPE;
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Returns label of field type.
|
48 |
+
*
|
49 |
+
* @return string Field label.
|
50 |
+
*/
|
51 |
+
public function get_field_type_label(): string {
|
52 |
+
return __( 'WooCommerce Default Field', 'flexible-checkout-fields' );
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
57 |
+
*
|
58 |
+
* @return array Field names.
|
59 |
+
*/
|
60 |
+
public function get_reserved_field_names(): array {
|
61 |
+
return [
|
62 |
+
'order_comments',
|
63 |
+
];
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns whether field type is hidden.
|
68 |
+
*
|
69 |
+
* @return bool Status if field type is hidden.
|
70 |
+
*/
|
71 |
+
public function is_hidden(): bool {
|
72 |
+
return true;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Returns whether field type is available for plugin version.
|
77 |
+
*
|
78 |
+
* @return bool Status if field type is available.
|
79 |
+
*/
|
80 |
+
public function is_available(): bool {
|
81 |
+
return true;
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Returns list of options for field settings.
|
86 |
+
*
|
87 |
+
* @return OptionInterface[] List of option fields.
|
88 |
+
*/
|
89 |
+
public function get_options_objects(): array {
|
90 |
+
return [
|
91 |
+
GeneralTab::TAB_NAME => [
|
92 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
93 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
94 |
+
RequiredOption::FIELD_NAME => new RequiredOption(),
|
95 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
96 |
+
NameOption::FIELD_NAME => new NameOption(),
|
97 |
+
],
|
98 |
+
AdvancedTab::TAB_NAME => [
|
99 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
100 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
101 |
+
],
|
102 |
+
AppearanceTab::TAB_NAME => [
|
103 |
+
PlaceholderOption::FIELD_NAME => new PlaceholderOption(),
|
104 |
+
CssOption::FIELD_NAME => new CssOption(),
|
105 |
+
],
|
106 |
+
DisplayTab::TAB_NAME => [
|
107 |
+
DisplayOnWithoutAddressOption::FIELD_NAME => new DisplayOnWithoutAddressOption(),
|
108 |
+
],
|
109 |
+
LogicTab::TAB_NAME => [
|
110 |
+
LogicAdvOption::FIELD_NAME => new LogicAdvOption(),
|
111 |
+
],
|
112 |
+
];
|
113 |
+
}
|
114 |
+
}
|
src/Field/Type/Wc/WcPostcodeType.php
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type\Wc;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
17 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingWcOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\PlaceholderOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredHiddenOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Supports field type settings.
|
31 |
+
*/
|
32 |
+
class WcPostcodeType extends TypeAbstract implements TypeInterface {
|
33 |
+
|
34 |
+
const FIELD_TYPE = 'wc_postcode';
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Returns value of field type.
|
38 |
+
*
|
39 |
+
* @return string Field type.
|
40 |
+
*/
|
41 |
+
public function get_field_type(): string {
|
42 |
+
return self::FIELD_TYPE;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Returns label of field type.
|
47 |
+
*
|
48 |
+
* @return string Field label.
|
49 |
+
*/
|
50 |
+
public function get_field_type_label(): string {
|
51 |
+
return __( 'WooCommerce Default Field', 'flexible-checkout-fields' );
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
56 |
+
*
|
57 |
+
* @return array Field names.
|
58 |
+
*/
|
59 |
+
public function get_reserved_field_names(): array {
|
60 |
+
return [
|
61 |
+
'billing_postcode',
|
62 |
+
'shipping_postcode',
|
63 |
+
];
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns whether field type is hidden.
|
68 |
+
*
|
69 |
+
* @return bool Status if field type is hidden.
|
70 |
+
*/
|
71 |
+
public function is_hidden(): bool {
|
72 |
+
return true;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Returns list of options for field settings.
|
77 |
+
*
|
78 |
+
* @return OptionInterface[] List of option fields.
|
79 |
+
*/
|
80 |
+
public function get_options_objects(): array {
|
81 |
+
return [
|
82 |
+
GeneralTab::TAB_NAME => [
|
83 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
84 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
85 |
+
RequiredHiddenOption::FIELD_NAME => new RequiredHiddenOption(),
|
86 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
87 |
+
NameOption::FIELD_NAME => new NameOption(),
|
88 |
+
],
|
89 |
+
AdvancedTab::TAB_NAME => [
|
90 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
91 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
92 |
+
],
|
93 |
+
AppearanceTab::TAB_NAME => [
|
94 |
+
PlaceholderOption::FIELD_NAME => new PlaceholderOption(),
|
95 |
+
CssOption::FIELD_NAME => new CssOption(),
|
96 |
+
],
|
97 |
+
DisplayTab::TAB_NAME => [
|
98 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
99 |
+
FormattingWcOption::FIELD_NAME => new FormattingWcOption(),
|
100 |
+
],
|
101 |
+
];
|
102 |
+
}
|
103 |
+
}
|
src/Field/Type/Wc/WcStateType.php
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field\Type\Wc;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeAbstract;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TypeInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
17 |
+
use WPDesk\FCF\Free\Settings\Option\CssOption;
|
18 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
19 |
+
use WPDesk\FCF\Free\Settings\Option\EnabledOption;
|
20 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingStateOption;
|
21 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingWcOption;
|
22 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
23 |
+
use WPDesk\FCF\Free\Settings\Option\NameOption;
|
24 |
+
use WPDesk\FCF\Free\Settings\Option\PriorityOption;
|
25 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredHiddenOption;
|
26 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationOption;
|
27 |
+
use WPDesk\FCF\Free\Settings\Option\ValidationInfoOption;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Supports field type settings.
|
31 |
+
*/
|
32 |
+
class WcStateType extends TypeAbstract implements TypeInterface {
|
33 |
+
|
34 |
+
const FIELD_TYPE = 'wc_state';
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Returns value of field type.
|
38 |
+
*
|
39 |
+
* @return string Field type.
|
40 |
+
*/
|
41 |
+
public function get_field_type(): string {
|
42 |
+
return self::FIELD_TYPE;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Returns label of field type.
|
47 |
+
*
|
48 |
+
* @return string Field label.
|
49 |
+
*/
|
50 |
+
public function get_field_type_label(): string {
|
51 |
+
return __( 'WooCommerce Default Field', 'flexible-checkout-fields' );
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Returns reserved field names, overriding this field type for selected field names.
|
56 |
+
*
|
57 |
+
* @return array Field names.
|
58 |
+
*/
|
59 |
+
public function get_reserved_field_names(): array {
|
60 |
+
return [
|
61 |
+
'billing_state',
|
62 |
+
'shipping_state',
|
63 |
+
];
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns whether field type is hidden.
|
68 |
+
*
|
69 |
+
* @return bool Status if field type is hidden.
|
70 |
+
*/
|
71 |
+
public function is_hidden(): bool {
|
72 |
+
return true;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Returns list of options for field settings.
|
77 |
+
*
|
78 |
+
* @return OptionInterface[] List of option fields.
|
79 |
+
*/
|
80 |
+
public function get_options_objects(): array {
|
81 |
+
return [
|
82 |
+
GeneralTab::TAB_NAME => [
|
83 |
+
PriorityOption::FIELD_NAME => new PriorityOption(),
|
84 |
+
EnabledOption::FIELD_NAME => new EnabledOption(),
|
85 |
+
RequiredHiddenOption::FIELD_NAME => new RequiredHiddenOption(),
|
86 |
+
LabelOption::FIELD_NAME => new LabelOption(),
|
87 |
+
NameOption::FIELD_NAME => new NameOption(),
|
88 |
+
],
|
89 |
+
AdvancedTab::TAB_NAME => [
|
90 |
+
ValidationOption::FIELD_NAME => new ValidationOption(),
|
91 |
+
ValidationInfoOption::FIELD_NAME => new ValidationInfoOption(),
|
92 |
+
],
|
93 |
+
AppearanceTab::TAB_NAME => [
|
94 |
+
CssOption::FIELD_NAME => new CssOption(),
|
95 |
+
],
|
96 |
+
DisplayTab::TAB_NAME => [
|
97 |
+
DisplayOnOption::FIELD_NAME => new DisplayOnOption(),
|
98 |
+
FormattingWcOption::FIELD_NAME => new FormattingWcOption(),
|
99 |
+
FormattingStateOption::FIELD_NAME => new FormattingStateOption(),
|
100 |
+
],
|
101 |
+
];
|
102 |
+
}
|
103 |
+
}
|
src/Field/Types.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Field;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Field\Type\TypeIntegration;
|
11 |
+
use WPDesk\FCF\Free\Field\Type\TextType;
|
12 |
+
use WPDesk\FCF\Free\Field\Type\TextareaType;
|
13 |
+
use WPDesk\FCF\Free\Field\Type\CheckboxType;
|
14 |
+
use WPDesk\FCF\Free\Field\Type\RadioType;
|
15 |
+
use WPDesk\FCF\Free\Field\Type\SelectType;
|
16 |
+
use WPDesk\FCF\Free\Field\Type\Multiselect;
|
17 |
+
use WPDesk\FCF\Free\Field\Type\DateType;
|
18 |
+
use WPDesk\FCF\Free\Field\Type\TimeType;
|
19 |
+
use WPDesk\FCF\Free\Field\Type\ColorType;
|
20 |
+
use WPDesk\FCF\Free\Field\Type\HeadingType;
|
21 |
+
use WPDesk\FCF\Free\Field\Type\HtmlType;
|
22 |
+
use WPDesk\FCF\Free\Field\Type\FileType;
|
23 |
+
use WPDesk\FCF\Free\Field\Type\DefaultType;
|
24 |
+
use WPDesk\FCF\Free\Field\Type\Wc\WcDefaultType;
|
25 |
+
use WPDesk\FCF\Free\Field\Type\Wc\WcAddress2Type;
|
26 |
+
use WPDesk\FCF\Free\Field\Type\Wc\WcCountryType;
|
27 |
+
use WPDesk\FCF\Free\Field\Type\Wc\WcPostcodeType;
|
28 |
+
use WPDesk\FCF\Free\Field\Type\Wc\WcStateType;
|
29 |
+
use WPDesk\FCF\Free\Field\Type\Wc\WcNotesType;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Supports management for field types.
|
33 |
+
*/
|
34 |
+
class Types {
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Initializes actions for class.
|
38 |
+
*
|
39 |
+
* @return void
|
40 |
+
*/
|
41 |
+
public function init() {
|
42 |
+
( new TypeIntegration( new TextType() ) )->hooks();
|
43 |
+
( new TypeIntegration( new TextareaType() ) )->hooks();
|
44 |
+
( new TypeIntegration( new CheckboxType() ) )->hooks();
|
45 |
+
( new TypeIntegration( new RadioType() ) )->hooks();
|
46 |
+
( new TypeIntegration( new SelectType() ) )->hooks();
|
47 |
+
( new TypeIntegration( new Multiselect() ) )->hooks();
|
48 |
+
( new TypeIntegration( new DateType() ) )->hooks();
|
49 |
+
( new TypeIntegration( new TimeType() ) )->hooks();
|
50 |
+
( new TypeIntegration( new ColorType() ) )->hooks();
|
51 |
+
( new TypeIntegration( new HeadingType() ) )->hooks();
|
52 |
+
( new TypeIntegration( new HtmlType() ) )->hooks();
|
53 |
+
( new TypeIntegration( new FileType() ) )->hooks();
|
54 |
+
( new TypeIntegration( new DefaultType() ) )->hooks();
|
55 |
+
( new TypeIntegration( new WcDefaultType() ) )->hooks();
|
56 |
+
( new TypeIntegration( new WcAddress2Type() ) )->hooks();
|
57 |
+
( new TypeIntegration( new WcCountryType() ) )->hooks();
|
58 |
+
( new TypeIntegration( new WcPostcodeType() ) )->hooks();
|
59 |
+
( new TypeIntegration( new WcStateType() ) )->hooks();
|
60 |
+
( new TypeIntegration( new WcNotesType() ) )->hooks();
|
61 |
+
}
|
62 |
+
}
|
src/Helpers/Shortener.php
CHANGED
@@ -33,7 +33,7 @@ class Shortener implements Hookable, HookablePluginDependant {
|
|
33 |
* Generates short URL for link.
|
34 |
*
|
35 |
* @param string $default_value Default value for filter.
|
36 |
-
* @param string $short_path
|
37 |
*
|
38 |
* @return string Short URL.
|
39 |
*
|
@@ -44,7 +44,7 @@ class Shortener implements Hookable, HookablePluginDependant {
|
|
44 |
return '#';
|
45 |
}
|
46 |
|
47 |
-
$locale
|
48 |
$short_url = self::SHORTENER_DOMAIN . $short_path;
|
49 |
switch ( $locale ) {
|
50 |
case 'pl_PL':
|
33 |
* Generates short URL for link.
|
34 |
*
|
35 |
* @param string $default_value Default value for filter.
|
36 |
+
* @param string $short_path Path for short URL.
|
37 |
*
|
38 |
* @return string Short URL.
|
39 |
*
|
44 |
return '#';
|
45 |
}
|
46 |
|
47 |
+
$locale = get_locale();
|
48 |
$short_url = self::SHORTENER_DOMAIN . $short_path;
|
49 |
switch ( $locale ) {
|
50 |
case 'pl_PL':
|
src/Plugin.php
CHANGED
@@ -12,9 +12,10 @@ use FcfVendor\WPDesk\PluginBuilder\Plugin\AbstractPlugin;
|
|
12 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableCollection;
|
13 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableParent;
|
14 |
use WPDesk\FCF\Free\Admin;
|
|
|
15 |
use WPDesk\FCF\Free\Helpers;
|
16 |
use WPDesk\FCF\Free\Integration;
|
17 |
-
|
18 |
/**
|
19 |
* Main plugin class. The most important flow decisions are made here.
|
20 |
*/
|
@@ -61,8 +62,14 @@ class Plugin extends AbstractPlugin implements HookableCollection {
|
|
61 |
*/
|
62 |
public function init() {
|
63 |
$this->add_hookable( new Admin\NoticeReview() );
|
|
|
|
|
64 |
$this->add_hookable( new Helpers\Shortener() );
|
65 |
$this->add_hookable( new Integration\IntegratorIntegration( $this->plugin_old ) );
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
|
68 |
/**
|
12 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableCollection;
|
13 |
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableParent;
|
14 |
use WPDesk\FCF\Free\Admin;
|
15 |
+
use WPDesk\FCF\Free\Field;
|
16 |
use WPDesk\FCF\Free\Helpers;
|
17 |
use WPDesk\FCF\Free\Integration;
|
18 |
+
use WPDesk\FCF\Free\Settings;
|
19 |
/**
|
20 |
* Main plugin class. The most important flow decisions are made here.
|
21 |
*/
|
62 |
*/
|
63 |
public function init() {
|
64 |
$this->add_hookable( new Admin\NoticeReview() );
|
65 |
+
$this->add_hookable( new Admin\Page() );
|
66 |
+
( new Field\Types() )->init();
|
67 |
$this->add_hookable( new Helpers\Shortener() );
|
68 |
$this->add_hookable( new Integration\IntegratorIntegration( $this->plugin_old ) );
|
69 |
+
$this->add_hookable( new Settings\Page() );
|
70 |
+
( new Settings\Forms() )->init();
|
71 |
+
( new Settings\Routes() )->init();
|
72 |
+
( new Settings\Tabs() )->init();
|
73 |
}
|
74 |
|
75 |
/**
|
src/Settings/Form/EditFieldsForm.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Form;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Form\FormAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Form\FormInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
13 |
+
use WPDesk\FCF\Free\Field\FieldData;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Supports settings for form.
|
17 |
+
*/
|
18 |
+
class EditFieldsForm extends FormAbstract implements FormInterface {
|
19 |
+
|
20 |
+
const FORM_TYPE = 'fields';
|
21 |
+
const SETTINGS_OPTION_NAME = 'inspire_checkout_fields_settings';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Returns type of form.
|
25 |
+
*
|
26 |
+
* @return string Type of form.
|
27 |
+
*/
|
28 |
+
public function get_form_type(): string {
|
29 |
+
return self::FORM_TYPE;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Returns basic settings for form.
|
34 |
+
*
|
35 |
+
* @param array $form_data Default settings of form.
|
36 |
+
* @param string $form_key Key of form.
|
37 |
+
*
|
38 |
+
* @return array Settings of form.
|
39 |
+
*/
|
40 |
+
public function get_form_data( array $form_data, string $form_key = '' ): array {
|
41 |
+
$settings = get_option( self::SETTINGS_OPTION_NAME, [] );
|
42 |
+
$section_fields = array_merge( $this->get_section_form_data( $form_key ), $settings[ $form_key ] ?? [] );
|
43 |
+
if ( ! $section_fields ) {
|
44 |
+
return $form_data;
|
45 |
+
}
|
46 |
+
|
47 |
+
foreach ( $section_fields as $field_name => $field_data ) {
|
48 |
+
$field_data['name'] = $field_name;
|
49 |
+
if ( ! ( $new_field_data = FieldData::get_field_data( $field_data ) ) ) {
|
50 |
+
continue;
|
51 |
+
}
|
52 |
+
$form_data[ $field_name ] = $new_field_data;
|
53 |
+
}
|
54 |
+
|
55 |
+
return $form_data;
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Returns default settings for form of checkout section.
|
60 |
+
*
|
61 |
+
* @param string $section_key Key of section.
|
62 |
+
*
|
63 |
+
* @return array Settings of form.
|
64 |
+
*/
|
65 |
+
private function get_section_form_data( string $section_key ): array {
|
66 |
+
$countries = new \WC_Countries();
|
67 |
+
$sections = [
|
68 |
+
'billing' => $countries->get_address_fields( $countries->get_base_country(), 'billing_' ),
|
69 |
+
'shipping' => $countries->get_address_fields( $countries->get_base_country(), 'shipping_' ),
|
70 |
+
'order' => [
|
71 |
+
'order_comments' => [
|
72 |
+
'type' => 'textarea',
|
73 |
+
'class' => [ 'notes' ],
|
74 |
+
'label' => __( 'Order Notes', 'flexible-checkout-fields' ),
|
75 |
+
'placeholder' => __( 'Notes about your order, e.g. special notes for delivery.', 'flexible-checkout-fields' ),
|
76 |
+
],
|
77 |
+
],
|
78 |
+
] + $this->get_custom_sections();
|
79 |
+
|
80 |
+
return $sections[ $section_key ] ?? [];
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Returns list of custom checkout sections.
|
85 |
+
*
|
86 |
+
* @return array List of sections.
|
87 |
+
*/
|
88 |
+
private function get_custom_sections(): array {
|
89 |
+
$custom_sections = apply_filters( 'flexible_checkout_fields_all_sections', [] );
|
90 |
+
|
91 |
+
$sections = [];
|
92 |
+
foreach ( $custom_sections as $custom_section ) {
|
93 |
+
$sections[ $custom_section['section'] ] = [];
|
94 |
+
}
|
95 |
+
return $sections;
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Saves settings for form.
|
100 |
+
*
|
101 |
+
* @param array $params Params for endpoint.
|
102 |
+
*
|
103 |
+
* @return bool Status of process.
|
104 |
+
*
|
105 |
+
* @throws \Exception .
|
106 |
+
*/
|
107 |
+
public function save_form_data( array $params ): bool {
|
108 |
+
$posted_fields = [];
|
109 |
+
foreach ( $params['form_fields'] as $field ) {
|
110 |
+
$posted_fields[ $field['name'] ] = $field;
|
111 |
+
}
|
112 |
+
|
113 |
+
$section_fields = [];
|
114 |
+
foreach ( $params['form_fields'] as $field_data ) {
|
115 |
+
if ( ! ( $new_field_data = FieldData::get_field_data( $posted_fields[ $field_data['name'] ], false ) ) ) {
|
116 |
+
continue;
|
117 |
+
}
|
118 |
+
$section_fields[ $field_data['name'] ] = $new_field_data;
|
119 |
+
}
|
120 |
+
|
121 |
+
$settings = get_option( self::SETTINGS_OPTION_NAME, [] ) ?: [];
|
122 |
+
if ( ! $section_fields ) {
|
123 |
+
if ( isset( $settings[ $params['section_name'] ] ) ) {
|
124 |
+
unset( $settings[ $params['section_name'] ] );
|
125 |
+
}
|
126 |
+
} else {
|
127 |
+
$settings[ $params['section_name'] ] = $section_fields;
|
128 |
+
}
|
129 |
+
|
130 |
+
update_option( self::SETTINGS_OPTION_NAME, $settings );
|
131 |
+
return true;
|
132 |
+
}
|
133 |
+
}
|
src/Settings/Form/FormAbstract.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Form;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Form\FormInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Abstract class for form settings.
|
14 |
+
*/
|
15 |
+
abstract class FormAbstract implements FormInterface {
|
16 |
+
|
17 |
+
}
|
src/Settings/Form/FormIntegration.php
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Form;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Form\FormInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Initializes integration for form.
|
14 |
+
*/
|
15 |
+
class FormIntegration {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Class object for field type.
|
19 |
+
*
|
20 |
+
* @var FormInterface
|
21 |
+
*/
|
22 |
+
private $form_object;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Class constructor.
|
26 |
+
*
|
27 |
+
* @param FormInterface $form_object Class object of field type.
|
28 |
+
*/
|
29 |
+
public function __construct( FormInterface $form_object ) {
|
30 |
+
$this->form_object = $form_object;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Integrate with WordPress and with other plugins using action/filter system.
|
35 |
+
*
|
36 |
+
* @return void
|
37 |
+
*/
|
38 |
+
public function hooks() {
|
39 |
+
add_filter(
|
40 |
+
'flexible_checkout_fields/form_data_' . $this->form_object->get_form_type(),
|
41 |
+
[ $this, 'get_form_data' ],
|
42 |
+
10,
|
43 |
+
2
|
44 |
+
);
|
45 |
+
add_filter(
|
46 |
+
'flexible_checkout_fields/form_fields_' . $this->form_object->get_form_type(),
|
47 |
+
[ $this, 'get_form_fields' ],
|
48 |
+
10,
|
49 |
+
2
|
50 |
+
);
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Returns updated settings for form.
|
55 |
+
*
|
56 |
+
* @param array $form_data Default settings of form.
|
57 |
+
* @param string $form_key Key of form.
|
58 |
+
*
|
59 |
+
* @return array Settings of form.
|
60 |
+
*
|
61 |
+
* @internal
|
62 |
+
*/
|
63 |
+
public function get_form_data( array $form_data, string $form_key = '' ): array {
|
64 |
+
return $this->form_object->get_form_data( $form_data, $form_key );
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Returns fields of settings for form.
|
69 |
+
*
|
70 |
+
* @param array $form_fields Default fields of form.
|
71 |
+
* @param string $form_key Key of form.
|
72 |
+
*
|
73 |
+
* @return array Fields of form.
|
74 |
+
*
|
75 |
+
* @internal
|
76 |
+
*/
|
77 |
+
public function get_form_fields( array $form_fields, string $form_key = '' ): array {
|
78 |
+
return $this->form_object->get_options_list( [] );
|
79 |
+
}
|
80 |
+
}
|
src/Settings/Form/FormInterface.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Form;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Interface for form settings.
|
12 |
+
*/
|
13 |
+
interface FormInterface {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Returns type of form.
|
17 |
+
*
|
18 |
+
* @return string Type of form.
|
19 |
+
*/
|
20 |
+
public function get_form_type(): string;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Returns basic settings for form.
|
24 |
+
*
|
25 |
+
* @param array $form_data Default settings of form.
|
26 |
+
* @param string $form_key Key of form.
|
27 |
+
*
|
28 |
+
* @return array Settings of form.
|
29 |
+
*/
|
30 |
+
public function get_form_data( array $form_data, string $form_key = '' ): array;
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Saves settings for form.
|
34 |
+
*
|
35 |
+
* @param array $params Params for endpoint.
|
36 |
+
*
|
37 |
+
* @return bool Status of process.
|
38 |
+
*/
|
39 |
+
public function save_form_data( array $params ): bool;
|
40 |
+
}
|
src/Settings/Form/SettingsPageForm.php
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Form;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Form\FormAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Form\FormInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
13 |
+
use WPDesk\FCF\Free\Settings\Option\OptionIntegration;
|
14 |
+
use WPDesk\FCF\Free\Settings\Option\SettingJqueryOption;
|
15 |
+
use WPDesk\FCF\Free\Settings\Option\SettingSectionsAdvOption;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Supports settings for form.
|
19 |
+
*/
|
20 |
+
class SettingsPageForm extends FormAbstract implements FormInterface {
|
21 |
+
|
22 |
+
const FORM_TYPE = 'settings';
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Returns type of form.
|
26 |
+
*
|
27 |
+
* @return string Type of form.
|
28 |
+
*/
|
29 |
+
public function get_form_type(): string {
|
30 |
+
return self::FORM_TYPE;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Returns basic settings for form.
|
35 |
+
*
|
36 |
+
* @param array $form_data Default settings of form.
|
37 |
+
* @param string $form_key Key of form.
|
38 |
+
*
|
39 |
+
* @return array Settings of form.
|
40 |
+
*/
|
41 |
+
public function get_form_data( array $form_data, string $form_key = '' ): array {
|
42 |
+
$section_fields = [];
|
43 |
+
|
44 |
+
$options = ( new SettingJqueryOption() )->get_children();
|
45 |
+
foreach ( $options as $option ) {
|
46 |
+
$option_status = get_option( $option->get_option_name(), 0 );
|
47 |
+
$section_fields[ $option->get_option_name() ] = ( $option_status ) ? '1' : '0';
|
48 |
+
}
|
49 |
+
|
50 |
+
$option_objects = $this->get_options_list();
|
51 |
+
foreach ( $option_objects as $field_option ) {
|
52 |
+
$form_data = $field_option['update_field_callback'](
|
53 |
+
$form_data,
|
54 |
+
$section_fields
|
55 |
+
);
|
56 |
+
}
|
57 |
+
|
58 |
+
return $form_data;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Returns list of option objects.
|
63 |
+
*
|
64 |
+
* @return OptionInterface[] List of options.
|
65 |
+
*/
|
66 |
+
public function get_options_list(): array {
|
67 |
+
return [
|
68 |
+
( new OptionIntegration( new SettingJqueryOption() ) )->get_field_settings(),
|
69 |
+
( new OptionIntegration( new SettingSectionsAdvOption() ) )->get_field_settings(),
|
70 |
+
];
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Saves settings for form.
|
75 |
+
*
|
76 |
+
* @param array $params Params for endpoint.
|
77 |
+
*
|
78 |
+
* @return bool Status of process.
|
79 |
+
*
|
80 |
+
* @throws \Exception .
|
81 |
+
*/
|
82 |
+
public function save_form_data( array $params ): bool {
|
83 |
+
$settings_options = [];
|
84 |
+
|
85 |
+
$option_objects = $this->get_options_list();
|
86 |
+
foreach ( $option_objects as $field_option ) {
|
87 |
+
$settings_options = $field_option['save_field_callback'](
|
88 |
+
$settings_options,
|
89 |
+
$params['form_fields']
|
90 |
+
);
|
91 |
+
}
|
92 |
+
|
93 |
+
foreach ( $settings_options as $option => $option_status ) {
|
94 |
+
update_option( $option, ( $option_status ) ? '1' : '0', true );
|
95 |
+
}
|
96 |
+
|
97 |
+
return true;
|
98 |
+
}
|
99 |
+
}
|
src/Settings/Forms.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Form\FormIntegration;
|
11 |
+
use WPDesk\FCF\Free\Settings\Form\EditFieldsForm;
|
12 |
+
use WPDesk\FCF\Free\Settings\Form\SettingsPageForm;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports management for forms.
|
16 |
+
*/
|
17 |
+
class Forms {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Initializes actions for class.
|
21 |
+
*
|
22 |
+
* @return void
|
23 |
+
*/
|
24 |
+
public function init() {
|
25 |
+
( new FormIntegration( new EditFieldsForm() ) )->hooks();
|
26 |
+
( new FormIntegration( new SettingsPageForm() ) )->hooks();
|
27 |
+
}
|
28 |
+
}
|
src/Settings/Menu.php
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Page;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Supports items for menu plugin settings page.
|
14 |
+
*/
|
15 |
+
class Menu {
|
16 |
+
|
17 |
+
const OPTION_NAME_ENABLED = 'inspire_checkout_fields_%s';
|
18 |
+
const MENU_TAB_SETTINGS = 'settings';
|
19 |
+
const MENU_TAB_SECTIONS = 'sections';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* List of default checkout sections.
|
23 |
+
*
|
24 |
+
* @var array
|
25 |
+
*/
|
26 |
+
private static $default_field_sections = [
|
27 |
+
'billing',
|
28 |
+
'shipping',
|
29 |
+
'order',
|
30 |
+
];
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Returns list of items for menu with tabs.
|
34 |
+
*
|
35 |
+
* @return array Menu items.
|
36 |
+
*/
|
37 |
+
public function get_menu_tabs(): array {
|
38 |
+
$current_tab = $_GET['tab'] ?? self::MENU_TAB_SECTIONS; // phpcs:ignore
|
39 |
+
$page_tabs = [
|
40 |
+
self::MENU_TAB_SETTINGS => __( 'Settings', 'flexible-checkout-fields' ),
|
41 |
+
self::MENU_TAB_SECTIONS => __( 'Checkout Sections', 'flexible-checkout-fields' ),
|
42 |
+
];
|
43 |
+
|
44 |
+
$values = [];
|
45 |
+
foreach ( $page_tabs as $tab_id => $tab_name ) {
|
46 |
+
$values[] = [
|
47 |
+
'id' => $tab_id,
|
48 |
+
'label' => $tab_name,
|
49 |
+
'url' => admin_url(
|
50 |
+
sprintf(
|
51 |
+
'admin.php?page=%s&tab=%s',
|
52 |
+
Page::SETTINGS_PAGE,
|
53 |
+
$tab_id
|
54 |
+
)
|
55 |
+
),
|
56 |
+
'is_active' => ( $tab_id === $current_tab ),
|
57 |
+
];
|
58 |
+
}
|
59 |
+
return $values;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Returns list of items for menu with sections.
|
64 |
+
*
|
65 |
+
* @return array Menu items.
|
66 |
+
*/
|
67 |
+
public function get_menu_sections(): array {
|
68 |
+
$current_tab = $_GET['tab'] ?? self::MENU_TAB_SECTIONS; // phpcs:ignore
|
69 |
+
if ( $current_tab !== self::MENU_TAB_SECTIONS ) {
|
70 |
+
return [];
|
71 |
+
}
|
72 |
+
|
73 |
+
$current_section = $_GET['section'] ?? 'billing'; // phpcs:ignore
|
74 |
+
$page_sections = [
|
75 |
+
'billing' => __( 'Billing', 'flexible-checkout-fields' ),
|
76 |
+
'shipping' => __( 'Shipping', 'flexible-checkout-fields' ),
|
77 |
+
'order' => __( 'Order', 'flexible-checkout-fields' ),
|
78 |
+
];
|
79 |
+
|
80 |
+
$sections = apply_filters( 'flexible_checkout_fields_all_sections', [] );
|
81 |
+
foreach ( $sections as $section ) {
|
82 |
+
$page_sections[ $section['section'] ] = $section['tab_title'];
|
83 |
+
}
|
84 |
+
|
85 |
+
$values = [];
|
86 |
+
foreach ( $page_sections as $section_id => $section_name ) {
|
87 |
+
if ( ! in_array( $section_id, self::$default_field_sections, true )
|
88 |
+
&& ( get_option( sprintf( self::OPTION_NAME_ENABLED, $section_id ) ) !== '1' ) ) {
|
89 |
+
continue;
|
90 |
+
}
|
91 |
+
|
92 |
+
$values[] = [
|
93 |
+
'id' => $section_id,
|
94 |
+
'label' => $section_name,
|
95 |
+
'url' => admin_url(
|
96 |
+
sprintf(
|
97 |
+
'admin.php?page=%s&tab=sections§ion=%s',
|
98 |
+
Page::SETTINGS_PAGE,
|
99 |
+
$section_id
|
100 |
+
)
|
101 |
+
),
|
102 |
+
'is_active' => ( $section_id === $current_section ),
|
103 |
+
'has_section_form' => ( ! in_array( $section_id, self::$default_field_sections, true ) ),
|
104 |
+
];
|
105 |
+
}
|
106 |
+
return $values;
|
107 |
+
}
|
108 |
+
}
|
src/Settings/Option/CssOption.php
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class CssOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'class';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return AppearanceTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_TEXT;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
return __( 'CSS class', 'flexible-checkout-fields' );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns content for label tooltip.
|
59 |
+
*
|
60 |
+
* @return string Tooltip content.
|
61 |
+
*/
|
62 |
+
public function get_label_tooltip(): string {
|
63 |
+
return __( 'Enter CSS classes separated by a space.', 'flexible-checkout-fields' );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns default value of option.
|
68 |
+
*
|
69 |
+
* @return string|array Default value.
|
70 |
+
*/
|
71 |
+
public function get_default_value() {
|
72 |
+
return 'form-row';
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Returns updated settings of field contain values for this option.
|
77 |
+
*
|
78 |
+
* @param array $field_data Original settings of field.
|
79 |
+
* @param array $field_settings Settings of field.
|
80 |
+
*
|
81 |
+
* @return array Updated settings of field.
|
82 |
+
*/
|
83 |
+
public function update_field_data( array $field_data, array $field_settings ): array {
|
84 |
+
$option_name = $this->get_option_name();
|
85 |
+
|
86 |
+
$field_data[ $option_name ] = $this->sanitize_option_value(
|
87 |
+
implode( ' ', (array) $field_settings[ $option_name ] )
|
88 |
+
);
|
89 |
+
return $field_data;
|
90 |
+
}
|
91 |
+
}
|
src/Settings/Option/CustomFieldOption.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class CustomFieldOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'custom_field';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return GeneralTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_HIDDEN;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns default value of option.
|
50 |
+
*
|
51 |
+
* @return string|array Default value.
|
52 |
+
*/
|
53 |
+
public function get_default_value() {
|
54 |
+
return '1';
|
55 |
+
}
|
56 |
+
}
|
src/Settings/Option/DisplayOnAccountAddressOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class DisplayOnAccountAddressOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_address';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'My Account - address', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '1';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/DisplayOnAccountOrderOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class DisplayOnAccountOrderOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_order';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'My Account - order', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '1';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/DisplayOnEmailsOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class DisplayOnEmailsOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_emails';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'E-mails', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '1';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/DisplayOnOption.php
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnThankYouOption;
|
14 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnAccountAddressOption;
|
15 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnAccountOrderOption;
|
16 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnEmailsOption;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Supports option settings for field.
|
20 |
+
*/
|
21 |
+
class DisplayOnOption extends OptionAbstract implements OptionInterface {
|
22 |
+
|
23 |
+
const FIELD_NAME = 'display_on';
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Returns name of option.
|
27 |
+
*
|
28 |
+
* @return string Option name.
|
29 |
+
*/
|
30 |
+
public function get_option_name(): string {
|
31 |
+
return self::FIELD_NAME;
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Returns name of option tab.
|
36 |
+
*
|
37 |
+
* @return string Tab name.
|
38 |
+
*/
|
39 |
+
public function get_option_tab(): string {
|
40 |
+
return DisplayTab::TAB_NAME;
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Returns type of option.
|
45 |
+
*
|
46 |
+
* @return string Option name.
|
47 |
+
*/
|
48 |
+
public function get_option_type(): string {
|
49 |
+
return self::FIELD_TYPE_CHECKBOX_LIST;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Returns label of option.
|
54 |
+
*
|
55 |
+
* @return string Option label.
|
56 |
+
*/
|
57 |
+
public function get_option_label(): string {
|
58 |
+
return __( 'Pages/e-mails', 'flexible-checkout-fields' );
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Returns subfields of option, if exists.
|
63 |
+
*
|
64 |
+
* @return OptionInterface[] List of option children.
|
65 |
+
*/
|
66 |
+
public function get_children(): array {
|
67 |
+
return [
|
68 |
+
DisplayOnThankYouOption::FIELD_NAME => new DisplayOnThankYouOption(),
|
69 |
+
DisplayOnAccountAddressOption::FIELD_NAME => new DisplayOnAccountAddressOption(),
|
70 |
+
DisplayOnAccountOrderOption::FIELD_NAME => new DisplayOnAccountOrderOption(),
|
71 |
+
DisplayOnEmailsOption::FIELD_NAME => new DisplayOnEmailsOption(),
|
72 |
+
];
|
73 |
+
}
|
74 |
+
}
|
src/Settings/Option/DisplayOnThankYouOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class DisplayOnThankYouOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_thank_you';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'Thank You Page', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '1';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/DisplayOnWithoutAddressOption.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnOption;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnThankYouOption;
|
13 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnAccountOrderOption;
|
14 |
+
use WPDesk\FCF\Free\Settings\Option\DisplayOnEmailsOption;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Supports option settings for field.
|
18 |
+
*/
|
19 |
+
class DisplayOnWithoutAddressOption extends DisplayOnOption implements OptionInterface {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns subfields of option, if exists.
|
23 |
+
*
|
24 |
+
* @return OptionInterface[] List of option children.
|
25 |
+
*/
|
26 |
+
public function get_children(): array {
|
27 |
+
return [
|
28 |
+
DisplayOnThankYouOption::FIELD_NAME => new DisplayOnThankYouOption(),
|
29 |
+
DisplayOnAccountOrderOption::FIELD_NAME => new DisplayOnAccountOrderOption(),
|
30 |
+
DisplayOnEmailsOption::FIELD_NAME => new DisplayOnEmailsOption(),
|
31 |
+
];
|
32 |
+
}
|
33 |
+
}
|
src/Settings/Option/EnabledOption.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class EnabledOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'visible';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return GeneralTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_CHECKBOX;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
return __( 'Enable field', 'flexible-checkout-fields' );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns default value of option.
|
59 |
+
*
|
60 |
+
* @return string|array Default value.
|
61 |
+
*/
|
62 |
+
public function get_default_value() {
|
63 |
+
return '1';
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns updated settings of field contain values for this option.
|
68 |
+
*
|
69 |
+
* @param array $field_data Original settings of field.
|
70 |
+
* @param array $field_settings Settings of field.
|
71 |
+
*
|
72 |
+
* @return array Updated settings of field.
|
73 |
+
*/
|
74 |
+
public function update_field_data( array $field_data, array $field_settings ): array {
|
75 |
+
$option_name = $this->get_option_name();
|
76 |
+
$option_value = $field_settings[ $option_name ] ?? 0;
|
77 |
+
|
78 |
+
$field_data[ $option_name ] = $this->sanitize_option_value( ( $option_value ) ? '0' : '1' );
|
79 |
+
return $field_data;
|
80 |
+
}
|
81 |
+
}
|
src/Settings/Option/FieldTypeOption.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class FieldTypeOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'type';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return GeneralTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_HIDDEN;
|
46 |
+
}
|
47 |
+
}
|
src/Settings/Option/FormattingFieldLabelOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class FormattingFieldLabelOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_option_show_label';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'Display field label', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '1';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/FormattingNewLineOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class FormattingNewLineOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_option_new_line_before';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'Display the field on a new line', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '1';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/FormattingOption.php
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingNewLineOption;
|
14 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingFieldLabelOption;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Supports option settings for field.
|
18 |
+
*/
|
19 |
+
class FormattingOption extends OptionAbstract implements OptionInterface {
|
20 |
+
|
21 |
+
const FIELD_NAME = 'formatting_options';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Returns name of option.
|
25 |
+
*
|
26 |
+
* @return string Option name.
|
27 |
+
*/
|
28 |
+
public function get_option_name(): string {
|
29 |
+
return self::FIELD_NAME;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Returns name of option tab.
|
34 |
+
*
|
35 |
+
* @return string Tab name.
|
36 |
+
*/
|
37 |
+
public function get_option_tab(): string {
|
38 |
+
return DisplayTab::TAB_NAME;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Returns type of option.
|
43 |
+
*
|
44 |
+
* @return string Option name.
|
45 |
+
*/
|
46 |
+
public function get_option_type(): string {
|
47 |
+
return self::FIELD_TYPE_CHECKBOX_LIST;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Returns label of option.
|
52 |
+
*
|
53 |
+
* @return string Option label.
|
54 |
+
*/
|
55 |
+
public function get_option_label(): string {
|
56 |
+
return __( 'Formatting on pages/e-mails', 'flexible-checkout-fields' );
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Returns subfields of option, if exists.
|
61 |
+
*
|
62 |
+
* @return OptionInterface[] List of option children.
|
63 |
+
*/
|
64 |
+
public function get_children(): array {
|
65 |
+
return [
|
66 |
+
FormattingNewLineOption::FIELD_NAME => new FormattingNewLineOption(),
|
67 |
+
FormattingFieldLabelOption::FIELD_NAME => new FormattingFieldLabelOption(),
|
68 |
+
];
|
69 |
+
}
|
70 |
+
}
|
src/Settings/Option/FormattingStateAbbrOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class FormattingStateAbbrOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_option_state_code';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'Display state abbreviations', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '0';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/FormattingStateCommaOption.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class FormattingStateCommaOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'display_on_option_state_code_comma_before';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_CHECKBOX;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
return __( 'Display a comma before if the field is not on a new line', 'flexible-checkout-fields' );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Returns default value of option.
|
49 |
+
*
|
50 |
+
* @return string|array Default value.
|
51 |
+
*/
|
52 |
+
public function get_default_value() {
|
53 |
+
return '0';
|
54 |
+
}
|
55 |
+
}
|
src/Settings/Option/FormattingStateOption.php
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingStateAbbrOption;
|
14 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingStateCommaOption;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Supports option settings for field.
|
18 |
+
*/
|
19 |
+
class FormattingStateOption extends OptionAbstract implements OptionInterface {
|
20 |
+
|
21 |
+
const FIELD_NAME = 'formatting_state_options';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Returns name of option.
|
25 |
+
*
|
26 |
+
* @return string Option name.
|
27 |
+
*/
|
28 |
+
public function get_option_name(): string {
|
29 |
+
return self::FIELD_NAME;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Returns name of option tab.
|
34 |
+
*
|
35 |
+
* @return string Tab name.
|
36 |
+
*/
|
37 |
+
public function get_option_tab(): string {
|
38 |
+
return DisplayTab::TAB_NAME;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Returns type of option.
|
43 |
+
*
|
44 |
+
* @return string Option name.
|
45 |
+
*/
|
46 |
+
public function get_option_type(): string {
|
47 |
+
return self::FIELD_TYPE_CHECKBOX_LIST;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Returns label of option.
|
52 |
+
*
|
53 |
+
* @return string Option label.
|
54 |
+
*/
|
55 |
+
public function get_option_label(): string {
|
56 |
+
return __( 'State/County formatting', 'flexible-checkout-fields' );
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Returns subfields of option, if exists.
|
61 |
+
*
|
62 |
+
* @return OptionInterface[] List of option children.
|
63 |
+
*/
|
64 |
+
public function get_children(): array {
|
65 |
+
return [
|
66 |
+
FormattingStateAbbrOption::FIELD_NAME => new FormattingStateAbbrOption(),
|
67 |
+
FormattingStateCommaOption::FIELD_NAME => new FormattingStateCommaOption(),
|
68 |
+
];
|
69 |
+
}
|
70 |
+
}
|
src/Settings/Option/FormattingWcOption.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingOption;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Option\FormattingNewLineOption;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class FormattingWcOption extends FormattingOption implements OptionInterface {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Returns subfields of option, if exists.
|
21 |
+
*
|
22 |
+
* @return OptionInterface[] List of option children.
|
23 |
+
*/
|
24 |
+
public function get_children(): array {
|
25 |
+
return [
|
26 |
+
FormattingNewLineOption::FIELD_NAME => new FormattingNewLineOption(),
|
27 |
+
];
|
28 |
+
}
|
29 |
+
}
|
src/Settings/Option/LabelOption.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class LabelOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'label';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return GeneralTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_TEXTAREA;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns list of validation rules for field.
|
50 |
+
* Key is regular expression without delimiters, value is message of validation error.
|
51 |
+
*
|
52 |
+
* @return array Validation rules.
|
53 |
+
*/
|
54 |
+
public function get_validation_rules(): array {
|
55 |
+
return [
|
56 |
+
'^.{1,}$' => __( 'This field is required.', 'flexible-checkout-fields' ),
|
57 |
+
];
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Returns label of option.
|
62 |
+
*
|
63 |
+
* @return string Option label.
|
64 |
+
*/
|
65 |
+
public function get_option_label(): string {
|
66 |
+
return __( 'Label', 'flexible-checkout-fields' );
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Filters option value from all unsafe strings.
|
71 |
+
*
|
72 |
+
* @param string|array $field_value Original option value.
|
73 |
+
*
|
74 |
+
* @return string|array Updated value of option.
|
75 |
+
*/
|
76 |
+
public function sanitize_option_value( $field_value ) {
|
77 |
+
return wp_kses_post( wp_unslash( $field_value ) );
|
78 |
+
}
|
79 |
+
}
|
src/Settings/Option/LabelOptionallyOption.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\LabelOption;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class LabelOptionallyOption extends LabelOption implements OptionInterface {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Returns list of validation rules for field.
|
20 |
+
* Key is regular expression without delimiters, value is message of validation error.
|
21 |
+
*
|
22 |
+
* @return array Validation rules.
|
23 |
+
*/
|
24 |
+
public function get_validation_rules(): array {
|
25 |
+
return [];
|
26 |
+
}
|
27 |
+
}
|
src/Settings/Option/LogicAdvOption.php
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class LogicAdvOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'conditional_logic_adv';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return LogicTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_INFO_ADV;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
$url_products = esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-logic-docs-products-upgrade' ) );
|
55 |
+
$url_fields = esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-logic-docs-fields-upgrade' ) );
|
56 |
+
$url_shipping = esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-logic-docs-shipping-upgrade' ) );
|
57 |
+
$url_upgrade = esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-logic-upgrade' ) );
|
58 |
+
return sprintf(
|
59 |
+
/* translators: %1$s: anchor opening tag, %2$s: anchor closing tag, %3$s: anchor opening tag, %4$s: anchor closing tag, %5$s: anchor opening tag, %6$s: anchor closing tag, %7$s: break line, %8$s: anchor opening tag, %9$s: anchor closing tag */
|
60 |
+
__( 'Add conditional logic based on %1$sproducts and categories%2$s as well as %3$sFCF fields%4$s and %5$sshipping methods%6$s set. %7$s%8$sUpgrade to PRO%9$s', 'flexible-checkout-fields' ),
|
61 |
+
'<a href="' . $url_products . '" target="_blank">',
|
62 |
+
'</a>',
|
63 |
+
'<a href="' . $url_fields . '" target="_blank">',
|
64 |
+
'</a>',
|
65 |
+
'<a href="' . $url_shipping . '" target="_blank">',
|
66 |
+
'</a>',
|
67 |
+
'<br>',
|
68 |
+
'<a href="' . $url_upgrade . '" target="_blank" class="fcfArrowLink">',
|
69 |
+
'</a>'
|
70 |
+
);
|
71 |
+
}
|
72 |
+
}
|
src/Settings/Option/NameOption.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class NameOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'name';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return GeneralTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_TEXT;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns status if option are readonly.
|
50 |
+
*
|
51 |
+
* @return bool Readonly status of option.
|
52 |
+
*/
|
53 |
+
public function is_readonly(): bool {
|
54 |
+
return true;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns label of option.
|
59 |
+
*
|
60 |
+
* @return string Option label.
|
61 |
+
*/
|
62 |
+
public function get_option_label(): string {
|
63 |
+
return __( 'Meta name', 'flexible-checkout-fields' );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Returns pattern to display value (%s will be replaced by option value).
|
68 |
+
* It works only for text or textarea fields.
|
69 |
+
*
|
70 |
+
* @return string Pattern to display value.
|
71 |
+
*/
|
72 |
+
public function get_print_pattern(): string {
|
73 |
+
return '_%s';
|
74 |
+
}
|
75 |
+
}
|
src/Settings/Option/OptionAbstract.php
ADDED
@@ -0,0 +1,302 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Abstract class for option of field.
|
14 |
+
*/
|
15 |
+
abstract class OptionAbstract implements OptionInterface {
|
16 |
+
|
17 |
+
const FIELD_TYPE_CHECKBOX = 'CheckboxField';
|
18 |
+
const FIELD_TYPE_CHECKBOX_LIST = 'CheckboxListField';
|
19 |
+
const FIELD_TYPE_GROUP = 'GroupField';
|
20 |
+
const FIELD_TYPE_HIDDEN = 'HiddenField';
|
21 |
+
const FIELD_TYPE_INFO = 'InfoField';
|
22 |
+
const FIELD_TYPE_INFO_ADV = 'InfoAdvField';
|
23 |
+
const FIELD_TYPE_NUMBER = 'NumberField';
|
24 |
+
const FIELD_TYPE_RADIO = 'RadioField';
|
25 |
+
const FIELD_TYPE_RADIO_LIST = 'RadioListField';
|
26 |
+
const FIELD_TYPE_REPEATER = 'RepeaterField';
|
27 |
+
const FIELD_TYPE_SELECT = 'SelectField';
|
28 |
+
const FIELD_TYPE_SELECT_MULTI = 'SelectMultiField';
|
29 |
+
const FIELD_TYPE_TEXTAREA = 'TextareaField';
|
30 |
+
const FIELD_TYPE_TEXT = 'TextField';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Returns name of option tab.
|
34 |
+
*
|
35 |
+
* @return string Tab name.
|
36 |
+
*/
|
37 |
+
public function get_option_tab(): string {
|
38 |
+
return '';
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Returns type of option.
|
43 |
+
*
|
44 |
+
* @return string Option name.
|
45 |
+
*/
|
46 |
+
public function get_option_type(): string {
|
47 |
+
return '';
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Returns label of option.
|
52 |
+
*
|
53 |
+
* @return string Option label.
|
54 |
+
*/
|
55 |
+
public function get_option_label(): string {
|
56 |
+
return '';
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Returns label of option row (for Repeater field).
|
61 |
+
*
|
62 |
+
* @return string Option row label.
|
63 |
+
*/
|
64 |
+
public function get_option_row_label(): string {
|
65 |
+
return 'Row #%s';
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Returns content for label tooltip.
|
70 |
+
*
|
71 |
+
* @return string Tooltip content.
|
72 |
+
*/
|
73 |
+
public function get_label_tooltip(): string {
|
74 |
+
return '';
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Returns URL for label tooltip.
|
79 |
+
*
|
80 |
+
* @return string Tooltip URL.
|
81 |
+
*/
|
82 |
+
public function get_label_tooltip_url(): string {
|
83 |
+
return '';
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Returns list of HTML attributes for field with their values.
|
88 |
+
*
|
89 |
+
* @return array Atts for field.
|
90 |
+
*/
|
91 |
+
public function get_input_atts(): array {
|
92 |
+
return [];
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Returns pattern to display value (%s will be replaced by option value).
|
97 |
+
* It works only for text or textarea fields.
|
98 |
+
*
|
99 |
+
* @return string Pattern to display value.
|
100 |
+
*/
|
101 |
+
public function get_print_pattern(): string {
|
102 |
+
return '%s';
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Returns status if option are readonly.
|
107 |
+
*
|
108 |
+
* @return bool Readonly status of option.
|
109 |
+
*/
|
110 |
+
public function is_readonly(): bool {
|
111 |
+
return false;
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Returns list of validation rules for field.
|
116 |
+
* Key is regular expression without delimiters, value is message of validation error.
|
117 |
+
*
|
118 |
+
* @return array Validation rules.
|
119 |
+
*/
|
120 |
+
public function get_validation_rules(): array {
|
121 |
+
return [];
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Returns name of option and regex for its value that must be true to display this field.
|
126 |
+
* Key is name of field, value is regular expression without delimiters.
|
127 |
+
*
|
128 |
+
* @return array Option names with regexes.
|
129 |
+
*/
|
130 |
+
public function get_options_regexes_to_display(): array {
|
131 |
+
return [];
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Returns name of option whose value will create list of rows for Repeater field.
|
136 |
+
*
|
137 |
+
* @return string Option name.
|
138 |
+
*/
|
139 |
+
public function get_option_name_to_rows(): string {
|
140 |
+
return '';
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Returns available values of option, if exists.
|
145 |
+
*
|
146 |
+
* @return array List of option values.
|
147 |
+
*/
|
148 |
+
public function get_values(): array {
|
149 |
+
return [];
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* Returns default value of option.
|
154 |
+
*
|
155 |
+
* @return string|array Default value.
|
156 |
+
*/
|
157 |
+
public function get_default_value() {
|
158 |
+
return '';
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Returns endpoint route to retrieve values.
|
163 |
+
*
|
164 |
+
* @return string Route name of endpoint.
|
165 |
+
*/
|
166 |
+
public function get_endpoint_route(): string {
|
167 |
+
return '';
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Returns option names passed to REST API to retrieve values.
|
172 |
+
*
|
173 |
+
* @return array Option keys.
|
174 |
+
*/
|
175 |
+
public function get_endpoint_option_names(): array {
|
176 |
+
return [];
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Returns status if values from endpoint should be refreshed automatically (triggered by refresh event).
|
181 |
+
*
|
182 |
+
* @return bool Status of auto-refreshed values.
|
183 |
+
*/
|
184 |
+
public function is_endpoint_autorefreshed(): bool {
|
185 |
+
return false;
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Returns status whether change of option value initiates refresh event.
|
190 |
+
*
|
191 |
+
* @return bool Status of refresh event.
|
192 |
+
*/
|
193 |
+
public function is_refresh_trigger(): bool {
|
194 |
+
return false;
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Returns subfields of option, if exists.
|
199 |
+
*
|
200 |
+
* @return OptionInterface[] List of option children.
|
201 |
+
*/
|
202 |
+
public function get_children(): array {
|
203 |
+
return [];
|
204 |
+
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* Filters option value from all unsafe strings.
|
208 |
+
*
|
209 |
+
* @param string|array $field_value Original option value.
|
210 |
+
*
|
211 |
+
* @return string|array Updated value of option.
|
212 |
+
*/
|
213 |
+
public function sanitize_option_value( $field_value ) {
|
214 |
+
switch ( $this->get_option_type() ) {
|
215 |
+
case self::FIELD_TYPE_CHECKBOX:
|
216 |
+
return ( $field_value ) ? '1' : '0';
|
217 |
+
case self::FIELD_TYPE_RADIO:
|
218 |
+
case self::FIELD_TYPE_RADIO_LIST:
|
219 |
+
case self::FIELD_TYPE_SELECT:
|
220 |
+
if ( $values = $this->get_values() ) {
|
221 |
+
return ( array_key_exists( $field_value, $values ) ) ? $field_value : $this->get_default_value();
|
222 |
+
}
|
223 |
+
break;
|
224 |
+
case self::FIELD_TYPE_SELECT_MULTI:
|
225 |
+
if ( ! is_array( $field_value ) ) {
|
226 |
+
$field_value = [];
|
227 |
+
}
|
228 |
+
|
229 |
+
foreach ( $field_value as $value_index => $value ) {
|
230 |
+
$field_value[ $value_index ] = sanitize_text_field( wp_unslash( $value ) );
|
231 |
+
}
|
232 |
+
return $field_value;
|
233 |
+
case self::FIELD_TYPE_CHECKBOX_LIST:
|
234 |
+
case self::FIELD_TYPE_GROUP:
|
235 |
+
case self::FIELD_TYPE_REPEATER:
|
236 |
+
return $field_value;
|
237 |
+
}
|
238 |
+
|
239 |
+
return sanitize_text_field( wp_unslash( $field_value ) );
|
240 |
+
}
|
241 |
+
|
242 |
+
/**
|
243 |
+
* Returns updated settings of field contain values for this option.
|
244 |
+
*
|
245 |
+
* @param array $field_data Original settings of field.
|
246 |
+
* @param array $field_settings Settings of field.
|
247 |
+
*
|
248 |
+
* @return array Updated settings of field.
|
249 |
+
*/
|
250 |
+
public function update_field_data( array $field_data, array $field_settings ): array {
|
251 |
+
$option_name = $this->get_option_name();
|
252 |
+
|
253 |
+
switch ( $this->get_option_type() ) {
|
254 |
+
case self::FIELD_TYPE_CHECKBOX_LIST:
|
255 |
+
case self::FIELD_TYPE_GROUP:
|
256 |
+
foreach ( $this->get_children() as $option_children ) {
|
257 |
+
$field_data = $option_children->update_field_data( $field_data, $field_settings );
|
258 |
+
}
|
259 |
+
break;
|
260 |
+
case self::FIELD_TYPE_REPEATER:
|
261 |
+
if ( ! ( $rows = $field_settings[ $option_name ] ?? [] ) ) {
|
262 |
+
return $field_data;
|
263 |
+
}
|
264 |
+
|
265 |
+
foreach ( (array) $rows as $row_index => $row ) {
|
266 |
+
if ( ! $row ) {
|
267 |
+
continue;
|
268 |
+
}
|
269 |
+
|
270 |
+
foreach ( $this->get_children() as $option_children ) {
|
271 |
+
$field_data[ $option_name ][ $row_index ] = $option_children->update_field_data(
|
272 |
+
$field_data[ $option_name ][ $row_index ] ?? [],
|
273 |
+
$row
|
274 |
+
);
|
275 |
+
}
|
276 |
+
}
|
277 |
+
$field_data[ $option_name ] = $this->sanitize_option_value(
|
278 |
+
$field_data[ $option_name ] ?? $this->get_default_value()
|
279 |
+
);
|
280 |
+
break;
|
281 |
+
default:
|
282 |
+
$field_data[ $option_name ] = $this->sanitize_option_value(
|
283 |
+
$field_settings[ $option_name ] ?? $this->get_default_value()
|
284 |
+
);
|
285 |
+
break;
|
286 |
+
}
|
287 |
+
|
288 |
+
return $field_data;
|
289 |
+
}
|
290 |
+
|
291 |
+
/**
|
292 |
+
* Returns updated settings of field contain submitted values.
|
293 |
+
*
|
294 |
+
* @param array $field_data Current settings of field.
|
295 |
+
* @param array $field_settings Settings of field.
|
296 |
+
*
|
297 |
+
* @return array Updated settings of field.
|
298 |
+
*/
|
299 |
+
public function save_field_data( array $field_data, array $field_settings ): array {
|
300 |
+
return $this->update_field_data( $field_data, $field_settings );
|
301 |
+
}
|
302 |
+
}
|
src/Settings/Option/OptionIntegration.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Initializes integration for option of field.
|
15 |
+
*/
|
16 |
+
class OptionIntegration {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Class object for field type.
|
20 |
+
*
|
21 |
+
* @var OptionInterface
|
22 |
+
*/
|
23 |
+
private $option_object;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Class constructor.
|
27 |
+
*
|
28 |
+
* @param OptionInterface $option_object Class object of field type.
|
29 |
+
*/
|
30 |
+
public function __construct( OptionInterface $option_object ) {
|
31 |
+
$this->option_object = $option_object;
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Returns list of settings for field.
|
36 |
+
*
|
37 |
+
* @return array Settings of field.
|
38 |
+
*/
|
39 |
+
public function get_field_settings(): array {
|
40 |
+
$settings = [
|
41 |
+
'name' => $this->option_object->get_option_name(),
|
42 |
+
'type' => $this->option_object->get_option_type(),
|
43 |
+
'tab_name' => $this->option_object->get_option_tab(),
|
44 |
+
'label' => $this->option_object->get_option_label(),
|
45 |
+
'label_row' => $this->option_object->get_option_row_label(),
|
46 |
+
'label_tooltip' => $this->option_object->get_label_tooltip(),
|
47 |
+
'label_tooltip_url' => $this->option_object->get_label_tooltip_url(),
|
48 |
+
'html_atts' => $this->option_object->get_input_atts(),
|
49 |
+
'display_pattern' => $this->option_object->get_print_pattern(),
|
50 |
+
'readonly' => $this->option_object->is_readonly(),
|
51 |
+
'validation_rules' => $this->option_object->get_validation_rules(),
|
52 |
+
'option_name_rows' => $this->option_object->get_option_name_to_rows(),
|
53 |
+
'default_value' => $this->option_object->get_default_value(),
|
54 |
+
'show_if_regexes' => $this->option_object->get_options_regexes_to_display(),
|
55 |
+
'refresh_trigger' => $this->option_object->is_refresh_trigger(),
|
56 |
+
'endpoint_route' => $this->option_object->get_endpoint_route(),
|
57 |
+
'endpoint_params' => $this->option_object->get_endpoint_option_names(),
|
58 |
+
'endpoint_autorefresh' => $this->option_object->is_endpoint_autorefreshed(),
|
59 |
+
'update_field_callback' => [ $this->option_object, 'update_field_data' ],
|
60 |
+
'save_field_callback' => [ $this->option_object, 'save_field_data' ],
|
61 |
+
'items' => [],
|
62 |
+
];
|
63 |
+
|
64 |
+
switch ( $settings['type'] ) {
|
65 |
+
case OptionAbstract::FIELD_TYPE_CHECKBOX_LIST:
|
66 |
+
case OptionAbstract::FIELD_TYPE_GROUP:
|
67 |
+
case OptionAbstract::FIELD_TYPE_REPEATER:
|
68 |
+
foreach ( $this->option_object->get_children() as $child_object ) {
|
69 |
+
$settings['items'][] = ( new OptionIntegration( $child_object ) )->get_field_settings();
|
70 |
+
}
|
71 |
+
break;
|
72 |
+
case OptionAbstract::FIELD_TYPE_RADIO:
|
73 |
+
case OptionAbstract::FIELD_TYPE_SELECT:
|
74 |
+
case OptionAbstract::FIELD_TYPE_SELECT_MULTI:
|
75 |
+
$settings['items'] = $this->option_object->get_values();
|
76 |
+
break;
|
77 |
+
}
|
78 |
+
|
79 |
+
return $settings;
|
80 |
+
}
|
81 |
+
}
|
src/Settings/Option/OptionInterface.php
ADDED
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Interface for option of field.
|
12 |
+
*/
|
13 |
+
interface OptionInterface {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Returns name of option.
|
17 |
+
*
|
18 |
+
* @return string Option name.
|
19 |
+
*/
|
20 |
+
public function get_option_name(): string;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Returns name of option tab.
|
24 |
+
*
|
25 |
+
* @return string Tab name.
|
26 |
+
*/
|
27 |
+
public function get_option_tab(): string;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Returns label of option.
|
38 |
+
*
|
39 |
+
* @return string Option label.
|
40 |
+
*/
|
41 |
+
public function get_option_label(): string;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Returns label of option row (for Repeater field).
|
45 |
+
*
|
46 |
+
* @return string Option row label.
|
47 |
+
*/
|
48 |
+
public function get_option_row_label(): string;
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Returns content for label tooltip.
|
52 |
+
*
|
53 |
+
* @return string Tooltip content.
|
54 |
+
*/
|
55 |
+
public function get_label_tooltip(): string;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns URL for label tooltip.
|
59 |
+
*
|
60 |
+
* @return string Tooltip URL.
|
61 |
+
*/
|
62 |
+
public function get_label_tooltip_url(): string;
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Returns list of HTML attributes for field with their values.
|
66 |
+
*
|
67 |
+
* @return array Atts for field.
|
68 |
+
*/
|
69 |
+
public function get_input_atts(): array;
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Returns pattern to display value (%s will be replaced by option value).
|
73 |
+
* It works only for text or textarea fields.
|
74 |
+
*
|
75 |
+
* @return string Pattern to display value.
|
76 |
+
*/
|
77 |
+
public function get_print_pattern(): string;
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Returns status if option are readonly.
|
81 |
+
*
|
82 |
+
* @return bool Readonly status of option.
|
83 |
+
*/
|
84 |
+
public function is_readonly(): bool;
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Returns list of validation rules for field.
|
88 |
+
* Key is regular expression without delimiters, value is message of validation error.
|
89 |
+
*
|
90 |
+
* @return array Validation rules.
|
91 |
+
*/
|
92 |
+
public function get_validation_rules(): array;
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Returns name of option and regex for its value that must be true to display this field.
|
96 |
+
* Key is name of field, value is regular expression without delimiters.
|
97 |
+
*
|
98 |
+
* @return array Option names with regexes.
|
99 |
+
*/
|
100 |
+
public function get_options_regexes_to_display(): array;
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Returns name of option whose value will create list of rows for Repeater field.
|
104 |
+
*
|
105 |
+
* @return string Option name.
|
106 |
+
*/
|
107 |
+
public function get_option_name_to_rows(): string;
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Returns available values of option, if exists.
|
111 |
+
*
|
112 |
+
* @return array List of option values.
|
113 |
+
*/
|
114 |
+
public function get_values(): array;
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Returns default value of option.
|
118 |
+
*
|
119 |
+
* @return string|array Default value.
|
120 |
+
*/
|
121 |
+
public function get_default_value();
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Returns endpoint route to retrieve values.
|
125 |
+
*
|
126 |
+
* @return string Route name of endpoint.
|
127 |
+
*/
|
128 |
+
public function get_endpoint_route(): string;
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Returns option names passed to REST API to retrieve values.
|
132 |
+
*
|
133 |
+
* @return array Option keys.
|
134 |
+
*/
|
135 |
+
public function get_endpoint_option_names(): array;
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Returns status if values from endpoint should be refreshed automatically (triggered by refresh event).
|
139 |
+
*
|
140 |
+
* @return bool Status of auto-refreshed values.
|
141 |
+
*/
|
142 |
+
public function is_endpoint_autorefreshed(): bool;
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Returns status whether change of option value initiates refresh event.
|
146 |
+
*
|
147 |
+
* @return bool Status of refresh event.
|
148 |
+
*/
|
149 |
+
public function is_refresh_trigger(): bool;
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Returns subfields of option, if exists.
|
153 |
+
*
|
154 |
+
* @return OptionInterface[] List of option children.
|
155 |
+
*/
|
156 |
+
public function get_children(): array;
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Filters option value from all unsafe strings.
|
160 |
+
*
|
161 |
+
* @param string|array $field_value Original option value.
|
162 |
+
*
|
163 |
+
* @return string|array Updated value of option.
|
164 |
+
*/
|
165 |
+
public function sanitize_option_value( $field_value );
|
166 |
+
|
167 |
+
/**
|
168 |
+
* Returns updated settings of field contain values for this option.
|
169 |
+
*
|
170 |
+
* @param array $field_data Original settings of field.
|
171 |
+
* @param array $field_settings Settings of field.
|
172 |
+
*
|
173 |
+
* @return array Updated settings of field.
|
174 |
+
*/
|
175 |
+
public function update_field_data( array $field_data, array $field_settings ): array;
|
176 |
+
|
177 |
+
/**
|
178 |
+
* Returns updated settings of field contain submitted values.
|
179 |
+
*
|
180 |
+
* @param array $field_data Current settings of field.
|
181 |
+
* @param array $field_settings Settings of field.
|
182 |
+
*
|
183 |
+
* @return array Updated settings of field.
|
184 |
+
*/
|
185 |
+
public function save_field_data( array $field_data, array $field_settings ): array;
|
186 |
+
}
|
src/Settings/Option/PlaceholderOption.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class PlaceholderOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'placeholder';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return AppearanceTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_TEXT;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
return __( 'Placeholder', 'flexible-checkout-fields' );
|
55 |
+
}
|
56 |
+
}
|
src/Settings/Option/PricingAdvOption.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\PricingTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class PricingAdvOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'pricing_adv';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return PricingTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_INFO_ADV;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
$url = esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-pricing-upgrade' ) );
|
55 |
+
return sprintf(
|
56 |
+
/* translators: %1$s: break line, %2$s: anchor opening tag, %3$s: anchor closing tag */
|
57 |
+
__( 'Add a fixed or percentage price to the field and set the tax on this price.%1$s %2$sUpgrade to PRO%3$s', 'flexible-checkout-fields' ),
|
58 |
+
'<br>',
|
59 |
+
'<a href="' . $url . '" target="_blank" class="fcfArrowLink">',
|
60 |
+
'</a>'
|
61 |
+
);
|
62 |
+
}
|
63 |
+
}
|
src/Settings/Option/PriorityOption.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class PriorityOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'priority';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return GeneralTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_HIDDEN;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Filters option value from all unsafe strings.
|
50 |
+
*
|
51 |
+
* @param string|array $field_value Original option value.
|
52 |
+
*
|
53 |
+
* @return string|array Updated value of option.
|
54 |
+
*/
|
55 |
+
public function sanitize_option_value( $field_value ) {
|
56 |
+
return intval( $field_value );
|
57 |
+
}
|
58 |
+
}
|
src/Settings/Option/RequiredHiddenOption.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\RequiredOption;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class RequiredHiddenOption extends RequiredOption implements OptionInterface {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Returns status if option are readonly.
|
20 |
+
*
|
21 |
+
* @return bool Readonly status of option.
|
22 |
+
*/
|
23 |
+
public function is_readonly(): bool {
|
24 |
+
return true;
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Returns content for label tooltip.
|
29 |
+
*
|
30 |
+
* @return string Tooltip content.
|
31 |
+
*/
|
32 |
+
public function get_label_tooltip(): string {
|
33 |
+
return __( 'Requirement of this field is controlled by WooCommerce and cannot be changed.', 'flexible-checkout-fields' );
|
34 |
+
}
|
35 |
+
}
|
src/Settings/Option/RequiredOption.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class RequiredOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'required';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return GeneralTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_CHECKBOX;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
return __( 'Required field', 'flexible-checkout-fields' );
|
55 |
+
}
|
56 |
+
}
|
src/Settings/Option/SettingJqueryCssOption.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class SettingJqueryCssOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'inspire_checkout_fields_css_disable';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns type of option.
|
32 |
+
*
|
33 |
+
* @return string Option name.
|
34 |
+
*/
|
35 |
+
public function get_option_type(): string {
|
36 |
+
return self::FIELD_TYPE_CHECKBOX;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns label of option.
|
41 |
+
*
|
42 |
+
* @return string Option label.
|
43 |
+
*/
|
44 |
+
public function get_option_label(): string {
|
45 |
+
return __( 'Disable jquery-ui.css on the frontend', 'flexible-checkout-fields' );
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_label_tooltip(): string {
|
54 |
+
return __( 'Remember that some fields, i.e. datepicker use jQuery UI CSS. The plugin adds a default CSS but sometimes it can create some visual glitches.', 'flexible-checkout-fields' );
|
55 |
+
}
|
56 |
+
}
|
src/Settings/Option/SettingJqueryOption.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Option\SettingJqueryCssOption;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class SettingJqueryOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'settings_jquery';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns type of option.
|
32 |
+
*
|
33 |
+
* @return string Option name.
|
34 |
+
*/
|
35 |
+
public function get_option_type(): string {
|
36 |
+
return self::FIELD_TYPE_CHECKBOX_LIST;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns label of option.
|
41 |
+
*
|
42 |
+
* @return string Option label.
|
43 |
+
*/
|
44 |
+
public function get_option_label(): string {
|
45 |
+
return __( 'jQuery UI', 'flexible-checkout-fields' );
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns subfields of option, if exists.
|
50 |
+
*
|
51 |
+
* @return OptionInterface[] List of option children.
|
52 |
+
*/
|
53 |
+
public function get_children(): array {
|
54 |
+
return [
|
55 |
+
new SettingJqueryCssOption(),
|
56 |
+
];
|
57 |
+
}
|
58 |
+
}
|
src/Settings/Option/SettingSectionsAdvOption.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports option settings for field.
|
15 |
+
*/
|
16 |
+
class SettingSectionsAdvOption extends OptionAbstract implements OptionInterface {
|
17 |
+
|
18 |
+
const FIELD_NAME = 'settings_sections_adv';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of option.
|
22 |
+
*
|
23 |
+
* @return string Option name.
|
24 |
+
*/
|
25 |
+
public function get_option_name(): string {
|
26 |
+
return self::FIELD_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns type of option.
|
31 |
+
*
|
32 |
+
* @return string Option name.
|
33 |
+
*/
|
34 |
+
public function get_option_type(): string {
|
35 |
+
return self::FIELD_TYPE_INFO_ADV;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns label of option.
|
40 |
+
*
|
41 |
+
* @return string Option label.
|
42 |
+
*/
|
43 |
+
public function get_option_label(): string {
|
44 |
+
$url = esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-section-custom-upgrade' ) );
|
45 |
+
return '<p><strong>' . __( 'Get Flexible Checkout Fields PRO to use Custom Sections', 'flexible-checkout-fields' ) . '</strong></p>
|
46 |
+
<ul>
|
47 |
+
<li>' . __( 'Extend the form with additional fields. Insert Text inputs and Headings. Add Checkboxes and fields with options like DropDown or Radio.', 'flexible-checkout-fields' ) . '</li>
|
48 |
+
<li>' . __( 'Add conditional logic based on products and categories as well as FCF fields and shipping methods.', 'flexible-checkout-fields' ) . '</li>
|
49 |
+
<li>' . __( 'Add a fixed or percentage price to the field and set the tax on this price.', 'flexible-checkout-fields' ) . '</li>
|
50 |
+
</ul>
|
51 |
+
<p><a href="' . $url . '" target="_blank" class="fcfArrowLink">' . __( 'Upgrade to PRO', 'flexible-checkout-fields' ) . '</a></p>';
|
52 |
+
}
|
53 |
+
}
|
src/Settings/Option/ValidationInfoOption.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class ValidationInfoOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'validation_info';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return AdvancedTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_INFO;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
$url = esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-validation-docs' ) );
|
55 |
+
return sprintf(
|
56 |
+
/* translators: %1$s: anchor opening tag, %2$s: anchor closing tag */
|
57 |
+
__( 'You can to add custom validation in the functions.php file. %1$sRead more%2$s', 'flexible-checkout-fields' ),
|
58 |
+
'<a href="' . $url . '" target="_blank" class="fcfArrowLink">',
|
59 |
+
'</a>'
|
60 |
+
);
|
61 |
+
}
|
62 |
+
}
|
src/Settings/Option/ValidationOption.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Option;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Option\OptionAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Option\OptionInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports option settings for field.
|
16 |
+
*/
|
17 |
+
class ValidationOption extends OptionAbstract implements OptionInterface {
|
18 |
+
|
19 |
+
const FIELD_NAME = 'validation';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns name of option.
|
23 |
+
*
|
24 |
+
* @return string Option name.
|
25 |
+
*/
|
26 |
+
public function get_option_name(): string {
|
27 |
+
return self::FIELD_NAME;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns name of option tab.
|
32 |
+
*
|
33 |
+
* @return string Tab name.
|
34 |
+
*/
|
35 |
+
public function get_option_tab(): string {
|
36 |
+
return AdvancedTab::TAB_NAME;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Returns type of option.
|
41 |
+
*
|
42 |
+
* @return string Option name.
|
43 |
+
*/
|
44 |
+
public function get_option_type(): string {
|
45 |
+
return self::FIELD_TYPE_RADIO;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns label of option.
|
50 |
+
*
|
51 |
+
* @return string Option label.
|
52 |
+
*/
|
53 |
+
public function get_option_label(): string {
|
54 |
+
return __( 'Validation', 'flexible-checkout-fields' );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns available values of option, if exists.
|
59 |
+
*
|
60 |
+
* @return array List of option values.
|
61 |
+
*/
|
62 |
+
public function get_values(): array {
|
63 |
+
$rules = [
|
64 |
+
'' => __( 'Default', 'flexible-checkout-fields' ),
|
65 |
+
'none' => __( 'None', 'flexible-checkout-fields' ),
|
66 |
+
'email' => __( 'E-mail', 'flexible-checkout-fields' ),
|
67 |
+
'phone' => __( 'Phone', 'flexible-checkout-fields' ),
|
68 |
+
'postcode' => __( 'Postcode', 'flexible-checkout-fields' ),
|
69 |
+
];
|
70 |
+
|
71 |
+
$custom_rules = apply_filters( 'flexible_checkout_fields_custom_validation', [] );
|
72 |
+
foreach ( $custom_rules as $rule_key => $rule_data ) {
|
73 |
+
$rules[ $rule_key ] = $rule_data['label'];
|
74 |
+
}
|
75 |
+
return $rules;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns default value of option.
|
80 |
+
*
|
81 |
+
* @return string|array Default value.
|
82 |
+
*/
|
83 |
+
public function get_default_value() {
|
84 |
+
return '';
|
85 |
+
}
|
86 |
+
}
|
src/Settings/Page.php
ADDED
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings;
|
9 |
+
|
10 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
11 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\HookablePluginDependant;
|
12 |
+
use FcfVendor\WPDesk\PluginBuilder\Plugin\PluginAccess;
|
13 |
+
use FcfVendor\WPDesk\View\Renderer\SimplePhpRenderer;
|
14 |
+
use FcfVendor\WPDesk\View\Resolver\DirResolver;
|
15 |
+
use WPDesk\FCF\Free\Settings\Route\RouteIntegration;
|
16 |
+
use WPDesk\FCF\Free\Settings\Menu;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Supports page of plugin settings.
|
20 |
+
*/
|
21 |
+
class Page implements Hookable, HookablePluginDependant {
|
22 |
+
|
23 |
+
use PluginAccess;
|
24 |
+
|
25 |
+
const SETTINGS_PAGE = 'inspire_checkout_fields_settings';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Class object for template rendering.
|
29 |
+
*
|
30 |
+
* @var SimplePhpRenderer
|
31 |
+
*/
|
32 |
+
private $renderer;
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Class constructor.
|
36 |
+
*/
|
37 |
+
public function __construct() {
|
38 |
+
$this->set_renderer();
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Init class for template rendering.
|
43 |
+
*/
|
44 |
+
private function set_renderer() {
|
45 |
+
$this->renderer = new SimplePhpRenderer( new DirResolver( dirname( dirname( __DIR__ ) ) . '/templates' ) );
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Integrate with WordPress and with other plugins using action/filter system.
|
50 |
+
*
|
51 |
+
* @return void
|
52 |
+
*/
|
53 |
+
public function hooks() {
|
54 |
+
add_action( 'admin_menu', [ $this, 'add_settings_page' ], 80 );
|
55 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'load_assets_for_settings_page' ], 80 );
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Registers admin page for plugin settings.
|
60 |
+
*
|
61 |
+
* @internal
|
62 |
+
*/
|
63 |
+
public function add_settings_page() {
|
64 |
+
add_submenu_page(
|
65 |
+
'woocommerce',
|
66 |
+
__( 'Checkout Fields Settings', 'flexible-checkout-fields' ),
|
67 |
+
__( 'Checkout Fields', 'flexible-checkout-fields' ),
|
68 |
+
'manage_woocommerce',
|
69 |
+
self::SETTINGS_PAGE,
|
70 |
+
[ $this, 'render_settings_page' ]
|
71 |
+
);
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Initiates loading of assets needed to operate admin page.
|
76 |
+
*
|
77 |
+
* @internal
|
78 |
+
*/
|
79 |
+
public function load_assets_for_settings_page() {
|
80 |
+
if ( ! isset( $_GET['page'] ) || ( $_GET['page'] !== self::SETTINGS_PAGE ) ) { // phpcs:ignore
|
81 |
+
return;
|
82 |
+
}
|
83 |
+
|
84 |
+
$this->load_styles_for_page();
|
85 |
+
$this->load_scripts_for_page();
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Loads admin page template.
|
90 |
+
*
|
91 |
+
* @internal
|
92 |
+
*/
|
93 |
+
public function render_settings_page() {
|
94 |
+
$menu_tabs = ( new Menu() )->get_menu_tabs();
|
95 |
+
$menu_sections = ( new Menu() )->get_menu_sections();
|
96 |
+
|
97 |
+
echo $this->renderer->render( // phpcs:ignore
|
98 |
+
'views/admin-page',
|
99 |
+
[
|
100 |
+
'settings' => $this->load_settings_data( $menu_sections ), // phpcs:ignore
|
101 |
+
'menu_tabs' => $menu_tabs, // phpcs:ignore
|
102 |
+
'menu_sections' => $menu_sections, // phpcs:ignore
|
103 |
+
]
|
104 |
+
);
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Returns set of data needed to support admin panel by JS code.
|
109 |
+
*
|
110 |
+
* @param array $menu_sections Items of menu with sections.
|
111 |
+
*
|
112 |
+
* @return array Settings of admin page.
|
113 |
+
*/
|
114 |
+
private function load_settings_data( array $menu_sections ): array {
|
115 |
+
$settings = [
|
116 |
+
'rest_api_url' => get_rest_url( null, RouteIntegration::REST_API_NAMESPACE ),
|
117 |
+
'header_nonce' => wp_create_nonce( 'wp_rest' ),
|
118 |
+
'i18n' => $this->load_translations(),
|
119 |
+
];
|
120 |
+
|
121 |
+
switch ( $_GET['tab'] ?? '' ) { // phpcs:ignore
|
122 |
+
case MENU::MENU_TAB_SETTINGS:
|
123 |
+
$settings['form_settings'] = [
|
124 |
+
'api_route' => 'settings',
|
125 |
+
'form_index' => null,
|
126 |
+
'option_fields' => apply_filters( 'flexible_checkout_fields/form_fields_settings', [] ),
|
127 |
+
'option_values' => apply_filters( 'flexible_checkout_fields/form_data_settings', [] ),
|
128 |
+
'settings_tabs' => [],
|
129 |
+
];
|
130 |
+
break;
|
131 |
+
default:
|
132 |
+
if ( ! ( $section = $this->get_active_section( $menu_sections ) ) ) {
|
133 |
+
break;
|
134 |
+
}
|
135 |
+
$settings['form_fields'] = [
|
136 |
+
'api_route' => sprintf( '%s/fields', $section['id'] ),
|
137 |
+
'form_index' => $section['id'],
|
138 |
+
'option_fields' => apply_filters( 'flexible_checkout_fields/field_types', [], $section['id'] ),
|
139 |
+
'option_values' => array_values( apply_filters( 'flexible_checkout_fields/form_data_fields', [], $section['id'] ) ),
|
140 |
+
'settings_tabs' => apply_filters( 'flexible_checkout_fields/field_settings_tabs', [] ),
|
141 |
+
];
|
142 |
+
|
143 |
+
if ( ! $section['has_section_form'] ) {
|
144 |
+
break;
|
145 |
+
}
|
146 |
+
$settings['form_section'] = [
|
147 |
+
'api_route' => sprintf( '%s/section', $section['id'] ),
|
148 |
+
'form_index' => $section['id'],
|
149 |
+
'option_fields' => apply_filters( 'flexible_checkout_fields/form_fields_section', [], $section['id'] ),
|
150 |
+
'option_values' => apply_filters( 'flexible_checkout_fields/form_data_section', [], $section['id'] ),
|
151 |
+
'settings_tabs' => [],
|
152 |
+
];
|
153 |
+
break;
|
154 |
+
}
|
155 |
+
|
156 |
+
return $settings;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Returns active section from sections menu.
|
161 |
+
*
|
162 |
+
* @param array $menu_sections Items of menu with sections.
|
163 |
+
*
|
164 |
+
* @return array|null Active item of menu.
|
165 |
+
*/
|
166 |
+
private function get_active_section( array $menu_sections ) {
|
167 |
+
foreach ( $menu_sections as $section ) {
|
168 |
+
if ( $section['is_active'] ) {
|
169 |
+
return $section;
|
170 |
+
}
|
171 |
+
}
|
172 |
+
return null;
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Returns list of translations used by JS code.
|
177 |
+
*
|
178 |
+
* @return array Translations values.
|
179 |
+
*/
|
180 |
+
private function load_translations(): array {
|
181 |
+
return [
|
182 |
+
'form_fields' => __( 'Edit form', 'flexible-checkout-fields' ),
|
183 |
+
'form_add_field' => __( 'Add new field', 'flexible-checkout-fields' ),
|
184 |
+
'form_section' => __( 'Edit section', 'flexible-checkout-fields' ),
|
185 |
+
'form_settings' => __( 'Edit settings', 'flexible-checkout-fields' ),
|
186 |
+
'button_add_field' => __( 'Add Field', 'flexible-checkout-fields' ),
|
187 |
+
'button_add_row' => __( 'Add New', 'flexible-checkout-fields' ),
|
188 |
+
'button_save' => __( 'Save Changes', 'flexible-checkout-fields' ),
|
189 |
+
'button_reset' => __( 'Reset Section Settings', 'flexible-checkout-fields' ),
|
190 |
+
'button_read_more' => __( 'Read more', 'flexible-checkout-fields' ),
|
191 |
+
'button_yes' => __( 'Yes', 'flexible-checkout-fields' ),
|
192 |
+
'button_no' => __( 'No', 'flexible-checkout-fields' ),
|
193 |
+
'field_type' => __( 'Field Type', 'flexible-checkout-fields' ),
|
194 |
+
'field_label' => __( 'Label', 'flexible-checkout-fields' ),
|
195 |
+
'field_name' => __( 'Name', 'flexible-checkout-fields' ),
|
196 |
+
'validation_required' => __( 'This field is required.', 'flexible-checkout-fields' ),
|
197 |
+
'validation_slug' => __( 'Field name should contains only lowercase letters, numbers and underscore sign.', 'flexible-checkout-fields' ),
|
198 |
+
'select_placeholder' => __( 'Select...', 'flexible-checkout-fields' ),
|
199 |
+
'select_loading' => __( 'Loading...', 'flexible-checkout-fields' ),
|
200 |
+
'select_empty' => __( 'No options.', 'flexible-checkout-fields' ),
|
201 |
+
'alert_field_unavailable' => sprintf(
|
202 |
+
/* translators: %1$s: break line, %2$s: anchor opening tag, %3$s: anchor closing tag */
|
203 |
+
__( 'This field is available in the PRO version.%1$s %2$sUpgrade to PRO%3$s', 'flexible-checkout-fields' ),
|
204 |
+
'<br>',
|
205 |
+
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-type-upgrade' ) ) . '" target="_blank" class="fcfArrowLink">',
|
206 |
+
'</a>'
|
207 |
+
),
|
208 |
+
'alert_remove_field' => __( 'Are you sure you want to delete this field? Deleting a field will remove it from all orders.', 'flexible-checkout-fields' ),
|
209 |
+
'alert_reset' => __( 'Do you really want to reset section settings? Resetting a section remove all added fields from orders.', 'flexible-checkout-fields' ),
|
210 |
+
'alert_no_fields' => __( 'No fields available.', 'flexible-checkout-fields' ),
|
211 |
+
];
|
212 |
+
}
|
213 |
+
|
214 |
+
/**
|
215 |
+
* Enqueues styles in WordPress Admin Dashboard.
|
216 |
+
*/
|
217 |
+
private function load_styles_for_page() {
|
218 |
+
wp_register_style(
|
219 |
+
'fcf-admin',
|
220 |
+
trailingslashit( $this->plugin->get_plugin_assets_url() ) . 'css/new-admin.css',
|
221 |
+
[],
|
222 |
+
$this->plugin->get_script_version()
|
223 |
+
);
|
224 |
+
wp_enqueue_style( 'fcf-admin' );
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Enqueues scripts in WordPress Admin Dashboard.
|
229 |
+
*/
|
230 |
+
private function load_scripts_for_page() {
|
231 |
+
wp_register_script(
|
232 |
+
'fcf-admin',
|
233 |
+
trailingslashit( $this->plugin->get_plugin_assets_url() ) . 'js/new-admin.js',
|
234 |
+
[],
|
235 |
+
$this->plugin->get_script_version(),
|
236 |
+
true
|
237 |
+
);
|
238 |
+
wp_enqueue_script( 'fcf-admin' );
|
239 |
+
}
|
240 |
+
}
|
src/Settings/Route/RouteAbstract.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Route;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Route\RouteInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Abstract class for REST API route.
|
14 |
+
*/
|
15 |
+
abstract class RouteAbstract implements RouteInterface {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Returns list of HTTP methods for endpoint.
|
19 |
+
*
|
20 |
+
* @return string[] List of methods.
|
21 |
+
*/
|
22 |
+
public function get_route_methods(): array {
|
23 |
+
return [ 'POST' ];
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Returns list of args for params using to register endpoint.
|
28 |
+
*
|
29 |
+
* @return array Args for endpoint params.
|
30 |
+
*/
|
31 |
+
public function get_route_params(): array {
|
32 |
+
return [
|
33 |
+
'form_values' => [
|
34 |
+
'description' => 'Form values',
|
35 |
+
'required' => true,
|
36 |
+
'default' => [],
|
37 |
+
],
|
38 |
+
'section_fields' => [
|
39 |
+
'description' => 'Section fields',
|
40 |
+
'required' => true,
|
41 |
+
'default' => [],
|
42 |
+
],
|
43 |
+
];
|
44 |
+
}
|
45 |
+
}
|
src/Settings/Route/RouteIntegration.php
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Route;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Route\RouteInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Initializes integration for REST API route.
|
14 |
+
*/
|
15 |
+
class RouteIntegration {
|
16 |
+
|
17 |
+
const REST_API_NAMESPACE = 'flexible-checkout-fields/v1';
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Class object for value.
|
21 |
+
*
|
22 |
+
* @var RouteInterface
|
23 |
+
*/
|
24 |
+
private $value_object;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Class constructor.
|
28 |
+
*
|
29 |
+
* @param RouteInterface $value_object Class object of field type.
|
30 |
+
*/
|
31 |
+
public function __construct( RouteInterface $value_object ) {
|
32 |
+
$this->value_object = $value_object;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Integrate with WordPress and with other plugins using action/filter system.
|
37 |
+
*
|
38 |
+
* @return void
|
39 |
+
*/
|
40 |
+
public function hooks() {
|
41 |
+
add_action( 'rest_api_init', [ $this, 'register_endpoint' ] );
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Registers REST API route.
|
46 |
+
*
|
47 |
+
* @internal
|
48 |
+
*/
|
49 |
+
public function register_endpoint() {
|
50 |
+
register_rest_route(
|
51 |
+
self::REST_API_NAMESPACE,
|
52 |
+
$this->value_object->get_endpoint_route(),
|
53 |
+
[
|
54 |
+
'methods' => $this->value_object->get_route_methods(),
|
55 |
+
'args' => $this->value_object->get_route_params(),
|
56 |
+
'callback' => [ $this, 'get_endpoint_response' ],
|
57 |
+
'permission_callback' => function() {
|
58 |
+
return current_user_can( 'manage_options' );
|
59 |
+
},
|
60 |
+
],
|
61 |
+
true
|
62 |
+
);
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Registers REST API route.
|
67 |
+
*
|
68 |
+
* @param \WP_REST_Request $request .
|
69 |
+
*
|
70 |
+
* @return \WP_REST_Response|\WP_Error .
|
71 |
+
*
|
72 |
+
* @internal
|
73 |
+
*/
|
74 |
+
public function get_endpoint_response( \WP_REST_Request $request ) {
|
75 |
+
$params = $request->get_params();
|
76 |
+
|
77 |
+
try {
|
78 |
+
$response = $this->value_object->get_endpoint_response( $params );
|
79 |
+
|
80 |
+
return new \WP_REST_Response(
|
81 |
+
$response,
|
82 |
+
200
|
83 |
+
);
|
84 |
+
} catch ( \Exception $e ) {
|
85 |
+
$message = $e->getMessage()
|
86 |
+
?: __( 'An unknown error occurred while processing the request.', 'flexible-checkout-fields' );
|
87 |
+
|
88 |
+
return new \WP_Error(
|
89 |
+
'fcf_error',
|
90 |
+
$message,
|
91 |
+
[
|
92 |
+
'status' => 400,
|
93 |
+
]
|
94 |
+
);
|
95 |
+
}
|
96 |
+
}
|
97 |
+
}
|
src/Settings/Route/RouteInterface.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Route;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Interface for REST API route.
|
12 |
+
*/
|
13 |
+
interface RouteInterface {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Returns route of REST API endpoint.
|
17 |
+
*
|
18 |
+
* @return string Route name.
|
19 |
+
*/
|
20 |
+
public function get_endpoint_route(): string;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Returns list of HTTP methods for endpoint.
|
24 |
+
*
|
25 |
+
* @return string[] List of methods.
|
26 |
+
*/
|
27 |
+
public function get_route_methods(): array;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns list of args for params using to register endpoint.
|
31 |
+
*
|
32 |
+
* @return array Args for endpoint params.
|
33 |
+
*/
|
34 |
+
public function get_route_params(): array;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Returns data to be returned for endpoint.
|
38 |
+
*
|
39 |
+
* @param array $params Params for endpoint.
|
40 |
+
*
|
41 |
+
* @return mixed Response data.
|
42 |
+
*
|
43 |
+
* @throws \Exception .
|
44 |
+
*/
|
45 |
+
public function get_endpoint_response( array $params );
|
46 |
+
}
|
src/Settings/Route/UpdateFormFieldsRoute.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Route;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Route\RouteAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Route\RouteInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Form\EditFieldsForm;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports settings for REST API route.
|
16 |
+
*/
|
17 |
+
class UpdateFormFieldsRoute extends RouteAbstract implements RouteInterface {
|
18 |
+
|
19 |
+
const REST_API_ROUTE = '(?P<section_name>[a-z_]+)/fields';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns route of REST API endpoint.
|
23 |
+
*
|
24 |
+
* @return string Route name.
|
25 |
+
*/
|
26 |
+
public function get_endpoint_route(): string {
|
27 |
+
return self::REST_API_ROUTE;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns list of args for params using to register endpoint.
|
32 |
+
*
|
33 |
+
* @return array Args for endpoint params.
|
34 |
+
*/
|
35 |
+
public function get_route_params(): array {
|
36 |
+
return [
|
37 |
+
'section_name' => [
|
38 |
+
'description' => 'Section name',
|
39 |
+
'required' => true,
|
40 |
+
],
|
41 |
+
'form_fields' => [
|
42 |
+
'description' => 'Form fields',
|
43 |
+
'required' => true,
|
44 |
+
],
|
45 |
+
];
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Returns data to be returned for endpoint.
|
50 |
+
*
|
51 |
+
* @param array $params Params for endpoint.
|
52 |
+
*
|
53 |
+
* @return mixed Response data.
|
54 |
+
*
|
55 |
+
* @throws \Exception .
|
56 |
+
*/
|
57 |
+
public function get_endpoint_response( array $params ) {
|
58 |
+
try {
|
59 |
+
$status = ( new EditFieldsForm() )->save_form_data( $params );
|
60 |
+
if ( $status !== true ) {
|
61 |
+
throw new \Exception();
|
62 |
+
}
|
63 |
+
|
64 |
+
return null;
|
65 |
+
} catch ( \Exception $e ) {
|
66 |
+
throw $e;
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
src/Settings/Route/UpdateFormSettingsRoute.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Route;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Route\RouteAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Route\RouteInterface;
|
12 |
+
use WPDesk\FCF\Free\Settings\Form\SettingsPageForm;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports settings for REST API route.
|
16 |
+
*/
|
17 |
+
class UpdateFormSettingsRoute extends RouteAbstract implements RouteInterface {
|
18 |
+
|
19 |
+
const REST_API_ROUTE = 'settings';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Returns route of REST API endpoint.
|
23 |
+
*
|
24 |
+
* @return string Route name.
|
25 |
+
*/
|
26 |
+
public function get_endpoint_route(): string {
|
27 |
+
return self::REST_API_ROUTE;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Returns list of args for params using to register endpoint.
|
32 |
+
*
|
33 |
+
* @return array Args for endpoint params.
|
34 |
+
*/
|
35 |
+
public function get_route_params(): array {
|
36 |
+
return [
|
37 |
+
'form_fields' => [
|
38 |
+
'description' => 'Form fields',
|
39 |
+
'required' => true,
|
40 |
+
'default' => [],
|
41 |
+
],
|
42 |
+
];
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Returns data to be returned for endpoint.
|
47 |
+
*
|
48 |
+
* @param array $params Params for endpoint.
|
49 |
+
*
|
50 |
+
* @return mixed Response data.
|
51 |
+
*
|
52 |
+
* @throws \Exception .
|
53 |
+
*/
|
54 |
+
public function get_endpoint_response( array $params ) {
|
55 |
+
try {
|
56 |
+
$status = ( new SettingsPageForm() )->save_form_data( $params );
|
57 |
+
if ( $status !== true ) {
|
58 |
+
throw new \Exception();
|
59 |
+
}
|
60 |
+
|
61 |
+
return null;
|
62 |
+
} catch ( \Exception $e ) {
|
63 |
+
throw $e;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
}
|
src/Settings/Routes.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Route\RouteIntegration;
|
11 |
+
use WPDesk\FCF\Free\Settings\Route\UpdateFormFieldsRoute;
|
12 |
+
use WPDesk\FCF\Free\Settings\Route\UpdateFormSettingsRoute;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Supports management for REST API routes.
|
16 |
+
*/
|
17 |
+
class Routes {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Initializes actions for class.
|
21 |
+
*
|
22 |
+
* @return void
|
23 |
+
*/
|
24 |
+
public function init() {
|
25 |
+
( new RouteIntegration( new UpdateFormFieldsRoute() ) )->hooks();
|
26 |
+
( new RouteIntegration( new UpdateFormSettingsRoute() ) )->hooks();
|
27 |
+
}
|
28 |
+
}
|
src/Settings/Tab/AdvancedTab.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports for settings tab of field.
|
15 |
+
*/
|
16 |
+
class AdvancedTab extends TabAbstract implements TabInterface {
|
17 |
+
|
18 |
+
const TAB_NAME = 'advanced';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of tab.
|
22 |
+
*
|
23 |
+
* @return string Tab name.
|
24 |
+
*/
|
25 |
+
public function get_tab_name(): string {
|
26 |
+
return self::TAB_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of tab.
|
31 |
+
*
|
32 |
+
* @return string Tab label.
|
33 |
+
*/
|
34 |
+
public function get_tab_label(): string {
|
35 |
+
return __( 'Advanced', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns tab icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Tab icon.
|
42 |
+
*/
|
43 |
+
public function get_tab_icon(): string {
|
44 |
+
return 'icon-cogs';
|
45 |
+
}
|
46 |
+
}
|
src/Settings/Tab/AppearanceTab.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports for settings tab of field.
|
15 |
+
*/
|
16 |
+
class AppearanceTab extends TabAbstract implements TabInterface {
|
17 |
+
|
18 |
+
const TAB_NAME = 'appearance';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of tab.
|
22 |
+
*
|
23 |
+
* @return string Tab name.
|
24 |
+
*/
|
25 |
+
public function get_tab_name(): string {
|
26 |
+
return self::TAB_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of tab.
|
31 |
+
*
|
32 |
+
* @return string Tab label.
|
33 |
+
*/
|
34 |
+
public function get_tab_label(): string {
|
35 |
+
return __( 'Appearance', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns tab icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Tab icon.
|
42 |
+
*/
|
43 |
+
public function get_tab_icon(): string {
|
44 |
+
return 'icon-brush';
|
45 |
+
}
|
46 |
+
}
|
src/Settings/Tab/DisplayTab.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports for settings tab of field.
|
15 |
+
*/
|
16 |
+
class DisplayTab extends TabAbstract implements TabInterface {
|
17 |
+
|
18 |
+
const TAB_NAME = 'display-on';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of tab.
|
22 |
+
*
|
23 |
+
* @return string Tab name.
|
24 |
+
*/
|
25 |
+
public function get_tab_name(): string {
|
26 |
+
return self::TAB_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of tab.
|
31 |
+
*
|
32 |
+
* @return string Tab label.
|
33 |
+
*/
|
34 |
+
public function get_tab_label(): string {
|
35 |
+
return __( 'Display On', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns tab icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Tab icon.
|
42 |
+
*/
|
43 |
+
public function get_tab_icon(): string {
|
44 |
+
return 'icon-eye';
|
45 |
+
}
|
46 |
+
}
|
src/Settings/Tab/GeneralTab.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports for settings tab of field.
|
15 |
+
*/
|
16 |
+
class GeneralTab extends TabAbstract implements TabInterface {
|
17 |
+
|
18 |
+
const TAB_NAME = 'general';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of tab.
|
22 |
+
*
|
23 |
+
* @return string Tab name.
|
24 |
+
*/
|
25 |
+
public function get_tab_name(): string {
|
26 |
+
return self::TAB_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of tab.
|
31 |
+
*
|
32 |
+
* @return string Tab label.
|
33 |
+
*/
|
34 |
+
public function get_tab_label(): string {
|
35 |
+
return __( 'General', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns tab icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Tab icon.
|
42 |
+
*/
|
43 |
+
public function get_tab_icon(): string {
|
44 |
+
return 'icon-cog';
|
45 |
+
}
|
46 |
+
}
|
src/Settings/Tab/LogicTab.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports for settings tab of field.
|
15 |
+
*/
|
16 |
+
class LogicTab extends TabAbstract implements TabInterface {
|
17 |
+
|
18 |
+
const TAB_NAME = 'conditional-logic';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of tab.
|
22 |
+
*
|
23 |
+
* @return string Tab name.
|
24 |
+
*/
|
25 |
+
public function get_tab_name(): string {
|
26 |
+
return self::TAB_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of tab.
|
31 |
+
*
|
32 |
+
* @return string Tab label.
|
33 |
+
*/
|
34 |
+
public function get_tab_label(): string {
|
35 |
+
return __( 'Conditional Logic', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns tab icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Tab icon.
|
42 |
+
*/
|
43 |
+
public function get_tab_icon(): string {
|
44 |
+
return 'icon-magic';
|
45 |
+
}
|
46 |
+
}
|
src/Settings/Tab/PricingTab.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabAbstract;
|
11 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Supports for settings tab of field.
|
15 |
+
*/
|
16 |
+
class PricingTab extends TabAbstract implements TabInterface {
|
17 |
+
|
18 |
+
const TAB_NAME = 'pricing';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Returns name of tab.
|
22 |
+
*
|
23 |
+
* @return string Tab name.
|
24 |
+
*/
|
25 |
+
public function get_tab_name(): string {
|
26 |
+
return self::TAB_NAME;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns label of tab.
|
31 |
+
*
|
32 |
+
* @return string Tab label.
|
33 |
+
*/
|
34 |
+
public function get_tab_label(): string {
|
35 |
+
return __( 'Pricing', 'flexible-checkout-fields' );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Returns tab icon as CSS Class supported by Icomoon.
|
40 |
+
*
|
41 |
+
* @return string Tab icon.
|
42 |
+
*/
|
43 |
+
public function get_tab_icon(): string {
|
44 |
+
return 'icon-dollar-sign';
|
45 |
+
}
|
46 |
+
}
|
src/Settings/Tab/TabAbstract.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Abstract class for settings tab of field.
|
14 |
+
*/
|
15 |
+
abstract class TabAbstract implements TabInterface {
|
16 |
+
|
17 |
+
}
|
src/Settings/Tab/TabIntegration.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabInterface;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Initializes integration for settings tab of field.
|
14 |
+
*/
|
15 |
+
class TabIntegration {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Class object for field type.
|
19 |
+
*
|
20 |
+
* @var TabInterface
|
21 |
+
*/
|
22 |
+
private $tab_object;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Class constructor.
|
26 |
+
*
|
27 |
+
* @param TabInterface $tab_object Class object of field type.
|
28 |
+
*/
|
29 |
+
public function __construct( TabInterface $tab_object ) {
|
30 |
+
$this->tab_object = $tab_object;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Integrate with WordPress and with other plugins using action/filter system.
|
35 |
+
*
|
36 |
+
* @return void
|
37 |
+
*/
|
38 |
+
public function hooks() {
|
39 |
+
add_filter( 'flexible_checkout_fields/field_settings_tabs', [ $this, 'add_settings_tab' ], 0 );
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Adds new tab for field settings.
|
44 |
+
*
|
45 |
+
* @param array $tabs List of field settings tabs.
|
46 |
+
*
|
47 |
+
* @return array Updated list of settings tabs.
|
48 |
+
*
|
49 |
+
* @internal
|
50 |
+
*/
|
51 |
+
public function add_settings_tab( array $tabs ): array {
|
52 |
+
$tab_name = $this->tab_object->get_tab_name();
|
53 |
+
$tabs[ $tab_name ] = $this->get_tab_settings();
|
54 |
+
return $tabs;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Returns list of settings for tab.
|
59 |
+
*
|
60 |
+
* @return array Settings of tab.
|
61 |
+
*/
|
62 |
+
private function get_tab_settings(): array {
|
63 |
+
return [
|
64 |
+
'name' => $this->tab_object->get_tab_name(),
|
65 |
+
'label' => $this->tab_object->get_tab_label(),
|
66 |
+
'icon' => $this->tab_object->get_tab_icon(),
|
67 |
+
];
|
68 |
+
}
|
69 |
+
}
|
src/Settings/Tab/TabInterface.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FPF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings\Tab;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Interface for settings tab of field.
|
12 |
+
*/
|
13 |
+
interface TabInterface {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Returns name of tab.
|
17 |
+
*
|
18 |
+
* @return string Tab name.
|
19 |
+
*/
|
20 |
+
public function get_tab_name(): string;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Returns label of tab.
|
24 |
+
*
|
25 |
+
* @return string Tab label.
|
26 |
+
*/
|
27 |
+
public function get_tab_label(): string;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns tab icon as CSS Class supported by Icomoon.
|
31 |
+
*
|
32 |
+
* @return string Tab icon.
|
33 |
+
*/
|
34 |
+
public function get_tab_icon(): string;
|
35 |
+
}
|
src/Settings/Tabs.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @package WPDesk\FCF\Free
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FCF\Free\Settings;
|
9 |
+
|
10 |
+
use WPDesk\FCF\Free\Settings\Tab\TabIntegration;
|
11 |
+
use WPDesk\FCF\Free\Settings\Tab\GeneralTab;
|
12 |
+
use WPDesk\FCF\Free\Settings\Tab\AdvancedTab;
|
13 |
+
use WPDesk\FCF\Free\Settings\Tab\AppearanceTab;
|
14 |
+
use WPDesk\FCF\Free\Settings\Tab\DisplayTab;
|
15 |
+
use WPDesk\FCF\Free\Settings\Tab\LogicTab;
|
16 |
+
use WPDesk\FCF\Free\Settings\Tab\PricingTab;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Supports management for settings tabs of field.
|
20 |
+
*/
|
21 |
+
class Tabs {
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Initializes actions for class.
|
25 |
+
*
|
26 |
+
* @return void
|
27 |
+
*/
|
28 |
+
public function init() {
|
29 |
+
( new TabIntegration( new GeneralTab() ) )->hooks();
|
30 |
+
( new TabIntegration( new AdvancedTab() ) )->hooks();
|
31 |
+
( new TabIntegration( new AppearanceTab() ) )->hooks();
|
32 |
+
( new TabIntegration( new DisplayTab() ) )->hooks();
|
33 |
+
( new TabIntegration( new LogicTab() ) )->hooks();
|
34 |
+
( new TabIntegration( new PricingTab() ) )->hooks();
|
35 |
+
}
|
36 |
+
}
|
templates/views/admin-page.php
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* .
|
4 |
+
*
|
5 |
+
* @var array $settings Data for window.reactInit variable.
|
6 |
+
* @var array $menu_tabs List of items for primary nav.
|
7 |
+
* @var array $menu_sections List of items for second nav.
|
8 |
+
*
|
9 |
+
* @package Flexible Checkout Fields
|
10 |
+
*/
|
11 |
+
|
12 |
+
?>
|
13 |
+
|
14 |
+
<div class="wrap">
|
15 |
+
<hr class="wp-header-end">
|
16 |
+
<div class="fcfSettings">
|
17 |
+
<ul class="fcfSettings__columns">
|
18 |
+
<li class="fcfSettings__column">
|
19 |
+
<div class="fcfSettings__headline">
|
20 |
+
<?php echo esc_html__( 'Flexible Checkout Fields', 'flexible-checkout-fields' ); ?>
|
21 |
+
</div>
|
22 |
+
</li>
|
23 |
+
</ul>
|
24 |
+
<ul class="fcfSettings__columns">
|
25 |
+
<li class="fcfSettings__column">
|
26 |
+
<div class="fcfWidget">
|
27 |
+
<div class="fcfWidget__inner">
|
28 |
+
<div class="fcfTabs">
|
29 |
+
<ul class="fcfTabs__items">
|
30 |
+
<?php foreach ( $menu_tabs as $menu_tab ) : ?>
|
31 |
+
<li class="fcfTabs__item">
|
32 |
+
<a href="<?php echo esc_url( $menu_tab['url'] ); ?>"
|
33 |
+
class="fcfTabs__itemLink <?php echo ( $menu_tab['is_active'] ) ? 'fcfTabs__itemLink--active' : ''; ?>">
|
34 |
+
<?php echo esc_html( $menu_tab['label'] ); ?>
|
35 |
+
</a>
|
36 |
+
</li>
|
37 |
+
<?php endforeach; ?>
|
38 |
+
</ul>
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
<?php if ( $menu_sections ) : ?>
|
43 |
+
<div class="fcfTabs fcfTabs--small fcfTabs--lines">
|
44 |
+
<ul class="fcfTabs__items">
|
45 |
+
<?php foreach ( $menu_sections as $menu_section ) : ?>
|
46 |
+
<li class="fcfTabs__item">
|
47 |
+
<a href="<?php echo esc_url( $menu_section['url'] ); ?>"
|
48 |
+
class="fcfTabs__itemLink <?php echo ( $menu_section['is_active'] ) ? 'fcfTabs__itemLink--active' : ''; ?>">
|
49 |
+
<?php echo esc_html( $menu_section['label'] ); ?>
|
50 |
+
</a>
|
51 |
+
</li>
|
52 |
+
<?php endforeach; ?>
|
53 |
+
</ul>
|
54 |
+
</div>
|
55 |
+
<?php endif; ?>
|
56 |
+
</li>
|
57 |
+
</ul>
|
58 |
+
<div id="fcf-settings"></div>
|
59 |
+
<ul class="fcfSettings__columns fcfSettings__columns--margin">
|
60 |
+
<li class="fcfSettings__column">
|
61 |
+
<div class="fcfSettings__footer">
|
62 |
+
<?php
|
63 |
+
echo wp_kses_post(
|
64 |
+
sprintf(
|
65 |
+
/* translators: %$1s: love icon, %$2s: anchor opening tag, %$3s: anchor closing tag, %$4s: anchor opening tag, %$5s: anchor closing tag */
|
66 |
+
__( 'Created with %1$s by Rangers from %2$sWP Desk%3$s - if you like FCF %4$srate us%5$s', 'flexible-checkout-fields' ),
|
67 |
+
'<span class="fcfSettings__footerIcon fcfSettings__footerIcon--heart"></span>',
|
68 |
+
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-footer-wpdesk-link' ) ) . '" target="_blank">',
|
69 |
+
'</a>',
|
70 |
+
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-footer-review-link' ) ) . '" target="_blank">',
|
71 |
+
'<span class="fcfSettings__footerIcon fcfSettings__footerIcon--star"></span>
|
72 |
+
<span class="fcfSettings__footerIcon fcfSettings__footerIcon--star"></span>
|
73 |
+
<span class="fcfSettings__footerIcon fcfSettings__footerIcon--star"></span>
|
74 |
+
<span class="fcfSettings__footerIcon fcfSettings__footerIcon--star"></span>
|
75 |
+
<span class="fcfSettings__footerIcon fcfSettings__footerIcon--star"></span>
|
76 |
+
</a>'
|
77 |
+
)
|
78 |
+
);
|
79 |
+
?>
|
80 |
+
</div>
|
81 |
+
</li>
|
82 |
+
</ul>
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
|
86 |
+
<script>
|
87 |
+
window.reactInit = <?php echo json_encode( $settings ); ?>;
|
88 |
+
</script>
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit165e44688066e6f2cb362bbca1465b58::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -111,6 +111,7 @@ return array(
|
|
111 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\BaseCommand' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/BaseCommand.php',
|
112 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\CreateCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/CreateCodeceptionTests.php',
|
113 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
|
|
|
114 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
|
115 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Plugin' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
|
116 |
'FcfVendor\\WPDesk\\Helper\\Debug\\LibraryDebug' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Debug/LibraryDebug.php',
|
@@ -269,6 +270,31 @@ return array(
|
|
269 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
270 |
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
271 |
'WPDesk\\FCF\\Free\\Admin\\NoticeReview' => $baseDir . '/src/Admin/NoticeReview.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
'WPDesk\\FCF\\Free\\Helpers\\Shortener' => $baseDir . '/src/Helpers/Shortener.php',
|
273 |
'WPDesk\\FCF\\Free\\Integration\\Field' => $baseDir . '/src/Integration/Field.php',
|
274 |
'WPDesk\\FCF\\Free\\Integration\\FieldInterface' => $baseDir . '/src/Integration/FieldInterface.php',
|
@@ -284,6 +310,64 @@ return array(
|
|
284 |
'WPDesk\\FCF\\Free\\Integration\\Value' => $baseDir . '/src/Integration/Value.php',
|
285 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => $baseDir . '/src/Integration/ValueInterface.php',
|
286 |
'WPDesk\\FCF\\Free\\Plugin' => $baseDir . '/src/Plugin.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
'WPDesk\\Helper\\HelperAsLibrary' => $vendorDir . '/wpdesk/wp-wpdesk-helper-override/src/Helper/HelperAsLibrary.php',
|
288 |
'WPDesk_Flexible_Checkout_Fields_Tracker' => $baseDir . '/classes/tracker.php',
|
289 |
'WPDesk_Tracker_Data_Provider' => $vendorDir . '/wpdesk/wp-wpdesk-helper-override/src/Interop/Tracker/class-wpdesk-tracker-data-provider.php',
|
111 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\BaseCommand' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/BaseCommand.php',
|
112 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\CreateCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/CreateCodeceptionTests.php',
|
113 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
|
114 |
+
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php',
|
115 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
|
116 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Plugin' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
|
117 |
'FcfVendor\\WPDesk\\Helper\\Debug\\LibraryDebug' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Debug/LibraryDebug.php',
|
270 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
271 |
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
272 |
'WPDesk\\FCF\\Free\\Admin\\NoticeReview' => $baseDir . '/src/Admin/NoticeReview.php',
|
273 |
+
'WPDesk\\FCF\\Free\\Admin\\Page' => $baseDir . '/src/Admin/Page.php',
|
274 |
+
'WPDesk\\FCF\\Free\\Field\\FieldData' => $baseDir . '/src/Field/FieldData.php',
|
275 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\CheckboxType' => $baseDir . '/src/Field/Type/CheckboxType.php',
|
276 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\ColorType' => $baseDir . '/src/Field/Type/ColorType.php',
|
277 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\DateType' => $baseDir . '/src/Field/Type/DateType.php',
|
278 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\DefaultType' => $baseDir . '/src/Field/Type/DefaultType.php',
|
279 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\FileType' => $baseDir . '/src/Field/Type/FileType.php',
|
280 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\HeadingType' => $baseDir . '/src/Field/Type/HeadingType.php',
|
281 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\HtmlType' => $baseDir . '/src/Field/Type/HtmlType.php',
|
282 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Multiselect' => $baseDir . '/src/Field/Type/Multiselect.php',
|
283 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\RadioType' => $baseDir . '/src/Field/Type/RadioType.php',
|
284 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\SelectType' => $baseDir . '/src/Field/Type/SelectType.php',
|
285 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TextType' => $baseDir . '/src/Field/Type/TextType.php',
|
286 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TextareaType' => $baseDir . '/src/Field/Type/TextareaType.php',
|
287 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TimeType' => $baseDir . '/src/Field/Type/TimeType.php',
|
288 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TypeAbstract' => $baseDir . '/src/Field/Type/TypeAbstract.php',
|
289 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TypeIntegration' => $baseDir . '/src/Field/Type/TypeIntegration.php',
|
290 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TypeInterface' => $baseDir . '/src/Field/Type/TypeInterface.php',
|
291 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcAddress2Type' => $baseDir . '/src/Field/Type/Wc/WcAddress2Type.php',
|
292 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcCountryType' => $baseDir . '/src/Field/Type/Wc/WcCountryType.php',
|
293 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcDefaultType' => $baseDir . '/src/Field/Type/Wc/WcDefaultType.php',
|
294 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcNotesType' => $baseDir . '/src/Field/Type/Wc/WcNotesType.php',
|
295 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcPostcodeType' => $baseDir . '/src/Field/Type/Wc/WcPostcodeType.php',
|
296 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcStateType' => $baseDir . '/src/Field/Type/Wc/WcStateType.php',
|
297 |
+
'WPDesk\\FCF\\Free\\Field\\Types' => $baseDir . '/src/Field/Types.php',
|
298 |
'WPDesk\\FCF\\Free\\Helpers\\Shortener' => $baseDir . '/src/Helpers/Shortener.php',
|
299 |
'WPDesk\\FCF\\Free\\Integration\\Field' => $baseDir . '/src/Integration/Field.php',
|
300 |
'WPDesk\\FCF\\Free\\Integration\\FieldInterface' => $baseDir . '/src/Integration/FieldInterface.php',
|
310 |
'WPDesk\\FCF\\Free\\Integration\\Value' => $baseDir . '/src/Integration/Value.php',
|
311 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => $baseDir . '/src/Integration/ValueInterface.php',
|
312 |
'WPDesk\\FCF\\Free\\Plugin' => $baseDir . '/src/Plugin.php',
|
313 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\EditFieldsForm' => $baseDir . '/src/Settings/Form/EditFieldsForm.php',
|
314 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\FormAbstract' => $baseDir . '/src/Settings/Form/FormAbstract.php',
|
315 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\FormIntegration' => $baseDir . '/src/Settings/Form/FormIntegration.php',
|
316 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\FormInterface' => $baseDir . '/src/Settings/Form/FormInterface.php',
|
317 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\SettingsPageForm' => $baseDir . '/src/Settings/Form/SettingsPageForm.php',
|
318 |
+
'WPDesk\\FCF\\Free\\Settings\\Forms' => $baseDir . '/src/Settings/Forms.php',
|
319 |
+
'WPDesk\\FCF\\Free\\Settings\\Menu' => $baseDir . '/src/Settings/Menu.php',
|
320 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\CssOption' => $baseDir . '/src/Settings/Option/CssOption.php',
|
321 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\CustomFieldOption' => $baseDir . '/src/Settings/Option/CustomFieldOption.php',
|
322 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnAccountAddressOption' => $baseDir . '/src/Settings/Option/DisplayOnAccountAddressOption.php',
|
323 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnAccountOrderOption' => $baseDir . '/src/Settings/Option/DisplayOnAccountOrderOption.php',
|
324 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnEmailsOption' => $baseDir . '/src/Settings/Option/DisplayOnEmailsOption.php',
|
325 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnOption' => $baseDir . '/src/Settings/Option/DisplayOnOption.php',
|
326 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnThankYouOption' => $baseDir . '/src/Settings/Option/DisplayOnThankYouOption.php',
|
327 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnWithoutAddressOption' => $baseDir . '/src/Settings/Option/DisplayOnWithoutAddressOption.php',
|
328 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\EnabledOption' => $baseDir . '/src/Settings/Option/EnabledOption.php',
|
329 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FieldTypeOption' => $baseDir . '/src/Settings/Option/FieldTypeOption.php',
|
330 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingFieldLabelOption' => $baseDir . '/src/Settings/Option/FormattingFieldLabelOption.php',
|
331 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingNewLineOption' => $baseDir . '/src/Settings/Option/FormattingNewLineOption.php',
|
332 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingOption' => $baseDir . '/src/Settings/Option/FormattingOption.php',
|
333 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingStateAbbrOption' => $baseDir . '/src/Settings/Option/FormattingStateAbbrOption.php',
|
334 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingStateCommaOption' => $baseDir . '/src/Settings/Option/FormattingStateCommaOption.php',
|
335 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingStateOption' => $baseDir . '/src/Settings/Option/FormattingStateOption.php',
|
336 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingWcOption' => $baseDir . '/src/Settings/Option/FormattingWcOption.php',
|
337 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\LabelOption' => $baseDir . '/src/Settings/Option/LabelOption.php',
|
338 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\LabelOptionallyOption' => $baseDir . '/src/Settings/Option/LabelOptionallyOption.php',
|
339 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\LogicAdvOption' => $baseDir . '/src/Settings/Option/LogicAdvOption.php',
|
340 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\NameOption' => $baseDir . '/src/Settings/Option/NameOption.php',
|
341 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\OptionAbstract' => $baseDir . '/src/Settings/Option/OptionAbstract.php',
|
342 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\OptionIntegration' => $baseDir . '/src/Settings/Option/OptionIntegration.php',
|
343 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\OptionInterface' => $baseDir . '/src/Settings/Option/OptionInterface.php',
|
344 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\PlaceholderOption' => $baseDir . '/src/Settings/Option/PlaceholderOption.php',
|
345 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\PricingAdvOption' => $baseDir . '/src/Settings/Option/PricingAdvOption.php',
|
346 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\PriorityOption' => $baseDir . '/src/Settings/Option/PriorityOption.php',
|
347 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\RequiredHiddenOption' => $baseDir . '/src/Settings/Option/RequiredHiddenOption.php',
|
348 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\RequiredOption' => $baseDir . '/src/Settings/Option/RequiredOption.php',
|
349 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\SettingJqueryCssOption' => $baseDir . '/src/Settings/Option/SettingJqueryCssOption.php',
|
350 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\SettingJqueryOption' => $baseDir . '/src/Settings/Option/SettingJqueryOption.php',
|
351 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\SettingSectionsAdvOption' => $baseDir . '/src/Settings/Option/SettingSectionsAdvOption.php',
|
352 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\ValidationInfoOption' => $baseDir . '/src/Settings/Option/ValidationInfoOption.php',
|
353 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\ValidationOption' => $baseDir . '/src/Settings/Option/ValidationOption.php',
|
354 |
+
'WPDesk\\FCF\\Free\\Settings\\Page' => $baseDir . '/src/Settings/Page.php',
|
355 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\RouteAbstract' => $baseDir . '/src/Settings/Route/RouteAbstract.php',
|
356 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\RouteIntegration' => $baseDir . '/src/Settings/Route/RouteIntegration.php',
|
357 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\RouteInterface' => $baseDir . '/src/Settings/Route/RouteInterface.php',
|
358 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\UpdateFormFieldsRoute' => $baseDir . '/src/Settings/Route/UpdateFormFieldsRoute.php',
|
359 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\UpdateFormSettingsRoute' => $baseDir . '/src/Settings/Route/UpdateFormSettingsRoute.php',
|
360 |
+
'WPDesk\\FCF\\Free\\Settings\\Routes' => $baseDir . '/src/Settings/Routes.php',
|
361 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\AdvancedTab' => $baseDir . '/src/Settings/Tab/AdvancedTab.php',
|
362 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\AppearanceTab' => $baseDir . '/src/Settings/Tab/AppearanceTab.php',
|
363 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\DisplayTab' => $baseDir . '/src/Settings/Tab/DisplayTab.php',
|
364 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\GeneralTab' => $baseDir . '/src/Settings/Tab/GeneralTab.php',
|
365 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\LogicTab' => $baseDir . '/src/Settings/Tab/LogicTab.php',
|
366 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\PricingTab' => $baseDir . '/src/Settings/Tab/PricingTab.php',
|
367 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\TabAbstract' => $baseDir . '/src/Settings/Tab/TabAbstract.php',
|
368 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\TabIntegration' => $baseDir . '/src/Settings/Tab/TabIntegration.php',
|
369 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\TabInterface' => $baseDir . '/src/Settings/Tab/TabInterface.php',
|
370 |
+
'WPDesk\\FCF\\Free\\Settings\\Tabs' => $baseDir . '/src/Settings/Tabs.php',
|
371 |
'WPDesk\\Helper\\HelperAsLibrary' => $vendorDir . '/wpdesk/wp-wpdesk-helper-override/src/Helper/HelperAsLibrary.php',
|
372 |
'WPDesk_Flexible_Checkout_Fields_Tracker' => $baseDir . '/classes/tracker.php',
|
373 |
'WPDesk_Tracker_Data_Provider' => $vendorDir . '/wpdesk/wp-wpdesk-helper-override/src/Interop/Tracker/class-wpdesk-tracker-data-provider.php',
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitc47e3c4658fa0bb38014fd053b764aad
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit165e44688066e6f2cb362bbca1465b58
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit165e44688066e6f2cb362bbca1465b58', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit165e44688066e6f2cb362bbca1465b58', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit165e44688066e6f2cb362bbca1465b58::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
@@ -134,6 +134,7 @@ class ComposerStaticInitc47e3c4658fa0bb38014fd053b764aad
|
|
134 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\BaseCommand' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/BaseCommand.php',
|
135 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\CreateCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/CreateCodeceptionTests.php',
|
136 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
|
|
|
137 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
|
138 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Plugin' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
|
139 |
'FcfVendor\\WPDesk\\Helper\\Debug\\LibraryDebug' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Debug/LibraryDebug.php',
|
@@ -292,6 +293,31 @@ class ComposerStaticInitc47e3c4658fa0bb38014fd053b764aad
|
|
292 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
293 |
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
294 |
'WPDesk\\FCF\\Free\\Admin\\NoticeReview' => __DIR__ . '/../..' . '/src/Admin/NoticeReview.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
'WPDesk\\FCF\\Free\\Helpers\\Shortener' => __DIR__ . '/../..' . '/src/Helpers/Shortener.php',
|
296 |
'WPDesk\\FCF\\Free\\Integration\\Field' => __DIR__ . '/../..' . '/src/Integration/Field.php',
|
297 |
'WPDesk\\FCF\\Free\\Integration\\FieldInterface' => __DIR__ . '/../..' . '/src/Integration/FieldInterface.php',
|
@@ -307,6 +333,64 @@ class ComposerStaticInitc47e3c4658fa0bb38014fd053b764aad
|
|
307 |
'WPDesk\\FCF\\Free\\Integration\\Value' => __DIR__ . '/../..' . '/src/Integration/Value.php',
|
308 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => __DIR__ . '/../..' . '/src/Integration/ValueInterface.php',
|
309 |
'WPDesk\\FCF\\Free\\Plugin' => __DIR__ . '/../..' . '/src/Plugin.php',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
'WPDesk\\Helper\\HelperAsLibrary' => __DIR__ . '/..' . '/wpdesk/wp-wpdesk-helper-override/src/Helper/HelperAsLibrary.php',
|
311 |
'WPDesk_Flexible_Checkout_Fields_Tracker' => __DIR__ . '/../..' . '/classes/tracker.php',
|
312 |
'WPDesk_Tracker_Data_Provider' => __DIR__ . '/..' . '/wpdesk/wp-wpdesk-helper-override/src/Interop/Tracker/class-wpdesk-tracker-data-provider.php',
|
@@ -318,9 +402,9 @@ class ComposerStaticInitc47e3c4658fa0bb38014fd053b764aad
|
|
318 |
public static function getInitializer(ClassLoader $loader)
|
319 |
{
|
320 |
return \Closure::bind(function () use ($loader) {
|
321 |
-
$loader->prefixLengthsPsr4 =
|
322 |
-
$loader->prefixDirsPsr4 =
|
323 |
-
$loader->classMap =
|
324 |
|
325 |
}, null, ClassLoader::class);
|
326 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit165e44688066e6f2cb362bbca1465b58
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
134 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\BaseCommand' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/BaseCommand.php',
|
135 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\CreateCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/CreateCodeceptionTests.php',
|
136 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
|
137 |
+
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php',
|
138 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
|
139 |
'FcfVendor\\WPDesk\\Composer\\Codeception\\Plugin' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
|
140 |
'FcfVendor\\WPDesk\\Helper\\Debug\\LibraryDebug' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Debug/LibraryDebug.php',
|
293 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
294 |
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
295 |
'WPDesk\\FCF\\Free\\Admin\\NoticeReview' => __DIR__ . '/../..' . '/src/Admin/NoticeReview.php',
|
296 |
+
'WPDesk\\FCF\\Free\\Admin\\Page' => __DIR__ . '/../..' . '/src/Admin/Page.php',
|
297 |
+
'WPDesk\\FCF\\Free\\Field\\FieldData' => __DIR__ . '/../..' . '/src/Field/FieldData.php',
|
298 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\CheckboxType' => __DIR__ . '/../..' . '/src/Field/Type/CheckboxType.php',
|
299 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\ColorType' => __DIR__ . '/../..' . '/src/Field/Type/ColorType.php',
|
300 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\DateType' => __DIR__ . '/../..' . '/src/Field/Type/DateType.php',
|
301 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\DefaultType' => __DIR__ . '/../..' . '/src/Field/Type/DefaultType.php',
|
302 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\FileType' => __DIR__ . '/../..' . '/src/Field/Type/FileType.php',
|
303 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\HeadingType' => __DIR__ . '/../..' . '/src/Field/Type/HeadingType.php',
|
304 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\HtmlType' => __DIR__ . '/../..' . '/src/Field/Type/HtmlType.php',
|
305 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Multiselect' => __DIR__ . '/../..' . '/src/Field/Type/Multiselect.php',
|
306 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\RadioType' => __DIR__ . '/../..' . '/src/Field/Type/RadioType.php',
|
307 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\SelectType' => __DIR__ . '/../..' . '/src/Field/Type/SelectType.php',
|
308 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TextType' => __DIR__ . '/../..' . '/src/Field/Type/TextType.php',
|
309 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TextareaType' => __DIR__ . '/../..' . '/src/Field/Type/TextareaType.php',
|
310 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TimeType' => __DIR__ . '/../..' . '/src/Field/Type/TimeType.php',
|
311 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TypeAbstract' => __DIR__ . '/../..' . '/src/Field/Type/TypeAbstract.php',
|
312 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TypeIntegration' => __DIR__ . '/../..' . '/src/Field/Type/TypeIntegration.php',
|
313 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\TypeInterface' => __DIR__ . '/../..' . '/src/Field/Type/TypeInterface.php',
|
314 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcAddress2Type' => __DIR__ . '/../..' . '/src/Field/Type/Wc/WcAddress2Type.php',
|
315 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcCountryType' => __DIR__ . '/../..' . '/src/Field/Type/Wc/WcCountryType.php',
|
316 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcDefaultType' => __DIR__ . '/../..' . '/src/Field/Type/Wc/WcDefaultType.php',
|
317 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcNotesType' => __DIR__ . '/../..' . '/src/Field/Type/Wc/WcNotesType.php',
|
318 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcPostcodeType' => __DIR__ . '/../..' . '/src/Field/Type/Wc/WcPostcodeType.php',
|
319 |
+
'WPDesk\\FCF\\Free\\Field\\Type\\Wc\\WcStateType' => __DIR__ . '/../..' . '/src/Field/Type/Wc/WcStateType.php',
|
320 |
+
'WPDesk\\FCF\\Free\\Field\\Types' => __DIR__ . '/../..' . '/src/Field/Types.php',
|
321 |
'WPDesk\\FCF\\Free\\Helpers\\Shortener' => __DIR__ . '/../..' . '/src/Helpers/Shortener.php',
|
322 |
'WPDesk\\FCF\\Free\\Integration\\Field' => __DIR__ . '/../..' . '/src/Integration/Field.php',
|
323 |
'WPDesk\\FCF\\Free\\Integration\\FieldInterface' => __DIR__ . '/../..' . '/src/Integration/FieldInterface.php',
|
333 |
'WPDesk\\FCF\\Free\\Integration\\Value' => __DIR__ . '/../..' . '/src/Integration/Value.php',
|
334 |
'WPDesk\\FCF\\Free\\Integration\\ValueInterface' => __DIR__ . '/../..' . '/src/Integration/ValueInterface.php',
|
335 |
'WPDesk\\FCF\\Free\\Plugin' => __DIR__ . '/../..' . '/src/Plugin.php',
|
336 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\EditFieldsForm' => __DIR__ . '/../..' . '/src/Settings/Form/EditFieldsForm.php',
|
337 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\FormAbstract' => __DIR__ . '/../..' . '/src/Settings/Form/FormAbstract.php',
|
338 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\FormIntegration' => __DIR__ . '/../..' . '/src/Settings/Form/FormIntegration.php',
|
339 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\FormInterface' => __DIR__ . '/../..' . '/src/Settings/Form/FormInterface.php',
|
340 |
+
'WPDesk\\FCF\\Free\\Settings\\Form\\SettingsPageForm' => __DIR__ . '/../..' . '/src/Settings/Form/SettingsPageForm.php',
|
341 |
+
'WPDesk\\FCF\\Free\\Settings\\Forms' => __DIR__ . '/../..' . '/src/Settings/Forms.php',
|
342 |
+
'WPDesk\\FCF\\Free\\Settings\\Menu' => __DIR__ . '/../..' . '/src/Settings/Menu.php',
|
343 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\CssOption' => __DIR__ . '/../..' . '/src/Settings/Option/CssOption.php',
|
344 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\CustomFieldOption' => __DIR__ . '/../..' . '/src/Settings/Option/CustomFieldOption.php',
|
345 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnAccountAddressOption' => __DIR__ . '/../..' . '/src/Settings/Option/DisplayOnAccountAddressOption.php',
|
346 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnAccountOrderOption' => __DIR__ . '/../..' . '/src/Settings/Option/DisplayOnAccountOrderOption.php',
|
347 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnEmailsOption' => __DIR__ . '/../..' . '/src/Settings/Option/DisplayOnEmailsOption.php',
|
348 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnOption' => __DIR__ . '/../..' . '/src/Settings/Option/DisplayOnOption.php',
|
349 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnThankYouOption' => __DIR__ . '/../..' . '/src/Settings/Option/DisplayOnThankYouOption.php',
|
350 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\DisplayOnWithoutAddressOption' => __DIR__ . '/../..' . '/src/Settings/Option/DisplayOnWithoutAddressOption.php',
|
351 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\EnabledOption' => __DIR__ . '/../..' . '/src/Settings/Option/EnabledOption.php',
|
352 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FieldTypeOption' => __DIR__ . '/../..' . '/src/Settings/Option/FieldTypeOption.php',
|
353 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingFieldLabelOption' => __DIR__ . '/../..' . '/src/Settings/Option/FormattingFieldLabelOption.php',
|
354 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingNewLineOption' => __DIR__ . '/../..' . '/src/Settings/Option/FormattingNewLineOption.php',
|
355 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingOption' => __DIR__ . '/../..' . '/src/Settings/Option/FormattingOption.php',
|
356 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingStateAbbrOption' => __DIR__ . '/../..' . '/src/Settings/Option/FormattingStateAbbrOption.php',
|
357 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingStateCommaOption' => __DIR__ . '/../..' . '/src/Settings/Option/FormattingStateCommaOption.php',
|
358 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingStateOption' => __DIR__ . '/../..' . '/src/Settings/Option/FormattingStateOption.php',
|
359 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\FormattingWcOption' => __DIR__ . '/../..' . '/src/Settings/Option/FormattingWcOption.php',
|
360 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\LabelOption' => __DIR__ . '/../..' . '/src/Settings/Option/LabelOption.php',
|
361 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\LabelOptionallyOption' => __DIR__ . '/../..' . '/src/Settings/Option/LabelOptionallyOption.php',
|
362 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\LogicAdvOption' => __DIR__ . '/../..' . '/src/Settings/Option/LogicAdvOption.php',
|
363 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\NameOption' => __DIR__ . '/../..' . '/src/Settings/Option/NameOption.php',
|
364 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\OptionAbstract' => __DIR__ . '/../..' . '/src/Settings/Option/OptionAbstract.php',
|
365 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\OptionIntegration' => __DIR__ . '/../..' . '/src/Settings/Option/OptionIntegration.php',
|
366 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\OptionInterface' => __DIR__ . '/../..' . '/src/Settings/Option/OptionInterface.php',
|
367 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\PlaceholderOption' => __DIR__ . '/../..' . '/src/Settings/Option/PlaceholderOption.php',
|
368 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\PricingAdvOption' => __DIR__ . '/../..' . '/src/Settings/Option/PricingAdvOption.php',
|
369 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\PriorityOption' => __DIR__ . '/../..' . '/src/Settings/Option/PriorityOption.php',
|
370 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\RequiredHiddenOption' => __DIR__ . '/../..' . '/src/Settings/Option/RequiredHiddenOption.php',
|
371 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\RequiredOption' => __DIR__ . '/../..' . '/src/Settings/Option/RequiredOption.php',
|
372 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\SettingJqueryCssOption' => __DIR__ . '/../..' . '/src/Settings/Option/SettingJqueryCssOption.php',
|
373 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\SettingJqueryOption' => __DIR__ . '/../..' . '/src/Settings/Option/SettingJqueryOption.php',
|
374 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\SettingSectionsAdvOption' => __DIR__ . '/../..' . '/src/Settings/Option/SettingSectionsAdvOption.php',
|
375 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\ValidationInfoOption' => __DIR__ . '/../..' . '/src/Settings/Option/ValidationInfoOption.php',
|
376 |
+
'WPDesk\\FCF\\Free\\Settings\\Option\\ValidationOption' => __DIR__ . '/../..' . '/src/Settings/Option/ValidationOption.php',
|
377 |
+
'WPDesk\\FCF\\Free\\Settings\\Page' => __DIR__ . '/../..' . '/src/Settings/Page.php',
|
378 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\RouteAbstract' => __DIR__ . '/../..' . '/src/Settings/Route/RouteAbstract.php',
|
379 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\RouteIntegration' => __DIR__ . '/../..' . '/src/Settings/Route/RouteIntegration.php',
|
380 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\RouteInterface' => __DIR__ . '/../..' . '/src/Settings/Route/RouteInterface.php',
|
381 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\UpdateFormFieldsRoute' => __DIR__ . '/../..' . '/src/Settings/Route/UpdateFormFieldsRoute.php',
|
382 |
+
'WPDesk\\FCF\\Free\\Settings\\Route\\UpdateFormSettingsRoute' => __DIR__ . '/../..' . '/src/Settings/Route/UpdateFormSettingsRoute.php',
|
383 |
+
'WPDesk\\FCF\\Free\\Settings\\Routes' => __DIR__ . '/../..' . '/src/Settings/Routes.php',
|
384 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\AdvancedTab' => __DIR__ . '/../..' . '/src/Settings/Tab/AdvancedTab.php',
|
385 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\AppearanceTab' => __DIR__ . '/../..' . '/src/Settings/Tab/AppearanceTab.php',
|
386 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\DisplayTab' => __DIR__ . '/../..' . '/src/Settings/Tab/DisplayTab.php',
|
387 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\GeneralTab' => __DIR__ . '/../..' . '/src/Settings/Tab/GeneralTab.php',
|
388 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\LogicTab' => __DIR__ . '/../..' . '/src/Settings/Tab/LogicTab.php',
|
389 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\PricingTab' => __DIR__ . '/../..' . '/src/Settings/Tab/PricingTab.php',
|
390 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\TabAbstract' => __DIR__ . '/../..' . '/src/Settings/Tab/TabAbstract.php',
|
391 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\TabIntegration' => __DIR__ . '/../..' . '/src/Settings/Tab/TabIntegration.php',
|
392 |
+
'WPDesk\\FCF\\Free\\Settings\\Tab\\TabInterface' => __DIR__ . '/../..' . '/src/Settings/Tab/TabInterface.php',
|
393 |
+
'WPDesk\\FCF\\Free\\Settings\\Tabs' => __DIR__ . '/../..' . '/src/Settings/Tabs.php',
|
394 |
'WPDesk\\Helper\\HelperAsLibrary' => __DIR__ . '/..' . '/wpdesk/wp-wpdesk-helper-override/src/Helper/HelperAsLibrary.php',
|
395 |
'WPDesk_Flexible_Checkout_Fields_Tracker' => __DIR__ . '/../..' . '/classes/tracker.php',
|
396 |
'WPDesk_Tracker_Data_Provider' => __DIR__ . '/..' . '/wpdesk/wp-wpdesk-helper-override/src/Interop/Tracker/class-wpdesk-tracker-data-provider.php',
|
402 |
public static function getInitializer(ClassLoader $loader)
|
403 |
{
|
404 |
return \Closure::bind(function () use ($loader) {
|
405 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit165e44688066e6f2cb362bbca1465b58::$prefixLengthsPsr4;
|
406 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit165e44688066e6f2cb362bbca1465b58::$prefixDirsPsr4;
|
407 |
+
$loader->classMap = ComposerStaticInit165e44688066e6f2cb362bbca1465b58::$classMap;
|
408 |
|
409 |
}, null, ClassLoader::class);
|
410 |
}
|
vendor_prefixed/monolog/monolog/composer.json
CHANGED
@@ -30,7 +30,7 @@
|
|
30 |
"php-amqplib\/php-amqplib": "~2.4",
|
31 |
"swiftmailer\/swiftmailer": "^5.3|^6.0",
|
32 |
"php-console\/php-console": "^3.1.3",
|
33 |
-
"
|
34 |
},
|
35 |
"suggest": {
|
36 |
"graylog2\/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
@@ -58,16 +58,9 @@
|
|
58 |
"provide": {
|
59 |
"psr\/log-implementation": "1.0.0"
|
60 |
},
|
61 |
-
"extra": {
|
62 |
-
"branch-alias": {
|
63 |
-
"dev-master": "2.0.x-dev"
|
64 |
-
}
|
65 |
-
},
|
66 |
"scripts": {
|
67 |
-
"test":
|
68 |
-
|
69 |
-
"phpunit"
|
70 |
-
]
|
71 |
},
|
72 |
"lock": false
|
73 |
}
|
30 |
"php-amqplib\/php-amqplib": "~2.4",
|
31 |
"swiftmailer\/swiftmailer": "^5.3|^6.0",
|
32 |
"php-console\/php-console": "^3.1.3",
|
33 |
+
"phpstan\/phpstan": "^0.12.59"
|
34 |
},
|
35 |
"suggest": {
|
36 |
"graylog2\/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
58 |
"provide": {
|
59 |
"psr\/log-implementation": "1.0.0"
|
60 |
},
|
|
|
|
|
|
|
|
|
|
|
61 |
"scripts": {
|
62 |
+
"test": "vendor\/bin\/phpunit",
|
63 |
+
"phpstan": "vendor\/bin\/phpstan analyse"
|
|
|
|
|
64 |
},
|
65 |
"lock": false
|
66 |
}
|
vendor_prefixed/monolog/monolog/src/Monolog/ErrorHandler.php
CHANGED
@@ -54,6 +54,7 @@ class ErrorHandler
|
|
54 |
{
|
55 |
//Forces the autoloader to run for LogLevel. Fixes an autoload issue at compile-time on PHP5.3. See https://github.com/Seldaek/monolog/pull/929
|
56 |
\class_exists('FcfVendor\\Psr\\Log\\LogLevel', \true);
|
|
|
57 |
$handler = new static($logger);
|
58 |
if ($errorLevelMap !== \false) {
|
59 |
$handler->registerErrorHandler($errorLevelMap);
|
54 |
{
|
55 |
//Forces the autoloader to run for LogLevel. Fixes an autoload issue at compile-time on PHP5.3. See https://github.com/Seldaek/monolog/pull/929
|
56 |
\class_exists('FcfVendor\\Psr\\Log\\LogLevel', \true);
|
57 |
+
/** @phpstan-ignore-next-line */
|
58 |
$handler = new static($logger);
|
59 |
if ($errorLevelMap !== \false) {
|
60 |
$handler->registerErrorHandler($errorLevelMap);
|
vendor_prefixed/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php
CHANGED
@@ -67,6 +67,7 @@ class DynamoDbHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandl
|
|
67 |
if ($this->version === 3) {
|
68 |
$formatted = $this->marshaler->marshalItem($filtered);
|
69 |
} else {
|
|
|
70 |
$formatted = $this->client->formatAttributes($filtered);
|
71 |
}
|
72 |
$this->client->putItem(array('TableName' => $this->table, 'Item' => $formatted));
|
67 |
if ($this->version === 3) {
|
68 |
$formatted = $this->marshaler->marshalItem($filtered);
|
69 |
} else {
|
70 |
+
/** @phpstan-ignore-next-line */
|
71 |
$formatted = $this->client->formatAttributes($filtered);
|
72 |
}
|
73 |
$this->client->putItem(array('TableName' => $this->table, 'Item' => $formatted));
|
vendor_prefixed/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php
CHANGED
@@ -61,7 +61,7 @@ class FirePHPHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandle
|
|
61 |
*
|
62 |
* @see createHeader()
|
63 |
* @param array $record
|
64 |
-
* @return
|
65 |
*/
|
66 |
protected function createRecordHeader(array $record)
|
67 |
{
|
61 |
*
|
62 |
* @see createHeader()
|
63 |
* @param array $record
|
64 |
+
* @return array
|
65 |
*/
|
66 |
protected function createRecordHeader(array $record)
|
67 |
{
|
vendor_prefixed/monolog/monolog/src/Monolog/Handler/GelfHandler.php
CHANGED
@@ -25,7 +25,7 @@ use FcfVendor\Monolog\Formatter\GelfMessageFormatter;
|
|
25 |
class GelfHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandler
|
26 |
{
|
27 |
/**
|
28 |
-
* @var Publisher the publisher object that sends the message to the server
|
29 |
*/
|
30 |
protected $publisher;
|
31 |
/**
|
25 |
class GelfHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandler
|
26 |
{
|
27 |
/**
|
28 |
+
* @var Publisher|PublisherInterface|IMessagePublisher the publisher object that sends the message to the server
|
29 |
*/
|
30 |
protected $publisher;
|
31 |
/**
|
vendor_prefixed/monolog/monolog/src/Monolog/Handler/HipChatHandler.php
CHANGED
@@ -228,10 +228,10 @@ class HipChatHandler extends \FcfVendor\Monolog\Handler\SocketHandler
|
|
228 |
* will be the highest level from the given records. Datetime will be taken
|
229 |
* from the first record.
|
230 |
*
|
231 |
-
* @param $records
|
232 |
* @return array
|
233 |
*/
|
234 |
-
private function combineRecords($records)
|
235 |
{
|
236 |
$batchRecord = null;
|
237 |
$batchRecords = array();
|
228 |
* will be the highest level from the given records. Datetime will be taken
|
229 |
* from the first record.
|
230 |
*
|
231 |
+
* @param array $records
|
232 |
* @return array
|
233 |
*/
|
234 |
+
private function combineRecords(array $records)
|
235 |
{
|
236 |
$batchRecord = null;
|
237 |
$batchRecords = array();
|
vendor_prefixed/monolog/monolog/src/Monolog/Handler/RavenHandler.php
CHANGED
@@ -36,7 +36,7 @@ class RavenHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandler
|
|
36 |
*/
|
37 |
protected $ravenClient;
|
38 |
/**
|
39 |
-
* @var
|
40 |
*/
|
41 |
protected $batchFormatter;
|
42 |
/**
|
36 |
*/
|
37 |
protected $ravenClient;
|
38 |
/**
|
39 |
+
* @var FormatterInterface The formatter to use for the logs generated via handleBatch()
|
40 |
*/
|
41 |
protected $batchFormatter;
|
42 |
/**
|
vendor_prefixed/monolog/monolog/src/Monolog/Handler/RedisHandler.php
CHANGED
@@ -33,7 +33,7 @@ class RedisHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandler
|
|
33 |
* @param string $key The key name to push records to
|
34 |
* @param int $level The minimum logging level at which this handler will be triggered
|
35 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
36 |
-
* @param int
|
37 |
*/
|
38 |
public function __construct($redis, $key, $level = \FcfVendor\Monolog\Logger::DEBUG, $bubble = \true, $capSize = \false)
|
39 |
{
|
33 |
* @param string $key The key name to push records to
|
34 |
* @param int $level The minimum logging level at which this handler will be triggered
|
35 |
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
36 |
+
* @param int|false $capSize Number of entries to limit list size to
|
37 |
*/
|
38 |
public function __construct($redis, $key, $level = \FcfVendor\Monolog\Logger::DEBUG, $bubble = \true, $capSize = \false)
|
39 |
{
|
vendor_prefixed/monolog/monolog/src/Monolog/Handler/StreamHandler.php
CHANGED
@@ -137,7 +137,7 @@ class StreamHandler extends \FcfVendor\Monolog\Handler\AbstractProcessingHandler
|
|
137 |
if ('file://' === \substr($stream, 0, 7)) {
|
138 |
return \dirname(\substr($stream, 7));
|
139 |
}
|
140 |
-
return;
|
141 |
}
|
142 |
private function createDir()
|
143 |
{
|
137 |
if ('file://' === \substr($stream, 0, 7)) {
|
138 |
return \dirname(\substr($stream, 7));
|
139 |
}
|
140 |
+
return null;
|
141 |
}
|
142 |
private function createDir()
|
143 |
{
|
vendor_prefixed/monolog/monolog/src/Monolog/Logger.php
CHANGED
@@ -444,7 +444,7 @@ class Logger implements \Psr\Log\LoggerInterface, \FcfVendor\Monolog\ResettableI
|
|
444 |
/**
|
445 |
* Converts PSR-3 levels to Monolog ones if necessary
|
446 |
*
|
447 |
-
* @param string|int Level number (monolog) or name (PSR-3)
|
448 |
* @return int
|
449 |
*/
|
450 |
public static function toMonologLevel($level)
|
444 |
/**
|
445 |
* Converts PSR-3 levels to Monolog ones if necessary
|
446 |
*
|
447 |
+
* @param string|int $level Level number (monolog) or name (PSR-3)
|
448 |
* @return int
|
449 |
*/
|
450 |
public static function toMonologLevel($level)
|
vendor_prefixed/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php
CHANGED
@@ -20,6 +20,20 @@ use FcfVendor\Monolog\Utils;
|
|
20 |
*/
|
21 |
class PsrLogMessageProcessor implements \FcfVendor\Monolog\Processor\ProcessorInterface
|
22 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
/**
|
24 |
* @param array $record
|
25 |
* @return array
|
@@ -31,12 +45,23 @@ class PsrLogMessageProcessor implements \FcfVendor\Monolog\Processor\ProcessorIn
|
|
31 |
}
|
32 |
$replacements = array();
|
33 |
foreach ($record['context'] as $key => $val) {
|
|
|
|
|
|
|
|
|
34 |
if (\is_null($val) || \is_scalar($val) || \is_object($val) && \method_exists($val, "__toString")) {
|
35 |
-
$replacements[
|
|
|
|
|
36 |
} elseif (\is_object($val)) {
|
37 |
-
$replacements[
|
|
|
|
|
38 |
} else {
|
39 |
-
$replacements[
|
|
|
|
|
|
|
40 |
}
|
41 |
}
|
42 |
$record['message'] = \strtr($record['message'], $replacements);
|
20 |
*/
|
21 |
class PsrLogMessageProcessor implements \FcfVendor\Monolog\Processor\ProcessorInterface
|
22 |
{
|
23 |
+
const SIMPLE_DATE = "Y-m-d\\TH:i:s.uP";
|
24 |
+
/** @var string|null */
|
25 |
+
private $dateFormat;
|
26 |
+
/** @var bool */
|
27 |
+
private $removeUsedContextFields;
|
28 |
+
/**
|
29 |
+
* @param string|null $dateFormat The format of the timestamp: one supported by DateTime::format
|
30 |
+
* @param bool $removeUsedContextFields If set to true the fields interpolated into message gets unset
|
31 |
+
*/
|
32 |
+
public function __construct($dateFormat = null, $removeUsedContextFields = \false)
|
33 |
+
{
|
34 |
+
$this->dateFormat = $dateFormat;
|
35 |
+
$this->removeUsedContextFields = $removeUsedContextFields;
|
36 |
+
}
|
37 |
/**
|
38 |
* @param array $record
|
39 |
* @return array
|
45 |
}
|
46 |
$replacements = array();
|
47 |
foreach ($record['context'] as $key => $val) {
|
48 |
+
$placeholder = '{' . $key . '}';
|
49 |
+
if (\strpos($record['message'], $placeholder) === \false) {
|
50 |
+
continue;
|
51 |
+
}
|
52 |
if (\is_null($val) || \is_scalar($val) || \is_object($val) && \method_exists($val, "__toString")) {
|
53 |
+
$replacements[$placeholder] = $val;
|
54 |
+
} elseif ($val instanceof \DateTime) {
|
55 |
+
$replacements[$placeholder] = $val->format($this->dateFormat ?: static::SIMPLE_DATE);
|
56 |
} elseif (\is_object($val)) {
|
57 |
+
$replacements[$placeholder] = '[object ' . \FcfVendor\Monolog\Utils::getClass($val) . ']';
|
58 |
+
} elseif (\is_array($val)) {
|
59 |
+
$replacements[$placeholder] = 'array' . \FcfVendor\Monolog\Utils::jsonEncode($val, null, \true);
|
60 |
} else {
|
61 |
+
$replacements[$placeholder] = '[' . \gettype($val) . ']';
|
62 |
+
}
|
63 |
+
if ($this->removeUsedContextFields) {
|
64 |
+
unset($record['context'][$key]);
|
65 |
}
|
66 |
}
|
67 |
$record['message'] = \strtr($record['message'], $replacements);
|
vendor_prefixed/monolog/monolog/src/Monolog/Utils.php
CHANGED
@@ -147,7 +147,7 @@ class Utils
|
|
147 |
* Function converts the input in place in the passed variable so that it
|
148 |
* can be used as a callback for array_walk_recursive.
|
149 |
*
|
150 |
-
* @param mixed
|
151 |
* @private
|
152 |
*/
|
153 |
public static function detectAndCleanUtf8(&$data)
|
147 |
* Function converts the input in place in the passed variable so that it
|
148 |
* can be used as a callback for array_walk_recursive.
|
149 |
*
|
150 |
+
* @param mixed $data Input to check and convert if needed, passed by ref
|
151 |
* @private
|
152 |
*/
|
153 |
public static function detectAndCleanUtf8(&$data)
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/CommandProvider.php
CHANGED
@@ -4,6 +4,7 @@ namespace FcfVendor\WPDesk\Composer\Codeception;
|
|
4 |
|
5 |
use FcfVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests;
|
6 |
use FcfVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests;
|
|
|
7 |
/**
|
8 |
* Links plugin commands handlers to composer.
|
9 |
*/
|
@@ -11,6 +12,6 @@ class CommandProvider implements \FcfVendor\Composer\Plugin\Capability\CommandPr
|
|
11 |
{
|
12 |
public function getCommands()
|
13 |
{
|
14 |
-
return [new \FcfVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests(), new \FcfVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests()];
|
15 |
}
|
16 |
}
|
4 |
|
5 |
use FcfVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests;
|
6 |
use FcfVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests;
|
7 |
+
use FcfVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTests;
|
8 |
/**
|
9 |
* Links plugin commands handlers to composer.
|
10 |
*/
|
12 |
{
|
13 |
public function getCommands()
|
14 |
{
|
15 |
+
return [new \FcfVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests(), new \FcfVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests(), new \FcfVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTests()];
|
16 |
}
|
17 |
}
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php
CHANGED
@@ -41,7 +41,7 @@ class RunCodeceptionTests extends \FcfVendor\WPDesk\Composer\Codeception\Command
|
|
41 |
\mkdir($cache_dir, 0777, \true);
|
42 |
}
|
43 |
\putenv('TMP_CACHE_DIR=' . $cache_dir);
|
44 |
-
$codecept_param = ' --html --verbose ';
|
45 |
$additionalParameters = ' -e CODECEPT_PARAM="' . $codecept_param . '" ';
|
46 |
if (!empty($singleTest) && 'all' !== $singleTest) {
|
47 |
$additionalParameters .= ' -e CODECEPT_PARAM="' . $codecept_param . ' acceptance ' . $singleTest . '" ';
|
41 |
\mkdir($cache_dir, 0777, \true);
|
42 |
}
|
43 |
\putenv('TMP_CACHE_DIR=' . $cache_dir);
|
44 |
+
$codecept_param = ' --html --verbose -f ';
|
45 |
$additionalParameters = ' -e CODECEPT_PARAM="' . $codecept_param . '" ';
|
46 |
if (!empty($singleTest) && 'all' !== $singleTest) {
|
47 |
$additionalParameters .= ' -e CODECEPT_PARAM="' . $codecept_param . ' acceptance ' . $singleTest . '" ';
|
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace FcfVendor\WPDesk\Composer\Codeception\Commands;
|
4 |
+
|
5 |
+
use FcfVendor\Symfony\Component\Console\Input\InputArgument;
|
6 |
+
use FcfVendor\Symfony\Component\Console\Input\InputInterface;
|
7 |
+
use FcfVendor\Symfony\Component\Console\Output\OutputInterface;
|
8 |
+
/**
|
9 |
+
* Codeception tests run command.
|
10 |
+
*
|
11 |
+
* @package WPDesk\Composer\Codeception\Commands
|
12 |
+
*/
|
13 |
+
class RunLocalCodeceptionTests extends \FcfVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests
|
14 |
+
{
|
15 |
+
/**
|
16 |
+
* Configure command.
|
17 |
+
*/
|
18 |
+
protected function configure()
|
19 |
+
{
|
20 |
+
parent::configure();
|
21 |
+
$this->setName('run-local-codeception-tests')->setDescription('Run local codeception tests.')->setDefinition(array(new \FcfVendor\Symfony\Component\Console\Input\InputArgument(self::SINGLE, \FcfVendor\Symfony\Component\Console\Input\InputArgument::OPTIONAL, 'Name of Single test to run.', ' '), new \FcfVendor\Symfony\Component\Console\Input\InputArgument(self::WOOCOMMERCE_VERSION, \FcfVendor\Symfony\Component\Console\Input\InputArgument::OPTIONAL, 'WooCommerce version to install.', '')));
|
22 |
+
}
|
23 |
+
/**
|
24 |
+
* Execute command.
|
25 |
+
*
|
26 |
+
* @param InputInterface $input
|
27 |
+
* @param OutputInterface $output
|
28 |
+
* @return void
|
29 |
+
*/
|
30 |
+
protected function execute(\FcfVendor\Symfony\Component\Console\Input\InputInterface $input, \FcfVendor\Symfony\Component\Console\Output\OutputInterface $output)
|
31 |
+
{
|
32 |
+
$singleTest = $input->getArgument(self::SINGLE);
|
33 |
+
$wooVersion = $input->getArgument(self::WOOCOMMERCE_VERSION);
|
34 |
+
$runLocalTests = 'sh ./vendor/wpdesk/wp-codeception/scripts/run_local_tests.sh ' . $singleTest . ' ' . $wooVersion;
|
35 |
+
$this->execAndOutput($runLocalTests, $output);
|
36 |
+
}
|
37 |
+
}
|
vendor_prefixed/wpdesk/wp-plugin-flow/composer.json
CHANGED
@@ -8,11 +8,11 @@
|
|
8 |
],
|
9 |
"require": {
|
10 |
"php": ">=5.6",
|
11 |
-
"wpdesk\/wp-basic-requirements": "^3",
|
12 |
-
"wpdesk\/wp-builder": "^1.4",
|
13 |
-
"wpdesk\/wp-wpdesk-license": "^2.
|
14 |
-
"wpdesk\/wp-wpdesk-helper": "^2.
|
15 |
-
"wpdesk\/wp-wpdesk-tracker": "^2.
|
16 |
},
|
17 |
"require-dev": {
|
18 |
"phpunit\/phpunit": "<7",
|
8 |
],
|
9 |
"require": {
|
10 |
"php": ">=5.6",
|
11 |
+
"wpdesk\/wp-basic-requirements": "^3.2.3",
|
12 |
+
"wpdesk\/wp-builder": "^1.4.4",
|
13 |
+
"wpdesk\/wp-wpdesk-license": "^2.10.1",
|
14 |
+
"wpdesk\/wp-wpdesk-helper": "^2.4",
|
15 |
+
"wpdesk\/wp-wpdesk-tracker": "^2.3.1"
|
16 |
},
|
17 |
"require-dev": {
|
18 |
"phpunit\/phpunit": "<7",
|
vendor_prefixed/wpdesk/wp-plugin-flow/src/Initialization/HelperInstanceAsFilterTrait.php
CHANGED
@@ -19,7 +19,7 @@ trait HelperInstanceAsFilterTrait
|
|
19 |
*/
|
20 |
private function get_helper_version()
|
21 |
{
|
22 |
-
return
|
23 |
}
|
24 |
/**
|
25 |
* Returns filter action name for helper instance
|
19 |
*/
|
20 |
private function get_helper_version()
|
21 |
{
|
22 |
+
return 5;
|
23 |
}
|
24 |
/**
|
25 |
* Returns filter action name for helper instance
|
vendor_prefixed/wpdesk/wp-wpdesk-license/src/ApiManager/class-wc-api-manager.php
CHANGED
@@ -96,7 +96,7 @@ if (!\class_exists('FcfVendor\\WPDesk_API_Manager_With_Update_Flag')) {
|
|
96 |
*
|
97 |
* @since 1.2
|
98 |
*/
|
99 |
-
|
100 |
{
|
101 |
}
|
102 |
public function __construct($upgrade_url, $version, $name, $product_id, $menu_title, $title, $plugin_file, $plugin_dir, $config_uri, $hook_to_updates = \true)
|
96 |
*
|
97 |
* @since 1.2
|
98 |
*/
|
99 |
+
public function __wakeup()
|
100 |
{
|
101 |
}
|
102 |
public function __construct($upgrade_url, $version, $name, $product_id, $menu_title, $title, $plugin_file, $plugin_dir, $config_uri, $hook_to_updates = \true)
|
vendor_prefixed/wpdesk/wp-wpdesk-license/src/Page/License/Action/LicenseActivation.php
CHANGED
@@ -164,7 +164,7 @@ class LicenseActivation implements \FcfVendor\WPDesk\License\Page\Action
|
|
164 |
break;
|
165 |
}
|
166 |
}
|
167 |
-
if (\true === $activate_results['activated']) {
|
168 |
$this->activate_and_save_data($plugin_api_manager, $activation_email, $api_key);
|
169 |
$this->show_activation_message($activate_results);
|
170 |
} else {
|
164 |
break;
|
165 |
}
|
166 |
}
|
167 |
+
if (isset($activate_results['activated']) && \true === $activate_results['activated']) {
|
168 |
$this->activate_and_save_data($plugin_api_manager, $activation_email, $api_key);
|
169 |
$this->show_activation_message($activate_results);
|
170 |
} else {
|
vendor_prefixed/wpdesk/wp-wpdesk-license/src/ServerAddressRepository.php
CHANGED
@@ -36,7 +36,13 @@ class ServerAddressRepository
|
|
36 |
public function get_server_urls()
|
37 |
{
|
38 |
// PL version should be default for most plugins
|
39 |
-
$servers = ['https://www.wpdesk.pl', 'https://www.wpdesk.net'
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
if ($this->is_magic_plugin($this->product_id)) {
|
41 |
$servers = \array_reverse($servers);
|
42 |
// set magic server as first to check
|
@@ -59,6 +65,17 @@ class ServerAddressRepository
|
|
59 |
{
|
60 |
return \stripos($product_id, 'ShopMagic') !== \false;
|
61 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
/**
|
63 |
* Is product id of a Flexible Shipping plugin?
|
64 |
*
|
36 |
public function get_server_urls()
|
37 |
{
|
38 |
// PL version should be default for most plugins
|
39 |
+
$servers = ['https://www.wpdesk.pl', 'https://www.wpdesk.net'];
|
40 |
+
$servers[] = 'https://flexibleinvoices.com';
|
41 |
+
if ($this->is_invoice_product($this->product_id)) {
|
42 |
+
$servers = \array_reverse($servers);
|
43 |
+
// set invoice server as first to check
|
44 |
+
}
|
45 |
+
$servers[] = 'https://shopmagic.app';
|
46 |
if ($this->is_magic_plugin($this->product_id)) {
|
47 |
$servers = \array_reverse($servers);
|
48 |
// set magic server as first to check
|
65 |
{
|
66 |
return \stripos($product_id, 'ShopMagic') !== \false;
|
67 |
}
|
68 |
+
/**
|
69 |
+
* Is product id of a ShopMagic Plugin?
|
70 |
+
*
|
71 |
+
* @param string $product_id
|
72 |
+
*
|
73 |
+
* @return bool
|
74 |
+
*/
|
75 |
+
private function is_invoice_product($product_id)
|
76 |
+
{
|
77 |
+
return \stripos($product_id, 'Invoices') !== \false;
|
78 |
+
}
|
79 |
/**
|
80 |
* Is product id of a Flexible Shipping plugin?
|
81 |
*
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/class-wpdesk-tracker.php
CHANGED
@@ -177,13 +177,9 @@ if (!\class_exists('FcfVendor\\WPDesk_Tracker')) {
|
|
177 |
if (!\is_array($options)) {
|
178 |
$options = array();
|
179 |
}
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
\update_option('wpdesk_helper_options', $options);
|
184 |
-
} else {
|
185 |
-
\update_option('wpdesk_tracker_notice', '2');
|
186 |
-
}
|
187 |
}
|
188 |
}
|
189 |
public function update_option_wpdesk_helper_options($old_value, $value, $option)
|
177 |
if (!\is_array($options)) {
|
178 |
$options = array();
|
179 |
}
|
180 |
+
\update_option('wpdesk_tracker_notice', 'dismiss_all');
|
181 |
+
$options['wpdesk_tracker_agree'] = '0';
|
182 |
+
\update_option('wpdesk_helper_options', $options);
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
}
|
185 |
public function update_option_wpdesk_helper_options($old_value, $value, $option)
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/views/tracker-notice.php
CHANGED
@@ -46,7 +46,6 @@ if (empty($notice_content)) {
|
|
46 |
<script type="text/javascript">
|
47 |
jQuery(document).on('click', '#wpdesk_tracker_notice .notice-dismiss',function(e){
|
48 |
e.preventDefault();
|
49 |
-
console.log('dismiss');
|
50 |
jQuery.ajax( '<?php
|
51 |
echo \admin_url('admin-ajax.php');
|
52 |
?>',
|
@@ -61,7 +60,6 @@ echo \admin_url('admin-ajax.php');
|
|
61 |
})
|
62 |
jQuery(document).on('click', '#wpdesk_tracker_allow_button_notice',function(e){
|
63 |
e.preventDefault();
|
64 |
-
console.log('allow');
|
65 |
jQuery.ajax( '<?php
|
66 |
echo \admin_url('admin-ajax.php');
|
67 |
?>',
|
46 |
<script type="text/javascript">
|
47 |
jQuery(document).on('click', '#wpdesk_tracker_notice .notice-dismiss',function(e){
|
48 |
e.preventDefault();
|
|
|
49 |
jQuery.ajax( '<?php
|
50 |
echo \admin_url('admin-ajax.php');
|
51 |
?>',
|
60 |
})
|
61 |
jQuery(document).on('click', '#wpdesk_tracker_allow_button_notice',function(e){
|
62 |
e.preventDefault();
|
|
|
63 |
jQuery.ajax( '<?php
|
64 |
echo \admin_url('admin-ajax.php');
|
65 |
?>',
|
views/settings-field-advanced-js.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
|
3 |
-
|
4 |
-
ob_start();
|
5 |
-
include __DIR__ . '/settings-field-advanced.php';
|
6 |
-
$content = ob_get_clean();
|
7 |
-
$lines = preg_split( "/\R/", $content );
|
8 |
-
?>
|
9 |
-
<?php foreach ( $lines as $line ) : ?>
|
10 |
-
html += '<?php echo $line; ?>';
|
11 |
-
<?php endforeach; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/settings-field-advanced.php
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
|
2 |
-
|
3 |
-
<div class="field-settings-tab-container field-settings-advanced" style="display:none;">
|
4 |
-
<div>
|
5 |
-
<?php
|
6 |
-
echo sprintf(
|
7 |
-
__( '%sGo PRO →%s to add conditional logic based on products/categories, fields and shipping method.' , 'flexible-checkout-fields' ),
|
8 |
-
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-advanced-upgrade' ) ) . '" target="_blank">',
|
9 |
-
'</a>'
|
10 |
-
);
|
11 |
-
?>
|
12 |
-
</div>
|
13 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/settings-field-pricing-js.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
|
3 |
-
|
4 |
-
ob_start();
|
5 |
-
include __DIR__ . '/settings-field-pricing.php';
|
6 |
-
$content = ob_get_clean();
|
7 |
-
$lines = preg_split( "/\R/", $content );
|
8 |
-
?>
|
9 |
-
<?php foreach ( $lines as $line ) : ?>
|
10 |
-
html += '<?php echo $line; ?>';
|
11 |
-
<?php endforeach; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/settings-field-pricing.php
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
|
2 |
-
|
3 |
-
<div class="field-settings-tab-container field-settings-pricing" style="display:none;">
|
4 |
-
<div>
|
5 |
-
<?php
|
6 |
-
echo sprintf(
|
7 |
-
__( '%sGo PRO →%s In this tab it is possible to add a fixed or percentage price to the field and set the tax on this price.' , 'flexible-checkout-fields' ),
|
8 |
-
'<a href="' . esc_url( apply_filters( 'flexible_checkout_fields/short_url', '#', 'fcf-settings-field-tab-pricing-upgrade' ) ) . '" target="_blank">',
|
9 |
-
'</a>'
|
10 |
-
);
|
11 |
-
?>
|
12 |
-
</div>
|
13 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|