Version Description
Download this release
Release Info
Code changes from version 1.9.7 to 1.9.8
- admin/admin-init.php +19 -6
- admin/include/admin-setting.php +3 -1512
- admin/include/class.settings-api.php +682 -682
- admin/include/settings-panel/assets/css/admin.css +715 -0
- admin/include/settings-panel/assets/css/sweetalert2.min.css +1 -0
- admin/include/settings-panel/assets/fonts/htmega.svg +16 -0
- admin/include/settings-panel/assets/fonts/htmega.ttf +0 -0
- admin/include/settings-panel/assets/fonts/htmega.woff +0 -0
- admin/include/settings-panel/assets/images/icons/caret-down.png +0 -0
- admin/include/settings-panel/assets/images/icons/caret-up.png +0 -0
- admin/include/settings-panel/assets/images/icons/check.png +0 -0
- admin/include/settings-panel/assets/images/icons/plus.png +0 -0
- admin/include/settings-panel/assets/images/icons/pro-badge.png +0 -0
- admin/include/settings-panel/assets/images/icons/rating.png +0 -0
- admin/include/settings-panel/assets/js/admin.js +1078 -0
- admin/include/settings-panel/assets/js/admin.min.js +1 -0
- admin/include/settings-panel/assets/js/runtime.js +182 -0
- admin/include/settings-panel/assets/js/runtime.min.js +1 -0
- admin/include/settings-panel/assets/js/vendors.js +106 -0
admin/admin-init.php
CHANGED
@@ -7,6 +7,11 @@ class HTMega_Admin_Setting{
|
|
7 |
public function __construct(){
|
8 |
add_action( 'admin_enqueue_scripts', [ $this, 'htmega_enqueue_admin_scripts' ] );
|
9 |
$this->HTMega_Admin_Settings_page();
|
|
|
|
|
|
|
|
|
|
|
10 |
}
|
11 |
|
12 |
/*
|
@@ -14,14 +19,15 @@ class HTMega_Admin_Setting{
|
|
14 |
*/
|
15 |
public function HTMega_Admin_Settings_page() {
|
16 |
require_once('include/class.diagnostic-data.php');
|
17 |
-
require_once('include/class.settings-api.php');
|
18 |
require_once('include/template-library.php');
|
19 |
require_once ('include/class.htmega-elementor-template-library.php' );
|
20 |
require_once ('include/class.library-source.php' );
|
21 |
-
if(
|
22 |
-
require_once
|
23 |
-
}
|
24 |
-
|
|
|
|
|
25 |
}
|
26 |
|
27 |
// HT Builder
|
@@ -53,7 +59,7 @@ class HTMega_Admin_Setting{
|
|
53 |
* Enqueue admin scripts
|
54 |
*/
|
55 |
public function htmega_enqueue_admin_scripts( $hook ){
|
56 |
-
if( $hook === 'htmega-addons_page_htmega_addons_templates_library' || $hook === '
|
57 |
// wp core styles
|
58 |
wp_enqueue_style( 'wp-jquery-ui-dialog' );
|
59 |
wp_enqueue_style( 'htmega-admin' );
|
@@ -61,9 +67,16 @@ class HTMega_Admin_Setting{
|
|
61 |
// wp core scripts
|
62 |
wp_enqueue_script( 'jquery-ui-dialog' );
|
63 |
wp_enqueue_script( 'htmega-admin' );
|
|
|
64 |
}
|
65 |
|
66 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
}
|
69 |
|
7 |
public function __construct(){
|
8 |
add_action( 'admin_enqueue_scripts', [ $this, 'htmega_enqueue_admin_scripts' ] );
|
9 |
$this->HTMega_Admin_Settings_page();
|
10 |
+
|
11 |
+
// HT Mega Pro version check and menu remove action
|
12 |
+
if( is_plugin_active('htmega-pro/htmega_pro.php') && ( version_compare( HTMEGA_VERSION_PRO, '1.4.3' ) <= 0 ) ){
|
13 |
+
add_action( 'admin_init', [ $this, 'htmega_un_register_admin_menu' ] );
|
14 |
+
}
|
15 |
}
|
16 |
|
17 |
/*
|
19 |
*/
|
20 |
public function HTMega_Admin_Settings_page() {
|
21 |
require_once('include/class.diagnostic-data.php');
|
|
|
22 |
require_once('include/template-library.php');
|
23 |
require_once ('include/class.htmega-elementor-template-library.php' );
|
24 |
require_once ('include/class.library-source.php' );
|
25 |
+
if( ! class_exists( 'HTMega_Settings_API' ) ) {
|
26 |
+
require_once ( HTMEGA_ADDONS_PL_PATH . '/admin/include/class.settings-api.php' );
|
27 |
+
}
|
28 |
+
require_once( 'include/admin-setting.php' );
|
29 |
+
if( is_plugin_active('htmega-pro/htmega_pro.php') && defined( "HTMEGA_ADDONS_PL_PATH_PRO" ) && file_exists( HTMEGA_ADDONS_PL_PATH_PRO.'includes/admin/admin-setting.php' ) ){
|
30 |
+
require_once ( HTMEGA_ADDONS_PL_PATH_PRO.'includes/admin/admin-setting.php' );
|
31 |
}
|
32 |
|
33 |
// HT Builder
|
59 |
* Enqueue admin scripts
|
60 |
*/
|
61 |
public function htmega_enqueue_admin_scripts( $hook ){
|
62 |
+
if( $hook === 'htmega-addons_page_htmega_addons_templates_library' || $hook === 'toplevel_page_htmega-addons' || $hook === 'htmega-addons_page_htmeganotification' || $hook === 'htmega-addons_page_htmegamenubl' || $hook === 'htmega-addons_page_htmegabuilder' ){
|
63 |
// wp core styles
|
64 |
wp_enqueue_style( 'wp-jquery-ui-dialog' );
|
65 |
wp_enqueue_style( 'htmega-admin' );
|
67 |
// wp core scripts
|
68 |
wp_enqueue_script( 'jquery-ui-dialog' );
|
69 |
wp_enqueue_script( 'htmega-admin' );
|
70 |
+
|
71 |
}
|
72 |
|
73 |
}
|
74 |
+
/*
|
75 |
+
* Remove old HT Mega admin menu from (version 1.4.3 )
|
76 |
+
*/
|
77 |
+
public function htmega_un_register_admin_menu(){
|
78 |
+
remove_menu_page( 'htmega_addons_option_page' );
|
79 |
+
}
|
80 |
|
81 |
}
|
82 |
|
admin/include/admin-setting.php
CHANGED
@@ -2,1521 +2,12 @@
|
|
2 |
|
3 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
|
4 |
|
5 |
-
|
6 |
|
7 |
-
|
8 |
|
9 |
function __construct() {
|
10 |
-
|
11 |
-
|
12 |
-
add_action( 'admin_init', array( $this, 'admin_init' ) );
|
13 |
-
add_action( 'admin_menu', array( $this, 'admin_menu' ), 220 );
|
14 |
-
|
15 |
-
add_action( 'wsa_form_top_htmega_element_tabs', array( $this, 'html_element_toogle_button' ) );
|
16 |
-
add_action( 'wsa_form_top_htmega_thirdparty_element_tabs', array( $this, 'html_element_toogle_button' ) );
|
17 |
-
add_action( 'wsa_form_bottom_htmega_pro_vs_free_tabs', array( $this, 'popup_box' ) );
|
18 |
-
add_action( 'wsa_form_bottom_htmega_pro_vs_free_tabs', array( $this, 'pro_vs_free_html_tabs' ) );
|
19 |
-
}
|
20 |
-
|
21 |
-
function admin_init() {
|
22 |
-
|
23 |
-
//set the settings
|
24 |
-
$this->settings_api->set_sections( $this->htmega_admin_get_settings_sections() );
|
25 |
-
$this->settings_api->set_fields( $this->htmega_admin_fields_settings() );
|
26 |
-
|
27 |
-
//initialize settings
|
28 |
-
$this->settings_api->admin_init();
|
29 |
-
}
|
30 |
-
|
31 |
-
// Plugins menu Register
|
32 |
-
function admin_menu() {
|
33 |
-
|
34 |
-
$menu = 'add_menu_' . 'page';
|
35 |
-
$menu(
|
36 |
-
'htmega_panel',
|
37 |
-
esc_html__( 'HTMega Addons', 'htmega-addons' ),
|
38 |
-
esc_html__( 'HTMega Addons', 'htmega-addons' ),
|
39 |
-
'htmega_addons_option_page',
|
40 |
-
NULL,
|
41 |
-
HTMEGA_ADDONS_PL_URL.'admin/assets/images/menu-icon.png',
|
42 |
-
59
|
43 |
-
);
|
44 |
-
|
45 |
-
$hook = add_submenu_page(
|
46 |
-
'htmega_addons_option_page',
|
47 |
-
esc_html__( 'Settings', 'htmega-addons' ),
|
48 |
-
esc_html__( 'Settings', 'htmega-addons' ),
|
49 |
-
'manage_options',
|
50 |
-
'htmega_addons_options',
|
51 |
-
array ( $this, 'plugin_page' )
|
52 |
-
);
|
53 |
-
add_action( 'load-' . $hook, [ $this, 'init_hooks'] );
|
54 |
-
}
|
55 |
-
|
56 |
-
public function init_hooks() {
|
57 |
-
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
|
58 |
-
}
|
59 |
-
|
60 |
-
public function enqueue_scripts() {
|
61 |
-
wp_enqueue_style( 'htmega-admin-sttings-style' );
|
62 |
-
wp_enqueue_script( 'htmega-admin-sttings-script' );
|
63 |
-
}
|
64 |
-
|
65 |
-
// Options page Section register
|
66 |
-
function htmega_admin_get_settings_sections() {
|
67 |
-
$sections = array(
|
68 |
-
|
69 |
-
array(
|
70 |
-
'id' => 'htmega_pro_vs_free_tabs',
|
71 |
-
'title' => esc_html__( 'General', 'htmega-addons' )
|
72 |
-
),
|
73 |
-
|
74 |
-
array(
|
75 |
-
'id' => 'htmega_element_tabs',
|
76 |
-
'title' => esc_html__( 'Elements', 'htmega-addons' )
|
77 |
-
),
|
78 |
-
|
79 |
-
array(
|
80 |
-
'id' => 'htmega_thirdparty_element_tabs',
|
81 |
-
'title' => esc_html__( 'Third Party', 'htmega-addons' )
|
82 |
-
),
|
83 |
-
|
84 |
-
array(
|
85 |
-
'id' => 'htmega_general_tabs',
|
86 |
-
'title' => esc_html__( 'Other options', 'htmega-addons' )
|
87 |
-
),
|
88 |
-
|
89 |
-
array(
|
90 |
-
'id' => 'htmega_advance_element_tabs',
|
91 |
-
'title' => esc_html__( 'Advance Addons', 'htmega-addons' )
|
92 |
-
),
|
93 |
-
|
94 |
-
);
|
95 |
-
|
96 |
-
$advance_element = array();
|
97 |
-
if( htmega_get_option( 'themebuilder', 'htmega_advance_element_tabs', 'off' ) === 'on' ){
|
98 |
-
$advance_element[] = array(
|
99 |
-
'id' => 'htmega_themebuilder_element_tabs',
|
100 |
-
'title' => esc_html__( 'Theme Builder', 'htmega-addons' )
|
101 |
-
);
|
102 |
-
}
|
103 |
-
|
104 |
-
return array_merge( $sections, $advance_element );
|
105 |
-
}
|
106 |
-
|
107 |
-
// Options page field register
|
108 |
-
protected function htmega_admin_fields_settings() {
|
109 |
-
|
110 |
-
$settings_fields = array(
|
111 |
-
|
112 |
-
'htmega_pro_vs_free_tabs' => array(),
|
113 |
-
|
114 |
-
'htmega_element_tabs'=>array(
|
115 |
-
|
116 |
-
array(
|
117 |
-
'name' => 'accordion',
|
118 |
-
'label' => __( 'Accordion', 'htmega-addons' ),
|
119 |
-
'desc' => __( 'Accordion', 'htmega-addons' ),
|
120 |
-
'type' => 'checkbox',
|
121 |
-
'default' => 'on',
|
122 |
-
'class'=>'htmega_table_row',
|
123 |
-
),
|
124 |
-
|
125 |
-
array(
|
126 |
-
'name' => 'animatesectiontitle',
|
127 |
-
'label' => __( 'Animate Heading', 'htmega-addons' ),
|
128 |
-
'type' => 'checkbox',
|
129 |
-
'default'=>'on',
|
130 |
-
'class'=>'htmega_table_row',
|
131 |
-
),
|
132 |
-
|
133 |
-
array(
|
134 |
-
'name' => 'addbanner',
|
135 |
-
'label' => __( 'Ads Banner', 'htmega-addons' ),
|
136 |
-
'type' => 'checkbox',
|
137 |
-
'default'=>'on',
|
138 |
-
'class'=>'htmega_table_row',
|
139 |
-
),
|
140 |
-
|
141 |
-
array(
|
142 |
-
'name' => 'specialadsbanner',
|
143 |
-
'label' => __( 'Special Day Offer', 'htmega-addons' ),
|
144 |
-
'type' => 'checkbox',
|
145 |
-
'default'=>'on',
|
146 |
-
'class'=>'htmega_table_row',
|
147 |
-
),
|
148 |
-
|
149 |
-
array(
|
150 |
-
'name' => 'blockquote',
|
151 |
-
'label' => __( 'Blockquote', 'htmega-addons' ),
|
152 |
-
'type' => 'checkbox',
|
153 |
-
'default'=>'on',
|
154 |
-
'class'=>'htmega_table_row',
|
155 |
-
),
|
156 |
-
|
157 |
-
array(
|
158 |
-
'name' => 'brandlogo',
|
159 |
-
'label' => __( 'Brands', 'htmega-addons' ),
|
160 |
-
'type' => 'checkbox',
|
161 |
-
'default'=>'on',
|
162 |
-
'class'=>'htmega_table_row',
|
163 |
-
),
|
164 |
-
|
165 |
-
array(
|
166 |
-
'name' => 'businesshours',
|
167 |
-
'label' => __( 'Business Hours', 'htmega-addons' ),
|
168 |
-
'type' => 'checkbox',
|
169 |
-
'default'=>'on',
|
170 |
-
'class'=>'htmega_table_row',
|
171 |
-
),
|
172 |
-
|
173 |
-
array(
|
174 |
-
'name' => 'button',
|
175 |
-
'label' => __( 'Button', 'htmega-addons' ),
|
176 |
-
'type' => 'checkbox',
|
177 |
-
'default'=>'on',
|
178 |
-
'class'=>'htmega_table_row',
|
179 |
-
),
|
180 |
-
|
181 |
-
array(
|
182 |
-
'name' => 'calltoaction',
|
183 |
-
'label' => __( 'Call To Action', 'htmega-addons' ),
|
184 |
-
'type' => 'checkbox',
|
185 |
-
'default'=>'on',
|
186 |
-
'class'=>'htmega_table_row',
|
187 |
-
),
|
188 |
-
|
189 |
-
array(
|
190 |
-
'name' => 'carousel',
|
191 |
-
'label' => __( 'Carousel', 'htmega-addons' ),
|
192 |
-
'type' => 'checkbox',
|
193 |
-
'default'=>'on',
|
194 |
-
'class'=>'htmega_table_row',
|
195 |
-
),
|
196 |
-
|
197 |
-
array(
|
198 |
-
'name' => 'countdown',
|
199 |
-
'label' => __( 'Countdown', 'htmega-addons' ),
|
200 |
-
'type' => 'checkbox',
|
201 |
-
'default'=>'on',
|
202 |
-
'class'=>'htmega_table_row',
|
203 |
-
),
|
204 |
-
|
205 |
-
array(
|
206 |
-
'name' => 'counter',
|
207 |
-
'label' => __( 'Counter', 'htmega-addons' ),
|
208 |
-
'type' => 'checkbox',
|
209 |
-
'default'=>'on',
|
210 |
-
'class'=>'htmega_table_row',
|
211 |
-
),
|
212 |
-
|
213 |
-
array(
|
214 |
-
'name' => 'customevent',
|
215 |
-
'label' => __( 'Custom Event', 'htmega-addons' ),
|
216 |
-
'type' => 'checkbox',
|
217 |
-
'default'=>'on',
|
218 |
-
'class'=>'htmega_table_row',
|
219 |
-
),
|
220 |
-
|
221 |
-
array(
|
222 |
-
'name' => 'dualbutton',
|
223 |
-
'label' => __( 'Double Button', 'htmega-addons' ),
|
224 |
-
'type' => 'checkbox',
|
225 |
-
'default'=>'on',
|
226 |
-
'class'=>'htmega_table_row',
|
227 |
-
),
|
228 |
-
|
229 |
-
array(
|
230 |
-
'name' => 'dropcaps',
|
231 |
-
'label' => __( 'Dropcaps', 'htmega-addons' ),
|
232 |
-
'type' => 'checkbox',
|
233 |
-
'default'=>'on',
|
234 |
-
'class'=>'htmega_table_row',
|
235 |
-
),
|
236 |
-
|
237 |
-
array(
|
238 |
-
'name' => 'flipbox',
|
239 |
-
'label' => __( 'Flip Box', 'htmega-addons' ),
|
240 |
-
'type' => 'checkbox',
|
241 |
-
'default'=>'on',
|
242 |
-
'class'=>'htmega_table_row',
|
243 |
-
),
|
244 |
-
|
245 |
-
array(
|
246 |
-
'name' => 'galleryjustify',
|
247 |
-
'label' => __( 'Gallery Justify', 'htmega-addons' ),
|
248 |
-
'type' => 'checkbox',
|
249 |
-
'default'=>'on',
|
250 |
-
'class'=>'htmega_table_row',
|
251 |
-
),
|
252 |
-
|
253 |
-
array(
|
254 |
-
'name' => 'googlemap',
|
255 |
-
'label' => __( 'Google Map', 'htmega-addons' ),
|
256 |
-
'type' => 'checkbox',
|
257 |
-
'default'=>'on',
|
258 |
-
'class'=>'htmega_table_row',
|
259 |
-
),
|
260 |
-
|
261 |
-
array(
|
262 |
-
'name' => 'imagecomparison',
|
263 |
-
'label' => __( 'Image Comparison', 'htmega-addons' ),
|
264 |
-
'type' => 'checkbox',
|
265 |
-
'default'=>'on',
|
266 |
-
'class'=>'htmega_table_row',
|
267 |
-
),
|
268 |
-
|
269 |
-
array(
|
270 |
-
'name' => 'imagegrid',
|
271 |
-
'label' => __( 'Image Grid', 'htmega-addons' ),
|
272 |
-
'type' => 'checkbox',
|
273 |
-
'default'=>'on',
|
274 |
-
'class'=>'htmega_table_row',
|
275 |
-
),
|
276 |
-
|
277 |
-
array(
|
278 |
-
'name' => 'imagemagnifier',
|
279 |
-
'label' => __( 'Image Magnifier', 'htmega-addons' ),
|
280 |
-
'type' => 'checkbox',
|
281 |
-
'default'=>'on',
|
282 |
-
'class'=>'htmega_table_row',
|
283 |
-
),
|
284 |
-
|
285 |
-
array(
|
286 |
-
'name' => 'imagemarker',
|
287 |
-
'label' => __( 'Image Marker', 'htmega-addons' ),
|
288 |
-
'type' => 'checkbox',
|
289 |
-
'default'=>'on',
|
290 |
-
'class'=>'htmega_table_row',
|
291 |
-
),
|
292 |
-
|
293 |
-
array(
|
294 |
-
'name' => 'imagemasonry',
|
295 |
-
'label' => __( 'Image Masonry', 'htmega-addons' ),
|
296 |
-
'type' => 'checkbox',
|
297 |
-
'default'=>'on',
|
298 |
-
'class'=>'htmega_table_row',
|
299 |
-
),
|
300 |
-
|
301 |
-
array(
|
302 |
-
'name' => 'inlinemenu',
|
303 |
-
'label' => __( 'Inline Navigation', 'htmega-addons' ),
|
304 |
-
'type' => 'checkbox',
|
305 |
-
'default'=>'on',
|
306 |
-
'class'=>'htmega_table_row',
|
307 |
-
),
|
308 |
-
|
309 |
-
array(
|
310 |
-
'name' => 'instagram',
|
311 |
-
'label' => __( 'Instagram', 'htmega-addons' ),
|
312 |
-
'type' => 'checkbox',
|
313 |
-
'default'=>'on',
|
314 |
-
'class'=>'htmega_table_row',
|
315 |
-
),
|
316 |
-
|
317 |
-
array(
|
318 |
-
'name' => 'lightbox',
|
319 |
-
'label' => __( 'Light Box', 'htmega-addons' ),
|
320 |
-
'type' => 'checkbox',
|
321 |
-
'default'=>'on',
|
322 |
-
'class'=>'htmega_table_row',
|
323 |
-
),
|
324 |
-
|
325 |
-
array(
|
326 |
-
'name' => 'modal',
|
327 |
-
'label' => __( 'Modal', 'htmega-addons' ),
|
328 |
-
'type' => 'checkbox',
|
329 |
-
'default'=>'on',
|
330 |
-
'class'=>'htmega_table_row',
|
331 |
-
),
|
332 |
-
|
333 |
-
array(
|
334 |
-
'name' => 'newtsicker',
|
335 |
-
'label' => __( 'News Ticker', 'htmega-addons' ),
|
336 |
-
'type' => 'checkbox',
|
337 |
-
'default'=>'on',
|
338 |
-
'class'=>'htmega_table_row',
|
339 |
-
),
|
340 |
-
|
341 |
-
array(
|
342 |
-
'name' => 'notify',
|
343 |
-
'label' => __( 'Notify', 'htmega-addons' ),
|
344 |
-
'type' => 'checkbox',
|
345 |
-
'default'=>'off',
|
346 |
-
'class'=>'htmega_table_row',
|
347 |
-
),
|
348 |
-
|
349 |
-
array(
|
350 |
-
'name' => 'offcanvas',
|
351 |
-
'label' => __( 'Offcanvas', 'htmega-addons' ),
|
352 |
-
'type' => 'checkbox',
|
353 |
-
'default'=>'on',
|
354 |
-
'class'=>'htmega_table_row',
|
355 |
-
),
|
356 |
-
|
357 |
-
array(
|
358 |
-
'name' => 'panelslider',
|
359 |
-
'label' => __( 'Panel Slider', 'htmega-addons' ),
|
360 |
-
'type' => 'checkbox',
|
361 |
-
'default'=>'off',
|
362 |
-
'class'=>'htmega_table_row',
|
363 |
-
),
|
364 |
-
|
365 |
-
array(
|
366 |
-
'name' => 'popover',
|
367 |
-
'label' => __( 'Popover', 'htmega-addons' ),
|
368 |
-
'type' => 'checkbox',
|
369 |
-
'default'=>'off',
|
370 |
-
'class'=>'htmega_table_row',
|
371 |
-
),
|
372 |
-
|
373 |
-
array(
|
374 |
-
'name' => 'postcarousel',
|
375 |
-
'label' => __( 'Post carousel', 'htmega-addons' ),
|
376 |
-
'type' => 'checkbox',
|
377 |
-
'default'=>'on',
|
378 |
-
'class'=>'htmega_table_row',
|
379 |
-
),
|
380 |
-
|
381 |
-
array(
|
382 |
-
'name' => 'postgrid',
|
383 |
-
'label' => __( 'Post Grid', 'htmega-addons' ),
|
384 |
-
'type' => 'checkbox',
|
385 |
-
'default'=>'on',
|
386 |
-
'class'=>'htmega_table_row',
|
387 |
-
),
|
388 |
-
|
389 |
-
array(
|
390 |
-
'name' => 'postgridtab',
|
391 |
-
'label' => __( 'Post Grid Tab', 'htmega-addons' ),
|
392 |
-
'type' => 'checkbox',
|
393 |
-
'default'=>'on',
|
394 |
-
'class'=>'htmega_table_row',
|
395 |
-
),
|
396 |
-
|
397 |
-
array(
|
398 |
-
'name' => 'postslider',
|
399 |
-
'label' => __( 'Post Slider', 'htmega-addons' ),
|
400 |
-
'type' => 'checkbox',
|
401 |
-
'default'=>'on',
|
402 |
-
'class'=>'htmega_table_row',
|
403 |
-
),
|
404 |
-
|
405 |
-
array(
|
406 |
-
'name' => 'pricinglistview',
|
407 |
-
'label' => __( 'Pricing List View', 'htmega-addons' ),
|
408 |
-
'type' => 'checkbox',
|
409 |
-
'default'=>'off',
|
410 |
-
'class'=>'htmega_table_row',
|
411 |
-
),
|
412 |
-
|
413 |
-
array(
|
414 |
-
'name' => 'pricingtable',
|
415 |
-
'label' => __( 'Pricing Table', 'htmega-addons' ),
|
416 |
-
'type' => 'checkbox',
|
417 |
-
'default'=>'on',
|
418 |
-
'class'=>'htmega_table_row',
|
419 |
-
),
|
420 |
-
|
421 |
-
array(
|
422 |
-
'name' => 'progressbar',
|
423 |
-
'label' => __( 'Progress Bar', 'htmega-addons' ),
|
424 |
-
'type' => 'checkbox',
|
425 |
-
'default'=>'on',
|
426 |
-
'class'=>'htmega_table_row',
|
427 |
-
),
|
428 |
-
|
429 |
-
array(
|
430 |
-
'name' => 'scrollimage',
|
431 |
-
'label' => __( 'Scroll Image', 'htmega-addons' ),
|
432 |
-
'type' => 'checkbox',
|
433 |
-
'default'=>'off',
|
434 |
-
'class'=>'htmega_table_row',
|
435 |
-
),
|
436 |
-
|
437 |
-
array(
|
438 |
-
'name' => 'scrollnavigation',
|
439 |
-
'label' => __( 'Scroll Navigation', 'htmega-addons' ),
|
440 |
-
'type' => 'checkbox',
|
441 |
-
'default'=>'off',
|
442 |
-
'class'=>'htmega_table_row',
|
443 |
-
),
|
444 |
-
|
445 |
-
array(
|
446 |
-
'name' => 'search',
|
447 |
-
'label' => __( 'Search', 'htmega-addons' ),
|
448 |
-
'type' => 'checkbox',
|
449 |
-
'default'=>'off',
|
450 |
-
'class'=>'htmega_table_row',
|
451 |
-
),
|
452 |
-
|
453 |
-
array(
|
454 |
-
'name' => 'sectiontitle',
|
455 |
-
'label' => __( 'Section Title', 'htmega-addons' ),
|
456 |
-
'type' => 'checkbox',
|
457 |
-
'default'=>'on',
|
458 |
-
'class'=>'htmega_table_row',
|
459 |
-
),
|
460 |
-
|
461 |
-
array(
|
462 |
-
'name' => 'service',
|
463 |
-
'label' => __( 'Service', 'htmega-addons' ),
|
464 |
-
'type' => 'checkbox',
|
465 |
-
'default'=>'on',
|
466 |
-
'class'=>'htmega_table_row',
|
467 |
-
),
|
468 |
-
|
469 |
-
array(
|
470 |
-
'name' => 'singlepost',
|
471 |
-
'label' => __( 'Single Post', 'htmega-addons' ),
|
472 |
-
'type' => 'checkbox',
|
473 |
-
'default'=>'on',
|
474 |
-
'class'=>'htmega_table_row',
|
475 |
-
),
|
476 |
-
|
477 |
-
array(
|
478 |
-
'name' => 'thumbgallery',
|
479 |
-
'label' => __( 'Slider Thumbnail Gallery', 'htmega-addons' ),
|
480 |
-
'type' => 'checkbox',
|
481 |
-
'default'=>'off',
|
482 |
-
'class'=>'htmega_table_row',
|
483 |
-
),
|
484 |
-
|
485 |
-
array(
|
486 |
-
'name' => 'socialshere',
|
487 |
-
'label' => __( 'Social Share', 'htmega-addons' ),
|
488 |
-
'type' => 'checkbox',
|
489 |
-
'default'=>'off',
|
490 |
-
'class'=>'htmega_table_row',
|
491 |
-
),
|
492 |
-
|
493 |
-
array(
|
494 |
-
'name' => 'switcher',
|
495 |
-
'label' => __( 'Switcher', 'htmega-addons' ),
|
496 |
-
'type' => 'checkbox',
|
497 |
-
'default'=>'on',
|
498 |
-
'class'=>'htmega_table_row',
|
499 |
-
),
|
500 |
-
|
501 |
-
array(
|
502 |
-
'name' => 'tabs',
|
503 |
-
'label' => __( 'Tabs', 'htmega-addons' ),
|
504 |
-
'type' => 'checkbox',
|
505 |
-
'default'=>'on',
|
506 |
-
'class'=>'htmega_table_row',
|
507 |
-
),
|
508 |
-
|
509 |
-
array(
|
510 |
-
'name' => 'datatable',
|
511 |
-
'label' => __( 'Data Table', 'htmega-addons' ),
|
512 |
-
'type' => 'checkbox',
|
513 |
-
'default'=>'off',
|
514 |
-
'class'=>'htmega_table_row',
|
515 |
-
),
|
516 |
-
|
517 |
-
array(
|
518 |
-
'name' => 'teammember',
|
519 |
-
'label' => __( 'Team Member', 'htmega-addons' ),
|
520 |
-
'type' => 'checkbox',
|
521 |
-
'default'=>'on',
|
522 |
-
'class'=>'htmega_table_row',
|
523 |
-
),
|
524 |
-
|
525 |
-
array(
|
526 |
-
'name' => 'testimonial',
|
527 |
-
'label' => __( 'Testimonial', 'htmega-addons' ),
|
528 |
-
'type' => 'checkbox',
|
529 |
-
'default'=>'on',
|
530 |
-
'class'=>'htmega_table_row',
|
531 |
-
),
|
532 |
-
|
533 |
-
array(
|
534 |
-
'name' => 'testimonialgrid',
|
535 |
-
'label' => __( 'Testimonial Grid', 'htmega-addons' ),
|
536 |
-
'type' => 'checkbox',
|
537 |
-
'default'=>'off',
|
538 |
-
'class'=>'htmega_table_row',
|
539 |
-
),
|
540 |
-
|
541 |
-
array(
|
542 |
-
'name' => 'toggle',
|
543 |
-
'label' => __( 'Toggle', 'htmega-addons' ),
|
544 |
-
'type' => 'checkbox',
|
545 |
-
'default'=>'on',
|
546 |
-
'class'=>'htmega_table_row',
|
547 |
-
),
|
548 |
-
|
549 |
-
array(
|
550 |
-
'name' => 'tooltip',
|
551 |
-
'label' => __( 'Tooltip', 'htmega-addons' ),
|
552 |
-
'type' => 'checkbox',
|
553 |
-
'default'=>'on',
|
554 |
-
'class'=>'htmega_table_row',
|
555 |
-
),
|
556 |
-
|
557 |
-
array(
|
558 |
-
'name' => 'twitterfeed',
|
559 |
-
'label' => __( 'Twitter Feed', 'htmega-addons' ),
|
560 |
-
'type' => 'checkbox',
|
561 |
-
'default'=>'off',
|
562 |
-
'class'=>'htmega_table_row',
|
563 |
-
),
|
564 |
-
|
565 |
-
array(
|
566 |
-
'name' => 'userloginform',
|
567 |
-
'label' => __( 'User Login Form', 'htmega-addons' ),
|
568 |
-
'type' => 'checkbox',
|
569 |
-
'default'=>'off',
|
570 |
-
'class'=>'htmega_table_row',
|
571 |
-
),
|
572 |
-
|
573 |
-
array(
|
574 |
-
'name' => 'userregisterform',
|
575 |
-
'label' => __( 'User Register Form', 'htmega-addons' ),
|
576 |
-
'type' => 'checkbox',
|
577 |
-
'default'=>'off',
|
578 |
-
'class'=>'htmega_table_row',
|
579 |
-
),
|
580 |
-
|
581 |
-
array(
|
582 |
-
'name' => 'verticletimeline',
|
583 |
-
'label' => __( 'Verticle Timeline', 'htmega-addons' ),
|
584 |
-
'type' => 'checkbox',
|
585 |
-
'default'=>'off',
|
586 |
-
'class'=>'htmega_table_row',
|
587 |
-
),
|
588 |
-
|
589 |
-
array(
|
590 |
-
'name' => 'videoplayer',
|
591 |
-
'label' => __( 'Video Player', 'htmega-addons' ),
|
592 |
-
'type' => 'checkbox',
|
593 |
-
'default'=>'off',
|
594 |
-
'class'=>'htmega_table_row',
|
595 |
-
),
|
596 |
-
|
597 |
-
array(
|
598 |
-
'name' => 'workingprocess',
|
599 |
-
'label' => __( 'Working Process', 'htmega-addons' ),
|
600 |
-
'type' => 'checkbox',
|
601 |
-
'default'=>'off',
|
602 |
-
'class'=>'htmega_table_row',
|
603 |
-
),
|
604 |
-
|
605 |
-
array(
|
606 |
-
'name' => 'errorcontent',
|
607 |
-
'label' => __( '404 Content', 'htmega-addons' ),
|
608 |
-
'type' => 'checkbox',
|
609 |
-
'default'=>'off',
|
610 |
-
'class'=>'htmega_table_row',
|
611 |
-
),
|
612 |
-
|
613 |
-
array(
|
614 |
-
'name' => 'template_selector',
|
615 |
-
'label' => __( 'Remote Template', 'htmega-addons' ),
|
616 |
-
'type' => 'checkbox',
|
617 |
-
'default'=>'off',
|
618 |
-
'class'=>'htmega_table_row',
|
619 |
-
),
|
620 |
-
|
621 |
-
array(
|
622 |
-
'name' => 'weather',
|
623 |
-
'label' => __( 'Weather', 'htmega-addons' ),
|
624 |
-
'type' => 'checkbox',
|
625 |
-
'default'=>'on',
|
626 |
-
'class'=>'htmega_table_row',
|
627 |
-
),
|
628 |
-
// pro addon list
|
629 |
-
array(
|
630 |
-
'name' => 'info_boxp',
|
631 |
-
'label' => __( 'Info Box <span>( Pro )</span>', 'htmega-addons' ),
|
632 |
-
'type' => 'checkbox',
|
633 |
-
'default'=>'off',
|
634 |
-
'class'=>'htmega_table_row pro',
|
635 |
-
),
|
636 |
-
array(
|
637 |
-
'name' => 'lottiep',
|
638 |
-
'label' => __( 'Lottie <span>( Pro )</span>', 'htmega-addons' ),
|
639 |
-
'type' => 'checkbox',
|
640 |
-
'default'=>'off',
|
641 |
-
'class'=>'htmega_table_row pro',
|
642 |
-
),
|
643 |
-
array(
|
644 |
-
'name' => 'event_calendarp',
|
645 |
-
'label' => __( 'Event Calendar <span>( Pro )</span>', 'htmega-addons' ),
|
646 |
-
'type' => 'checkbox',
|
647 |
-
'default'=>'off',
|
648 |
-
'class'=>'htmega_table_row pro',
|
649 |
-
),
|
650 |
-
array(
|
651 |
-
'name' => 'category_listp',
|
652 |
-
'label' => __( 'Category List <span>( Pro )</span>', 'htmega-addons' ),
|
653 |
-
'type' => 'checkbox',
|
654 |
-
'default'=>'off',
|
655 |
-
'class'=>'htmega_table_row pro',
|
656 |
-
),
|
657 |
-
array(
|
658 |
-
'name' => 'pricing_menup',
|
659 |
-
'label' => __( 'Pricing Menu <span>( Pro )</span>', 'htmega-addons' ),
|
660 |
-
'type' => 'checkbox',
|
661 |
-
'default'=>'off',
|
662 |
-
'class'=>'htmega_table_row pro',
|
663 |
-
),
|
664 |
-
array(
|
665 |
-
'name' => 'feature_listp',
|
666 |
-
'label' => __( 'Feature List <span>( Pro )</span>', 'htmega-addons' ),
|
667 |
-
'type' => 'checkbox',
|
668 |
-
'default'=>'off',
|
669 |
-
'class'=>'htmega_table_row pro',
|
670 |
-
),
|
671 |
-
array(
|
672 |
-
'name' => 'social_network_iconsp',
|
673 |
-
'label' => __( 'Social Network Icons <span>( Pro )</span>', 'htmega-addons' ),
|
674 |
-
'type' => 'checkbox',
|
675 |
-
'default'=>'off',
|
676 |
-
'class'=>'htmega_table_row pro',
|
677 |
-
),
|
678 |
-
array(
|
679 |
-
'name' => 'taxonomy_termsp',
|
680 |
-
'label' => __( 'Taxonomy Terms <span>( Pro )</span>', 'htmega-addons' ),
|
681 |
-
'type' => 'checkbox',
|
682 |
-
'default'=>'off',
|
683 |
-
'class'=>'htmega_table_row pro',
|
684 |
-
),
|
685 |
-
array(
|
686 |
-
'name' => 'background_switcherp',
|
687 |
-
'label' => __( 'Background Switcher <span>( Pro )</span>', 'htmega-addons' ),
|
688 |
-
'type' => 'checkbox',
|
689 |
-
'default'=>'off',
|
690 |
-
'class'=>'htmega_table_row pro',
|
691 |
-
),
|
692 |
-
array(
|
693 |
-
'name' => 'breadcrumbsp',
|
694 |
-
'label' => __( 'Breadcrumbs <span>( Pro )</span>', 'htmega-addons' ),
|
695 |
-
'type' => 'checkbox',
|
696 |
-
'default'=>'off',
|
697 |
-
'class'=>'htmega_table_row pro',
|
698 |
-
),
|
699 |
-
array(
|
700 |
-
'name' => 'page_listp',
|
701 |
-
'label' => __( 'Page List <span>( Pro )</span>', 'htmega-addons' ),
|
702 |
-
'type' => 'checkbox',
|
703 |
-
'default'=>'off',
|
704 |
-
'class'=>'htmega_table_row pro',
|
705 |
-
),
|
706 |
-
array(
|
707 |
-
'name' => 'icon_boxp',
|
708 |
-
'label' => __( 'Icon Box <span>( Pro )</span>', 'htmega-addons' ),
|
709 |
-
'type' => 'checkbox',
|
710 |
-
'default'=>'off',
|
711 |
-
'class'=>'htmega_table_row pro',
|
712 |
-
),
|
713 |
-
array(
|
714 |
-
'name' => 'team_carouselp',
|
715 |
-
'label' => __( 'Team Carousel <span>( Pro )</span>', 'htmega-addons' ),
|
716 |
-
'type' => 'checkbox',
|
717 |
-
'default'=>'off',
|
718 |
-
'class'=>'htmega_table_row pro',
|
719 |
-
),
|
720 |
-
array(
|
721 |
-
'name' => 'interactive_promop',
|
722 |
-
'label' => __( 'Interactive Promo <span>( Pro )</span>', 'htmega-addons' ),
|
723 |
-
'type' => 'checkbox',
|
724 |
-
'default'=>'off',
|
725 |
-
'class'=>'htmega_table_row pro',
|
726 |
-
),
|
727 |
-
array(
|
728 |
-
'name' => 'facebook_reviewp',
|
729 |
-
'label' => __( 'Facebook Review <span>( Pro )</span>', 'htmega-addons' ),
|
730 |
-
'type' => 'checkbox',
|
731 |
-
'default'=>'off',
|
732 |
-
'class'=>'htmega_table_row pro',
|
733 |
-
),
|
734 |
-
array(
|
735 |
-
'name' => 'whatsapp_chatp',
|
736 |
-
'label' => __( 'WhatsApp Chat <span>( Pro )</span>', 'htmega-pro' ),
|
737 |
-
'type' => 'checkbox',
|
738 |
-
'default'=>'off',
|
739 |
-
'class'=>'htmega_table_row pro',
|
740 |
-
),
|
741 |
-
array(
|
742 |
-
'name' => 'filterable_galleryp',
|
743 |
-
'label' => __( 'Filterable Gallery <span>( Pro )</span>', 'htmega-pro' ),
|
744 |
-
'type' => 'checkbox',
|
745 |
-
'default'=>'off',
|
746 |
-
'class'=>'htmega_table_row pro',
|
747 |
-
),
|
748 |
-
array(
|
749 |
-
'name' => 'event_boxp',
|
750 |
-
'label' => __( 'Event Box <span>( Pro )</span>', 'htmega-pro' ),
|
751 |
-
'type' => 'checkbox',
|
752 |
-
'default'=>'off',
|
753 |
-
'class'=>'htmega_table_row pro',
|
754 |
-
),
|
755 |
-
array(
|
756 |
-
'name' => 'chartp',
|
757 |
-
'label' => __( 'Chart <span>( Pro )</span>', 'htmega-pro' ),
|
758 |
-
'type' => 'checkbox',
|
759 |
-
'default'=>'off',
|
760 |
-
'class'=>'htmega_table_row pro',
|
761 |
-
),
|
762 |
-
array(
|
763 |
-
'name' => 'post_timelinep',
|
764 |
-
'label' => __( 'Post Timeline <span>( Pro )</span>', 'htmega-pro' ),
|
765 |
-
'type' => 'checkbox',
|
766 |
-
'default'=>'off',
|
767 |
-
'class'=>'htmega_table_row pro',
|
768 |
-
),
|
769 |
-
array(
|
770 |
-
'name' => 'post_masonryp',
|
771 |
-
'label' => __( 'Post Masonry <span>( Pro )</span>', 'htmega-pro' ),
|
772 |
-
'type' => 'checkbox',
|
773 |
-
'default'=>'off',
|
774 |
-
'class'=>'htmega_table_row pro',
|
775 |
-
),
|
776 |
-
|
777 |
-
array(
|
778 |
-
'name' => 'source_codep',
|
779 |
-
'label' => __( 'Source Code <span>( Pro )</span>', 'htmega-pro' ),
|
780 |
-
'type' => 'checkbox',
|
781 |
-
'default'=>'off',
|
782 |
-
'class'=>'htmega_table_row pro',
|
783 |
-
),
|
784 |
-
array(
|
785 |
-
'name' => 'threesixty_rotationp',
|
786 |
-
'label' => __( '360 Rotation <span>( Pro )</span>', 'htmega-pro' ),
|
787 |
-
'type' => 'checkbox',
|
788 |
-
'default'=>'off',
|
789 |
-
'class'=>'htmega_table_row pro',
|
790 |
-
),
|
791 |
-
),
|
792 |
-
|
793 |
-
'htmega_general_tabs'=>array(
|
794 |
-
|
795 |
-
array(
|
796 |
-
'name' => 'google_map_api_key',
|
797 |
-
'label' => __( 'Google Map API Key', 'htmega-addons' ),
|
798 |
-
'desc' => __( 'Go to <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank">https://developers.google.com</a> and generate the API key.', 'htmega-addons' ),
|
799 |
-
'placeholder' => __( 'Google Map API key', 'htmega-addons' ),
|
800 |
-
'type' => 'text',
|
801 |
-
'sanitize_callback' => 'sanitize_text_field'
|
802 |
-
),
|
803 |
-
|
804 |
-
array(
|
805 |
-
'name' => 'weather_map_api_key',
|
806 |
-
'label' => __( 'Weather Map API Key', 'htmega-addons' ),
|
807 |
-
'desc' => __( 'Please enter a OpenWeatherMaps API key. OpenWeather is a weather provider service which is capable of delivering all the necessary weather information for any location on the globe.To create API key, go to this link <a href="https://openweathermap.org/appid" target="_blank">OpenWeather</a>.', 'htmega-addons' ),
|
808 |
-
'placeholder' => __( 'Weather Map API key', 'htmega-addons' ),
|
809 |
-
'type' => 'text',
|
810 |
-
'sanitize_callback' => 'sanitize_text_field'
|
811 |
-
),
|
812 |
-
|
813 |
-
array(
|
814 |
-
'name' => 'errorpage',
|
815 |
-
'label' => __( 'Select 404 Page.', 'htmega-addons' ),
|
816 |
-
'desc' => __( 'You can select 404 page from here.', 'htmega-addons' ),
|
817 |
-
'type' => 'select',
|
818 |
-
'default' => '0',
|
819 |
-
'options' => htmega_post_name( 'page', -1 )
|
820 |
-
),
|
821 |
-
|
822 |
-
array(
|
823 |
-
'name' => 'loadpostlimit',
|
824 |
-
'label' => __( 'Load Post in Elementor Addons', 'htmega-addons' ),
|
825 |
-
'desc' => wp_kses_post( 'Load Post in Elementor Addons', 'htmega-addons' ),
|
826 |
-
'min' => 1,
|
827 |
-
'max' => 1000,
|
828 |
-
'step' => '1',
|
829 |
-
'type' => 'number',
|
830 |
-
'default' => '20',
|
831 |
-
'sanitize_callback' => 'floatval',
|
832 |
-
),
|
833 |
-
|
834 |
-
),
|
835 |
-
|
836 |
-
'htmega_advance_element_tabs'=>array(
|
837 |
-
|
838 |
-
array(
|
839 |
-
'name' => 'themebuilder',
|
840 |
-
'label' => __( 'Theme Builder', 'htmega-addons' ),
|
841 |
-
'type' => 'checkbox',
|
842 |
-
'default'=>'off',
|
843 |
-
'class'=>'htmega_table_row',
|
844 |
-
),
|
845 |
-
|
846 |
-
array(
|
847 |
-
'name' => 'salenotification',
|
848 |
-
'label' => __( 'Sales Notification', 'htmega-addons' ),
|
849 |
-
'type' => 'checkbox',
|
850 |
-
'default'=>'off',
|
851 |
-
'class'=>'htmega_table_row',
|
852 |
-
),
|
853 |
-
|
854 |
-
array(
|
855 |
-
'name' => 'megamenubuilder',
|
856 |
-
'label' => __( 'Menu Builder', 'htmega-addons' ),
|
857 |
-
'type' => 'checkbox',
|
858 |
-
'default'=>'off',
|
859 |
-
'class'=>'htmega_table_row',
|
860 |
-
),
|
861 |
-
|
862 |
-
array(
|
863 |
-
'name' => 'postduplicator',
|
864 |
-
'label' => __( 'Post Duplicator', 'htmega-addons' ),
|
865 |
-
'type' => 'checkbox',
|
866 |
-
'default'=>'off',
|
867 |
-
'class'=>'htmega_table_row',
|
868 |
-
),
|
869 |
-
|
870 |
-
array(
|
871 |
-
'name' => 'crossdomaincpp',
|
872 |
-
'label' => __( 'Cross Domain Copy Paste <span> ( Pro )</span>', 'htmega-pro' ),
|
873 |
-
'type' => 'checkbox',
|
874 |
-
'default'=>'off',
|
875 |
-
'class'=>'htmega_table_row pro',
|
876 |
-
),
|
877 |
-
array(
|
878 |
-
'name' => 'parallax_modulep',
|
879 |
-
'label' => __( 'Parallax<span> ( Pro )</span>', 'htmega-addons' ),
|
880 |
-
'type' => 'checkbox',
|
881 |
-
'default'=>'off',
|
882 |
-
'class'=>'htmega_table_row pro',
|
883 |
-
),
|
884 |
-
),
|
885 |
-
|
886 |
-
'htmega_themebuilder_element_tabs'=>array(
|
887 |
-
|
888 |
-
array(
|
889 |
-
'name' => 'bl_post_title',
|
890 |
-
'label' => __( 'Post Title', 'htmega-addons' ),
|
891 |
-
'desc' => __( 'Post Title', 'htmega-addons' ),
|
892 |
-
'type' => 'checkbox',
|
893 |
-
'default' => 'on',
|
894 |
-
'class'=>'htmega_table_row',
|
895 |
-
),
|
896 |
-
|
897 |
-
array(
|
898 |
-
'name' => 'bl_post_featured_image',
|
899 |
-
'label' => __( 'Post Featured Image', 'htmega-addons' ),
|
900 |
-
'desc' => __( 'Post Featured Image', 'htmega-addons' ),
|
901 |
-
'type' => 'checkbox',
|
902 |
-
'default' => 'on',
|
903 |
-
'class'=>'htmega_table_row',
|
904 |
-
),
|
905 |
-
|
906 |
-
array(
|
907 |
-
'name' => 'bl_post_meta_info',
|
908 |
-
'label' => __( 'Post Meta Info', 'htmega-addons' ),
|
909 |
-
'desc' => __( 'Post Meta Info', 'htmega-addons' ),
|
910 |
-
'type' => 'checkbox',
|
911 |
-
'default' => 'on',
|
912 |
-
'class'=>'htmega_table_row',
|
913 |
-
),
|
914 |
-
|
915 |
-
array(
|
916 |
-
'name' => 'bl_post_excerpt',
|
917 |
-
'label' => __( 'Post Excerpt', 'htmega-addons' ),
|
918 |
-
'desc' => __( 'Post Excerpt', 'htmega-addons' ),
|
919 |
-
'type' => 'checkbox',
|
920 |
-
'default' => 'on',
|
921 |
-
'class'=>'htmega_table_row',
|
922 |
-
),
|
923 |
-
|
924 |
-
array(
|
925 |
-
'name' => 'bl_post_content',
|
926 |
-
'label' => __( 'Post Content', 'htmega-addons' ),
|
927 |
-
'desc' => __( 'Post Content', 'htmega-addons' ),
|
928 |
-
'type' => 'checkbox',
|
929 |
-
'default' => 'on',
|
930 |
-
'class'=>'htmega_table_row',
|
931 |
-
),
|
932 |
-
|
933 |
-
array(
|
934 |
-
'name' => 'bl_post_comments',
|
935 |
-
'label' => __( 'Post Comments', 'htmega-addons' ),
|
936 |
-
'desc' => __( 'Post Comments', 'htmega-addons' ),
|
937 |
-
'type' => 'checkbox',
|
938 |
-
'default' => 'on',
|
939 |
-
'class'=>'htmega_table_row',
|
940 |
-
),
|
941 |
-
|
942 |
-
array(
|
943 |
-
'name' => 'bl_post_search_form',
|
944 |
-
'label' => __( 'Post Search Form', 'htmega-addons' ),
|
945 |
-
'desc' => __( 'Post Search Form', 'htmega-addons' ),
|
946 |
-
'type' => 'checkbox',
|
947 |
-
'default' => 'on',
|
948 |
-
'class'=>'htmega_table_row',
|
949 |
-
),
|
950 |
-
|
951 |
-
array(
|
952 |
-
'name' => 'bl_post_archive',
|
953 |
-
'label' => __( 'Archive Posts', 'htmega-addons' ),
|
954 |
-
'desc' => __( 'Archive Posts', 'htmega-addons' ),
|
955 |
-
'type' => 'checkbox',
|
956 |
-
'default' => 'on',
|
957 |
-
'class'=>'htmega_table_row',
|
958 |
-
),
|
959 |
-
|
960 |
-
array(
|
961 |
-
'name' => 'bl_post_archive_title',
|
962 |
-
'label' => __( 'Archive Title', 'htmega-addons' ),
|
963 |
-
'desc' => __( 'Archive Title', 'htmega-addons' ),
|
964 |
-
'type' => 'checkbox',
|
965 |
-
'default' => 'on',
|
966 |
-
'class'=>'htmega_table_row',
|
967 |
-
),
|
968 |
-
|
969 |
-
array(
|
970 |
-
'name' => 'bl_page_title',
|
971 |
-
'label' => __( 'Page Title', 'htmega-addons' ),
|
972 |
-
'desc' => __( 'Page Title', 'htmega-addons' ),
|
973 |
-
'type' => 'checkbox',
|
974 |
-
'default' => 'on',
|
975 |
-
'class'=>'htmega_table_row',
|
976 |
-
),
|
977 |
-
|
978 |
-
array(
|
979 |
-
'name' => 'bl_site_title',
|
980 |
-
'label' => __( 'Site Title', 'htmega-addons' ),
|
981 |
-
'desc' => __( 'Site Title', 'htmega-addons' ),
|
982 |
-
'type' => 'checkbox',
|
983 |
-
'default' => 'on',
|
984 |
-
'class'=>'htmega_table_row',
|
985 |
-
),
|
986 |
-
|
987 |
-
array(
|
988 |
-
'name' => 'bl_site_logo',
|
989 |
-
'label' => __( 'Site Logo', 'htmega-addons' ),
|
990 |
-
'desc' => __( 'Site Logo', 'htmega-addons' ),
|
991 |
-
'type' => 'checkbox',
|
992 |
-
'default' => 'on',
|
993 |
-
'class'=>'htmega_table_row',
|
994 |
-
),
|
995 |
-
|
996 |
-
array(
|
997 |
-
'name' => 'bl_nav_menu',
|
998 |
-
'label' => __( 'Nav Menu', 'htmega-addons' ),
|
999 |
-
'desc' => __( 'Nav Menu', 'htmega-addons' ),
|
1000 |
-
'type' => 'checkbox',
|
1001 |
-
'default' => 'on',
|
1002 |
-
'class'=>'htmega_table_row',
|
1003 |
-
),
|
1004 |
-
|
1005 |
-
array(
|
1006 |
-
'name' => 'bl_post_author_info',
|
1007 |
-
'label' => __( 'Author Info', 'htmega-addons' ),
|
1008 |
-
'desc' => __( 'Author Info', 'htmega-addons' ),
|
1009 |
-
'type' => 'checkbox',
|
1010 |
-
'default' => 'on',
|
1011 |
-
'class'=>'htmega_table_row',
|
1012 |
-
),
|
1013 |
-
|
1014 |
-
array(
|
1015 |
-
'name' => 'bl_social_sharep',
|
1016 |
-
'label' => __( 'Social Share <span>( Pro )</span>', 'htmega-addons' ),
|
1017 |
-
'desc' => __( 'Social share', 'htmega-addons' ),
|
1018 |
-
'type' => 'checkbox',
|
1019 |
-
'default' => 'off',
|
1020 |
-
'class'=>'htmega_table_row pro',
|
1021 |
-
),
|
1022 |
-
|
1023 |
-
array(
|
1024 |
-
'name' => 'bl_print_pagep',
|
1025 |
-
'label' => __( 'Print Page <span>( Pro )</span>', 'htmega-addons' ),
|
1026 |
-
'desc' => __( 'Print Page', 'htmega-addons' ),
|
1027 |
-
'type' => 'checkbox',
|
1028 |
-
'default' => 'off',
|
1029 |
-
'class'=>'htmega_table_row pro',
|
1030 |
-
),
|
1031 |
-
|
1032 |
-
array(
|
1033 |
-
'name' => 'bl_view_counterp',
|
1034 |
-
'label' => __( 'View Counter <span>( Pro )</span>', 'htmega-addons' ),
|
1035 |
-
'desc' => __( 'View Counter', 'htmega-addons' ),
|
1036 |
-
'type' => 'checkbox',
|
1037 |
-
'default' => 'off',
|
1038 |
-
'class'=>'htmega_table_row pro',
|
1039 |
-
),
|
1040 |
-
|
1041 |
-
array(
|
1042 |
-
'name' => 'bl_post_navigationp',
|
1043 |
-
'label' => __( 'Post Navigation <span>( Pro )</span>', 'htmega-addons' ),
|
1044 |
-
'desc' => __( 'Post Navigation', 'htmega-addons' ),
|
1045 |
-
'type' => 'checkbox',
|
1046 |
-
'default' => 'off',
|
1047 |
-
'class'=>'htmega_table_row pro',
|
1048 |
-
),
|
1049 |
-
|
1050 |
-
array(
|
1051 |
-
'name' => 'bl_related_postp',
|
1052 |
-
'label' => __( 'Related Post <span>( Pro )</span>', 'htmega-addons' ),
|
1053 |
-
'desc' => __( 'Related Post', 'htmega-addons' ),
|
1054 |
-
'type' => 'checkbox',
|
1055 |
-
'default' => 'off',
|
1056 |
-
'class'=>'htmega_table_row pro',
|
1057 |
-
),
|
1058 |
-
|
1059 |
-
array(
|
1060 |
-
'name' => 'bl_popular_postp',
|
1061 |
-
'label' => __( 'Popular Post <span>( Pro )</span>', 'htmega-addons' ),
|
1062 |
-
'desc' => __( 'Popular Post', 'htmega-addons' ),
|
1063 |
-
'type' => 'checkbox',
|
1064 |
-
'default' => 'off',
|
1065 |
-
'class'=>'htmega_table_row pro',
|
1066 |
-
),
|
1067 |
-
|
1068 |
-
|
1069 |
-
),
|
1070 |
-
|
1071 |
-
);
|
1072 |
-
|
1073 |
-
// Post Duplicator Condition
|
1074 |
-
if( htmega_get_option( 'postduplicator', 'htmega_advance_element_tabs', 'off' ) === 'on' ){
|
1075 |
-
$post_types = htmega_get_post_types( array('defaultadd'=>'all') );
|
1076 |
-
if ( did_action( 'elementor/loaded' ) && defined( 'ELEMENTOR_VERSION' ) ) {
|
1077 |
-
$post_types['elementor_library'] = esc_html__( 'Templates', 'htmega-addons' );
|
1078 |
-
}
|
1079 |
-
$settings_fields['htmega_general_tabs'][] = [
|
1080 |
-
'name' => 'postduplicate_condition',
|
1081 |
-
'label' => __( 'Post Duplicator Condition', 'htmega-addons' ),
|
1082 |
-
'desc' => __( 'You can enable duplicator for individual post.', 'htmega-addons' ),
|
1083 |
-
'type' => 'multiselect',
|
1084 |
-
'default' => '',
|
1085 |
-
'options' => $post_types,
|
1086 |
-
];
|
1087 |
-
}
|
1088 |
-
|
1089 |
-
$third_party_element = array();
|
1090 |
-
// Third Party Addons
|
1091 |
-
if( is_plugin_active('bbpress/bbpress.php') ) {
|
1092 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1093 |
-
'name' => 'bbpress',
|
1094 |
-
'label' => __( 'bbPress', 'htmega-addons' ),
|
1095 |
-
'type' => 'checkbox',
|
1096 |
-
'default' => "on",
|
1097 |
-
'class'=>'htmega_table_row',
|
1098 |
-
];
|
1099 |
-
}
|
1100 |
-
|
1101 |
-
if( is_plugin_active('booked/booked.php') ) {
|
1102 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1103 |
-
'name' => 'bookedcalender',
|
1104 |
-
'label' => __( 'Booked Calender', 'htmega-addons' ),
|
1105 |
-
'type' => 'checkbox',
|
1106 |
-
'default' => "on",
|
1107 |
-
'class'=>'htmega_table_row',
|
1108 |
-
];
|
1109 |
-
}
|
1110 |
-
|
1111 |
-
if( is_plugin_active('buddypress/bp-loader.php') ) {
|
1112 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1113 |
-
'name' => 'buddypress',
|
1114 |
-
'label' => __( 'BuddyPress', 'htmega-addons' ),
|
1115 |
-
'type' => 'checkbox',
|
1116 |
-
'default' => "on",
|
1117 |
-
'class'=>'htmega_table_row',
|
1118 |
-
];
|
1119 |
-
}
|
1120 |
-
|
1121 |
-
if( is_plugin_active('caldera-forms/caldera-core.php') ) {
|
1122 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1123 |
-
'name' => 'calderaform',
|
1124 |
-
'label' => __( 'Caldera Form', 'htmega-addons' ),
|
1125 |
-
'type' => 'checkbox',
|
1126 |
-
'default' => "on",
|
1127 |
-
'class'=>'htmega_table_row',
|
1128 |
-
];
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
if( is_plugin_active('contact-form-7/wp-contact-form-7.php') ) {
|
1132 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1133 |
-
'name' => 'contactform',
|
1134 |
-
'label' => __( 'Contact form 7', 'htmega-addons' ),
|
1135 |
-
'type' => 'checkbox',
|
1136 |
-
'default' => "on",
|
1137 |
-
'class'=>'htmega_table_row',
|
1138 |
-
];
|
1139 |
-
}
|
1140 |
-
|
1141 |
-
if( is_plugin_active('download-monitor/download-monitor.php') ) {
|
1142 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1143 |
-
'name' => 'downloadmonitor',
|
1144 |
-
'label' => __( 'Download Monitor', 'htmega-addons' ),
|
1145 |
-
'type' => 'checkbox',
|
1146 |
-
'default' => "on",
|
1147 |
-
'class'=>'htmega_table_row',
|
1148 |
-
];
|
1149 |
-
}
|
1150 |
-
|
1151 |
-
if( is_plugin_active('easy-digital-downloads/easy-digital-downloads.php') ) {
|
1152 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1153 |
-
'name' => 'easydigitaldownload',
|
1154 |
-
'label' => __( 'Easy Digital Downloads', 'htmega-addons' ),
|
1155 |
-
'type' => 'checkbox',
|
1156 |
-
'default' => "on",
|
1157 |
-
'class'=>'htmega_table_row',
|
1158 |
-
];
|
1159 |
-
}
|
1160 |
-
|
1161 |
-
if( is_plugin_active('gravityforms/gravityforms.php') ) {
|
1162 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1163 |
-
'name' => 'gravityforms',
|
1164 |
-
'label' => __( 'Gravity Forms', 'htmega-addons' ),
|
1165 |
-
'type' => 'checkbox',
|
1166 |
-
'default' => "on",
|
1167 |
-
'class'=>'htmega_table_row',
|
1168 |
-
];
|
1169 |
-
}
|
1170 |
-
|
1171 |
-
if( is_plugin_active('instagram-feed/instagram-feed.php') ) {
|
1172 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1173 |
-
'name' => 'instragramfeed',
|
1174 |
-
'label' => __( 'Instragram Feed', 'htmega-addons' ),
|
1175 |
-
'type' => 'checkbox',
|
1176 |
-
'default' => "on",
|
1177 |
-
'class'=>'htmega_table_row',
|
1178 |
-
];
|
1179 |
-
}
|
1180 |
-
|
1181 |
-
if( is_plugin_active('wp-job-manager/wp-job-manager.php') ) {
|
1182 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1183 |
-
'name' => 'jobmanager',
|
1184 |
-
'label' => __( 'Job Manager', 'htmega-addons' ),
|
1185 |
-
'type' => 'checkbox',
|
1186 |
-
'default' => "on",
|
1187 |
-
'class'=>'htmega_table_row',
|
1188 |
-
];
|
1189 |
-
}
|
1190 |
-
|
1191 |
-
if( is_plugin_active('LayerSlider/layerslider.php') ) {
|
1192 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1193 |
-
'name' => 'layerslider',
|
1194 |
-
'label' => __( 'Job Manager', 'htmega-addons' ),
|
1195 |
-
'type' => 'checkbox',
|
1196 |
-
'default' => "on",
|
1197 |
-
'class'=>'htmega_table_row',
|
1198 |
-
];
|
1199 |
-
}
|
1200 |
-
|
1201 |
-
if( is_plugin_active('mailchimp-for-wp/mailchimp-for-wp.php') ) {
|
1202 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1203 |
-
'name' => 'mailchimpwp',
|
1204 |
-
'label' => __( 'Mailchimp for wp', 'htmega-addons' ),
|
1205 |
-
'type' => 'checkbox',
|
1206 |
-
'default' => "on",
|
1207 |
-
'class'=>'htmega_table_row',
|
1208 |
-
];
|
1209 |
-
}
|
1210 |
-
|
1211 |
-
if( is_plugin_active('ninja-forms/ninja-forms.php') ) {
|
1212 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1213 |
-
'name' => 'ninjaform',
|
1214 |
-
'label' => __( 'Ninja Form', 'htmega-addons' ),
|
1215 |
-
'type' => 'checkbox',
|
1216 |
-
'default' => "on",
|
1217 |
-
'class'=>'htmega_table_row',
|
1218 |
-
];
|
1219 |
-
}
|
1220 |
-
|
1221 |
-
if( is_plugin_active('quform/quform.php') ) {
|
1222 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1223 |
-
'name' => 'quforms',
|
1224 |
-
'label' => __( 'QU Form', 'htmega-addons' ),
|
1225 |
-
'type' => 'checkbox',
|
1226 |
-
'default' => "on",
|
1227 |
-
'class'=>'htmega_table_row',
|
1228 |
-
];
|
1229 |
-
}
|
1230 |
-
|
1231 |
-
if( is_plugin_active('wpforms-lite/wpforms.php') ) {
|
1232 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1233 |
-
'name' => 'wpforms',
|
1234 |
-
'label' => __( 'WP Form', 'htmega-addons' ),
|
1235 |
-
'type' => 'checkbox',
|
1236 |
-
'default' => "on",
|
1237 |
-
'class'=>'htmega_table_row',
|
1238 |
-
];
|
1239 |
-
}
|
1240 |
-
|
1241 |
-
if( is_plugin_active('revslider/revslider.php') ) {
|
1242 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1243 |
-
'name' => 'revolution',
|
1244 |
-
'label' => __( 'Revolution Slider', 'htmega-addons' ),
|
1245 |
-
'type' => 'checkbox',
|
1246 |
-
'default' => "on",
|
1247 |
-
'class'=>'htmega_table_row',
|
1248 |
-
];
|
1249 |
-
}
|
1250 |
-
|
1251 |
-
if( is_plugin_active('tablepress/tablepress.php') ) {
|
1252 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1253 |
-
'name' => 'tablepress',
|
1254 |
-
'label' => __( 'TablePress', 'htmega-addons' ),
|
1255 |
-
'type' => 'checkbox',
|
1256 |
-
'default' => "on",
|
1257 |
-
'class'=>'htmega_table_row',
|
1258 |
-
];
|
1259 |
-
}
|
1260 |
-
|
1261 |
-
if( is_plugin_active('woocommerce/woocommerce.php') ) {
|
1262 |
-
|
1263 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1264 |
-
'name' => 'wcaddtocart',
|
1265 |
-
'label' => __( 'WC : Add To cart', 'htmega-addons' ),
|
1266 |
-
'type' => 'checkbox',
|
1267 |
-
'default' => "on",
|
1268 |
-
'class'=>'htmega_table_row',
|
1269 |
-
];
|
1270 |
-
|
1271 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1272 |
-
'name' => 'categories',
|
1273 |
-
'label' => __( 'WC : Categories', 'htmega-addons' ),
|
1274 |
-
'type' => 'checkbox',
|
1275 |
-
'default' => "on",
|
1276 |
-
'class'=>'htmega_table_row',
|
1277 |
-
];
|
1278 |
-
|
1279 |
-
$third_party_element['htmega_thirdparty_element_tabs'][] = [
|
1280 |
-
'name' => 'wcpages',
|
1281 |
-
'label' => __( 'WC : Pages', 'htmega-addons' ),
|
1282 |
-
'type' => 'checkbox',
|
1283 |
-
'default' => "on",
|
1284 |
-
'class'=>'htmega_table_row',
|
1285 |
-
];
|
1286 |
-
|
1287 |
-
}
|
1288 |
-
|
1289 |
-
return array_merge($settings_fields, $third_party_element);
|
1290 |
-
}
|
1291 |
-
|
1292 |
-
|
1293 |
-
function plugin_page() {
|
1294 |
-
|
1295 |
-
echo '<div class="wrap">';
|
1296 |
-
echo '<div class="htoptions-area">';
|
1297 |
-
echo '<h2>'.esc_html__( 'HTMega Addons Settings','htmega-addons' ).'</h2>';
|
1298 |
-
$this->save_message();
|
1299 |
-
$this->settings_api->show_navigation();
|
1300 |
-
$this->settings_api->show_forms();
|
1301 |
-
echo '</div>';
|
1302 |
-
|
1303 |
-
$side_banner_html = $this->sidebar_add_banner_html();
|
1304 |
-
echo apply_filters( 'htmega_sidebar_adds_banner', $side_banner_html );
|
1305 |
-
|
1306 |
-
echo '</div>';
|
1307 |
-
|
1308 |
-
}
|
1309 |
-
|
1310 |
-
function save_message() {
|
1311 |
-
if( isset($_GET['settings-updated']) ) { ?>
|
1312 |
-
<div class="updated notice is-dismissible">
|
1313 |
-
<p><strong><?php esc_html_e('Successfully Settings Saved.', 'htmega-addons') ?></strong></p>
|
1314 |
-
</div>
|
1315 |
-
|
1316 |
-
<?php
|
1317 |
-
}
|
1318 |
-
}
|
1319 |
-
|
1320 |
-
/**
|
1321 |
-
* [sidebar_add_banner_html] Pro add sidebar banner
|
1322 |
-
* @return [void]
|
1323 |
-
*/
|
1324 |
-
function sidebar_add_banner_html(){
|
1325 |
-
|
1326 |
-
ob_start();
|
1327 |
-
?>
|
1328 |
-
<div class="htoptions-sidebar-adds-area">
|
1329 |
-
|
1330 |
-
<div class="htoption-banner-area">
|
1331 |
-
<div class="htoption-banner-head">
|
1332 |
-
<div class="htoption-logo">
|
1333 |
-
<img src="<?php echo esc_url(HTMEGA_ADDONS_PL_URL.'admin/assets/images/logo.png'); ?>" alt="<?php echo esc_attr__( 'HTMega', 'htmega-addons' ); ?>">
|
1334 |
-
</div>
|
1335 |
-
<div class="htoption-intro">
|
1336 |
-
<p><?php echo wp_kses_post( 'HTMega is an absolute addon for elementor that includes 80+ elements & 360 Blocks with unlimited variations. HT Mega brings limitless possibilities. Embellish your site with the elements of HT Mega.' ); ?></p>
|
1337 |
-
</div>
|
1338 |
-
</div>
|
1339 |
-
|
1340 |
-
<ul class="htoption-feature">
|
1341 |
-
<li><?php echo esc_html__( '80+ Elementor Elements', 'htmega-addons' ); ?></li>
|
1342 |
-
<li><?php echo esc_html__( '360 Elementor Blocks', 'htmega-addons' ); ?></li>
|
1343 |
-
<li><?php echo esc_html__( '39 Categories and 491 Page Templates.', 'htmega-addons' ); ?></li>
|
1344 |
-
<li><?php echo esc_html__( 'Drag n Drop, No coding Required', 'htmega-addons' ); ?></li>
|
1345 |
-
<li><?php echo esc_html__( 'Responsive, supports all major devices', 'htmega-addons' ); ?></li>
|
1346 |
-
</ul>
|
1347 |
-
|
1348 |
-
<div class="htoption-action-btn">
|
1349 |
-
<a class="htoption-btn" href="<?php echo esc_url( 'https://wphtmega.com/pricing/' ); ?>" target="_blank">
|
1350 |
-
<span class="htoption-btn-text"><?php echo esc_html__( 'Get Pro Now', 'htmega-addons' ); ?></span>
|
1351 |
-
<span class="htoption-btn-icon"><img src="<?php echo esc_url(HTMEGA_ADDONS_PL_URL.'admin/assets/images/icon/plus.png'); ?>" alt="<?php echo esc_attr__( 'Get pro now', 'htmega-addons' ); ?>"></span>
|
1352 |
-
</a>
|
1353 |
-
</div>
|
1354 |
-
</div>
|
1355 |
-
|
1356 |
-
<div class="htoption-rating-area">
|
1357 |
-
<div class="htoption-rating-icon">
|
1358 |
-
<img src="<?php echo esc_url(HTMEGA_ADDONS_PL_URL.'admin/assets/images/icon/rating.png'); ?>" alt="<?php echo esc_attr__( 'Rating icon', 'htmega-addons' ); ?>">
|
1359 |
-
</div>
|
1360 |
-
<div class="htoption-rating-intro">
|
1361 |
-
<?php echo esc_html__('If you’re loving how our product has helped your business, please let the WordPress community know by','htmega-addons'); ?> <a target="_blank" href="https://wordpress.org/support/plugin/ht-mega-for-elementor/reviews/?filter=5#new-post"><?php echo esc_html__( 'leaving us a review on our WP repository', 'htmega-addons' ); ?></a>. <?php echo esc_html__( 'Which will motivate us a lot.', 'htmega-addons' ); ?>
|
1362 |
-
</div>
|
1363 |
-
</div>
|
1364 |
-
|
1365 |
-
</div>
|
1366 |
-
<?php
|
1367 |
-
return ob_get_clean();
|
1368 |
-
|
1369 |
-
}
|
1370 |
-
|
1371 |
-
/**
|
1372 |
-
* Get all the pages
|
1373 |
-
*
|
1374 |
-
* @return array page names with key value pairs
|
1375 |
-
*/
|
1376 |
-
function get_pages() {
|
1377 |
-
$pages = get_pages();
|
1378 |
-
$pages_options = [];
|
1379 |
-
if ( $pages ) {
|
1380 |
-
foreach ($pages as $page) {
|
1381 |
-
$pages_options[$page->ID] = $page->post_title;
|
1382 |
-
}
|
1383 |
-
}
|
1384 |
-
return $pages_options;
|
1385 |
-
}
|
1386 |
-
|
1387 |
-
// General tab
|
1388 |
-
function pro_vs_free_html_tabs(){
|
1389 |
-
ob_start();
|
1390 |
-
?>
|
1391 |
-
<div class="htmega-general-tabs">
|
1392 |
-
|
1393 |
-
<div class="htmega-document-section">
|
1394 |
-
<div class="htmega-column">
|
1395 |
-
<a href="https://www.youtube.com/watch?v=d7jAiAYusUg&list=PLk25BQFrj7wEEGUHn9x2zwOql990bZAo_" target="_blank">
|
1396 |
-
<img src="<?php echo esc_url(HTMEGA_ADDONS_PL_URL.'admin/assets/images/video-tutorial.jpg'); ?>" alt="<?php esc_attr_e( 'Video Tutorial', 'htmega-addons' ); ?>">
|
1397 |
-
</a>
|
1398 |
-
</div>
|
1399 |
-
<div class="htmega-column">
|
1400 |
-
<a href="https://wphtmega.com/docs/" target="_blank">
|
1401 |
-
<img src="<?php echo esc_url(HTMEGA_ADDONS_PL_URL.'admin/assets/images/online-documentation.jpg'); ?>" alt="<?php esc_attr_e( 'Online Documentation', 'htmega-addons' ); ?>">
|
1402 |
-
</a>
|
1403 |
-
</div>
|
1404 |
-
<div class="htmega-column">
|
1405 |
-
<a href="https://hasthemes.com/contact-us/" target="_blank">
|
1406 |
-
<img src="<?php echo esc_url(HTMEGA_ADDONS_PL_URL.'admin/assets/images/genral-contact-us.jpg'); ?>" alt="<?php esc_attr_e( 'Contact Us', 'htmega-addons' ); ?>">
|
1407 |
-
</a>
|
1408 |
-
</div>
|
1409 |
-
</div>
|
1410 |
-
|
1411 |
-
<div class="different-pro-free">
|
1412 |
-
<h3 class="htmega-section-title"><?php echo esc_html__( 'HTMega Free Vs HTMega Pro.', 'htmega-addons' ); ?></h3>
|
1413 |
-
|
1414 |
-
<div class="htmega-admin-row">
|
1415 |
-
<div class="features-list-area">
|
1416 |
-
<h3><?php echo esc_html__( 'HTMega Free', 'htmega-addons' ); ?></h3>
|
1417 |
-
<ul>
|
1418 |
-
<li><?php echo esc_html__( '84 Elements', 'htmega-addons' ); ?></li>
|
1419 |
-
<li><?php echo esc_html__( '15 Categories / Template set', 'htmega-addons' ); ?></li>
|
1420 |
-
<li><?php echo esc_html__( '15 Templates', 'htmega-addons' ); ?></li>
|
1421 |
-
<li class="fedel"><del><?php echo esc_html__( '360 Blocks / Sections', 'htmega-addons' ); ?></del></li>
|
1422 |
-
<li class="fedel"><del><?php echo esc_html__( 'Blog Search Page Builder', 'htmega-addons'); ?></del></li>
|
1423 |
-
<li class="fedel"><del><?php echo esc_html__( '404 Error Page Builder', 'htmega-addons'); ?></del></li>
|
1424 |
-
<li class="fedel"><del><?php echo esc_html__( 'Coming soon Page Builder', 'htmega-addons'); ?></del></li>
|
1425 |
-
<li class="fedel"><del><?php echo esc_html__( 'Blog Archive Category Wise Individual layout', 'htmega-addons'); ?></del></li>
|
1426 |
-
<li class="fedel"><del><?php echo esc_html__( 'Blog Archive Tag Wise Individual layout', 'htmega-addons'); ?></del></li>
|
1427 |
-
<li class="fedel"><del><?php echo esc_html__( 'Fakes notification', 'htmega-addons');?></del></li>
|
1428 |
-
<li class="fedel"><del><?php echo esc_html__( 'Notification showing position', 'htmega-addons');?></del></li>
|
1429 |
-
<li class="fedel"><del><?php echo esc_html__( 'Notification image position', 'htmega-addons');?></del></li>
|
1430 |
-
<li class="fedel"><del><?php echo esc_html__( 'Time interval each notification', 'htmega-addons');?></li>
|
1431 |
-
<li class="fedel"><del><?php echo esc_html__( 'Sales upto date option', 'htmega-addons');?></del></li>
|
1432 |
-
<li class="fedel"><del><?php echo esc_html__( 'Incoming animation option', 'htmega-addons');?></del></li>
|
1433 |
-
<li class="fedel"><del><?php echo esc_html__( 'Outgoing animation option', 'htmega-addons');?></del></li>
|
1434 |
-
<li class="fedel"><del><?php echo esc_html__( 'Background color option', 'htmega-addons');?></del></li>
|
1435 |
-
<li class="fedel"><del><?php echo esc_html__( 'Heading color option', 'htmega-addons');?></del></li>
|
1436 |
-
<li class="fedel"><del><?php echo esc_html__( 'Content color option', 'htmega-addons');?></del></li>
|
1437 |
-
<li class="fedel"><del><?php echo esc_html__( 'Cross icon color option', 'htmega-addons');?></del></li>
|
1438 |
-
</ul>
|
1439 |
-
</div>
|
1440 |
-
<div class="features-list-area">
|
1441 |
-
<h3><?php echo esc_html__( 'HTMega Pro', 'htmega-addons' ); ?></h3>
|
1442 |
-
<ul>
|
1443 |
-
<li><?php echo esc_html__( '84 Elements', 'htmega-addons' ); ?></li>
|
1444 |
-
<li><?php echo esc_html__( '325 Blocks / Sections', 'htmega-addons' ); ?></li>
|
1445 |
-
<li><?php echo esc_html__( '35 Categories / Template set', 'htmega-addons' ); ?></li>
|
1446 |
-
<li><?php echo esc_html__( '524 Templates', 'htmega-addons' ); ?></li>
|
1447 |
-
<li><?php echo esc_html__( 'Blog Search Page Builder', 'htmega-addons' ); ?></li>
|
1448 |
-
<li><?php echo esc_html__( '404 Error Page Builder', 'htmega-addons' ); ?></li>
|
1449 |
-
<li><?php echo esc_html__( 'Coming soon Page Builder', 'htmega-addons' ); ?></li>
|
1450 |
-
<li><?php echo esc_html__( 'Blog Archive Category Wise Individual layout', 'htmega-addons' ); ?></li>
|
1451 |
-
<li><?php echo esc_html__( 'Blog Archive Tag Wise Individual layout', 'htmega-addons' ); ?></li>
|
1452 |
-
<li><?php echo esc_html__( 'Fakes notification', 'htmega-addons');?></li>
|
1453 |
-
<li><?php echo esc_html__( 'Notification showing position', 'htmega-addons');?></li>
|
1454 |
-
<li><?php echo esc_html__( 'Notification image position', 'htmega-addons');?></li>
|
1455 |
-
<li><?php echo esc_html__( 'Time interval each notification', 'htmega-addons');?></li>
|
1456 |
-
<li><?php echo esc_html__( 'Sales upto date option', 'htmega-addons');?></li>
|
1457 |
-
<li><?php echo esc_html__( 'Incoming animation option', 'htmega-addons');?></li>
|
1458 |
-
<li><?php echo esc_html__( 'Outgoing animation option', 'htmega-addons');?></li>
|
1459 |
-
<li><?php echo esc_html__( 'Background color option', 'htmega-addons');?></li>
|
1460 |
-
<li><?php echo esc_html__( 'Heading color option', 'htmega-addons');?></li>
|
1461 |
-
<li><?php echo esc_html__( 'Content color option', 'htmega-addons');?></li>
|
1462 |
-
<li><?php echo esc_html__( 'Cross icon color option', 'htmega-addons');?></li>
|
1463 |
-
</ul>
|
1464 |
-
<a class="button button-primary" href="https://wphtmega.com/pricing/" target="_blank"><?php echo esc_html__( 'Buy Now', 'htmega-addons' ); ?></a>
|
1465 |
-
</div>
|
1466 |
-
</div>
|
1467 |
-
|
1468 |
-
</div>
|
1469 |
-
|
1470 |
-
</div>
|
1471 |
-
<?php
|
1472 |
-
echo ob_get_clean();
|
1473 |
-
}
|
1474 |
-
|
1475 |
-
// Pop up Box
|
1476 |
-
function popup_box(){
|
1477 |
-
ob_start();
|
1478 |
-
?>
|
1479 |
-
<div id="htmega-dialog" title="<?php echo esc_attr( 'Go Premium' ); ?>" style="display: none;">
|
1480 |
-
<div class="htmega-content">
|
1481 |
-
<span><i class="dashicons dashicons-warning"></i></span>
|
1482 |
-
<p>
|
1483 |
-
<?php
|
1484 |
-
echo __('Purchase our','htmega-addons').' <strong><a href="'.esc_url( 'https://wphtmega.com/pricing/' ).'" target="_blank" rel="nofollow">'.__( 'premium version', 'htmega-addons' ).'</a></strong> '.__('to unlock these pro elements!','htmega-addons');
|
1485 |
-
?>
|
1486 |
-
</p>
|
1487 |
-
</div>
|
1488 |
-
</div>
|
1489 |
-
<script type="text/javascript">
|
1490 |
-
( function( $ ) {
|
1491 |
-
|
1492 |
-
$(function() {
|
1493 |
-
$( '.htmega_table_row.pro,.htmegapro label' ).click(function() {
|
1494 |
-
$( "#htmega-dialog" ).dialog({
|
1495 |
-
modal: true,
|
1496 |
-
minWidth: 500,
|
1497 |
-
buttons: {
|
1498 |
-
Ok: function() {
|
1499 |
-
$( this ).dialog( "close" );
|
1500 |
-
}
|
1501 |
-
}
|
1502 |
-
});
|
1503 |
-
});
|
1504 |
-
$(".htmega_table_row.pro input[type='checkbox'],.htmegapro select").attr("disabled", true);
|
1505 |
-
});
|
1506 |
-
|
1507 |
-
} )( jQuery );
|
1508 |
-
</script>
|
1509 |
-
<?php
|
1510 |
-
echo ob_get_clean();
|
1511 |
-
}
|
1512 |
-
|
1513 |
-
// Element Toogle Button
|
1514 |
-
function html_element_toogle_button(){
|
1515 |
-
ob_start();
|
1516 |
-
?>
|
1517 |
-
<span class="htmega-open-element-toggle"><?php esc_html_e( 'Toggle All', 'htmega-addons' );?></span>
|
1518 |
-
<?php
|
1519 |
-
echo ob_get_clean();
|
1520 |
}
|
1521 |
|
1522 |
|
2 |
|
3 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.
|
4 |
|
5 |
+
require_once( HTMEGA_ADDONS_PL_PATH.'admin/include/settings-panel/settings-panel.php' );
|
6 |
|
7 |
+
class HTMega_Admin_Settings {
|
8 |
|
9 |
function __construct() {
|
10 |
+
HTMegaOpt_Base::init();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
12 |
|
13 |
|
admin/include/class.settings-api.php
CHANGED
@@ -1,683 +1,683 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* weDevs Settings API wrapper class
|
5 |
-
* @version 1.3 (27-Sep-2016)
|
6 |
-
* @author Tareq Hasan <tareq@weDevs.com>
|
7 |
-
* @link https://tareq.co Tareq Hasan
|
8 |
-
*/
|
9 |
-
|
10 |
-
if ( !class_exists( 'HTMega_Settings_API' ) ):
|
11 |
-
class HTMega_Settings_API {
|
12 |
-
|
13 |
-
/**
|
14 |
-
* settings sections array
|
15 |
-
*
|
16 |
-
* @var array
|
17 |
-
*/
|
18 |
-
protected $settings_sections = array();
|
19 |
-
|
20 |
-
/**
|
21 |
-
* Settings fields array
|
22 |
-
*
|
23 |
-
* @var array
|
24 |
-
*/
|
25 |
-
protected $settings_fields = array();
|
26 |
-
|
27 |
-
public function __construct() {
|
28 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
29 |
-
}
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Enqueue scripts and styles
|
33 |
-
*/
|
34 |
-
function admin_enqueue_scripts() {
|
35 |
-
wp_enqueue_style( 'wp-color-picker' );
|
36 |
-
wp_enqueue_media();
|
37 |
-
wp_enqueue_script( 'wp-color-picker' );
|
38 |
-
wp_enqueue_script( 'jquery' );
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Set settings sections
|
43 |
-
*
|
44 |
-
* @param array $sections setting sections array
|
45 |
-
*/
|
46 |
-
function set_sections( $sections ) {
|
47 |
-
$this->settings_sections = $sections;
|
48 |
-
|
49 |
-
return $this;
|
50 |
-
}
|
51 |
-
|
52 |
-
/**
|
53 |
-
* Add a single section
|
54 |
-
*
|
55 |
-
* @param array $section
|
56 |
-
*/
|
57 |
-
function add_section( $section ) {
|
58 |
-
$this->settings_sections[] = $section;
|
59 |
-
|
60 |
-
return $this;
|
61 |
-
}
|
62 |
-
|
63 |
-
/**
|
64 |
-
* Set settings fields
|
65 |
-
*
|
66 |
-
* @param array $fields settings fields array
|
67 |
-
*/
|
68 |
-
function set_fields( $fields ) {
|
69 |
-
$this->settings_fields = $fields;
|
70 |
-
|
71 |
-
return $this;
|
72 |
-
}
|
73 |
-
|
74 |
-
function add_field( $section, $field ) {
|
75 |
-
$defaults = array(
|
76 |
-
'name' => '',
|
77 |
-
'label' => '',
|
78 |
-
'desc' => '',
|
79 |
-
'type' => 'text'
|
80 |
-
);
|
81 |
-
|
82 |
-
$arg = wp_parse_args( $field, $defaults );
|
83 |
-
$this->settings_fields[$section][] = $arg;
|
84 |
-
|
85 |
-
return $this;
|
86 |
-
}
|
87 |
-
|
88 |
-
/**
|
89 |
-
* Initialize and registers the settings sections and fileds to WordPress
|
90 |
-
*
|
91 |
-
* Usually this should be called at `admin_init` hook.
|
92 |
-
*
|
93 |
-
* This function gets the initiated settings sections and fields. Then
|
94 |
-
* registers them to WordPress and ready for use.
|
95 |
-
*/
|
96 |
-
function admin_init() {
|
97 |
-
//register settings sections
|
98 |
-
foreach ( $this->settings_sections as $section ) {
|
99 |
-
if ( false == get_option( $section['id'] ) ) {
|
100 |
-
add_option( $section['id'] );
|
101 |
-
}
|
102 |
-
|
103 |
-
if ( isset($section['desc']) && !empty($section['desc']) ) {
|
104 |
-
$section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
|
105 |
-
$callback = create_function('', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";');
|
106 |
-
} else if ( isset( $section['callback'] ) ) {
|
107 |
-
$callback = $section['callback'];
|
108 |
-
} else {
|
109 |
-
$callback = null;
|
110 |
-
}
|
111 |
-
|
112 |
-
add_settings_section( $section['id'], $section['title'], $callback, $section['id'] );
|
113 |
-
}
|
114 |
-
|
115 |
-
//register settings fields
|
116 |
-
foreach ( $this->settings_fields as $section => $field ) {
|
117 |
-
foreach ( $field as $option ) {
|
118 |
-
|
119 |
-
$name = $option['name'];
|
120 |
-
$type = isset( $option['type'] ) ? $option['type'] : 'text';
|
121 |
-
$label = isset( $option['label'] ) ? $option['label'] : '';
|
122 |
-
$callback = isset( $option['callback'] ) ? $option['callback'] : array( $this, 'callback_' . $type );
|
123 |
-
|
124 |
-
$args = array(
|
125 |
-
'id' => $name,
|
126 |
-
'class' => isset( $option['class'] ) ? $option['class'] : $name,
|
127 |
-
'label_for' => "{$section}[{$name}]",
|
128 |
-
'desc' => isset( $option['desc'] ) ? $option['desc'] : '',
|
129 |
-
'name' => $label,
|
130 |
-
'section' => $section,
|
131 |
-
'size' => isset( $option['size'] ) ? $option['size'] : null,
|
132 |
-
'options' => isset( $option['options'] ) ? $option['options'] : '',
|
133 |
-
'std' => isset( $option['default'] ) ? $option['default'] : '',
|
134 |
-
'sanitize_callback' => isset( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : '',
|
135 |
-
'type' => $type,
|
136 |
-
'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : '',
|
137 |
-
'min' => isset( $option['min'] ) ? $option['min'] : '',
|
138 |
-
'max' => isset( $option['max'] ) ? $option['max'] : '',
|
139 |
-
'step' => isset( $option['step'] ) ? $option['step'] : '',
|
140 |
-
'headding' => isset( $option['headding'] ) ? $option['headding'] : '',
|
141 |
-
);
|
142 |
-
|
143 |
-
add_settings_field( "{$section}[{$name}]", $label, $callback, $section, $section, $args );
|
144 |
-
}
|
145 |
-
}
|
146 |
-
|
147 |
-
// creates our settings in the options table
|
148 |
-
foreach ( $this->settings_sections as $section ) {
|
149 |
-
register_setting( $section['id'], $section['id'], array( $this, 'sanitize_options' ) );
|
150 |
-
}
|
151 |
-
}
|
152 |
-
|
153 |
-
/**
|
154 |
-
* Get field description for display
|
155 |
-
*
|
156 |
-
* @param array $args settings field args
|
157 |
-
*/
|
158 |
-
public function get_field_description( $args ) {
|
159 |
-
if ( ! empty( $args['desc'] ) ) {
|
160 |
-
$desc = sprintf( '<p class="description">%s</p>', $args['desc'] );
|
161 |
-
} else {
|
162 |
-
$desc = '';
|
163 |
-
}
|
164 |
-
return $desc;
|
165 |
-
}
|
166 |
-
|
167 |
-
/**
|
168 |
-
* Get Title for display
|
169 |
-
*
|
170 |
-
* @param array $args settings field args
|
171 |
-
*/
|
172 |
-
public function callback_title( $args ) {
|
173 |
-
$headding = isset( $args['headding'] ) ? $args['headding'] : '';
|
174 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
175 |
-
$html = sprintf( '<h2 class="element_section_title %1$s-title">%2$s</h2>', $size, $headding );
|
176 |
-
echo $html;
|
177 |
-
}
|
178 |
-
|
179 |
-
/**
|
180 |
-
* Displays a text field for a settings field
|
181 |
-
*
|
182 |
-
* @param array $args settings field args
|
183 |
-
*/
|
184 |
-
function callback_text( $args ) {
|
185 |
-
|
186 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
187 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
188 |
-
$type = isset( $args['type'] ) ? $args['type'] : 'text';
|
189 |
-
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"';
|
190 |
-
|
191 |
-
$html = sprintf( '<input type="%1$s" class="%2$s-text" id="%3$s[%4$s]" name="%3$s[%4$s]" value="%5$s"%6$s/>', $type, $size, $args['section'], $args['id'], $value, $placeholder );
|
192 |
-
$html .= $this->get_field_description( $args );
|
193 |
-
|
194 |
-
echo $html;
|
195 |
-
}
|
196 |
-
|
197 |
-
/**
|
198 |
-
* Displays a url field for a settings field
|
199 |
-
*
|
200 |
-
* @param array $args settings field args
|
201 |
-
*/
|
202 |
-
function callback_url( $args ) {
|
203 |
-
$this->callback_text( $args );
|
204 |
-
}
|
205 |
-
|
206 |
-
/**
|
207 |
-
* Displays a number field for a settings field
|
208 |
-
*
|
209 |
-
* @param array $args settings field args
|
210 |
-
*/
|
211 |
-
function callback_number( $args ) {
|
212 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
213 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
214 |
-
$type = isset( $args['type'] ) ? $args['type'] : 'number';
|
215 |
-
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"';
|
216 |
-
$min = ( $args['min'] == '' ) ? '' : ' min="' . $args['min'] . '"';
|
217 |
-
$max = ( $args['max'] == '' ) ? '' : ' max="' . $args['max'] . '"';
|
218 |
-
$step = ( $args['step'] == '' ) ? '' : ' step="' . $args['step'] . '"';
|
219 |
-
|
220 |
-
$html = sprintf( '<input type="%1$s" class="%2$s-number" id="%3$s[%4$s]" name="%3$s[%4$s]" value="%5$s"%6$s%7$s%8$s%9$s/>', $type, $size, $args['section'], $args['id'], $value, $placeholder, $min, $max, $step );
|
221 |
-
$html .= $this->get_field_description( $args );
|
222 |
-
|
223 |
-
echo $html;
|
224 |
-
}
|
225 |
-
|
226 |
-
/**
|
227 |
-
* Displays a checkbox for a settings field
|
228 |
-
*
|
229 |
-
* @param array $args settings field args
|
230 |
-
*/
|
231 |
-
function callback_checkbox( $args ) {
|
232 |
-
|
233 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
234 |
-
|
235 |
-
$html = '<fieldset class="htmega_element_checkbox">';
|
236 |
-
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
|
237 |
-
$html .= sprintf( '<input type="checkbox" class="checkbox" id="htmega_sp_%1$s[%2$s]" name="%1$s[%2$s]" value="on" %3$s />', $args['section'], $args['id'], checked( $value, 'on', false ) );
|
238 |
-
$html .= sprintf( '<label for="htmega_sp_%1$s[%2$s]">%3$s</label>', $args['section'], $args['id'], $args['desc'] );
|
239 |
-
$html .= '</fieldset>';
|
240 |
-
|
241 |
-
echo $html;
|
242 |
-
}
|
243 |
-
|
244 |
-
/**
|
245 |
-
* Displays a multicheckbox for a settings field
|
246 |
-
*
|
247 |
-
* @param array $args settings field args
|
248 |
-
*/
|
249 |
-
function callback_multicheck( $args ) {
|
250 |
-
|
251 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
252 |
-
$html = '<fieldset>';
|
253 |
-
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="" />', $args['section'], $args['id'] );
|
254 |
-
foreach ( $args['options'] as $key => $label ) {
|
255 |
-
$checked = isset( $value[$key] ) ? $value[$key] : '0';
|
256 |
-
$html .= sprintf( '<label for="htmega_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
257 |
-
$html .= sprintf( '<input type="checkbox" class="checkbox" id="htmega_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
|
258 |
-
$html .= sprintf( '%1$s</label><br>', $label );
|
259 |
-
}
|
260 |
-
|
261 |
-
$html .= $this->get_field_description( $args );
|
262 |
-
$html .= '</fieldset>';
|
263 |
-
|
264 |
-
echo $html;
|
265 |
-
}
|
266 |
-
|
267 |
-
/**
|
268 |
-
* Displays a radio button for a settings field
|
269 |
-
*
|
270 |
-
* @param array $args settings field args
|
271 |
-
*/
|
272 |
-
function callback_radio( $args ) {
|
273 |
-
|
274 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
275 |
-
$html = '<fieldset>';
|
276 |
-
|
277 |
-
foreach ( $args['options'] as $key => $label ) {
|
278 |
-
$html .= sprintf( '<label for="htmega_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
279 |
-
$html .= sprintf( '<input type="radio" class="radio" id="htmega_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $value, $key, false ) );
|
280 |
-
$html .= sprintf( '%1$s</label><br>', $label );
|
281 |
-
}
|
282 |
-
|
283 |
-
$html .= $this->get_field_description( $args );
|
284 |
-
$html .= '</fieldset>';
|
285 |
-
|
286 |
-
echo $html;
|
287 |
-
}
|
288 |
-
|
289 |
-
/**
|
290 |
-
* Displays a selectbox for a settings field
|
291 |
-
*
|
292 |
-
* @param array $args settings field args
|
293 |
-
*/
|
294 |
-
function callback_select( $args ) {
|
295 |
-
|
296 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
297 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
298 |
-
$html = sprintf( '<select class="%1$s" name="%2$s[%3$s]" id="%2$s[%3$s]">', $size, $args['section'], $args['id'] );
|
299 |
-
|
300 |
-
foreach ( $args['options'] as $key => $label ) {
|
301 |
-
$html .= sprintf( '<option value="%s"%s>%s</option>', $key, selected( $value, $key, false ), $label );
|
302 |
-
}
|
303 |
-
|
304 |
-
$html .= sprintf( '</select>' );
|
305 |
-
$html .= $this->get_field_description( $args );
|
306 |
-
|
307 |
-
echo $html;
|
308 |
-
}
|
309 |
-
|
310 |
-
/**
|
311 |
-
* Displays a multiselect for a settings field
|
312 |
-
*
|
313 |
-
* @param array $args settings field args
|
314 |
-
*/
|
315 |
-
function callback_multiselect( $args ) {
|
316 |
-
|
317 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
318 |
-
$html = sprintf( '<select multiple="multiple" class="%1$s" name="%1$s[%2$s][]" id="%1$s[%2$s]">', $args['section'], $args['id'] );
|
319 |
-
foreach ( $args['options'] as $key => $label ) {
|
320 |
-
$selected = '';
|
321 |
-
if( !empty( $value ) ){
|
322 |
-
$selected = in_array( $key, $value ) ? $key : '';
|
323 |
-
}
|
324 |
-
$html .= sprintf( '<option value="%1$s" %2$s>%3$s</option>', $key, selected( $selected, $key, false ), $label );
|
325 |
-
}
|
326 |
-
$html .= sprintf( '</select>' );
|
327 |
-
$html .= $this->get_field_description( $args );
|
328 |
-
|
329 |
-
echo $html;
|
330 |
-
}
|
331 |
-
|
332 |
-
/**
|
333 |
-
* Displays a textarea for a settings field
|
334 |
-
*
|
335 |
-
* @param array $args settings field args
|
336 |
-
*/
|
337 |
-
function callback_textarea( $args ) {
|
338 |
-
|
339 |
-
$value = esc_textarea( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
340 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
341 |
-
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="'.$args['placeholder'].'"';
|
342 |
-
|
343 |
-
$html = sprintf( '<textarea rows="5" cols="55" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]"%4$s>%5$s</textarea>', $size, $args['section'], $args['id'], $placeholder, $value );
|
344 |
-
$html .= $this->get_field_description( $args );
|
345 |
-
|
346 |
-
echo $html;
|
347 |
-
}
|
348 |
-
|
349 |
-
/**
|
350 |
-
* Displays the html for a settings field
|
351 |
-
*
|
352 |
-
* @param array $args settings field args
|
353 |
-
* @return string
|
354 |
-
*/
|
355 |
-
function callback_html( $args ) {
|
356 |
-
echo $this->get_field_description( $args );
|
357 |
-
}
|
358 |
-
|
359 |
-
/**
|
360 |
-
* Displays a rich text textarea for a settings field
|
361 |
-
*
|
362 |
-
* @param array $args settings field args
|
363 |
-
*/
|
364 |
-
function callback_wysiwyg( $args ) {
|
365 |
-
|
366 |
-
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
367 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : '500px';
|
368 |
-
|
369 |
-
echo '<div style="max-width: ' . $size . ';">';
|
370 |
-
|
371 |
-
$editor_settings = array(
|
372 |
-
'teeny' => true,
|
373 |
-
'textarea_name' => $args['section'] . '[' . $args['id'] . ']',
|
374 |
-
'textarea_rows' => 10
|
375 |
-
);
|
376 |
-
|
377 |
-
if ( isset( $args['options'] ) && is_array( $args['options'] ) ) {
|
378 |
-
$editor_settings = array_merge( $editor_settings, $args['options'] );
|
379 |
-
}
|
380 |
-
|
381 |
-
wp_editor( $value, $args['section'] . '-' . $args['id'], $editor_settings );
|
382 |
-
|
383 |
-
echo '</div>';
|
384 |
-
|
385 |
-
echo $this->get_field_description( $args );
|
386 |
-
}
|
387 |
-
|
388 |
-
/**
|
389 |
-
* Displays a file upload field for a settings field
|
390 |
-
*
|
391 |
-
* @param array $args settings field args
|
392 |
-
*/
|
393 |
-
function callback_file( $args ) {
|
394 |
-
|
395 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
396 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
397 |
-
$id = $args['section'] . '[' . $args['id'] . ']';
|
398 |
-
$label = isset( $args['options']['button_label'] ) ? $args['options']['button_label'] : __( 'Choose File','htmega-addons' );
|
399 |
-
|
400 |
-
$html = sprintf( '<input type="text" class="%1$s-text wpsa-url" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
|
401 |
-
$html .= '<input type="button" class="button wpsa-browse" value="' . $label . '" />';
|
402 |
-
$html .= $this->get_field_description( $args );
|
403 |
-
|
404 |
-
echo $html;
|
405 |
-
}
|
406 |
-
|
407 |
-
/**
|
408 |
-
* Displays a password field for a settings field
|
409 |
-
*
|
410 |
-
* @param array $args settings field args
|
411 |
-
*/
|
412 |
-
function callback_password( $args ) {
|
413 |
-
|
414 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
415 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
416 |
-
|
417 |
-
$html = sprintf( '<input type="password" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
|
418 |
-
$html .= $this->get_field_description( $args );
|
419 |
-
|
420 |
-
echo $html;
|
421 |
-
}
|
422 |
-
|
423 |
-
/**
|
424 |
-
* Displays a color picker field for a settings field
|
425 |
-
*
|
426 |
-
* @param array $args settings field args
|
427 |
-
*/
|
428 |
-
function callback_color( $args ) {
|
429 |
-
|
430 |
-
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
431 |
-
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
432 |
-
|
433 |
-
$html = sprintf( '<input type="text" class="%1$s-text wp-color-picker-field" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s" data-default-color="%5$s" />', $size, $args['section'], $args['id'], $value, $args['std'] );
|
434 |
-
$html .= $this->get_field_description( $args );
|
435 |
-
|
436 |
-
echo $html;
|
437 |
-
}
|
438 |
-
|
439 |
-
|
440 |
-
/**
|
441 |
-
* Displays a select box for creating the pages select box
|
442 |
-
*
|
443 |
-
* @param array $args settings field args
|
444 |
-
*/
|
445 |
-
function callback_pages( $args ) {
|
446 |
-
|
447 |
-
$dropdown_args = array(
|
448 |
-
'selected' => esc_attr($this->get_option($args['id'], $args['section'], $args['std'] ) ),
|
449 |
-
'name' => $args['section'] . '[' . $args['id'] . ']',
|
450 |
-
'id' => $args['section'] . '[' . $args['id'] . ']',
|
451 |
-
'echo' => 0
|
452 |
-
);
|
453 |
-
$html = wp_dropdown_pages( $dropdown_args );
|
454 |
-
echo $html;
|
455 |
-
}
|
456 |
-
|
457 |
-
/**
|
458 |
-
* Sanitize callback for Settings API
|
459 |
-
*
|
460 |
-
* @return mixed
|
461 |
-
*/
|
462 |
-
function sanitize_options( $options ) {
|
463 |
-
|
464 |
-
if ( !$options ) {
|
465 |
-
return $options;
|
466 |
-
}
|
467 |
-
|
468 |
-
foreach( $options as $option_slug => $option_value ) {
|
469 |
-
$sanitize_callback = $this->get_sanitize_callback( $option_slug );
|
470 |
-
|
471 |
-
// If callback is set, call it
|
472 |
-
if ( $sanitize_callback ) {
|
473 |
-
$options[ $option_slug ] = call_user_func( $sanitize_callback, $option_value );
|
474 |
-
continue;
|
475 |
-
}
|
476 |
-
}
|
477 |
-
|
478 |
-
return $options;
|
479 |
-
}
|
480 |
-
|
481 |
-
/**
|
482 |
-
* Get sanitization callback for given option slug
|
483 |
-
*
|
484 |
-
* @param string $slug option slug
|
485 |
-
*
|
486 |
-
* @return mixed string or bool false
|
487 |
-
*/
|
488 |
-
function get_sanitize_callback( $slug = '' ) {
|
489 |
-
if ( empty( $slug ) ) {
|
490 |
-
return false;
|
491 |
-
}
|
492 |
-
|
493 |
-
// Iterate over registered fields and see if we can find proper callback
|
494 |
-
foreach( $this->settings_fields as $section => $options ) {
|
495 |
-
foreach ( $options as $option ) {
|
496 |
-
if ( $option['name'] != $slug ) {
|
497 |
-
continue;
|
498 |
-
}
|
499 |
-
|
500 |
-
// Return the callback name
|
501 |
-
return isset( $option['sanitize_callback'] ) && is_callable( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : false;
|
502 |
-
}
|
503 |
-
}
|
504 |
-
|
505 |
-
return false;
|
506 |
-
}
|
507 |
-
|
508 |
-
/**
|
509 |
-
* Get the value of a settings field
|
510 |
-
*
|
511 |
-
* @param string $option settings field name
|
512 |
-
* @param string $section the section name this field belongs to
|
513 |
-
* @param string $default default text if it's not found
|
514 |
-
* @return string
|
515 |
-
*/
|
516 |
-
function get_option( $option, $section, $default = '' ) {
|
517 |
-
|
518 |
-
$options = get_option( $section );
|
519 |
-
|
520 |
-
if ( isset( $options[$option] ) ) {
|
521 |
-
return $options[$option];
|
522 |
-
}
|
523 |
-
|
524 |
-
return $default;
|
525 |
-
}
|
526 |
-
|
527 |
-
/**
|
528 |
-
* Show navigations as tab
|
529 |
-
*
|
530 |
-
* Shows all the settings section labels as tab
|
531 |
-
*/
|
532 |
-
function show_navigation() {
|
533 |
-
$html = '<h2 class="nav-tab-wrapper">';
|
534 |
-
|
535 |
-
$count = count( $this->settings_sections );
|
536 |
-
|
537 |
-
// don't show the navigation if only one section exists
|
538 |
-
if ( $count === 1 ) {
|
539 |
-
return;
|
540 |
-
}
|
541 |
-
|
542 |
-
foreach ( $this->settings_sections as $tab ) {
|
543 |
-
$html .= sprintf( '<a href="#%1$s" class="nav-tab" id="%1$s-tab">%2$s</a>', $tab['id'], $tab['title'] );
|
544 |
-
}
|
545 |
-
|
546 |
-
$html .= '</h2>';
|
547 |
-
|
548 |
-
echo $html;
|
549 |
-
}
|
550 |
-
|
551 |
-
/**
|
552 |
-
* Show the section settings forms
|
553 |
-
*
|
554 |
-
* This function displays every sections in a different form
|
555 |
-
*/
|
556 |
-
function show_forms() {
|
557 |
-
?>
|
558 |
-
<div class="metabox-holder">
|
559 |
-
<?php foreach ( $this->settings_sections as $form ) { ?>
|
560 |
-
<div id="<?php echo $form['id']; ?>" class="group" style="display: none;">
|
561 |
-
<form method="post" action="options.php">
|
562 |
-
<?php
|
563 |
-
do_action( 'wsa_form_top_' . $form['id'], $form );
|
564 |
-
settings_fields( $form['id'] );
|
565 |
-
do_settings_sections( $form['id'] );
|
566 |
-
do_action( 'wsa_form_bottom_' . $form['id'], $form );
|
567 |
-
if ( isset( $this->settings_fields[ $form['id'] ] ) ):
|
568 |
-
?>
|
569 |
-
<div style="padding-left: 10px">
|
570 |
-
<?php submit_button(); ?>
|
571 |
-
</div>
|
572 |
-
<?php endif; ?>
|
573 |
-
</form>
|
574 |
-
</div>
|
575 |
-
<?php } ?>
|
576 |
-
</div>
|
577 |
-
<?php
|
578 |
-
$this->script();
|
579 |
-
}
|
580 |
-
|
581 |
-
/**
|
582 |
-
* Tabbable JavaScript codes & Initiate Color Picker
|
583 |
-
*
|
584 |
-
* This code uses localstorage for displaying active tabs
|
585 |
-
*/
|
586 |
-
function script() {
|
587 |
-
?>
|
588 |
-
<script>
|
589 |
-
jQuery(document).ready(function($) {
|
590 |
-
//Initiate Color Picker
|
591 |
-
$('.wp-color-picker-field').wpColorPicker();
|
592 |
-
$(".htmegapro .wp-picker-container button").attr("disabled", true);
|
593 |
-
|
594 |
-
// Switches option sections
|
595 |
-
$('.group').hide();
|
596 |
-
var activetab = '';
|
597 |
-
if (typeof(localStorage) != 'undefined' ) {
|
598 |
-
activetab = localStorage.getItem("activetab");
|
599 |
-
}
|
600 |
-
|
601 |
-
//if url has section id as hash then set it as active or override the current local storage value
|
602 |
-
if(window.location.hash){
|
603 |
-
activetab = window.location.hash;
|
604 |
-
if (typeof(localStorage) != 'undefined' ) {
|
605 |
-
localStorage.setItem("activetab", activetab);
|
606 |
-
}
|
607 |
-
}
|
608 |
-
|
609 |
-
if (activetab != '' && $(activetab).length ) {
|
610 |
-
$(activetab).fadeIn();
|
611 |
-
} else {
|
612 |
-
$('.group:first').fadeIn();
|
613 |
-
}
|
614 |
-
$('.group .collapsed').each(function(){
|
615 |
-
$(this).find('input:checked').parent().parent().parent().nextAll().each(
|
616 |
-
function(){
|
617 |
-
if ($(this).hasClass('last')) {
|
618 |
-
$(this).removeClass('hidden');
|
619 |
-
return false;
|
620 |
-
}
|
621 |
-
$(this).filter('.hidden').removeClass('hidden');
|
622 |
-
});
|
623 |
-
});
|
624 |
-
|
625 |
-
if (activetab != '' && $(activetab + '-tab').length ) {
|
626 |
-
$(activetab + '-tab').addClass('nav-tab-active');
|
627 |
-
}
|
628 |
-
else {
|
629 |
-
$('.nav-tab-wrapper a:first').addClass('nav-tab-active');
|
630 |
-
}
|
631 |
-
$('.nav-tab-wrapper a').click(function(evt) {
|
632 |
-
$('.nav-tab-wrapper a').removeClass('nav-tab-active');
|
633 |
-
$(this).addClass('nav-tab-active').blur();
|
634 |
-
var clicked_group = $(this).attr('href');
|
635 |
-
if (typeof(localStorage) != 'undefined' ) {
|
636 |
-
localStorage.setItem("activetab", $(this).attr('href'));
|
637 |
-
}
|
638 |
-
$('.group').hide();
|
639 |
-
$(clicked_group).fadeIn();
|
640 |
-
evt.preventDefault();
|
641 |
-
});
|
642 |
-
|
643 |
-
// Upload Media Button
|
644 |
-
$('.wpsa-browse').on('click', function (event) {
|
645 |
-
event.preventDefault();
|
646 |
-
|
647 |
-
var self = $(this);
|
648 |
-
|
649 |
-
// Create the media frame.
|
650 |
-
var file_frame = wp.media.frames.file_frame = wp.media({
|
651 |
-
title: self.data('uploader_title'),
|
652 |
-
button: {
|
653 |
-
text: self.data('uploader_button_text'),
|
654 |
-
},
|
655 |
-
multiple: false
|
656 |
-
});
|
657 |
-
|
658 |
-
file_frame.on('select', function () {
|
659 |
-
attachment = file_frame.state().get('selection').first().toJSON();
|
660 |
-
self.prev('.wpsa-url').val(attachment.url).change();
|
661 |
-
self.siblings('.htmedia_display').html('<img src="'+attachment.url+'" alt="" />');
|
662 |
-
});
|
663 |
-
|
664 |
-
// Finally, open the modal
|
665 |
-
file_frame.open();
|
666 |
-
});
|
667 |
-
|
668 |
-
// Remove Media Button
|
669 |
-
$('.wpsa-remove').on('click', function (event) {
|
670 |
-
event.preventDefault();
|
671 |
-
var self = $(this);
|
672 |
-
self.siblings('.wpsa-url').val('').change();
|
673 |
-
self.siblings('.htmedia_display').html('');
|
674 |
-
});
|
675 |
-
|
676 |
-
});
|
677 |
-
</script>
|
678 |
-
<?php
|
679 |
-
}
|
680 |
-
|
681 |
-
}
|
682 |
-
|
683 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* weDevs Settings API wrapper class
|
5 |
+
* @version 1.3 (27-Sep-2016)
|
6 |
+
* @author Tareq Hasan <tareq@weDevs.com>
|
7 |
+
* @link https://tareq.co Tareq Hasan
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( !class_exists( 'HTMega_Settings_API' ) ):
|
11 |
+
class HTMega_Settings_API {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* settings sections array
|
15 |
+
*
|
16 |
+
* @var array
|
17 |
+
*/
|
18 |
+
protected $settings_sections = array();
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Settings fields array
|
22 |
+
*
|
23 |
+
* @var array
|
24 |
+
*/
|
25 |
+
protected $settings_fields = array();
|
26 |
+
|
27 |
+
public function __construct() {
|
28 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Enqueue scripts and styles
|
33 |
+
*/
|
34 |
+
function admin_enqueue_scripts() {
|
35 |
+
wp_enqueue_style( 'wp-color-picker' );
|
36 |
+
wp_enqueue_media();
|
37 |
+
wp_enqueue_script( 'wp-color-picker' );
|
38 |
+
wp_enqueue_script( 'jquery' );
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Set settings sections
|
43 |
+
*
|
44 |
+
* @param array $sections setting sections array
|
45 |
+
*/
|
46 |
+
function set_sections( $sections ) {
|
47 |
+
$this->settings_sections = $sections;
|
48 |
+
|
49 |
+
return $this;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Add a single section
|
54 |
+
*
|
55 |
+
* @param array $section
|
56 |
+
*/
|
57 |
+
function add_section( $section ) {
|
58 |
+
$this->settings_sections[] = $section;
|
59 |
+
|
60 |
+
return $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Set settings fields
|
65 |
+
*
|
66 |
+
* @param array $fields settings fields array
|
67 |
+
*/
|
68 |
+
function set_fields( $fields ) {
|
69 |
+
$this->settings_fields = $fields;
|
70 |
+
|
71 |
+
return $this;
|
72 |
+
}
|
73 |
+
|
74 |
+
function add_field( $section, $field ) {
|
75 |
+
$defaults = array(
|
76 |
+
'name' => '',
|
77 |
+
'label' => '',
|
78 |
+
'desc' => '',
|
79 |
+
'type' => 'text'
|
80 |
+
);
|
81 |
+
|
82 |
+
$arg = wp_parse_args( $field, $defaults );
|
83 |
+
$this->settings_fields[$section][] = $arg;
|
84 |
+
|
85 |
+
return $this;
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Initialize and registers the settings sections and fileds to WordPress
|
90 |
+
*
|
91 |
+
* Usually this should be called at `admin_init` hook.
|
92 |
+
*
|
93 |
+
* This function gets the initiated settings sections and fields. Then
|
94 |
+
* registers them to WordPress and ready for use.
|
95 |
+
*/
|
96 |
+
function admin_init() {
|
97 |
+
//register settings sections
|
98 |
+
foreach ( $this->settings_sections as $section ) {
|
99 |
+
if ( false == get_option( $section['id'] ) ) {
|
100 |
+
add_option( $section['id'] );
|
101 |
+
}
|
102 |
+
|
103 |
+
if ( isset($section['desc']) && !empty($section['desc']) ) {
|
104 |
+
$section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
|
105 |
+
$callback = create_function('', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";');
|
106 |
+
} else if ( isset( $section['callback'] ) ) {
|
107 |
+
$callback = $section['callback'];
|
108 |
+
} else {
|
109 |
+
$callback = null;
|
110 |
+
}
|
111 |
+
|
112 |
+
add_settings_section( $section['id'], $section['title'], $callback, $section['id'] );
|
113 |
+
}
|
114 |
+
|
115 |
+
//register settings fields
|
116 |
+
foreach ( $this->settings_fields as $section => $field ) {
|
117 |
+
foreach ( $field as $option ) {
|
118 |
+
|
119 |
+
$name = $option['name'];
|
120 |
+
$type = isset( $option['type'] ) ? $option['type'] : 'text';
|
121 |
+
$label = isset( $option['label'] ) ? $option['label'] : '';
|
122 |
+
$callback = isset( $option['callback'] ) ? $option['callback'] : array( $this, 'callback_' . $type );
|
123 |
+
|
124 |
+
$args = array(
|
125 |
+
'id' => $name,
|
126 |
+
'class' => isset( $option['class'] ) ? $option['class'] : $name,
|
127 |
+
'label_for' => "{$section}[{$name}]",
|
128 |
+
'desc' => isset( $option['desc'] ) ? $option['desc'] : '',
|
129 |
+
'name' => $label,
|
130 |
+
'section' => $section,
|
131 |
+
'size' => isset( $option['size'] ) ? $option['size'] : null,
|
132 |
+
'options' => isset( $option['options'] ) ? $option['options'] : '',
|
133 |
+
'std' => isset( $option['default'] ) ? $option['default'] : '',
|
134 |
+
'sanitize_callback' => isset( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : '',
|
135 |
+
'type' => $type,
|
136 |
+
'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : '',
|
137 |
+
'min' => isset( $option['min'] ) ? $option['min'] : '',
|
138 |
+
'max' => isset( $option['max'] ) ? $option['max'] : '',
|
139 |
+
'step' => isset( $option['step'] ) ? $option['step'] : '',
|
140 |
+
'headding' => isset( $option['headding'] ) ? $option['headding'] : '',
|
141 |
+
);
|
142 |
+
|
143 |
+
add_settings_field( "{$section}[{$name}]", $label, $callback, $section, $section, $args );
|
144 |
+
}
|
145 |
+
}
|
146 |
+
|
147 |
+
// creates our settings in the options table
|
148 |
+
foreach ( $this->settings_sections as $section ) {
|
149 |
+
register_setting( $section['id'], $section['id'], array( $this, 'sanitize_options' ) );
|
150 |
+
}
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Get field description for display
|
155 |
+
*
|
156 |
+
* @param array $args settings field args
|
157 |
+
*/
|
158 |
+
public function get_field_description( $args ) {
|
159 |
+
if ( ! empty( $args['desc'] ) ) {
|
160 |
+
$desc = sprintf( '<p class="description">%s</p>', $args['desc'] );
|
161 |
+
} else {
|
162 |
+
$desc = '';
|
163 |
+
}
|
164 |
+
return $desc;
|
165 |
+
}
|
166 |
+
|
167 |
+
/**
|
168 |
+
* Get Title for display
|
169 |
+
*
|
170 |
+
* @param array $args settings field args
|
171 |
+
*/
|
172 |
+
public function callback_title( $args ) {
|
173 |
+
$headding = isset( $args['headding'] ) ? $args['headding'] : '';
|
174 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
175 |
+
$html = sprintf( '<h2 class="element_section_title %1$s-title">%2$s</h2>', $size, $headding );
|
176 |
+
echo $html;
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Displays a text field for a settings field
|
181 |
+
*
|
182 |
+
* @param array $args settings field args
|
183 |
+
*/
|
184 |
+
function callback_text( $args ) {
|
185 |
+
|
186 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
187 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
188 |
+
$type = isset( $args['type'] ) ? $args['type'] : 'text';
|
189 |
+
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"';
|
190 |
+
|
191 |
+
$html = sprintf( '<input type="%1$s" class="%2$s-text" id="%3$s[%4$s]" name="%3$s[%4$s]" value="%5$s"%6$s/>', $type, $size, $args['section'], $args['id'], $value, $placeholder );
|
192 |
+
$html .= $this->get_field_description( $args );
|
193 |
+
|
194 |
+
echo $html;
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Displays a url field for a settings field
|
199 |
+
*
|
200 |
+
* @param array $args settings field args
|
201 |
+
*/
|
202 |
+
function callback_url( $args ) {
|
203 |
+
$this->callback_text( $args );
|
204 |
+
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* Displays a number field for a settings field
|
208 |
+
*
|
209 |
+
* @param array $args settings field args
|
210 |
+
*/
|
211 |
+
function callback_number( $args ) {
|
212 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
213 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
214 |
+
$type = isset( $args['type'] ) ? $args['type'] : 'number';
|
215 |
+
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="' . $args['placeholder'] . '"';
|
216 |
+
$min = ( $args['min'] == '' ) ? '' : ' min="' . $args['min'] . '"';
|
217 |
+
$max = ( $args['max'] == '' ) ? '' : ' max="' . $args['max'] . '"';
|
218 |
+
$step = ( $args['step'] == '' ) ? '' : ' step="' . $args['step'] . '"';
|
219 |
+
|
220 |
+
$html = sprintf( '<input type="%1$s" class="%2$s-number" id="%3$s[%4$s]" name="%3$s[%4$s]" value="%5$s"%6$s%7$s%8$s%9$s/>', $type, $size, $args['section'], $args['id'], $value, $placeholder, $min, $max, $step );
|
221 |
+
$html .= $this->get_field_description( $args );
|
222 |
+
|
223 |
+
echo $html;
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Displays a checkbox for a settings field
|
228 |
+
*
|
229 |
+
* @param array $args settings field args
|
230 |
+
*/
|
231 |
+
function callback_checkbox( $args ) {
|
232 |
+
|
233 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
234 |
+
|
235 |
+
$html = '<fieldset class="htmega_element_checkbox">';
|
236 |
+
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
|
237 |
+
$html .= sprintf( '<input type="checkbox" class="checkbox" id="htmega_sp_%1$s[%2$s]" name="%1$s[%2$s]" value="on" %3$s />', $args['section'], $args['id'], checked( $value, 'on', false ) );
|
238 |
+
$html .= sprintf( '<label for="htmega_sp_%1$s[%2$s]">%3$s</label>', $args['section'], $args['id'], $args['desc'] );
|
239 |
+
$html .= '</fieldset>';
|
240 |
+
|
241 |
+
echo $html;
|
242 |
+
}
|
243 |
+
|
244 |
+
/**
|
245 |
+
* Displays a multicheckbox for a settings field
|
246 |
+
*
|
247 |
+
* @param array $args settings field args
|
248 |
+
*/
|
249 |
+
function callback_multicheck( $args ) {
|
250 |
+
|
251 |
+
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
252 |
+
$html = '<fieldset>';
|
253 |
+
$html .= sprintf( '<input type="hidden" name="%1$s[%2$s]" value="" />', $args['section'], $args['id'] );
|
254 |
+
foreach ( $args['options'] as $key => $label ) {
|
255 |
+
$checked = isset( $value[$key] ) ? $value[$key] : '0';
|
256 |
+
$html .= sprintf( '<label for="htmega_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
257 |
+
$html .= sprintf( '<input type="checkbox" class="checkbox" id="htmega_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
|
258 |
+
$html .= sprintf( '%1$s</label><br>', $label );
|
259 |
+
}
|
260 |
+
|
261 |
+
$html .= $this->get_field_description( $args );
|
262 |
+
$html .= '</fieldset>';
|
263 |
+
|
264 |
+
echo $html;
|
265 |
+
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* Displays a radio button for a settings field
|
269 |
+
*
|
270 |
+
* @param array $args settings field args
|
271 |
+
*/
|
272 |
+
function callback_radio( $args ) {
|
273 |
+
|
274 |
+
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
275 |
+
$html = '<fieldset>';
|
276 |
+
|
277 |
+
foreach ( $args['options'] as $key => $label ) {
|
278 |
+
$html .= sprintf( '<label for="htmega_sp_%1$s[%2$s][%3$s]">', $args['section'], $args['id'], $key );
|
279 |
+
$html .= sprintf( '<input type="radio" class="radio" id="htmega_sp_%1$s[%2$s][%3$s]" name="%1$s[%2$s]" value="%3$s" %4$s />', $args['section'], $args['id'], $key, checked( $value, $key, false ) );
|
280 |
+
$html .= sprintf( '%1$s</label><br>', $label );
|
281 |
+
}
|
282 |
+
|
283 |
+
$html .= $this->get_field_description( $args );
|
284 |
+
$html .= '</fieldset>';
|
285 |
+
|
286 |
+
echo $html;
|
287 |
+
}
|
288 |
+
|
289 |
+
/**
|
290 |
+
* Displays a selectbox for a settings field
|
291 |
+
*
|
292 |
+
* @param array $args settings field args
|
293 |
+
*/
|
294 |
+
function callback_select( $args ) {
|
295 |
+
|
296 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
297 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
298 |
+
$html = sprintf( '<select class="%1$s" name="%2$s[%3$s]" id="%2$s[%3$s]">', $size, $args['section'], $args['id'] );
|
299 |
+
|
300 |
+
foreach ( $args['options'] as $key => $label ) {
|
301 |
+
$html .= sprintf( '<option value="%s"%s>%s</option>', $key, selected( $value, $key, false ), $label );
|
302 |
+
}
|
303 |
+
|
304 |
+
$html .= sprintf( '</select>' );
|
305 |
+
$html .= $this->get_field_description( $args );
|
306 |
+
|
307 |
+
echo $html;
|
308 |
+
}
|
309 |
+
|
310 |
+
/**
|
311 |
+
* Displays a multiselect for a settings field
|
312 |
+
*
|
313 |
+
* @param array $args settings field args
|
314 |
+
*/
|
315 |
+
function callback_multiselect( $args ) {
|
316 |
+
|
317 |
+
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
318 |
+
$html = sprintf( '<select multiple="multiple" class="%1$s" name="%1$s[%2$s][]" id="%1$s[%2$s]">', $args['section'], $args['id'] );
|
319 |
+
foreach ( $args['options'] as $key => $label ) {
|
320 |
+
$selected = '';
|
321 |
+
if( !empty( $value ) ){
|
322 |
+
$selected = in_array( $key, $value ) ? $key : '';
|
323 |
+
}
|
324 |
+
$html .= sprintf( '<option value="%1$s" %2$s>%3$s</option>', $key, selected( $selected, $key, false ), $label );
|
325 |
+
}
|
326 |
+
$html .= sprintf( '</select>' );
|
327 |
+
$html .= $this->get_field_description( $args );
|
328 |
+
|
329 |
+
echo $html;
|
330 |
+
}
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Displays a textarea for a settings field
|
334 |
+
*
|
335 |
+
* @param array $args settings field args
|
336 |
+
*/
|
337 |
+
function callback_textarea( $args ) {
|
338 |
+
|
339 |
+
$value = esc_textarea( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
340 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
341 |
+
$placeholder = empty( $args['placeholder'] ) ? '' : ' placeholder="'.$args['placeholder'].'"';
|
342 |
+
|
343 |
+
$html = sprintf( '<textarea rows="5" cols="55" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]"%4$s>%5$s</textarea>', $size, $args['section'], $args['id'], $placeholder, $value );
|
344 |
+
$html .= $this->get_field_description( $args );
|
345 |
+
|
346 |
+
echo $html;
|
347 |
+
}
|
348 |
+
|
349 |
+
/**
|
350 |
+
* Displays the html for a settings field
|
351 |
+
*
|
352 |
+
* @param array $args settings field args
|
353 |
+
* @return string
|
354 |
+
*/
|
355 |
+
function callback_html( $args ) {
|
356 |
+
echo $this->get_field_description( $args );
|
357 |
+
}
|
358 |
+
|
359 |
+
/**
|
360 |
+
* Displays a rich text textarea for a settings field
|
361 |
+
*
|
362 |
+
* @param array $args settings field args
|
363 |
+
*/
|
364 |
+
function callback_wysiwyg( $args ) {
|
365 |
+
|
366 |
+
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
|
367 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : '500px';
|
368 |
+
|
369 |
+
echo '<div style="max-width: ' . $size . ';">';
|
370 |
+
|
371 |
+
$editor_settings = array(
|
372 |
+
'teeny' => true,
|
373 |
+
'textarea_name' => $args['section'] . '[' . $args['id'] . ']',
|
374 |
+
'textarea_rows' => 10
|
375 |
+
);
|
376 |
+
|
377 |
+
if ( isset( $args['options'] ) && is_array( $args['options'] ) ) {
|
378 |
+
$editor_settings = array_merge( $editor_settings, $args['options'] );
|
379 |
+
}
|
380 |
+
|
381 |
+
wp_editor( $value, $args['section'] . '-' . $args['id'], $editor_settings );
|
382 |
+
|
383 |
+
echo '</div>';
|
384 |
+
|
385 |
+
echo $this->get_field_description( $args );
|
386 |
+
}
|
387 |
+
|
388 |
+
/**
|
389 |
+
* Displays a file upload field for a settings field
|
390 |
+
*
|
391 |
+
* @param array $args settings field args
|
392 |
+
*/
|
393 |
+
function callback_file( $args ) {
|
394 |
+
|
395 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
396 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
397 |
+
$id = $args['section'] . '[' . $args['id'] . ']';
|
398 |
+
$label = isset( $args['options']['button_label'] ) ? $args['options']['button_label'] : __( 'Choose File','htmega-addons' );
|
399 |
+
|
400 |
+
$html = sprintf( '<input type="text" class="%1$s-text wpsa-url" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
|
401 |
+
$html .= '<input type="button" class="button wpsa-browse" value="' . $label . '" />';
|
402 |
+
$html .= $this->get_field_description( $args );
|
403 |
+
|
404 |
+
echo $html;
|
405 |
+
}
|
406 |
+
|
407 |
+
/**
|
408 |
+
* Displays a password field for a settings field
|
409 |
+
*
|
410 |
+
* @param array $args settings field args
|
411 |
+
*/
|
412 |
+
function callback_password( $args ) {
|
413 |
+
|
414 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
415 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
416 |
+
|
417 |
+
$html = sprintf( '<input type="password" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
|
418 |
+
$html .= $this->get_field_description( $args );
|
419 |
+
|
420 |
+
echo $html;
|
421 |
+
}
|
422 |
+
|
423 |
+
/**
|
424 |
+
* Displays a color picker field for a settings field
|
425 |
+
*
|
426 |
+
* @param array $args settings field args
|
427 |
+
*/
|
428 |
+
function callback_color( $args ) {
|
429 |
+
|
430 |
+
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
|
431 |
+
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
|
432 |
+
|
433 |
+
$html = sprintf( '<input type="text" class="%1$s-text wp-color-picker-field" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s" data-default-color="%5$s" />', $size, $args['section'], $args['id'], $value, $args['std'] );
|
434 |
+
$html .= $this->get_field_description( $args );
|
435 |
+
|
436 |
+
echo $html;
|
437 |
+
}
|
438 |
+
|
439 |
+
|
440 |
+
/**
|
441 |
+
* Displays a select box for creating the pages select box
|
442 |
+
*
|
443 |
+
* @param array $args settings field args
|
444 |
+
*/
|
445 |
+
function callback_pages( $args ) {
|
446 |
+
|
447 |
+
$dropdown_args = array(
|
448 |
+
'selected' => esc_attr($this->get_option($args['id'], $args['section'], $args['std'] ) ),
|
449 |
+
'name' => $args['section'] . '[' . $args['id'] . ']',
|
450 |
+
'id' => $args['section'] . '[' . $args['id'] . ']',
|
451 |
+
'echo' => 0
|
452 |
+
);
|
453 |
+
$html = wp_dropdown_pages( $dropdown_args );
|
454 |
+
echo $html;
|
455 |
+
}
|
456 |
+
|
457 |
+
/**
|
458 |
+
* Sanitize callback for Settings API
|
459 |
+
*
|
460 |
+
* @return mixed
|
461 |
+
*/
|
462 |
+
function sanitize_options( $options ) {
|
463 |
+
|
464 |
+
if ( !$options ) {
|
465 |
+
return $options;
|
466 |
+
}
|
467 |
+
|
468 |
+
foreach( $options as $option_slug => $option_value ) {
|
469 |
+
$sanitize_callback = $this->get_sanitize_callback( $option_slug );
|
470 |
+
|
471 |
+
// If callback is set, call it
|
472 |
+
if ( $sanitize_callback ) {
|
473 |
+
$options[ $option_slug ] = call_user_func( $sanitize_callback, $option_value );
|
474 |
+
continue;
|
475 |
+
}
|
476 |
+
}
|
477 |
+
|
478 |
+
return $options;
|
479 |
+
}
|
480 |
+
|
481 |
+
/**
|
482 |
+
* Get sanitization callback for given option slug
|
483 |
+
*
|
484 |
+
* @param string $slug option slug
|
485 |
+
*
|
486 |
+
* @return mixed string or bool false
|
487 |
+
*/
|
488 |
+
function get_sanitize_callback( $slug = '' ) {
|
489 |
+
if ( empty( $slug ) ) {
|
490 |
+
return false;
|
491 |
+
}
|
492 |
+
|
493 |
+
// Iterate over registered fields and see if we can find proper callback
|
494 |
+
foreach( $this->settings_fields as $section => $options ) {
|
495 |
+
foreach ( $options as $option ) {
|
496 |
+
if ( $option['name'] != $slug ) {
|
497 |
+
continue;
|
498 |
+
}
|
499 |
+
|
500 |
+
// Return the callback name
|
501 |
+
return isset( $option['sanitize_callback'] ) && is_callable( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : false;
|
502 |
+
}
|
503 |
+
}
|
504 |
+
|
505 |
+
return false;
|
506 |
+
}
|
507 |
+
|
508 |
+
/**
|
509 |
+
* Get the value of a settings field
|
510 |
+
*
|
511 |
+
* @param string $option settings field name
|
512 |
+
* @param string $section the section name this field belongs to
|
513 |
+
* @param string $default default text if it's not found
|
514 |
+
* @return string
|
515 |
+
*/
|
516 |
+
function get_option( $option, $section, $default = '' ) {
|
517 |
+
|
518 |
+
$options = get_option( $section );
|
519 |
+
|
520 |
+
if ( isset( $options[$option] ) ) {
|
521 |
+
return $options[$option];
|
522 |
+
}
|
523 |
+
|
524 |
+
return $default;
|
525 |
+
}
|
526 |
+
|
527 |
+
/**
|
528 |
+
* Show navigations as tab
|
529 |
+
*
|
530 |
+
* Shows all the settings section labels as tab
|
531 |
+
*/
|
532 |
+
function show_navigation() {
|
533 |
+
$html = '<h2 class="nav-tab-wrapper">';
|
534 |
+
|
535 |
+
$count = count( $this->settings_sections );
|
536 |
+
|
537 |
+
// don't show the navigation if only one section exists
|
538 |
+
if ( $count === 1 ) {
|
539 |
+
return;
|
540 |
+
}
|
541 |
+
|
542 |
+
foreach ( $this->settings_sections as $tab ) {
|
543 |
+
$html .= sprintf( '<a href="#%1$s" class="nav-tab" id="%1$s-tab">%2$s</a>', $tab['id'], $tab['title'] );
|
544 |
+
}
|
545 |
+
|
546 |
+
$html .= '</h2>';
|
547 |
+
|
548 |
+
echo $html;
|
549 |
+
}
|
550 |
+
|
551 |
+
/**
|
552 |
+
* Show the section settings forms
|
553 |
+
*
|
554 |
+
* This function displays every sections in a different form
|
555 |
+
*/
|
556 |
+
function show_forms() {
|
557 |
+
?>
|
558 |
+
<div class="metabox-holder">
|
559 |
+
<?php foreach ( $this->settings_sections as $form ) { ?>
|
560 |
+
<div id="<?php echo $form['id']; ?>" class="group" style="display: none;">
|
561 |
+
<form method="post" action="options.php">
|
562 |
+
<?php
|
563 |
+
do_action( 'wsa_form_top_' . $form['id'], $form );
|
564 |
+
settings_fields( $form['id'] );
|
565 |
+
do_settings_sections( $form['id'] );
|
566 |
+
do_action( 'wsa_form_bottom_' . $form['id'], $form );
|
567 |
+
if ( isset( $this->settings_fields[ $form['id'] ] ) ):
|
568 |
+
?>
|
569 |
+
<div style="padding-left: 10px">
|
570 |
+
<?php submit_button(); ?>
|
571 |
+
</div>
|
572 |
+
<?php endif; ?>
|
573 |
+
</form>
|
574 |
+
</div>
|
575 |
+
<?php } ?>
|
576 |
+
</div>
|
577 |
+
<?php
|
578 |
+
$this->script();
|
579 |
+
}
|
580 |
+
|
581 |
+
/**
|
582 |
+
* Tabbable JavaScript codes & Initiate Color Picker
|
583 |
+
*
|
584 |
+
* This code uses localstorage for displaying active tabs
|
585 |
+
*/
|
586 |
+
function script() {
|
587 |
+
?>
|
588 |
+
<script>
|
589 |
+
jQuery(document).ready(function($) {
|
590 |
+
//Initiate Color Picker
|
591 |
+
$('.wp-color-picker-field').wpColorPicker();
|
592 |
+
$(".htmegapro .wp-picker-container button").attr("disabled", true);
|
593 |
+
|
594 |
+
// Switches option sections
|
595 |
+
$('.group').hide();
|
596 |
+
var activetab = '';
|
597 |
+
if (typeof(localStorage) != 'undefined' ) {
|
598 |
+
activetab = localStorage.getItem("activetab");
|
599 |
+
}
|
600 |
+
|
601 |
+
//if url has section id as hash then set it as active or override the current local storage value
|
602 |
+
if(window.location.hash){
|
603 |
+
activetab = window.location.hash;
|
604 |
+
if (typeof(localStorage) != 'undefined' ) {
|
605 |
+
localStorage.setItem("activetab", activetab);
|
606 |
+
}
|
607 |
+
}
|
608 |
+
|
609 |
+
if (activetab != '' && $(activetab).length ) {
|
610 |
+
$(activetab).fadeIn();
|
611 |
+
} else {
|
612 |
+
$('.group:first').fadeIn();
|
613 |
+
}
|
614 |
+
$('.group .collapsed').each(function(){
|
615 |
+
$(this).find('input:checked').parent().parent().parent().nextAll().each(
|
616 |
+
function(){
|
617 |
+
if ($(this).hasClass('last')) {
|
618 |
+
$(this).removeClass('hidden');
|
619 |
+
return false;
|
620 |
+
}
|
621 |
+
$(this).filter('.hidden').removeClass('hidden');
|
622 |
+
});
|
623 |
+
});
|
624 |
+
|
625 |
+
if (activetab != '' && $(activetab + '-tab').length ) {
|
626 |
+
$(activetab + '-tab').addClass('nav-tab-active');
|
627 |
+
}
|
628 |
+
else {
|
629 |
+
$('.nav-tab-wrapper a:first').addClass('nav-tab-active');
|
630 |
+
}
|
631 |
+
$('.nav-tab-wrapper a').click(function(evt) {
|
632 |
+
$('.nav-tab-wrapper a').removeClass('nav-tab-active');
|
633 |
+
$(this).addClass('nav-tab-active').blur();
|
634 |
+
var clicked_group = $(this).attr('href');
|
635 |
+
if (typeof(localStorage) != 'undefined' ) {
|
636 |
+
localStorage.setItem("activetab", $(this).attr('href'));
|
637 |
+
}
|
638 |
+
$('.group').hide();
|
639 |
+
$(clicked_group).fadeIn();
|
640 |
+
evt.preventDefault();
|
641 |
+
});
|
642 |
+
|
643 |
+
// Upload Media Button
|
644 |
+
$('.wpsa-browse').on('click', function (event) {
|
645 |
+
event.preventDefault();
|
646 |
+
|
647 |
+
var self = $(this);
|
648 |
+
|
649 |
+
// Create the media frame.
|
650 |
+
var file_frame = wp.media.frames.file_frame = wp.media({
|
651 |
+
title: self.data('uploader_title'),
|
652 |
+
button: {
|
653 |
+
text: self.data('uploader_button_text'),
|
654 |
+
},
|
655 |
+
multiple: false
|
656 |
+
});
|
657 |
+
|
658 |
+
file_frame.on('select', function () {
|
659 |
+
attachment = file_frame.state().get('selection').first().toJSON();
|
660 |
+
self.prev('.wpsa-url').val(attachment.url).change();
|
661 |
+
self.siblings('.htmedia_display').html('<img src="'+attachment.url+'" alt="" />');
|
662 |
+
});
|
663 |
+
|
664 |
+
// Finally, open the modal
|
665 |
+
file_frame.open();
|
666 |
+
});
|
667 |
+
|
668 |
+
// Remove Media Button
|
669 |
+
$('.wpsa-remove').on('click', function (event) {
|
670 |
+
event.preventDefault();
|
671 |
+
var self = $(this);
|
672 |
+
self.siblings('.wpsa-url').val('').change();
|
673 |
+
self.siblings('.htmedia_display').html('');
|
674 |
+
});
|
675 |
+
|
676 |
+
});
|
677 |
+
</script>
|
678 |
+
<?php
|
679 |
+
}
|
680 |
+
|
681 |
+
}
|
682 |
+
|
683 |
endif;
|
admin/include/settings-panel/assets/css/admin.css
ADDED
@@ -0,0 +1,715 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
*,
|
2 |
+
*::before,
|
3 |
+
*::after {
|
4 |
+
-webkit-box-sizing: border-box;
|
5 |
+
box-sizing: border-box;
|
6 |
+
}
|
7 |
+
|
8 |
+
/* custom icon font */
|
9 |
+
@font-face {
|
10 |
+
font-family: 'htmega';
|
11 |
+
src:
|
12 |
+
url('../fonts/htmega.ttf?aggao2') format('truetype'),
|
13 |
+
url('../fonts/htmega.woff?aggao2') format('woff'),
|
14 |
+
url('../fonts/htmega.svg?aggao2#htmega') format('svg');
|
15 |
+
font-weight: normal;
|
16 |
+
font-style: normal;
|
17 |
+
font-display: block;
|
18 |
+
}
|
19 |
+
|
20 |
+
.htmega {
|
21 |
+
font-family: 'htmega' !important;
|
22 |
+
font-style: normal;
|
23 |
+
font-weight: normal;
|
24 |
+
font-variant: normal;
|
25 |
+
text-transform: none;
|
26 |
+
line-height: 1;
|
27 |
+
|
28 |
+
/* Better Font Rendering =========== */
|
29 |
+
-webkit-font-smoothing: antialiased;
|
30 |
+
-moz-osx-font-smoothing: grayscale;
|
31 |
+
}
|
32 |
+
|
33 |
+
.htmega-themebuilder:before {
|
34 |
+
content: "\e902";
|
35 |
+
}
|
36 |
+
.htmega-advance:before {
|
37 |
+
content: "\e903";
|
38 |
+
}
|
39 |
+
.htmega-others:before {
|
40 |
+
content: "\e904";
|
41 |
+
}
|
42 |
+
.htmega-settings:before {
|
43 |
+
content: "\e905";
|
44 |
+
}
|
45 |
+
.htmega-element:before {
|
46 |
+
content: "\e900";
|
47 |
+
}
|
48 |
+
.htmega-extension:before {
|
49 |
+
content: "\e901";
|
50 |
+
}
|
51 |
+
|
52 |
+
#htmegaopt-admin-panel li {
|
53 |
+
margin-bottom: 0;
|
54 |
+
}
|
55 |
+
|
56 |
+
#htmegaopt-admin-panel a:focus {
|
57 |
+
box-shadow: none;
|
58 |
+
outline: none;
|
59 |
+
}
|
60 |
+
|
61 |
+
/* Area */
|
62 |
+
.htmega-settings-page-wrapper {
|
63 |
+
display: flex;
|
64 |
+
flex-wrap: wrap;
|
65 |
+
margin-bottom: -30px;
|
66 |
+
}
|
67 |
+
#htmega-opt-admin-app {
|
68 |
+
display: block;
|
69 |
+
width: calc(100% - 425px);
|
70 |
+
margin-right: auto;
|
71 |
+
margin-bottom: 30px;
|
72 |
+
}
|
73 |
+
.htoptions-sidebar-adds-area {
|
74 |
+
width: 375px;
|
75 |
+
margin-bottom: 30px;
|
76 |
+
position: -webkit-sticky;
|
77 |
+
position: sticky;
|
78 |
+
top: 0;
|
79 |
+
min-height: 100%;
|
80 |
+
align-self: flex-start;
|
81 |
+
}
|
82 |
+
|
83 |
+
/* Navigations Menu */
|
84 |
+
.htmega-navigation-wrapper {
|
85 |
+
background-color: rgba(189, 241, 255, 0.3);
|
86 |
+
border-radius: 4px;
|
87 |
+
}
|
88 |
+
|
89 |
+
.htmega-navigation-menu {
|
90 |
+
padding: 0 50px;
|
91 |
+
}
|
92 |
+
|
93 |
+
.htmega-navigation-menu li {
|
94 |
+
display: inline-block;
|
95 |
+
margin-right: 50px;
|
96 |
+
}
|
97 |
+
|
98 |
+
.htmega-navigation-menu li:last-child {
|
99 |
+
margin-right: 0;
|
100 |
+
}
|
101 |
+
|
102 |
+
.htmega-navigation-menu li a {
|
103 |
+
display: block;
|
104 |
+
font-size: 15px;
|
105 |
+
font-weight: 500;
|
106 |
+
padding: 25px 15px;
|
107 |
+
color: #333;
|
108 |
+
text-align: center;
|
109 |
+
text-decoration: none;
|
110 |
+
position: relative;
|
111 |
+
}
|
112 |
+
|
113 |
+
.htmega-navigation-menu li a span {
|
114 |
+
padding-right: 3px;
|
115 |
+
}
|
116 |
+
|
117 |
+
.htmega-navigation-menu li a:before {
|
118 |
+
width: 0;
|
119 |
+
height: 4px;
|
120 |
+
content: "";
|
121 |
+
right: 0;
|
122 |
+
bottom: 0;
|
123 |
+
position: absolute;
|
124 |
+
background-color: #1D39D8;
|
125 |
+
transition: 0.4s;
|
126 |
+
}
|
127 |
+
|
128 |
+
.htmega-navigation-menu li a.router-link-exact-active::before {
|
129 |
+
left: 0;
|
130 |
+
width: 100%;
|
131 |
+
}
|
132 |
+
|
133 |
+
.htmega-navigation-menu li a:hover::before {
|
134 |
+
left: 0;
|
135 |
+
width: 100%;
|
136 |
+
}
|
137 |
+
|
138 |
+
.htmega-navigation-menu li a:hover,
|
139 |
+
.htmega-navigation-menu li a.router-link-exact-active {
|
140 |
+
color: #1D39D7;
|
141 |
+
}
|
142 |
+
|
143 |
+
/* Header Content */
|
144 |
+
.htmega-header-area {
|
145 |
+
display: flex;
|
146 |
+
justify-content: space-between;
|
147 |
+
margin: 35px 0;
|
148 |
+
}
|
149 |
+
.htmega-header-content .htmega-header-title {
|
150 |
+
font-size: 16px;
|
151 |
+
font-weight: 500;
|
152 |
+
line-height: 1;
|
153 |
+
margin: 0 0 10px;
|
154 |
+
color: #1D39D7;
|
155 |
+
}
|
156 |
+
.htmega-header-content p {
|
157 |
+
font-family: "Inter", sans-serif;
|
158 |
+
font-size: 14px;
|
159 |
+
font-weight: 400;
|
160 |
+
line-height: 1.75;
|
161 |
+
max-width: 800px;
|
162 |
+
margin: 0;
|
163 |
+
color: #999999;
|
164 |
+
}
|
165 |
+
|
166 |
+
/* Enable Disable All */
|
167 |
+
.htmega-head-right{
|
168 |
+
display: flex;
|
169 |
+
align-items: center;
|
170 |
+
}
|
171 |
+
.htmega-button-enableall {
|
172 |
+
width: 190px;
|
173 |
+
background-color: #F6F8FF;
|
174 |
+
padding-left: 30px;
|
175 |
+
height: 54px;
|
176 |
+
display: flex;
|
177 |
+
align-items: center;
|
178 |
+
position: relative;
|
179 |
+
border-radius: 4px;
|
180 |
+
margin-right: 20px;
|
181 |
+
}
|
182 |
+
.htmega-button-enableall label{
|
183 |
+
display: flex;
|
184 |
+
}
|
185 |
+
.htmega-button-enableall input {
|
186 |
+
position: absolute;
|
187 |
+
top: 0;
|
188 |
+
left: 0;
|
189 |
+
overflow: hidden;
|
190 |
+
width: 100%;
|
191 |
+
height: 100%;
|
192 |
+
opacity: 0 !important;
|
193 |
+
margin: 0;
|
194 |
+
z-index: 99;
|
195 |
+
}
|
196 |
+
.htmega-button-enableall .htmega-button-enableall-text {
|
197 |
+
font-family: "Inter", sans-serif;
|
198 |
+
font-size: 15px;
|
199 |
+
font-weight: 500;
|
200 |
+
position: absolute;
|
201 |
+
top: 50%;
|
202 |
+
display: block;
|
203 |
+
padding-top: 1px;
|
204 |
+
transform: translateY(-50%);
|
205 |
+
color: #404660;
|
206 |
+
right: 30px;
|
207 |
+
left: auto;
|
208 |
+
background-color: #F6F8FF;
|
209 |
+
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
|
210 |
+
opacity: 0;
|
211 |
+
visibility: hidden;
|
212 |
+
}
|
213 |
+
.htmega-button-enableall .htmega-button-enableall-text.off {
|
214 |
+
opacity: 1;
|
215 |
+
visibility: visible;
|
216 |
+
}
|
217 |
+
.htmega-button-enableall input:checked + label .htmega-button-enableall-text.on {
|
218 |
+
opacity: 1;
|
219 |
+
visibility: visible;
|
220 |
+
}
|
221 |
+
.htmega-button-enableall input:checked + label .htmega-button-enableall-text.off {
|
222 |
+
opacity: 0;
|
223 |
+
visibility: hidden;
|
224 |
+
}
|
225 |
+
.htmega-button-enableall .htmega-button-enableall-indicator {
|
226 |
+
position: relative;
|
227 |
+
display: flex;
|
228 |
+
width: 40px;
|
229 |
+
height: 22px;
|
230 |
+
border-radius: 50px;
|
231 |
+
background-color: #ECEFFC;
|
232 |
+
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
|
233 |
+
}
|
234 |
+
.htmega-button-enableall input:checked + label .htmega-button-enableall-indicator {
|
235 |
+
background-color: #4687FE;
|
236 |
+
}
|
237 |
+
.htmega-button-enableall .htmega-button-enableall-indicator::before {
|
238 |
+
left: 0;
|
239 |
+
height: 100%;
|
240 |
+
width: 22px;
|
241 |
+
background-color: #D5DCFA;
|
242 |
+
position: absolute;
|
243 |
+
top: 50%;
|
244 |
+
right: auto;
|
245 |
+
content: "";
|
246 |
+
transform: translateY(-50%);
|
247 |
+
border-radius: 50%;
|
248 |
+
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1);
|
249 |
+
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
|
250 |
+
}
|
251 |
+
.htmega-button-enableall input:checked + label .htmega-button-enableall-indicator::before {
|
252 |
+
background-color: #fff;
|
253 |
+
left: 18px;
|
254 |
+
}
|
255 |
+
|
256 |
+
/* Save Button */
|
257 |
+
.htmega-opt-submit, .wp-core-ui .htmega-opt-submit.disabled, .wp-core-ui .htmega-opt-submit:disabled {
|
258 |
+
font-family: "Inter", sans-serif !important;
|
259 |
+
font-size: 15px !important;
|
260 |
+
line-height: 30px !important;
|
261 |
+
display: inline-flex !important;
|
262 |
+
align-items: center !important;
|
263 |
+
height: 54px !important;
|
264 |
+
padding: 6px 30px !important;
|
265 |
+
cursor: pointer;
|
266 |
+
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
|
267 |
+
white-space: nowrap;
|
268 |
+
text-decoration: none;
|
269 |
+
color: #FFFFFF !important;
|
270 |
+
border: none !important;
|
271 |
+
border-radius: 3px !important;
|
272 |
+
background-color: #1D39D7 !important;
|
273 |
+
}
|
274 |
+
.wp-core-ui .htmega-opt-submit.disabled, .wp-core-ui .htmega-opt-submit:disabled{
|
275 |
+
opacity: 0.5;
|
276 |
+
cursor: not-allowed;
|
277 |
+
}
|
278 |
+
|
279 |
+
/* Reset Button */
|
280 |
+
.htmega-reset-btn {
|
281 |
+
color: #1D39D7 !important;
|
282 |
+
font-weight: 500;
|
283 |
+
font-size: 14px !important;
|
284 |
+
background-color: transparent !important;
|
285 |
+
border-color: #E7E7E7 !important;
|
286 |
+
cursor: pointer;
|
287 |
+
transition: 0.4s;
|
288 |
+
outline: none;
|
289 |
+
box-shadow: none;
|
290 |
+
padding: 7px 20px !important;
|
291 |
+
}
|
292 |
+
.htmega-reset-btn.updating-message:before{
|
293 |
+
color: #1D39D7 !important;
|
294 |
+
}
|
295 |
+
.htmega-reset-btn:hover {
|
296 |
+
color: #ffffff !important;
|
297 |
+
background-color: rgb(221, 51, 51) !important;
|
298 |
+
border-color: rgb(221, 51, 51) !important;
|
299 |
+
}
|
300 |
+
.wp-core-ui .htmega-reset-btn.disabled, .wp-core-ui .htmega-reset-btn:disabled{
|
301 |
+
opacity: 0.5;
|
302 |
+
cursor: not-allowed;
|
303 |
+
}
|
304 |
+
|
305 |
+
/* Footer */
|
306 |
+
.htmega-opt-footer{
|
307 |
+
display: flex;
|
308 |
+
justify-content: space-between;
|
309 |
+
align-items: center;
|
310 |
+
margin-top: 30px;
|
311 |
+
}
|
312 |
+
|
313 |
+
/* Fields Wrap */
|
314 |
+
.htmega-form-fields {
|
315 |
+
background: #F9F9F9;
|
316 |
+
padding: 30px;
|
317 |
+
}
|
318 |
+
.htmega-form-fields .htmega-admin-option:first-child:not(.htmega-admin-field-element){
|
319 |
+
padding-top: 0;
|
320 |
+
}
|
321 |
+
.htmega-admin-option {
|
322 |
+
display: flex;
|
323 |
+
flex-wrap: wrap;
|
324 |
+
padding: 30px 0;
|
325 |
+
}
|
326 |
+
.htmega-admin-option + .htmega-admin-option {
|
327 |
+
border-top: 1px solid #EAEAEA;
|
328 |
+
}
|
329 |
+
.htmega-admin-option-content {
|
330 |
+
width: 60%;
|
331 |
+
}
|
332 |
+
.htmega-admin-option-label {
|
333 |
+
font-size: 14px;
|
334 |
+
font-weight: 700;
|
335 |
+
line-height: 23px !important;
|
336 |
+
display: flex;
|
337 |
+
align-items: center;
|
338 |
+
margin-bottom: 2px;
|
339 |
+
color: #202223;
|
340 |
+
margin: 0;
|
341 |
+
}
|
342 |
+
.htmega-admin-option-desc {
|
343 |
+
font-size: 14px;
|
344 |
+
margin: 0;
|
345 |
+
}
|
346 |
+
.htmega-admin-option-field {
|
347 |
+
display: flex;
|
348 |
+
align-self: center;
|
349 |
+
flex-wrap: wrap;
|
350 |
+
width: 40%;
|
351 |
+
padding-left: 30px;
|
352 |
+
}
|
353 |
+
.htmega-admin-option-field input {
|
354 |
+
font-size: 13px;
|
355 |
+
font-weight: 400;
|
356 |
+
padding: 10px 25px 10px 12px;
|
357 |
+
color: #6D7175;
|
358 |
+
border: 1px solid #DCDCDC;
|
359 |
+
border-radius: 3px;
|
360 |
+
background-color: #FFFFFF;
|
361 |
+
}
|
362 |
+
.htmega-admin-option-field input:not([type='checkbox']):not([type='number']){
|
363 |
+
width: 100%;
|
364 |
+
height: 45px;
|
365 |
+
}
|
366 |
+
|
367 |
+
/** Column */
|
368 |
+
[class*='htmega-opt-col-']:not(.htmega-opt-col-1){
|
369 |
+
display: flex;
|
370 |
+
flex-wrap: wrap;
|
371 |
+
}
|
372 |
+
[class*='htmega-opt-col-']:not(.htmega-opt-col-1) .htmega-admin-option{
|
373 |
+
margin: 0 15px 20px;
|
374 |
+
}
|
375 |
+
.htmega-opt-col-2 .htmega-admin-option{
|
376 |
+
width: calc(50% - 30px);
|
377 |
+
}
|
378 |
+
.htmega-opt-col-3 .htmega-admin-option{
|
379 |
+
width: calc(33.3333% - 30px);
|
380 |
+
}
|
381 |
+
.htmega-opt-col-4 .htmega-admin-option{
|
382 |
+
width: calc(25% - 30px);
|
383 |
+
}
|
384 |
+
.htmega-opt-col-5 .htmega-admin-option{
|
385 |
+
width: calc(20% - 30px);
|
386 |
+
}
|
387 |
+
.htmega-opt-col-6 .htmega-admin-option{
|
388 |
+
width: calc(16.666% - 30px);
|
389 |
+
}
|
390 |
+
|
391 |
+
/* Select Field */
|
392 |
+
.htmega-admin-option-field select {
|
393 |
+
font-size: 13px;
|
394 |
+
font-weight: 400;
|
395 |
+
width: 100%;
|
396 |
+
max-width: 100%;
|
397 |
+
height: 45px;
|
398 |
+
padding: 10px 25px 10px 12px;
|
399 |
+
color: #6D7175;
|
400 |
+
border: 1px solid #DCDCDC;
|
401 |
+
border-radius: 3px;
|
402 |
+
background-color: #FFFFFF;
|
403 |
+
background-image: url(../images/icons/caret-down.png);
|
404 |
+
background-size: auto;
|
405 |
+
background-repeat: no-repeat;
|
406 |
+
background-position: right 15px center;
|
407 |
+
-webkit-appearance: none;
|
408 |
+
-moz-appearance: none;
|
409 |
+
appearance: none;
|
410 |
+
}
|
411 |
+
|
412 |
+
/* Number Field */
|
413 |
+
.htmega-admin-field-number .htmega-admin-option-field{
|
414 |
+
position: relative;
|
415 |
+
display: flex;
|
416 |
+
width: 110px;
|
417 |
+
}
|
418 |
+
.htmega-admin-option-field input[type=number] {
|
419 |
+
display: flex;
|
420 |
+
width: 100%;
|
421 |
+
height: 40px;
|
422 |
+
padding: 10px 20px 10px 15px;
|
423 |
+
color: #6D7175;
|
424 |
+
border: 1px solid #DCDCDC;
|
425 |
+
border-radius: 3px;
|
426 |
+
background: #FFFFFF;
|
427 |
+
-webkit-appearance: textfield;
|
428 |
+
-moz-appearance: textfield;
|
429 |
+
appearance: textfield;
|
430 |
+
}
|
431 |
+
.htmega-admin-option-field input[type=number]::-webkit-outer-spin-button, .htmega-admin-option-field input[type=number]::-webkit-inner-spin-button {
|
432 |
+
-webkit-appearance: none;
|
433 |
+
appearance: none;
|
434 |
+
}
|
435 |
+
.htmega-admin-number-btn {
|
436 |
+
position: absolute;
|
437 |
+
right: 5px;
|
438 |
+
width: 14px;
|
439 |
+
height: 12px;
|
440 |
+
cursor: pointer;
|
441 |
+
text-indent: -9999px;
|
442 |
+
background-repeat: no-repeat;
|
443 |
+
background-position: center center;
|
444 |
+
}
|
445 |
+
.htmega-admin-number-btn.increase {
|
446 |
+
top: 7px;
|
447 |
+
background-image: url(../images/icons/caret-up.png);
|
448 |
+
}
|
449 |
+
.htmega-admin-number-btn.decrease {
|
450 |
+
bottom: 7px;
|
451 |
+
background-image: url(../images/icons/caret-down.png);
|
452 |
+
}
|
453 |
+
|
454 |
+
/* switcher Field */
|
455 |
+
.htmega-opt-field-switcher {
|
456 |
+
position: relative;
|
457 |
+
display: inline-flex;
|
458 |
+
}
|
459 |
+
.htmega-opt-field-switcher input {
|
460 |
+
position: absolute;
|
461 |
+
top: 0;
|
462 |
+
left: 0;
|
463 |
+
overflow: hidden;
|
464 |
+
width: 100%;
|
465 |
+
height: 100%;
|
466 |
+
opacity: 0 !important;
|
467 |
+
margin: 0;
|
468 |
+
z-index: 99;
|
469 |
+
}
|
470 |
+
.htmega-opt-field-switcher .htmega-checkbox-text {
|
471 |
+
font-family: "Inter", sans-serif;
|
472 |
+
font-size: 11px;
|
473 |
+
font-weight: 500;
|
474 |
+
position: absolute;
|
475 |
+
top: 50%;
|
476 |
+
display: block;
|
477 |
+
padding-top: 1px;
|
478 |
+
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
|
479 |
+
transform: translateY(-50%);
|
480 |
+
text-transform: uppercase;
|
481 |
+
color: #333333;
|
482 |
+
}
|
483 |
+
.htmega-opt-field-switcher .htmega-checkbox-text.off {
|
484 |
+
right: 8px;
|
485 |
+
}
|
486 |
+
.htmega-opt-field-switcher input:checked + label .htmega-checkbox-text.off {
|
487 |
+
opacity: 0;
|
488 |
+
}
|
489 |
+
.htmega-opt-field-switcher .htmega-checkbox-text.on {
|
490 |
+
left: 8px;
|
491 |
+
opacity: 0;
|
492 |
+
color: #1D39D7;
|
493 |
+
}
|
494 |
+
.htmega-opt-field-switcher input:checked + label .htmega-checkbox-text.on{
|
495 |
+
opacity: 1;
|
496 |
+
}
|
497 |
+
.htmega-opt-field-switcher .htmega-checkbox-indicator {
|
498 |
+
position: relative;
|
499 |
+
display: flex;
|
500 |
+
width: 60px;
|
501 |
+
height: 28px;
|
502 |
+
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
|
503 |
+
border: 1px solid #333333;
|
504 |
+
border-radius: 50px;
|
505 |
+
}
|
506 |
+
.htmega-opt-field-switcher input:checked + label .htmega-checkbox-indicator {
|
507 |
+
border-color: #1D39D7;
|
508 |
+
}
|
509 |
+
.htmega-opt-field-switcher .htmega-checkbox-indicator::before {
|
510 |
+
position: absolute;
|
511 |
+
top: 50%;
|
512 |
+
right: auto;
|
513 |
+
left: 8px;
|
514 |
+
width: 16px;
|
515 |
+
height: 16px;
|
516 |
+
content: "";
|
517 |
+
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
|
518 |
+
transform: translateY(-50%);
|
519 |
+
border-radius: 50%;
|
520 |
+
background-color: #333333;
|
521 |
+
}
|
522 |
+
.htmega-opt-field-switcher input:checked + label .htmega-checkbox-indicator::before {
|
523 |
+
left: 32px;
|
524 |
+
background-color: #1D39D7;
|
525 |
+
}
|
526 |
+
|
527 |
+
/* Element Field */
|
528 |
+
.htmega-admin-field-element {
|
529 |
+
overflow: hidden;
|
530 |
+
align-items: center;
|
531 |
+
justify-content: space-between;
|
532 |
+
padding: 20px 25px;
|
533 |
+
border-radius: 4px;
|
534 |
+
background-color: #FFFFFF;
|
535 |
+
box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05);
|
536 |
+
}
|
537 |
+
.htmega-admin-field-element .htmega-admin-option-field,.htmega-admin-field-element .htmega-admin-option-content{
|
538 |
+
width: auto;
|
539 |
+
}
|
540 |
+
|
541 |
+
/* Pro badge */
|
542 |
+
.htmega-admin-pro-badge {
|
543 |
+
font-size: 10px;
|
544 |
+
font-weight: 400;
|
545 |
+
line-height: 12px;
|
546 |
+
align-self: center;
|
547 |
+
margin-left: 12px;
|
548 |
+
padding: 3px 10px;
|
549 |
+
text-align: center;
|
550 |
+
text-transform: uppercase;
|
551 |
+
color: #FF0000;
|
552 |
+
border-radius: 60px;
|
553 |
+
background: rgba(255, 0, 0, 0.1);
|
554 |
+
}
|
555 |
+
.htmega-admin-field-element{
|
556 |
+
position: relative;
|
557 |
+
}
|
558 |
+
.htmega-admin-field-element .htmega-admin-pro-badge {
|
559 |
+
font-family: "Inter", sans-serif;
|
560 |
+
font-size: 11px;
|
561 |
+
font-weight: 500;
|
562 |
+
line-height: 1;
|
563 |
+
position: absolute;
|
564 |
+
top: 4px;
|
565 |
+
left: -16px;
|
566 |
+
padding: 4px 20px 3px 20px;
|
567 |
+
-webkit-transform: rotate(-45deg);
|
568 |
+
-ms-transform: rotate(-45deg);
|
569 |
+
transform: rotate(-45deg);
|
570 |
+
text-transform: uppercase;
|
571 |
+
color: #FFFFFF;
|
572 |
+
margin-left: 0;
|
573 |
+
border-radius: 0;
|
574 |
+
background-image: -webkit-gradient(linear, right top, left top, from(#FF3D99), to(#FFB87D));
|
575 |
+
background-image: -webkit-linear-gradient(right, #FF3D99 0%, #FFB87D 100%);
|
576 |
+
background-image: -o-linear-gradient(right, #FF3D99 0%, #FFB87D 100%);
|
577 |
+
background-image: linear-gradient(to left, #FF3D99 0%, #FFB87D 100%);
|
578 |
+
}
|
579 |
+
|
580 |
+
.htmega-opt-field input:disabled{
|
581 |
+
z-index: -2;
|
582 |
+
}
|
583 |
+
|
584 |
+
/* Pro Modal */
|
585 |
+
.htmega-admin-popup {
|
586 |
+
position: fixed;
|
587 |
+
z-index: 999;
|
588 |
+
top: 0;
|
589 |
+
left: 0;
|
590 |
+
display: flex;
|
591 |
+
visibility: hidden;
|
592 |
+
align-items: center;
|
593 |
+
justify-content: center;
|
594 |
+
width: 100%;
|
595 |
+
height: 100%;
|
596 |
+
transition: all 0.3s ease 0s;
|
597 |
+
opacity: 0;
|
598 |
+
background-color: rgba(0, 0, 0, 0.5);
|
599 |
+
}
|
600 |
+
.htmega-admin-popup.open {
|
601 |
+
visibility: visible;
|
602 |
+
opacity: 1;
|
603 |
+
}
|
604 |
+
.htmega-admin-popup.open .htmega-admin-popup-inner {
|
605 |
+
margin-top: 0;
|
606 |
+
}
|
607 |
+
.htmega-admin-popup-inner {
|
608 |
+
position: relative;
|
609 |
+
display: flex;
|
610 |
+
align-items: center;
|
611 |
+
flex-direction: column;
|
612 |
+
justify-content: center;
|
613 |
+
width: 630px;
|
614 |
+
margin-top: 50px;
|
615 |
+
padding: 55px 90px;
|
616 |
+
transition: all 0.3s ease 0s;
|
617 |
+
text-align: center;
|
618 |
+
border-radius: 10px;
|
619 |
+
background-color: #FFFFFF;
|
620 |
+
box-shadow: 0 0 50px rgba(92, 92, 92, 0.2);
|
621 |
+
}
|
622 |
+
.htmega-admin-popup-inner .htmega-admin-btn:not(.activated,[disabled=disabled]):hover{
|
623 |
+
color: #ffffff;
|
624 |
+
}
|
625 |
+
.htmega-admin-popup-close {
|
626 |
+
position: absolute;
|
627 |
+
top: 20px;
|
628 |
+
right: 20px;
|
629 |
+
display: flex;
|
630 |
+
align-items: center;
|
631 |
+
justify-content: center;
|
632 |
+
width: 24px;
|
633 |
+
height: 24px;
|
634 |
+
color: #324355;
|
635 |
+
border: none;
|
636 |
+
border-radius: 50%;
|
637 |
+
background-color: rgba(40, 47, 58, 0.1);
|
638 |
+
cursor: pointer;
|
639 |
+
}
|
640 |
+
.htmega-admin-popup-close:hover {
|
641 |
+
color: #FFFFFF;
|
642 |
+
background-color: #007EFF;
|
643 |
+
}
|
644 |
+
.htmega-admin-popup-icon {
|
645 |
+
display: flex;
|
646 |
+
justify-content: center;
|
647 |
+
margin-bottom: 18px;
|
648 |
+
}
|
649 |
+
.htmega-admin-popup-title {
|
650 |
+
font-size: 48px;
|
651 |
+
line-height: 1 !important;
|
652 |
+
margin-bottom: 15px;
|
653 |
+
margin-top: 0;
|
654 |
+
color: transparent;
|
655 |
+
text-shadow: 3px 3px 0 #007EFF;
|
656 |
+
-webkit-text-stroke: 2px rgba(0, 126, 255, 0.2);
|
657 |
+
}
|
658 |
+
.htmega-admin-popup-text {
|
659 |
+
font-size: 14px;
|
660 |
+
margin-bottom: 22px;
|
661 |
+
}
|
662 |
+
.htmega-admin-popup .htmega-admin-btn {
|
663 |
+
padding: 10px 35px;
|
664 |
+
}
|
665 |
+
.htmega-admin-popup .htmega-admin-btn:not(.activated,[disabled=disabled]):hover {
|
666 |
+
box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
|
667 |
+
}
|
668 |
+
|
669 |
+
@media only screen and (min-width: 1200px) and (max-width: 1549px), only screen and (min-width: 768px) and (max-width: 991px){
|
670 |
+
.htoptions-sidebar-adds-area, #htmega-opt-admin-app {
|
671 |
+
width: 100%;
|
672 |
+
}
|
673 |
+
}
|
674 |
+
|
675 |
+
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (max-width: 767px) {
|
676 |
+
.htmega-header-area{
|
677 |
+
display: block;
|
678 |
+
}
|
679 |
+
.htmega-header-content{
|
680 |
+
margin-bottom: 20px;
|
681 |
+
}
|
682 |
+
.htoptions-sidebar-adds-area{
|
683 |
+
width: 280px;
|
684 |
+
}
|
685 |
+
#htmega-opt-admin-app {
|
686 |
+
width: calc(100% - 300px);
|
687 |
+
}
|
688 |
+
.htmega-navigation-menu {
|
689 |
+
padding: 0 25px;
|
690 |
+
}
|
691 |
+
.htmega-navigation-menu li{
|
692 |
+
margin-right: 30px;
|
693 |
+
}
|
694 |
+
.htmega-opt-col-3 .htmega-admin-option {
|
695 |
+
width: 100%;
|
696 |
+
}
|
697 |
+
}
|
698 |
+
|
699 |
+
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (max-width: 767px){
|
700 |
+
.htoptions-sidebar-adds-area, #htmega-opt-admin-app {
|
701 |
+
width: 100%;
|
702 |
+
}
|
703 |
+
.htmega-opt-col-3 .htmega-admin-option {
|
704 |
+
width: calc(50% - 30px)
|
705 |
+
}
|
706 |
+
.htmega-navigation-menu {
|
707 |
+
padding: 0 30px;
|
708 |
+
}
|
709 |
+
}
|
710 |
+
|
711 |
+
@media only screen and (max-width: 767px) {
|
712 |
+
.htmega-opt-col-3 .htmega-admin-option {
|
713 |
+
width: calc(100% - 30px)
|
714 |
+
}
|
715 |
+
}
|
admin/include/settings-panel/assets/css/sweetalert2.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4!important;grid-row:1/4!important;grid-template-columns:1fr 99fr 1fr;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:700}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.8em;left:-.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-toast-animate-success-line-tip .75s;animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-toast-animate-success-line-long .75s;animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{-webkit-animation:swal2-toast-show .5s;animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{-webkit-animation:swal2-toast-hide .1s forwards;animation:swal2-toast-hide .1s forwards}.swal2-container{display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(-webkit-min-content,auto) minmax(-webkit-min-content,auto) minmax(-webkit-min-content,auto);grid-template-rows:minmax(min-content,auto) minmax(min-content,auto) minmax(min-content,auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:0 0!important}.swal2-container.swal2-bottom-start,.swal2-container.swal2-center-start,.swal2-container.swal2-top-start{grid-template-columns:minmax(0,1fr) auto auto}.swal2-container.swal2-bottom,.swal2-container.swal2-center,.swal2-container.swal2-top{grid-template-columns:auto minmax(0,1fr) auto}.swal2-container.swal2-bottom-end,.swal2-container.swal2-center-end,.swal2-container.swal2-top-end{grid-template-columns:auto auto minmax(0,1fr)}.swal2-container.swal2-top-start>.swal2-popup{align-self:start}.swal2-container.swal2-top>.swal2-popup{grid-column:2;align-self:start;justify-self:center}.swal2-container.swal2-top-end>.swal2-popup,.swal2-container.swal2-top-right>.swal2-popup{grid-column:3;align-self:start;justify-self:end}.swal2-container.swal2-center-left>.swal2-popup,.swal2-container.swal2-center-start>.swal2-popup{grid-row:2;align-self:center}.swal2-container.swal2-center>.swal2-popup{grid-column:2;grid-row:2;align-self:center;justify-self:center}.swal2-container.swal2-center-end>.swal2-popup,.swal2-container.swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;align-self:center;justify-self:end}.swal2-container.swal2-bottom-left>.swal2-popup,.swal2-container.swal2-bottom-start>.swal2-popup{grid-column:1;grid-row:3;align-self:end}.swal2-container.swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;justify-self:center;align-self:end}.swal2-container.swal2-bottom-end>.swal2-popup,.swal2-container.swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;align-self:end;justify-self:end}.swal2-container.swal2-grow-fullscreen>.swal2-popup,.swal2-container.swal2-grow-row>.swal2-popup{grid-column:1/4;width:100%}.swal2-container.swal2-grow-column>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}.swal2-container.swal2-no-transition{transition:none!important}.swal2-popup{display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0,100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-title{position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-loader{display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 transparent #2778c4 transparent}.swal2-styled{margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px transparent;font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7367f0;color:#fff;font-size:1em}.swal2-styled.swal2-confirm:focus{box-shadow:0 0 0 3px rgba(115,103,240,.5)}.swal2-styled.swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#ea5455;color:#fff;font-size:1em}.swal2-styled.swal2-deny:focus{box-shadow:0 0 0 3px rgba(234,84,85,.5)}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7d88;color:#fff;font-size:1em}.swal2-styled.swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,125,136,.5)}.swal2-styled.swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}.swal2-styled:focus{outline:0}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto!important;height:.25em;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:2em auto 1em}.swal2-close{z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:0 0;color:#ccc;font-family:serif;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}.swal2-close:hover{transform:none;background:0 0;color:#f27474}.swal2-close:focus{outline:0;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}.swal2-close::-moz-focus-inner{border:0}.swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:#545454;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}.swal2-checkbox,.swal2-file,.swal2-input,.swal2-radio,.swal2-select,.swal2-textarea{margin:1em 2em 0}.swal2-file,.swal2-input,.swal2-textarea{box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:inherit;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px transparent;color:inherit;font-size:1.125em}.swal2-file.swal2-inputerror,.swal2-input.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-file:focus,.swal2-input:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}.swal2-file::-moz-placeholder,.swal2-input::-moz-placeholder,.swal2-textarea::-moz-placeholder{color:#ccc}.swal2-file:-ms-input-placeholder,.swal2-input:-ms-input-placeholder,.swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-file::placeholder,.swal2-input::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em 2em 0;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-file{width:75%;margin-right:auto;margin-left:auto;background:inherit;font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:inherit;color:inherit;font-size:1.125em}.swal2-checkbox,.swal2-radio{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-checkbox label,.swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-checkbox input,.swal2-radio input{flex-shrink:0;margin:0 .4em}.swal2-input-label{display:flex;justify-content:center;margin:1em auto 0}.swal2-validation-message{align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:.25em solid transparent;border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:inherit;font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@-webkit-keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@-webkit-keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@-webkit-keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@-webkit-keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@-webkit-keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@-webkit-keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@-webkit-keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@-webkit-keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@-webkit-keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@-webkit-keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@-webkit-keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{background-color:transparent!important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static!important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:transparent;pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}
|
admin/include/settings-panel/assets/fonts/htmega.svg
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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="htmega" 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="element" d="M523.904 893.36c-7.641 3.077-16.167 3.077-23.808 0l-381.952-153.505 393.856-158.264 393.86 158.264-381.956 153.505zM960 692.33l-416-167.203v-509.452l416 167.197v509.458zM480 15.609v509.583l-416 167.139v-509.517l416-167.205zM476.352 953.103c22.885 9.196 48.412 9.196 71.297 0l456.259-183.409c5.932-2.389 11.015-6.508 14.592-11.826 3.584-5.318 5.5-11.592 5.5-18.014v-557.041c-0.007-12.851-3.847-25.41-11.023-36.045s-17.357-18.871-29.235-23.64l-459.838-184.817c-7.641-3.079-16.167-3.079-23.808 0l-459.776 184.817c-11.888 4.762-22.084 12.99-29.271 23.625-7.187 10.642-11.036 23.201-11.049 36.059v557.041c0.001 6.421 1.916 12.695 5.498 18.014s8.666 9.437 14.598 11.826l456.256 183.409z" />
|
11 |
+
<glyph unicode="" glyph-name="extension" d="M862.274 509.134h-25.117v230.475c0 17.050-6.532 33.403-18.161 45.459s-27.407 18.83-43.849 18.83h-186.036c-1.961 38.695-16.978 75.445-42.426 103.825s-59.707 46.585-96.79 51.432c-21.211 2.264-42.644-0.033-62.958-6.746s-39.077-17.699-55.111-32.27c-16.034-14.571-28.997-32.415-38.077-52.416s-14.084-41.728-14.696-63.824h-217.041c-16.447 0-32.219-6.773-43.849-18.83s-18.163-28.409-18.163-45.459v-262.619h87.126c23.858 0.719 47.134-7.703 65.38-23.654s30.183-38.314 33.528-62.814c1.208-13.442-0.322-26.998-4.488-39.789s-10.876-24.532-19.696-34.465c-8.669-10.048-19.274-18.1-31.13-23.637s-24.7-8.435-37.704-8.507h-93.017v-283.838c0-17.050 6.533-33.397 18.163-45.458 11.629-12.054 27.402-18.827 43.849-18.827h713.134c16.443 0 32.219 6.773 43.849 18.827 11.63 12.061 18.161 28.409 18.161 45.458v187.407h31.005c21.76-0.117 43.301 4.513 63.217 13.597 19.924 9.084 37.778 22.411 52.4 39.115 14.621 16.707 25.688 36.418 32.483 57.851 6.788 21.433 9.15 44.108 6.927 66.55-5.025 40.355-24.21 77.379-53.892 104s-67.781 40.978-107.023 40.328zM936.997 284.123c-8.667-10.048-19.273-18.101-31.13-23.637s-24.7-8.435-37.705-8.507h-93.016v-251.694h-713.134v219.553h31.006c21.761-0.124 43.301 4.513 63.22 13.594 19.92 9.082 37.772 22.41 52.395 39.117s25.69 36.418 32.481 57.851c6.791 21.433 9.153 44.109 6.933 66.55-5.025 40.356-24.21 77.379-53.893 104.001s-67.783 40.978-107.027 40.327h-25.115v198.331h279.052v58.824c0.070 13.48 2.865 26.797 8.206 39.088s13.108 23.286 22.8 32.273c9.58 9.144 20.906 16.101 33.244 20.42s25.413 5.904 38.379 4.653c23.632-3.468 45.203-15.843 60.589-34.759s23.51-43.047 22.816-67.781v-52.717h248.048v-294.764h87.128c23.852 0.718 47.133-7.703 65.375-23.654 18.249-15.951 30.186-38.314 33.529-62.814 1.207-13.442-0.322-26.998-4.484-39.788-4.169-12.791-10.876-24.533-19.697-34.465z" />
|
12 |
+
<glyph unicode="" glyph-name="themebuilder" d="M731.429 960v-128h-438.857v128h-292.571v-341.334h292.571v128h256.841c-24.169-36.723-37.315-81.7-37.413-128v-341.333c-0.039-33.934-11.61-66.463-32.177-90.461-20.567-23.991-48.451-37.493-77.537-37.537h-109.714v127.998h-292.571v-341.334h292.571v128h109.714c48.479 0.066 94.956 22.565 129.235 62.559s53.564 94.215 53.622 150.774v341.333c-0.010 16.802 2.818 33.441 8.321 48.968s13.575 29.635 23.753 41.522c10.178 11.886 22.264 21.317 35.566 27.753s27.562 9.752 41.964 9.757h36.681v-128h292.571v341.334h-292.571zM219.429 704h-146.286v170.666h146.286v-170.666zM219.429 21.336h-146.286v170.664h146.286v-170.664zM950.857 704h-146.286v170.666h146.286v-170.666z" />
|
13 |
+
<glyph unicode="" glyph-name="advance" d="M593.147 637.534l177.355 302.985c3.496 5.929 8.499 10.847 14.512 14.265s12.822 5.216 19.749 5.216c6.927 0 13.736-1.798 19.749-5.216s11.015-8.336 14.512-14.265l177.357-302.985c4.125-6.002 6.495-13.019 6.839-20.274 0.351-7.255-1.331-14.463-4.864-20.827s-8.77-11.634-15.141-15.227c-6.371-3.594-13.619-5.369-20.941-5.129h-355.019c-7.325-0.24-14.573 1.535-20.942 5.129s-11.609 8.863-15.141 15.227c-3.531 6.364-5.217 13.572-4.868 20.827s2.718 14.272 6.844 20.274zM837.157 483.892h25.117c39.241 0.622 77.341-13.102 107.023-38.551 29.689-25.45 48.874-60.842 53.899-99.421 2.216-21.454-0.146-43.13-6.934-63.62-6.795-20.489-17.861-39.332-32.483-55.301-14.621-15.974-32.475-28.716-52.392-37.398-19.924-8.682-41.465-13.107-63.225-12.997h-31.005v-179.149c0-16.296-6.532-31.927-18.161-43.454s-27.407-18-43.849-18h-713.134c-16.447 0-32.219 6.473-43.849 18s-18.163 27.158-18.163 43.454v271.336h93.017c13.003 0.069 25.848 2.84 37.704 8.133s22.461 12.99 31.13 22.596c8.82 9.495 15.53 20.719 19.697 32.947s5.695 25.186 4.488 38.036c-3.346 23.421-15.282 44.799-33.528 60.047s-41.523 23.3-65.381 22.613h-87.126v251.053c0 16.299 6.533 31.931 18.163 43.456s27.402 18 43.849 18h217.041c0.613 21.124 5.616 41.894 14.696 61.014s22.043 36.178 38.077 50.107c16.034 13.93 34.796 24.432 55.111 30.849s41.748 8.613 62.958 6.449c35.957-4.248 69.368-20.552 94.69-46.207s41.032-59.117 44.526-94.838l-41.548-68.832h-20.464v50.395c0.693 23.645-7.43 46.713-22.816 64.797s-36.957 29.913-60.589 33.228c-12.966 1.196-26.041-0.319-38.38-4.448s-23.663-10.779-33.244-19.52c-9.692-8.591-17.459-19.101-22.8-30.852s-8.136-24.479-8.205-37.366v-56.233h-279.053v-189.597h25.115c39.244 0.622 77.345-13.101 107.027-38.551s48.868-60.842 53.893-99.42c2.22-21.454-0.142-43.13-6.932-63.62s-17.858-39.332-32.481-55.303c-14.623-15.971-32.475-28.711-52.394-37.39-19.92-8.689-41.46-13.115-63.221-13.005h-31.006v-209.876h713.134v240.608h93.016c13.005 0.069 25.849 2.839 37.705 8.132s22.462 12.991 31.13 22.596c8.821 9.495 15.528 20.72 19.697 32.947 4.162 12.227 5.691 25.186 4.484 38.036-3.343 23.421-15.28 44.799-33.521 60.047-18.249 15.25-41.523 23.3-65.382 22.613h-87.128v79.895h62.011v-18.437z" />
|
14 |
+
<glyph unicode="" glyph-name="others" horiz-adv-x="1317" d="M40.639 716.22h646.167c9.392-45.88 34.338-87.111 70.625-116.72 36.279-29.609 81.679-45.781 128.512-45.781 46.826 0 92.226 16.172 128.505 45.781 36.286 29.609 61.235 70.84 70.627 116.72h174.746c10.781 0 21.116 4.282 28.738 11.903s11.908 17.958 11.908 28.736c0 10.778-4.286 21.115-11.908 28.736s-17.957 11.903-28.738 11.903h-174.746c-9.392 45.88-34.341 87.111-70.627 116.72-36.279 29.609-81.679 45.781-128.505 45.781-46.833 0-92.233-16.172-128.512-45.781-36.286-29.609-61.233-70.84-70.625-116.72h-646.167c-10.778 0-21.115-4.282-28.736-11.903s-11.903-17.958-11.903-28.736c0-10.778 4.282-21.115 11.903-28.736s17.958-11.903 28.736-11.903zM885.943 878.778c32.329 0 63.342-12.845 86.206-35.709s35.708-53.874 35.708-86.209c0-32.335-12.844-63.345-35.708-86.209s-53.877-35.709-86.206-35.709c-32.336 0-63.349 12.845-86.213 35.709s-35.708 53.874-35.708 86.209c0 32.335 12.844 63.345 35.708 86.209s53.877 35.709 86.213 35.709zM40.639 98.501h182.877c9.392-45.883 34.338-87.113 70.622-116.721s81.679-45.78 128.511-45.78c46.832 0 92.227 16.172 128.511 45.78s61.23 70.839 70.622 116.721h638.037c10.781 0 21.116 4.279 28.738 11.9s11.908 17.964 11.908 28.738c0 10.781-4.286 21.116-11.908 28.738s-17.957 11.9-28.738 11.9h-638.037c-9.392 45.883-34.338 87.113-70.622 116.722s-81.679 45.781-128.511 45.781c-46.832 0-92.227-16.172-128.511-45.781s-61.231-70.84-70.622-116.722h-182.877c-10.778 0-21.115-4.279-28.736-11.9s-11.903-17.957-11.903-28.738c0-10.774 4.282-21.116 11.903-28.738s17.958-11.9 28.736-11.9zM422.65 261.059c32.335 0 63.345-12.845 86.209-35.705 22.864-22.864 35.709-53.877 35.709-86.213s-12.845-63.342-35.709-86.206c-22.864-22.864-53.874-35.708-86.209-35.708s-63.345 12.844-86.209 35.708c-22.864 22.864-35.709 53.87-35.709 86.206s12.845 63.349 35.709 86.213c22.864 22.861 53.874 35.705 86.209 35.705z" />
|
15 |
+
<glyph unicode="" glyph-name="settings" d="M616.023 960c7.945 0 15.685-2.458 22.105-7.019s11.189-10.99 13.621-18.362l41.279-125.001c17.337-8.265 33.924-17.554 49.761-28.014l131.789 27.648c7.775 1.617 15.872 0.788 23.128-2.366s13.297-8.473 17.254-15.188l104.024-175.47c3.972-6.712 5.654-14.479 4.805-22.182-0.856-7.703-4.191-14.945-9.538-20.68l-90.434-97.28c1.317-18.654 1.317-37.374 0-56.027l90.434-97.426c5.347-5.735 8.682-12.976 9.538-20.68 0.848-7.703-0.834-15.47-4.805-22.182l-104.024-175.543c-3.972-6.7-10.013-12.003-17.269-15.148-7.256-3.138-15.345-3.957-23.113-2.333l-131.789 27.648c-15.762-10.386-32.423-19.749-49.686-28.014l-41.354-125.001c-2.431-7.373-7.2-13.802-13.621-18.359-6.42-4.564-14.16-7.022-22.105-7.022h-208.046c-7.945 0-15.685 2.458-22.105 7.022-6.42 4.557-11.189 10.986-13.621 18.359l-41.204 124.928c-17.29 8.243-33.968 17.649-49.91 28.16l-131.717-27.721c-7.771-1.616-15.868-0.79-23.124 2.37-7.257 3.152-13.298 8.47-17.254 15.184l-104.023 175.47c-3.972 6.712-5.655 14.479-4.805 22.182s4.188 14.945 9.533 20.68l90.438 97.426c-1.31 18.605-1.31 37.276 0 55.881l-90.438 97.426c-5.345 5.735-8.683 12.976-9.533 20.68s0.833 15.47 4.805 22.182l104.023 175.543c3.967 6.702 10.014 12.005 17.269 15.146s15.347 3.959 23.109 2.335l131.717-27.721c15.911 10.459 32.573 19.895 49.91 28.16l41.279 124.928c2.423 7.348 7.169 13.76 13.559 18.319s14.097 7.031 22.016 7.062h208.121zM588.554 886.857h-153.107l-42.63-129.243-28.745-13.678c-14.131-6.739-27.772-14.413-40.828-22.967l-26.569-17.554-136.295 28.672-76.554-129.317 93.44-100.791-2.251-31.013c-1.078-15.293-1.078-30.64 0-45.934l2.251-31.013-93.591-100.791 76.629-129.317 136.296 28.599 26.568-17.481c13.056-8.558 26.697-16.23 40.828-22.967l28.745-13.678 42.705-129.243h153.257l42.781 129.317 28.67 13.605c14.116 6.722 27.733 14.395 40.754 22.967l26.493 17.481 136.373-28.599 76.551 129.317-93.513 100.791 2.253 31.013c1.075 15.318 1.075 30.689 0 46.007l-2.253 31.013 93.586 100.718-76.624 129.317-136.373-28.526-26.493 17.408c-13.019 8.572-26.637 16.246-40.754 22.967l-28.67 13.605-42.855 129.317h-0.075zM512 667.429c59.715 0 116.985-23.118 159.211-64.269s65.945-96.963 65.945-155.159c0-58.196-23.719-114.009-65.945-155.159s-99.495-64.269-159.211-64.269c-59.715 0-116.985 23.118-159.211 64.269s-65.947 96.963-65.947 155.159c0 58.196 23.722 114.009 65.947 155.159s99.495 64.269 159.211 64.269zM512 594.286c-39.81 0-77.99-15.412-106.141-42.846s-43.965-64.642-43.965-103.439c0-38.797 15.815-76.006 43.965-103.439s66.33-42.846 106.141-42.846c39.81 0 77.99 15.412 106.141 42.846s43.965 64.642 43.965 103.439c0 38.797-15.815 76.006-43.965 103.439s-66.33 42.846-106.141 42.846z" />
|
16 |
+
</font></defs></svg>
|
admin/include/settings-panel/assets/fonts/htmega.ttf
ADDED
Binary file
|
admin/include/settings-panel/assets/fonts/htmega.woff
ADDED
Binary file
|
admin/include/settings-panel/assets/images/icons/caret-down.png
ADDED
Binary file
|
admin/include/settings-panel/assets/images/icons/caret-up.png
ADDED
Binary file
|
admin/include/settings-panel/assets/images/icons/check.png
ADDED
Binary file
|
admin/include/settings-panel/assets/images/icons/plus.png
ADDED
Binary file
|
admin/include/settings-panel/assets/images/icons/pro-badge.png
ADDED
Binary file
|
admin/include/settings-panel/assets/images/icons/rating.png
ADDED
Binary file
|
admin/include/settings-panel/assets/js/admin.js
ADDED
@@ -0,0 +1,1078 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"use strict";
|
2 |
+
/*
|
3 |
+
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
4 |
+
* This devtool is neither made for production nor for readable output files.
|
5 |
+
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
6 |
+
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
7 |
+
* or disable the default devtool with "devtool: false".
|
8 |
+
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
9 |
+
*/
|
10 |
+
(self["webpackChunkhtmega_options"] = self["webpackChunkhtmega_options"] || []).push([["admin"],{
|
11 |
+
|
12 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/App.vue?vue&type=script&lang=js":
|
13 |
+
/*!****************************************************************************************************************************************************************!*\
|
14 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/App.vue?vue&type=script&lang=js ***!
|
15 |
+
\****************************************************************************************************************************************************************/
|
16 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
17 |
+
|
18 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _components_ui_SaveButton_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/ui/SaveButton.vue */ \"./src/admin/components/ui/SaveButton.vue\");\n/* harmony import */ var _components_ui_ResetButton_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/ui/ResetButton.vue */ \"./src/admin/components/ui/ResetButton.vue\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'App',\n data() {\n return {\n items: [],\n isMainTab: Boolean,\n success: false,\n model: this.htmegaLocalizeData.options[this.$router.currentRoute['_value'].meta.id],\n content: this.htmegaLocalizeData.tabs[this.$router.currentRoute['_value'].meta.pathname]?.content\n };\n },\n components: {\n SaveButton: _components_ui_SaveButton_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n ResetButton: _components_ui_ResetButton_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n created() {\n /**\n * Detect if it's main tab on page load.\n */\n this.detectMainTab();\n\n /**\n * Get all routes and add them to an array.\n */\n this.$router.options.routes.forEach(route => {\n if (route.name) {\n this.items.push({\n name: route.name,\n path: route.path,\n showInNav: route.props.showInNav,\n navIcon: route.props.navIcon,\n children: route.children\n });\n }\n });\n },\n watch: {\n '$route'() {\n this.detectMainTab();\n this.success = false;\n this.model = this.htmegaLocalizeData.options[this.$route.meta.id];\n this.content = this.htmegaLocalizeData.tabs[this.$route.meta.pathname]?.content;\n }\n },\n mounted() {\n this.removeLoader();\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_2__.mapGetters)(['GET_SAVE_BUTTON', 'GET_LOADER']),\n saveButton: {\n get() {\n return this.GET_SAVE_BUTTON;\n }\n },\n loaderClass: {\n get() {\n return this.GET_LOADER;\n }\n }\n },\n methods: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_2__.mapActions)(['FETCH_SETTINGS', 'SAVE_SETTINGS', 'REMOVE_LOADER']),\n removeLoader() {\n this.REMOVE_LOADER();\n },\n /**\n * Detect if the main tab is active or not.\n * This is used to show the appropriate fields wrapper.\n */\n detectMainTab() {\n if (typeof this.$router.currentRoute['_value'].meta.id === 'undefined') {\n this.isMainTab = false;\n } else {\n this.isMainTab = true;\n }\n },\n /**\n * Footer Button save/reset button show/hide\n */\n footerArea() {\n if (this.isMainTab) {\n return this.content?.footer || typeof this.content?.footer === 'undefined' ? true : false;\n } else {\n return false;\n }\n },\n /**\n * Send options to WordPress backend and store them.\n */\n submit(event) {\n event.preventDefault();\n // Add nonce field.\n this.model.verifynonce = this.htmegaLocalizeData.verifynonce;\n this.SAVE_SETTINGS([this.model, this.$router.currentRoute['_value'].meta.id]);\n },\n /**\n * Back to field default mode.\n */\n changeStateField() {\n const registerSettings = this.htmegaLocalizeData.settings[this.$route.meta.id];\n const finalSettings = registerSettings.filter(field => {\n return field.is_pro !== true;\n });\n finalSettings.forEach((value, key) => {\n if (value.default) {\n this.model[value.id] = value.default;\n } else {\n this.model[value.id] = '';\n }\n });\n },\n /**\n * Reset all options to default.\n */\n resetAlldata() {\n this.$swal.fire({\n title: this.htmegaLocalizeData['labels'].resetButton.alert.one.title,\n text: this.htmegaLocalizeData['labels'].resetButton.alert.one.text,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: this.htmegaLocalizeData['labels'].resetButton.alert.one.confirm,\n cancelButtonText: this.htmegaLocalizeData['labels'].resetButton.alert.one.cancel\n }).then(result => {\n if (result.isConfirmed) {\n this.$store.dispatch(\"RESET_SETTINGS\", [{\n verifynonce: this.htmegaLocalizeData.verifynonce\n }, this.$router.currentRoute['_value'].meta.id]).then(response => {\n this.changeStateField();\n this.$swal.fire({\n title: this.htmegaLocalizeData['labels'].resetButton.alert.two.title,\n text: this.htmegaLocalizeData['labels'].resetButton.alert.two.text,\n icon: 'success',\n confirmButtonText: this.htmegaLocalizeData['labels'].resetButton.alert.two.confirm,\n timer: 1500\n });\n }, error => {\n console.error(\"Does not response from server. Please check Your internet connection and try again !!\");\n });\n }\n });\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/App.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
19 |
+
|
20 |
+
/***/ }),
|
21 |
+
|
22 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/Fields-wrapper.vue?vue&type=script&lang=js":
|
23 |
+
/*!**************************************************************************************************************************************************************************************!*\
|
24 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/Fields-wrapper.vue?vue&type=script&lang=js ***!
|
25 |
+
\**************************************************************************************************************************************************************************************/
|
26 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
27 |
+
|
28 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _fields_DefaulField_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fields/DefaulField.vue */ \"./src/admin/components/fields/DefaulField.vue\");\n/* harmony import */ var _ui_FieldHeader_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ui/FieldHeader.vue */ \"./src/admin/components/ui/FieldHeader.vue\");\n/* harmony import */ var _ui_ProModal_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ui/ProModal.vue */ \"./src/admin/components/ui/ProModal.vue\");\n\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'fields-wrapper',\n props: {\n /**\n * Contains the fields passed through the router.\n */\n fields: {},\n /**\n * Contains the data that will be sent to WordPres to save.\n */\n model: {},\n /**\n * Contains the tab content that will be sent to WordPress Settings tabs.\n */\n content: {}\n },\n data() {\n return {\n enableDisableButtonValue: false,\n proModalVisible: false\n };\n },\n components: {\n DefaulField: _fields_DefaulField_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n FieldHeader: _ui_FieldHeader_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ProModal: _ui_ProModal_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_3__.mapGetters)(['GET_LOADER']),\n /**\n * Get the loader state.\n */\n loaderClass: {\n get() {\n return this.GET_LOADER;\n }\n }\n },\n created() {\n let getFields = this.fields ? this.fields : [];\n this.enableDisableButtonValue = this.enableDisableButtonManager(getFields);\n },\n watch: {\n '$route'() {\n let getFields = this.htmegaLocalizeData.settings[this.$route.meta.id] ? this.htmegaLocalizeData.settings[this.$route.meta.id] : [];\n this.enableDisableButtonValue = this.enableDisableButtonManager(getFields);\n }\n },\n methods: {\n maybeShowField(field) {\n if (field.type === 'hidden') {\n return false;\n }\n if (!field.toggle) {\n return true;\n }\n var toggleData = field.toggle;\n if (!(toggleData instanceof Array)) {\n toggleData = [toggleData];\n }\n var show = true;\n var operators = {\n '!=': function (a, b) {\n return a != b;\n },\n '!==': function (a, b) {\n return a !== b;\n },\n '==': function (a, b) {\n return a == b;\n },\n '===': function (a, b) {\n return a === b;\n },\n '>=': function (a, b) {\n return a >= b;\n },\n '>': function (a, b) {\n return a > b;\n },\n '<': function (a, b) {\n return a < b;\n },\n '<=': function (a, b) {\n return a <= b;\n }\n };\n for (var i = 0; i < toggleData.length; i++) {\n var toggleItem = toggleData[i];\n var operator = '!=';\n if (toggleItem.hasOwnProperty('operator')) {\n operator = toggleItem.operator;\n }\n if (operators[operator](this.model[toggleItem.key], toggleItem.value)) {\n return true;\n } else {\n return false;\n }\n }\n return show;\n },\n /**\n * Sets the name of the component to retrieve.\n */\n getFieldComponentName(type) {\n return 'field-' + type;\n },\n /**\n * Checked is component exits.\n *\n * @param {string} type\n */\n hasComponent(type) {\n const componentName = this.getFieldComponentName(type);\n const found = this.htmegaCustomComponents.find(element => element.name === componentName);\n return found ? true : false;\n },\n /**\n * Setup classes for the component based on the field type.\n */\n classes(type, fieldData = '') {\n if (fieldData !== '') {\n if (fieldData.hasOwnProperty('class')) {\n return fieldData.class;\n } else {\n return '';\n }\n }\n return ['htmega-opt-field', type == 'text' ? 'regular-text' : `htmega-opt-field-${type}`];\n },\n /**\n * Save Button Control.\n */\n onChange() {\n this.saveButtonEnable();\n },\n /**\n * Enable Disable Button Manager.\n */\n saveButtonEnable() {\n this.$store.dispatch('SAVE_BUTTON_CONTROL', {\n text: this.htmegaLocalizeData.labels.saveButton.text,\n class: '',\n disabled: false\n });\n this.$store.dispatch('RESET_BUTTON_CONTROL', {\n text: this.htmegaLocalizeData.labels.resetButton.text,\n class: '',\n disabled: false\n });\n },\n /**\n * Filter [ checkbox, element, switcher ] fields from route fields.\n */\n filterAllCheckboxes(fields) {\n let allCheckboxes = fields.filter(field => {\n return (field.type === 'element' || field.type === 'checkbox' || field.type === 'switcher') && field.is_pro !== true;\n });\n return allCheckboxes;\n },\n /**\n * Enable Disable All Button Manager.\n */\n enableDisableButtonManager(fields) {\n const result = this.filterAllCheckboxes(fields);\n const saveData = this.htmegaLocalizeData.options[this.$route.meta.id];\n let enableDisableButtonValue = false;\n for (const field in result) {\n const element = result[field];\n if (element.type === 'checkbox' || element.type === 'element' || element.type === 'switcher') {\n if (saveData[element.id] === 'off' || typeof saveData[element.id] === 'undefined' || saveData[element.id] === '') {\n enableDisableButtonValue = (typeof saveData[element.id] === 'undefined' || saveData[element.id] === '') && element?.default?.length > 0 ? true : false;\n break;\n } else {\n enableDisableButtonValue = true;\n }\n }\n }\n return enableDisableButtonValue;\n },\n /**\n * Enable Disable all [ checkbox, element, switcher ] Fields.\n */\n enableAllControl(e) {\n const checkedValue = e.target.checked;\n const result = this.filterAllCheckboxes(this.fields);\n for (const field in result) {\n const element = result[field];\n if (element.type === 'checkbox' || element.type === 'element' || element.type === 'switcher') {\n this.model[element.id] = checkedValue ? 'on' : 'off';\n }\n }\n this.saveButtonEnable();\n },\n /**\n * Modal Control.\n */\n openProModal(value) {\n this.proModalVisible = value;\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/Fields-wrapper.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
29 |
+
|
30 |
+
/***/ }),
|
31 |
+
|
32 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/SubNavigation.vue?vue&type=script&lang=js":
|
33 |
+
/*!*************************************************************************************************************************************************************************************!*\
|
34 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/SubNavigation.vue?vue&type=script&lang=js ***!
|
35 |
+
\*************************************************************************************************************************************************************************************/
|
36 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
37 |
+
|
38 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'SubTabNavigation',\n props: {\n /**\n * Stores the subsections if available.\n */\n sections: [Object, Array, Boolean],\n /**\n * Contains the data that will be sent to WordPres to save.\n */\n model: {},\n /**\n * Form object.\n */\n content: {},\n /**\n * Collect parent path and parent name of the router.\n */\n parentName: String,\n parentPath: String\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/SubNavigation.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
39 |
+
|
40 |
+
/***/ }),
|
41 |
+
|
42 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/DefaulField.vue?vue&type=script&lang=js":
|
43 |
+
/*!******************************************************************************************************************************************************************************************!*\
|
44 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/DefaulField.vue?vue&type=script&lang=js ***!
|
45 |
+
\******************************************************************************************************************************************************************************************/
|
46 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
47 |
+
|
48 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ui/ProBadge.vue */ \"./src/admin/components/ui/ProBadge.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-default',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n data() {\n return {\n fieldData: this.field,\n currentRoute: this.$route\n };\n },\n components: {\n ProBadge: _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n methods: {\n /**\n * Setup classes for the component based on the field type.\n */\n classes(type) {\n return ['htmega-opt-field', type == 'text' ? 'regular-text' : `htmega-opt-field-${type}`];\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/DefaulField.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
49 |
+
|
50 |
+
/***/ }),
|
51 |
+
|
52 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/element/element.vue?vue&type=script&lang=js":
|
53 |
+
/*!**********************************************************************************************************************************************************************************************!*\
|
54 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/element/element.vue?vue&type=script&lang=js ***!
|
55 |
+
\**********************************************************************************************************************************************************************************************/
|
56 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
57 |
+
|
58 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ui/ProBadge.vue */ \"./src/admin/components/ui/ProBadge.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-switcher',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n components: {\n ProBadge: _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n data() {\n return {\n fieldData: this.field,\n currentRoute: this.$route\n };\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/element/element.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
59 |
+
|
60 |
+
/***/ }),
|
61 |
+
|
62 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/html/html.vue?vue&type=script&lang=js":
|
63 |
+
/*!****************************************************************************************************************************************************************************************!*\
|
64 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/html/html.vue?vue&type=script&lang=js ***!
|
65 |
+
\****************************************************************************************************************************************************************************************/
|
66 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
67 |
+
|
68 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ui/ProBadge.vue */ \"./src/admin/components/ui/ProBadge.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-html',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n components: {\n ProBadge: _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n data() {\n return {\n fieldData: this.field,\n html: this.field.html\n };\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/html/html.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
69 |
+
|
70 |
+
/***/ }),
|
71 |
+
|
72 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/module/Module.vue?vue&type=script&lang=js":
|
73 |
+
/*!********************************************************************************************************************************************************************************************!*\
|
74 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/module/Module.vue?vue&type=script&lang=js ***!
|
75 |
+
\********************************************************************************************************************************************************************************************/
|
76 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
77 |
+
|
78 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-module',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n data() {\n return {\n settingFields: this.field.setting_fields\n };\n },\n methods: {\n maybeShowField(field) {\n if (field.type === 'hidden') {\n return false;\n }\n if (!field.toggle) {\n return true;\n }\n var toggleData = field.toggle;\n if (!(toggleData instanceof Array)) {\n toggleData = [toggleData];\n }\n var show = true;\n var operators = {\n '!=': function (a, b) {\n return a != b;\n },\n '!==': function (a, b) {\n return a !== b;\n },\n '==': function (a, b) {\n return a == b;\n },\n '===': function (a, b) {\n return a === b;\n },\n '>=': function (a, b) {\n return a >= b;\n },\n '>': function (a, b) {\n return a > b;\n },\n '<=': function (a, b) {\n return a <= b;\n }\n };\n for (var i = 0; i < toggleData.length; i++) {\n var toggleItem = toggleData[i];\n var operator = '!=';\n if (toggleItem.hasOwnProperty('operator')) {\n operator = toggleItem.operator;\n }\n if (operators[operator](this.model[toggleItem.key], toggleItem.value)) {\n return true;\n } else {\n return false;\n }\n }\n return show;\n },\n /**\n * Setup classes for the component based on the field type.\n */\n classes(type) {\n return ['zenaulopt-field', type == 'text' ? 'regular-text' : ''];\n },\n /**\n * Sets the name of the component to retrieve.\n */\n getFieldComponentName(type) {\n return 'field-' + type;\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/module/Module.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
79 |
+
|
80 |
+
/***/ }),
|
81 |
+
|
82 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/multiselect/select.vue?vue&type=script&lang=js":
|
83 |
+
/*!*************************************************************************************************************************************************************************************************!*\
|
84 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/multiselect/select.vue?vue&type=script&lang=js ***!
|
85 |
+
\*************************************************************************************************************************************************************************************************/
|
86 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
87 |
+
|
88 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ui/ProBadge.vue */ \"./src/admin/components/ui/ProBadge.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-multiselect',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n components: {\n ProBadge: _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n data() {\n return {\n fieldData: this.field,\n currentRoute: this.$route\n };\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/multiselect/select.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
89 |
+
|
90 |
+
/***/ }),
|
91 |
+
|
92 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/number/number.vue?vue&type=script&lang=js":
|
93 |
+
/*!********************************************************************************************************************************************************************************************!*\
|
94 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/number/number.vue?vue&type=script&lang=js ***!
|
95 |
+
\********************************************************************************************************************************************************************************************/
|
96 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
97 |
+
|
98 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ui/ProBadge.vue */ \"./src/admin/components/ui/ProBadge.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-number',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n data() {\n return {\n fieldData: this.field,\n currentRoute: this.$route\n };\n },\n components: {\n ProBadge: _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n methods: {\n /**\n * Increment the number field value.\n */\n incrementHandler: function () {\n if (this.fieldData.is_pro) {\n return;\n } else {\n this.model[this.fieldData.id] = parseInt(this.model[this.fieldData.id]) + parseInt(this.fieldData.step);\n this.$emit('onChange');\n }\n },\n /**\n * Decrement the number field value.\n */\n decrementHandler: function () {\n if (this.fieldData.is_pro) {\n return;\n } else {\n this.model[this.fieldData.id] = parseInt(this.model[this.fieldData.id]) - parseInt(this.fieldData.step);\n this.$emit('onChange');\n }\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/number/number.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
99 |
+
|
100 |
+
/***/ }),
|
101 |
+
|
102 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/select/select.vue?vue&type=script&lang=js":
|
103 |
+
/*!********************************************************************************************************************************************************************************************!*\
|
104 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/select/select.vue?vue&type=script&lang=js ***!
|
105 |
+
\********************************************************************************************************************************************************************************************/
|
106 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
107 |
+
|
108 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ui/ProBadge.vue */ \"./src/admin/components/ui/ProBadge.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-select',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n components: {\n ProBadge: _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n data() {\n return {\n fieldData: this.field,\n currentRoute: this.$route\n };\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/select/select.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
109 |
+
|
110 |
+
/***/ }),
|
111 |
+
|
112 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/switcher/switcher.vue?vue&type=script&lang=js":
|
113 |
+
/*!************************************************************************************************************************************************************************************************!*\
|
114 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/switcher/switcher.vue?vue&type=script&lang=js ***!
|
115 |
+
\************************************************************************************************************************************************************************************************/
|
116 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
117 |
+
|
118 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ui/ProBadge.vue */ \"./src/admin/components/ui/ProBadge.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-switcher',\n props: ['field', 'model', 'class'],\n emits: ['onChange', 'openProModal'],\n components: {\n ProBadge: _ui_ProBadge_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n data() {\n return {\n fieldData: this.field,\n currentRoute: this.$route\n };\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/switcher/switcher.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
119 |
+
|
120 |
+
/***/ }),
|
121 |
+
|
122 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/FieldHeader.vue?vue&type=script&lang=js":
|
123 |
+
/*!**************************************************************************************************************************************************************************************!*\
|
124 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/FieldHeader.vue?vue&type=script&lang=js ***!
|
125 |
+
\**************************************************************************************************************************************************************************************/
|
126 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
127 |
+
|
128 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _SaveButton_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SaveButton.vue */ \"./src/admin/components/ui/SaveButton.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'FieldHeader',\n props: ['content', 'value'],\n emits: [\"enableAllControl\"],\n data() {\n return {\n currentData: this.htmegaLocalizeData.options[this.$route.meta.id]\n };\n },\n components: {\n SaveButton: _SaveButton_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n methods: {\n /**\n * Hide or show the manage button / Header.\n */\n hideShowManage(data) {\n return data === undefined || data === '' ? true : false;\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/FieldHeader.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
129 |
+
|
130 |
+
/***/ }),
|
131 |
+
|
132 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProBadge.vue?vue&type=script&lang=js":
|
133 |
+
/*!***********************************************************************************************************************************************************************************!*\
|
134 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProBadge.vue?vue&type=script&lang=js ***!
|
135 |
+
\***********************************************************************************************************************************************************************************/
|
136 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
137 |
+
|
138 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'ProBadge'\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProBadge.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
139 |
+
|
140 |
+
/***/ }),
|
141 |
+
|
142 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProModal.vue?vue&type=script&lang=js":
|
143 |
+
/*!***********************************************************************************************************************************************************************************!*\
|
144 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProModal.vue?vue&type=script&lang=js ***!
|
145 |
+
\***********************************************************************************************************************************************************************************/
|
146 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
147 |
+
|
148 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'ProModal',\n props: ['className'],\n emits: ['openProModal'],\n methods: {\n onClick(e) {\n if (e.target.classList.contains('htmega-admin-popup')) {\n this.$emit('openProModal', false);\n }\n }\n },\n mounted() {\n document.addEventListener('click', this.onClick);\n },\n beforeDestroy() {\n document.removeEventListener('click', this.onClick);\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProModal.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
149 |
+
|
150 |
+
/***/ }),
|
151 |
+
|
152 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ResetButton.vue?vue&type=script&lang=js":
|
153 |
+
/*!**************************************************************************************************************************************************************************************!*\
|
154 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ResetButton.vue?vue&type=script&lang=js ***!
|
155 |
+
\**************************************************************************************************************************************************************************************/
|
156 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
157 |
+
|
158 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'reset-button',\n emits: ['resetAlldata'],\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_0__.mapGetters)(['GET_RESET_BUTTON']),\n resetButton: {\n get() {\n return this.GET_RESET_BUTTON;\n }\n }\n },\n methods: {\n /**\n * Manage Button class.\n */\n buttonClass() {\n return [`button button-primary htmega-reset-btn ${this.resetButton.class !== '' ? this.resetButton.class : ''}`, this.GET_RESET_BUTTON['disabled'] == true ? 'disabled' : ''];\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ResetButton.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
159 |
+
|
160 |
+
/***/ }),
|
161 |
+
|
162 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/SaveButton.vue?vue&type=script&lang=js":
|
163 |
+
/*!*************************************************************************************************************************************************************************************!*\
|
164 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/SaveButton.vue?vue&type=script&lang=js ***!
|
165 |
+
\*************************************************************************************************************************************************************************************/
|
166 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
167 |
+
|
168 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'save-button',\n computed: {\n ...(0,vuex__WEBPACK_IMPORTED_MODULE_0__.mapGetters)(['GET_SAVE_BUTTON']),\n saveButton: {\n get() {\n return this.GET_SAVE_BUTTON;\n }\n }\n },\n methods: {\n /**\n * Manage Button class.\n */\n buttonClass() {\n return [`button button-primary htmega-opt-submit ${this.saveButton.class !== '' ? this.saveButton.class : ''}`, this.GET_SAVE_BUTTON['disabled'] == true ? 'disabled' : ''];\n }\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/SaveButton.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
169 |
+
|
170 |
+
/***/ }),
|
171 |
+
|
172 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Home.vue?vue&type=script&lang=js":
|
173 |
+
/*!***********************************************************************************************************************************************************************!*\
|
174 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Home.vue?vue&type=script&lang=js ***!
|
175 |
+
\***********************************************************************************************************************************************************************/
|
176 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
177 |
+
|
178 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'Home',\n data() {\n return {};\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Home.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
179 |
+
|
180 |
+
/***/ }),
|
181 |
+
|
182 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Settings.vue?vue&type=script&lang=js":
|
183 |
+
/*!***************************************************************************************************************************************************************************!*\
|
184 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Settings.vue?vue&type=script&lang=js ***!
|
185 |
+
\***************************************************************************************************************************************************************************/
|
186 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
187 |
+
|
188 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'Settings',\n setup() {\n const textContent = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)('');\n const isTyping = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(false);\n const stop = (0,vue__WEBPACK_IMPORTED_MODULE_0__.watchEffect)(onInvalidate => {\n if (textContent.value.length > 0) {\n isTyping.value = true;\n if (textContent.value.length > 10) {\n stop();\n }\n const showTypingStatus = setTimeout(() => {\n isTyping.value = false;\n }, 2000);\n onInvalidate(() => {\n clearTimeout(showTypingStatus);\n });\n }\n });\n return {\n textContent,\n isTyping\n };\n },\n data() {\n return {};\n }\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Settings.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
189 |
+
|
190 |
+
/***/ }),
|
191 |
+
|
192 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/App.vue?vue&type=template&id=3a030f38":
|
193 |
+
/*!********************************************************************************************************************************************************************************************************************************************!*\
|
194 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/App.vue?vue&type=template&id=3a030f38 ***!
|
195 |
+
\********************************************************************************************************************************************************************************************************************************************/
|
196 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
197 |
+
|
198 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n id: \"htmegaopt-admin-panel\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"htmega-navigation-wrapper\"\n};\nconst _hoisted_3 = {\n class: \"htmega-navigation-menu\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"htmega-opt-footer\"\n};\nconst _hoisted_5 = {\n class: \"htmega-footer-resetbutton\"\n};\nconst _hoisted_6 = {\n class: \"htmega-footer-savebutton\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_router_link = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"router-link\");\n const _component_router_view = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"router-view\");\n const _component_ResetButton = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ResetButton\");\n const _component_SaveButton = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"SaveButton\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" Navigation \"), $data.isMainTab ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"ul\", _hoisted_3, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.items, item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"li\", {\n key: item.path\n }, [item.name && item.showInNav ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_router_link, {\n key: 0,\n to: item.path\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(item.navIcon)\n }, null, 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(item.name), 1 /* TEXT */)]),\n\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"to\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]);\n }), 128 /* KEYED_FRAGMENT */))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" end navigation \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"form\", {\n onSubmit: _cache[0] || (_cache[0] = (...args) => $options.submit && $options.submit(...args)),\n class: \"htmega-options-form\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_router_view, {\n model: $data.model,\n content: $data.content\n }, null, 8 /* PROPS */, [\"model\", \"content\"]), $data.isMainTab ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_router_view, {\n key: 0,\n name: \"fields\",\n model: $data.model,\n content: $data.content\n }, null, 8 /* PROPS */, [\"model\", \"content\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $options.footerArea() ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_ResetButton, {\n onResetAlldata: $options.resetAlldata\n }, null, 8 /* PROPS */, [\"onResetAlldata\"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_SaveButton)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 32 /* HYDRATE_EVENTS */)]);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/App.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
199 |
+
|
200 |
+
/***/ }),
|
201 |
+
|
202 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/Fields-wrapper.vue?vue&type=template&id=7db37ba2":
|
203 |
+
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
|
204 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/Fields-wrapper.vue?vue&type=template&id=7db37ba2 ***!
|
205 |
+
\******************************************************************************************************************************************************************************************************************************************************************/
|
206 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
207 |
+
|
208 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-form-wrapper\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_FieldHeader = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"FieldHeader\");\n const _component_DefaulField = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"DefaulField\");\n const _component_ProModal = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProModal\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_FieldHeader, {\n content: $props.content,\n value: $data.enableDisableButtonValue,\n onEnableAllControl: $options.enableAllControl\n }, null, 8 /* PROPS */, [\"content\", \"value\", \"onEnableAllControl\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(`htmega-form-fields ${$props.content.column ? `htmega-opt-col-${$props.content.column}` : 'htmega-opt-col-1'}`)\n }, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($props.fields, field => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(`htmega-admin-option htmega-admin-field-${field.type} ${$options.classes(field.type, field)}`),\n key: field.id\n }, [$options.hasComponent(field.type) ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDynamicComponent)($options.getFieldComponentName(field.type)), {\n key: 0,\n field: field,\n model: $props.model,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.classes(field.type)),\n onOnChange: $options.onChange,\n onOpenProModal: $options.openProModal\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, [\"field\", \"model\", \"class\", \"onOnChange\", \"onOpenProModal\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_DefaulField, {\n key: field.id,\n field: field,\n model: $props.model,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.classes(field.type)),\n onOnChange: $options.onChange,\n onOpenProModal: $options.openProModal\n }, null, 8 /* PROPS */, [\"field\", \"model\", \"class\", \"onOnChange\", \"onOpenProModal\"]))], 2 /* CLASS */)), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $options.maybeShowField(field)]]);\n }), 128 /* KEYED_FRAGMENT */)), $data.proModalVisible ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProModal, {\n key: 0,\n className: $data.proModalVisible ? 'open' : '',\n onOpenProModal: $options.openProModal\n }, null, 8 /* PROPS */, [\"className\", \"onOpenProModal\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 2 /* CLASS */)]);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/Fields-wrapper.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
209 |
+
|
210 |
+
/***/ }),
|
211 |
+
|
212 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/SubNavigation.vue?vue&type=template&id=a8f35f18":
|
213 |
+
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
|
214 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/SubNavigation.vue?vue&type=template&id=a8f35f18 ***!
|
215 |
+
\*****************************************************************************************************************************************************************************************************************************************************************/
|
216 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
217 |
+
|
218 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-opt-sub-sections-wrapper\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"htmega-opt-subnav\"\n};\nconst _hoisted_3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, \"|\", -1 /* HOISTED */);\nconst _hoisted_4 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, \"|\", -1 /* HOISTED */);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_router_link = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"router-link\");\n const _component_router_view = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"router-view\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [$props.sections.length > 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"ul\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"li\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_router_link, {\n to: $props.parentPath\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.parentName), 1 /* TEXT */)]),\n\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"to\"]), _hoisted_3]), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($props.sections, item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"li\", {\n key: item.path\n }, [item.name ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_router_link, {\n key: 0,\n to: item.path\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(item.name), 1 /* TEXT */)]),\n\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"to\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), _hoisted_4]);\n }), 128 /* KEYED_FRAGMENT */))])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_router_view, {\n model: $props.model,\n content: $props.content\n }, null, 8 /* PROPS */, [\"model\", \"content\"])]);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/SubNavigation.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
219 |
+
|
220 |
+
/***/ }),
|
221 |
+
|
222 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/DefaulField.vue?vue&type=template&id=45d29141":
|
223 |
+
/*!**********************************************************************************************************************************************************************************************************************************************************************!*\
|
224 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/DefaulField.vue?vue&type=template&id=45d29141 ***!
|
225 |
+
\**********************************************************************************************************************************************************************************************************************************************************************/
|
226 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
227 |
+
|
228 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = [\"id\", \"disabled\"];\nconst _hoisted_5 = [\"id\", \"type\", \"placeholder\", \"disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ProBadge = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProBadge\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.name) + \" \", 1 /* TEXT */), $data.fieldData.is_pro ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProBadge, {\n key: 0\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.fieldData.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $data.fieldData.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"htmega-admin-option-field\",\n onClick: _cache[5] || (_cache[5] = $event => $data.fieldData.is_pro ? _ctx.$emit('openProModal', true) : null)\n }, [$data.fieldData.type === 'checkbox' ? (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"input\", {\n key: 0,\n id: $data.fieldData.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.classes($data.fieldData.type)),\n \"true-value\": \"on\",\n \"false-value\": \"off\",\n type: \"checkbox\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $props.model[$data.fieldData.id] = $event),\n onChange: _cache[1] || (_cache[1] = $event => _ctx.$emit('onChange')),\n disabled: $data.fieldData.is_pro\n }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_4)), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelCheckbox, $props.model[$data.fieldData.id]]]) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"input\", {\n key: 1,\n id: $data.fieldData.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.classes($data.fieldData.type)),\n type: $data.fieldData.type,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $props.model[$data.fieldData.id] = $event),\n placeholder: $data.fieldData?.placeholder,\n onChange: _cache[3] || (_cache[3] = $event => _ctx.$emit('onChange')),\n onInput: _cache[4] || (_cache[4] = $event => _ctx.$emit('onChange')),\n disabled: $data.fieldData.is_pro\n }, null, 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_5)), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelDynamic, $props.model[$data.fieldData.id]]])])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/DefaulField.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
229 |
+
|
230 |
+
/***/ }),
|
231 |
+
|
232 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/element/element.vue?vue&type=template&id=0a83ae23":
|
233 |
+
/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
|
234 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/element/element.vue?vue&type=template&id=0a83ae23 ***!
|
235 |
+
\**************************************************************************************************************************************************************************************************************************************************************************/
|
236 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
237 |
+
|
238 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = [\"id\", \"disabled\"];\nconst _hoisted_5 = [\"for\"];\nconst _hoisted_6 = {\n class: \"htmega-checkbox-text on\"\n};\nconst _hoisted_7 = {\n class: \"htmega-checkbox-text off\"\n};\nconst _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"htmega-checkbox-indicator\"\n}, null, -1 /* HOISTED */);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ProBadge = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProBadge\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.name) + \" \", 1 /* TEXT */), $data.fieldData.is_pro ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProBadge, {\n key: 0\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.fieldData.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $data.fieldData.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"htmega-admin-option-field\",\n onClick: _cache[2] || (_cache[2] = $event => $data.fieldData.is_pro ? _ctx.$emit('openProModal', true) : null)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(`${this.class} htmega-opt-field-switcher`)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n id: $data.currentRoute.meta.id + $data.fieldData.id,\n type: \"checkbox\",\n \"true-value\": \"on\",\n \"false-value\": \"off\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => this.model[$data.fieldData.id] = $event),\n onChange: _cache[1] || (_cache[1] = $event => _ctx.$emit('onChange')),\n disabled: $data.fieldData.is_pro\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_4), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelCheckbox, this.model[$data.fieldData.id]]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"label\", {\n for: $data.currentRoute.meta.id + $data.fieldData.id\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.label_on), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.label_off), 1 /* TEXT */), _hoisted_8], 8 /* PROPS */, _hoisted_5)], 2 /* CLASS */)])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/element/element.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
239 |
+
|
240 |
+
/***/ }),
|
241 |
+
|
242 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/html/html.vue?vue&type=template&id=6ec19149":
|
243 |
+
/*!********************************************************************************************************************************************************************************************************************************************************************!*\
|
244 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/html/html.vue?vue&type=template&id=6ec19149 ***!
|
245 |
+
\********************************************************************************************************************************************************************************************************************************************************************/
|
246 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
247 |
+
|
248 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0,\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = [\"innerHTML\"];\nconst _hoisted_5 = [\"innerHTML\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ProBadge = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProBadge\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [$data.fieldData.name ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.name) + \" \", 1 /* TEXT */), $data.fieldData.is_pro ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProBadge, {\n key: 0\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.fieldData.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $data.fieldData.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $data.fieldData.name ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: 1,\n class: \"htmega-admin-option-field\",\n onClick: _cache[0] || (_cache[0] = $event => $data.fieldData.is_pro ? _ctx.$emit('openProModal', true) : null)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n innerHTML: $data.html\n }, null, 8 /* PROPS */, _hoisted_4)])) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: 2,\n innerHTML: $data.html\n }, null, 8 /* PROPS */, _hoisted_5))], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/html/html.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
249 |
+
|
250 |
+
/***/ }),
|
251 |
+
|
252 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/module/Module.vue?vue&type=template&id=e2d3ef6e":
|
253 |
+
/*!************************************************************************************************************************************************************************************************************************************************************************!*\
|
254 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/module/Module.vue?vue&type=template&id=e2d3ef6e ***!
|
255 |
+
\************************************************************************************************************************************************************************************************************************************************************************/
|
256 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
257 |
+
|
258 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = {\n class: \"htmega-admin-option-field\"\n};\nconst _hoisted_5 = {\n class: \"zenaulopt-module-field\"\n};\nconst _hoisted_6 = [\"id\", \"type\", \"onUpdate:modelValue\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.field.name), 1 /* TEXT */), $props.field.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $props.field.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"pre\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.model), 1 /* TEXT */), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.settingFields, settingField => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: \"zenaulopt-module-field-area\",\n key: settingField.id\n }, [settingField.type === 'checkbox' ? (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"input\", {\n key: 0,\n id: settingField.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.classes(settingField.type)),\n \"true-value\": \"on\",\n \"false-value\": \"off\",\n type: settingField.type,\n \"onUpdate:modelValue\": $event => $props.model[settingField.id] = $event\n }, null, 10 /* CLASS, PROPS */, _hoisted_6)), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelDynamic, $props.model[settingField.id]]]) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)])), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $options.maybeShowField(settingField)]]);\n }), 128 /* KEYED_FRAGMENT */))])])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/module/Module.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
259 |
+
|
260 |
+
/***/ }),
|
261 |
+
|
262 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/multiselect/select.vue?vue&type=template&id=28a1100c":
|
263 |
+
/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
|
264 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/multiselect/select.vue?vue&type=template&id=28a1100c ***!
|
265 |
+
\*****************************************************************************************************************************************************************************************************************************************************************************/
|
266 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
267 |
+
|
268 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = [\"id\", \"disabled\"];\nconst _hoisted_5 = [\"value\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ProBadge = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProBadge\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.name) + \" \", 1 /* TEXT */), $data.fieldData.is_pro ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProBadge, {\n key: 0\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.fieldData.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $data.fieldData.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"htmega-admin-option-field\",\n onClick: _cache[2] || (_cache[2] = $event => $data.fieldData.is_pro ? _ctx.$emit('openProModal', true) : null)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"select\", {\n multiple: \"multiple\",\n id: $data.currentRoute.meta.id + $data.fieldData.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(this.class),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => this.model[$data.fieldData.id] = $event),\n onChange: _cache[1] || (_cache[1] = $event => _ctx.$emit('onChange')),\n disabled: $data.fieldData.is_pro\n }, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.fieldData['options'], (option, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"option\", {\n value: index\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(option), 9 /* TEXT, PROPS */, _hoisted_5);\n }), 256 /* UNKEYED_FRAGMENT */))], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_4), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelSelect, this.model[$data.fieldData.id]]])])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/multiselect/select.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
269 |
+
|
270 |
+
/***/ }),
|
271 |
+
|
272 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/number/number.vue?vue&type=template&id=1207b989":
|
273 |
+
/*!************************************************************************************************************************************************************************************************************************************************************************!*\
|
274 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/number/number.vue?vue&type=template&id=1207b989 ***!
|
275 |
+
\************************************************************************************************************************************************************************************************************************************************************************/
|
276 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
277 |
+
|
278 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = [\"id\", \"name\", \"min\", \"max\", \"step\", \"disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ProBadge = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProBadge\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.name) + \" \", 1 /* TEXT */), $data.fieldData.is_pro ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProBadge, {\n key: 0\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.fieldData.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $data.fieldData.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"htmega-admin-option-field\",\n onClick: _cache[4] || (_cache[4] = $event => $data.fieldData.is_pro ? _ctx.$emit('openProModal', true) : null)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n type: \"number\",\n id: $data.currentRoute.meta.id + $data.fieldData.id,\n name: $data.fieldData.id,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => this.model[$data.fieldData.id] = $event),\n min: $data.fieldData.min,\n max: $data.fieldData.max,\n step: $data.fieldData.step,\n onChange: _cache[1] || (_cache[1] = $event => _ctx.$emit('onChange')),\n disabled: $data.fieldData.is_pro\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_4), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelText, this.model[$data.fieldData.id]]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"htmega-admin-number-btn increase\",\n onClick: _cache[2] || (_cache[2] = (...args) => $options.incrementHandler && $options.incrementHandler(...args))\n }, \"+\"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"htmega-admin-number-btn decrease\",\n onClick: _cache[3] || (_cache[3] = (...args) => $options.decrementHandler && $options.decrementHandler(...args))\n }, \"-\")])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/number/number.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
279 |
+
|
280 |
+
/***/ }),
|
281 |
+
|
282 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/select/select.vue?vue&type=template&id=81faabae":
|
283 |
+
/*!************************************************************************************************************************************************************************************************************************************************************************!*\
|
284 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/select/select.vue?vue&type=template&id=81faabae ***!
|
285 |
+
\************************************************************************************************************************************************************************************************************************************************************************/
|
286 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
287 |
+
|
288 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = [\"id\", \"disabled\"];\nconst _hoisted_5 = [\"value\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ProBadge = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProBadge\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.name) + \" \", 1 /* TEXT */), $data.fieldData.is_pro ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProBadge, {\n key: 0\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.fieldData.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $data.fieldData.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"htmega-admin-option-field\",\n onClick: _cache[2] || (_cache[2] = $event => $data.fieldData.is_pro ? _ctx.$emit('openProModal', true) : null)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"select\", {\n id: $data.currentRoute.meta.id + $data.fieldData.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(this.class),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => this.model[$data.fieldData.id] = $event),\n onChange: _cache[1] || (_cache[1] = $event => _ctx.$emit('onChange')),\n disabled: $data.fieldData.is_pro\n }, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.fieldData['options'], (option, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"option\", {\n value: index\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(option), 9 /* TEXT, PROPS */, _hoisted_5);\n }), 256 /* UNKEYED_FRAGMENT */))], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_4), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelSelect, this.model[$data.fieldData.id]]])])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/select/select.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
289 |
+
|
290 |
+
/***/ }),
|
291 |
+
|
292 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/switcher/switcher.vue?vue&type=template&id=4aee9a09":
|
293 |
+
/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
|
294 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/switcher/switcher.vue?vue&type=template&id=4aee9a09 ***!
|
295 |
+
\****************************************************************************************************************************************************************************************************************************************************************************/
|
296 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
297 |
+
|
298 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-option-content\"\n};\nconst _hoisted_2 = {\n class: \"htmega-admin-option-label\"\n};\nconst _hoisted_3 = [\"innerHTML\"];\nconst _hoisted_4 = [\"id\", \"disabled\"];\nconst _hoisted_5 = [\"for\"];\nconst _hoisted_6 = {\n class: \"htmega-checkbox-text on\"\n};\nconst _hoisted_7 = {\n class: \"htmega-checkbox-text off\"\n};\nconst _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"htmega-checkbox-indicator\"\n}, null, -1 /* HOISTED */);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ProBadge = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ProBadge\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h6\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.name) + \" \", 1 /* TEXT */), $data.fieldData.is_pro ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_ProBadge, {\n key: 0\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.fieldData.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", {\n key: 0,\n class: \"htmega-admin-option-desc\",\n innerHTML: $data.fieldData.desc\n }, null, 8 /* PROPS */, _hoisted_3)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"htmega-admin-option-field\",\n onClick: _cache[2] || (_cache[2] = $event => $data.fieldData.is_pro ? _ctx.$emit('openProModal', true) : null)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(this.class)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n id: $data.currentRoute.meta.id + $data.fieldData.id,\n type: \"checkbox\",\n \"true-value\": \"on\",\n \"false-value\": \"off\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => this.model[$data.fieldData.id] = $event),\n onChange: _cache[1] || (_cache[1] = $event => _ctx.$emit('onChange')),\n disabled: $data.fieldData.is_pro\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_4), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelCheckbox, this.model[$data.fieldData.id]]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"label\", {\n for: $data.currentRoute.meta.id + $data.fieldData.id\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.label_on), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($data.fieldData.label_off), 1 /* TEXT */), _hoisted_8], 8 /* PROPS */, _hoisted_5)], 2 /* CLASS */)])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/switcher/switcher.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
299 |
+
|
300 |
+
/***/ }),
|
301 |
+
|
302 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/FieldHeader.vue?vue&type=template&id=62ec09c8":
|
303 |
+
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
|
304 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/FieldHeader.vue?vue&type=template&id=62ec09c8 ***!
|
305 |
+
\******************************************************************************************************************************************************************************************************************************************************************/
|
306 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
307 |
+
|
308 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0,\n class: \"htmega-header-area\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"htmega-header-content\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"htmega-header-title\"\n};\nconst _hoisted_4 = {\n key: 1\n};\nconst _hoisted_5 = {\n class: \"htmega-head-right\"\n};\nconst _hoisted_6 = {\n key: 0,\n class: \"htmega-button-enableall\"\n};\nconst _hoisted_7 = {\n for: \"toggleAll\"\n};\nconst _hoisted_8 = {\n class: \"htmega-button-enableall-text off\"\n};\nconst _hoisted_9 = {\n class: \"htmega-button-enableall-text on\"\n};\nconst _hoisted_10 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"htmega-button-enableall-indicator\"\n}, null, -1 /* HOISTED */);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_SaveButton = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"SaveButton\");\n return $options.hideShowManage($props.content.header) ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [$props.content ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_2, [$props.content.title ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"h6\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.content.title), 1 /* TEXT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $props.content.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.content.desc), 1 /* TEXT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [$options.hideShowManage($props.content.enableall) ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n id: \"toggleAll\",\n type: \"checkbox\",\n onChange: _cache[0] || (_cache[0] = event => {\n _ctx.$emit('enableAllControl', event);\n }),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $props.value = $event)\n }, null, 544 /* HYDRATE_EVENTS, NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelCheckbox, $props.value]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"label\", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.htmegaLocalizeData.labels.enableAllButton.enable), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_9, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.htmegaLocalizeData.labels.enableAllButton.disable), 1 /* TEXT */), _hoisted_10])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_SaveButton)])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/FieldHeader.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
309 |
+
|
310 |
+
/***/ }),
|
311 |
+
|
312 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProBadge.vue?vue&type=template&id=3ee4d1d1":
|
313 |
+
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
|
314 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProBadge.vue?vue&type=template&id=3ee4d1d1 ***!
|
315 |
+
\***************************************************************************************************************************************************************************************************************************************************************/
|
316 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
317 |
+
|
318 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"htmega-admin-pro-badge\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(this.htmegaLocalizeData.labels.pro), 1 /* TEXT */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProBadge.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
319 |
+
|
320 |
+
/***/ }),
|
321 |
+
|
322 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProModal.vue?vue&type=template&id=424b9bdb":
|
323 |
+
/*!***************************************************************************************************************************************************************************************************************************************************************!*\
|
324 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProModal.vue?vue&type=template&id=424b9bdb ***!
|
325 |
+
\***************************************************************************************************************************************************************************************************************************************************************/
|
326 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
327 |
+
|
328 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n/* harmony import */ var _assets_images_icons_pro_badge_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../assets/images/icons/pro-badge.png */ \"./assets/images/icons/pro-badge.png\");\n\n\nconst _hoisted_1 = {\n class: \"htmega-admin-popup-inner\"\n};\nconst _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"svg\", {\n width: \"10\",\n height: \"10\",\n viewBox: \"0 0 10 10\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"path\", {\n d: \"M9.08366 1.73916L8.26116 0.916656L5.00033 4.17749L1.73949 0.916656L0.916992 1.73916L4.17783 4.99999L0.916992 8.26082L1.73949 9.08332L5.00033 5.82249L8.26116 9.08332L9.08366 8.26082L5.82283 4.99999L9.08366 1.73916Z\",\n fill: \"currentColor\"\n})], -1 /* HOISTED */);\nconst _hoisted_3 = [_hoisted_2];\nconst _hoisted_4 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"htmega-admin-popup-icon\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"img\", {\n src: _assets_images_icons_pro_badge_png__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n alt: \"pro\"\n})], -1 /* HOISTED */);\nconst _hoisted_5 = {\n class: \"htmega-admin-popup-title\"\n};\nconst _hoisted_6 = {\n class: \"htmega-admin-popup-text\"\n};\nconst _hoisted_7 = {\n href: \"https://wphtmega.com/pricing/\",\n class: \"htmega-admin-btn htmega-opt-submit htmega-admin-btn-primary\",\n target: \"_blank\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n id: \"htmega-admin-pro-popup\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(`htmega-admin-popup ${$props.className}`)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"button\", {\n class: \"htmega-admin-popup-close\",\n onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('openProModal', false))\n }, _hoisted_3), _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h3\", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.htmegaLocalizeData.labels.modal.title), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.htmegaLocalizeData.labels.modal.desc), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"a\", _hoisted_7, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.htmegaLocalizeData.labels.modal.buynow), 1 /* TEXT */)])], 2 /* CLASS */);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProModal.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
329 |
+
|
330 |
+
/***/ }),
|
331 |
+
|
332 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ResetButton.vue?vue&type=template&id=40763b56":
|
333 |
+
/*!******************************************************************************************************************************************************************************************************************************************************************!*\
|
334 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ResetButton.vue?vue&type=template&id=40763b56 ***!
|
335 |
+
\******************************************************************************************************************************************************************************************************************************************************************/
|
336 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
337 |
+
|
338 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = [\"disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"button\", {\n type: \"button\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.buttonClass()),\n disabled: $options.resetButton.disabled,\n onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('resetAlldata'))\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.resetButton.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ResetButton.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
339 |
+
|
340 |
+
/***/ }),
|
341 |
+
|
342 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/SaveButton.vue?vue&type=template&id=ea2982ac":
|
343 |
+
/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
|
344 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/SaveButton.vue?vue&type=template&id=ea2982ac ***!
|
345 |
+
\*****************************************************************************************************************************************************************************************************************************************************************/
|
346 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
347 |
+
|
348 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = [\"disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"button\", {\n type: \"submit\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.buttonClass()),\n disabled: $options.saveButton.disabled\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.saveButton.text), 11 /* TEXT, CLASS, PROPS */, _hoisted_1);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/SaveButton.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
349 |
+
|
350 |
+
/***/ }),
|
351 |
+
|
352 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Home.vue?vue&type=template&id=9e5983fa":
|
353 |
+
/*!***************************************************************************************************************************************************************************************************************************************************!*\
|
354 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Home.vue?vue&type=template&id=9e5983fa ***!
|
355 |
+
\***************************************************************************************************************************************************************************************************************************************************/
|
356 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
357 |
+
|
358 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"app-home\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, \" The Home Page \");\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Home.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
359 |
+
|
360 |
+
/***/ }),
|
361 |
+
|
362 |
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Settings.vue?vue&type=template&id=e4dc4572":
|
363 |
+
/*!*******************************************************************************************************************************************************************************************************************************************************!*\
|
364 |
+
!*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Settings.vue?vue&type=template&id=e4dc4572 ***!
|
365 |
+
\*******************************************************************************************************************************************************************************************************************************************************/
|
366 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
367 |
+
|
368 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render)\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"app-settings\"\n};\nconst _hoisted_2 = {\n key: 0\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" The Settings Page \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"textarea\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.textContent = $event)\n }, null, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelText, $setup.textContent]]), $setup.isTyping ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", _hoisted_2, \"Typing....\")) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]);\n}\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Settings.vue?./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B2%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B1%5D.rules%5B8%5D.use%5B0%5D");
|
369 |
+
|
370 |
+
/***/ }),
|
371 |
+
|
372 |
+
/***/ "./src/admin/components/fields/element/index.js":
|
373 |
+
/*!******************************************************!*\
|
374 |
+
!*** ./src/admin/components/fields/element/index.js ***!
|
375 |
+
\******************************************************/
|
376 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
377 |
+
|
378 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _element_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./element.vue */ \"./src/admin/components/fields/element/element.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-element',\n template: _element_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/element/index.js?");
|
379 |
+
|
380 |
+
/***/ }),
|
381 |
+
|
382 |
+
/***/ "./src/admin/components/fields/html/index.js":
|
383 |
+
/*!***************************************************!*\
|
384 |
+
!*** ./src/admin/components/fields/html/index.js ***!
|
385 |
+
\***************************************************/
|
386 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
387 |
+
|
388 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _html_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./html.vue */ \"./src/admin/components/fields/html/html.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-html',\n template: _html_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/html/index.js?");
|
389 |
+
|
390 |
+
/***/ }),
|
391 |
+
|
392 |
+
/***/ "./src/admin/components/fields/module/index.js":
|
393 |
+
/*!*****************************************************!*\
|
394 |
+
!*** ./src/admin/components/fields/module/index.js ***!
|
395 |
+
\*****************************************************/
|
396 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
397 |
+
|
398 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Module_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Module.vue */ \"./src/admin/components/fields/module/Module.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-module',\n template: _Module_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/module/index.js?");
|
399 |
+
|
400 |
+
/***/ }),
|
401 |
+
|
402 |
+
/***/ "./src/admin/components/fields/multiselect/index.js":
|
403 |
+
/*!**********************************************************!*\
|
404 |
+
!*** ./src/admin/components/fields/multiselect/index.js ***!
|
405 |
+
\**********************************************************/
|
406 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
407 |
+
|
408 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _select_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select.vue */ \"./src/admin/components/fields/multiselect/select.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-multiselect',\n template: _select_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/multiselect/index.js?");
|
409 |
+
|
410 |
+
/***/ }),
|
411 |
+
|
412 |
+
/***/ "./src/admin/components/fields/number/index.js":
|
413 |
+
/*!*****************************************************!*\
|
414 |
+
!*** ./src/admin/components/fields/number/index.js ***!
|
415 |
+
\*****************************************************/
|
416 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
417 |
+
|
418 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _number_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number.vue */ \"./src/admin/components/fields/number/number.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-number',\n template: _number_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/number/index.js?");
|
419 |
+
|
420 |
+
/***/ }),
|
421 |
+
|
422 |
+
/***/ "./src/admin/components/fields/select/index.js":
|
423 |
+
/*!*****************************************************!*\
|
424 |
+
!*** ./src/admin/components/fields/select/index.js ***!
|
425 |
+
\*****************************************************/
|
426 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
427 |
+
|
428 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _select_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select.vue */ \"./src/admin/components/fields/select/select.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-select',\n template: _select_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/select/index.js?");
|
429 |
+
|
430 |
+
/***/ }),
|
431 |
+
|
432 |
+
/***/ "./src/admin/components/fields/switcher/index.js":
|
433 |
+
/*!*******************************************************!*\
|
434 |
+
!*** ./src/admin/components/fields/switcher/index.js ***!
|
435 |
+
\*******************************************************/
|
436 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
437 |
+
|
438 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _switcher_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./switcher.vue */ \"./src/admin/components/fields/switcher/switcher.vue\");\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'field-switcher',\n template: _switcher_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/switcher/index.js?");
|
439 |
+
|
440 |
+
/***/ }),
|
441 |
+
|
442 |
+
/***/ "./src/admin/main.js":
|
443 |
+
/*!***************************!*\
|
444 |
+
!*** ./src/admin/main.js ***!
|
445 |
+
\***************************/
|
446 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
447 |
+
|
448 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n/* harmony import */ var vue_sweetalert2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-sweetalert2 */ \"./node_modules/vue-sweetalert2/dist/vue-sweetalert.umd.js\");\n/* harmony import */ var vue_sweetalert2__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue_sweetalert2__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./App.vue */ \"./src/admin/App.vue\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./router */ \"./src/admin/router/index.js\");\n/* harmony import */ var _utils_admin_menu_fix__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/admin-menu-fix */ \"./src/admin/utils/admin-menu-fix.js\");\n/* harmony import */ var _store_index__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./store/index */ \"./src/admin/store/index.js\");\n/* harmony import */ var _pages_Home_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pages/Home.vue */ \"./src/admin/pages/Home.vue\");\n/* harmony import */ var _components_fields_switcher__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/fields/switcher */ \"./src/admin/components/fields/switcher/index.js\");\n/* harmony import */ var _components_fields_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/fields/select */ \"./src/admin/components/fields/select/index.js\");\n/* harmony import */ var _components_fields_multiselect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/fields/multiselect */ \"./src/admin/components/fields/multiselect/index.js\");\n/* harmony import */ var _components_fields_number__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/fields/number */ \"./src/admin/components/fields/number/index.js\");\n/* harmony import */ var _components_fields_html__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/fields/html */ \"./src/admin/components/fields/html/index.js\");\n/* harmony import */ var _components_fields_element__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/fields/element */ \"./src/admin/components/fields/element/index.js\");\n/* harmony import */ var _components_fields_module__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/fields/module */ \"./src/admin/components/fields/module/index.js\");\n\n\n\n// Internal Dependencies\n\n\n\n\n\n\n// Fields Component\n\n\n\n\n\n\n\n\n/* Get all the woolentor blocks in an array */\nconst getAllCustomComponet = () => [_components_fields_switcher__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _components_fields_select__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _components_fields_multiselect__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _components_fields_number__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _components_fields_html__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _components_fields_element__WEBPACK_IMPORTED_MODULE_12__[\"default\"], _components_fields_module__WEBPACK_IMPORTED_MODULE_13__[\"default\"]];\n\n// Register Components\nconst registerComponent = componetData => {\n if (!componetData) {\n return;\n }\n app.component(componetData.name, componetData.template);\n};\n\n// Create the app\nconst app = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createApp)(_App_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).use(_router__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).use(_store_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\napp.use((vue_sweetalert2__WEBPACK_IMPORTED_MODULE_1___default()));\n\n// Load Custom Component\ngetAllCustomComponet().forEach(registerComponent);\napp.config.productionTip = false;\n// Import options panel configuration.\napp.config.globalProperties.optPrefix = htmegaOptions.prefix;\napp.config.globalProperties.htmegaLocalizeData = htmegaOptions;\napp.config.globalProperties.htmegaCustomComponents = getAllCustomComponet();\napp.mount('#htmega-opt-admin-app');\n\n// fix the admin menu for the slug \"htmega-addons\"\n(0,_utils_admin_menu_fix__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('htmega-addons', Object.keys(htmegaOptions.tabs));\n\n//# sourceURL=webpack://htmega-options/./src/admin/main.js?");
|
449 |
+
|
450 |
+
/***/ }),
|
451 |
+
|
452 |
+
/***/ "./src/admin/router/index.js":
|
453 |
+
/*!***********************************!*\
|
454 |
+
!*** ./src/admin/router/index.js ***!
|
455 |
+
\***********************************/
|
456 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
457 |
+
|
458 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vue_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue-router */ \"./node_modules/vue-router/dist/vue-router.mjs\");\n/* harmony import */ var admin_pages_Settings_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! admin/pages/Settings.vue */ \"./src/admin/pages/Settings.vue\");\n/* harmony import */ var admin_pages_Home_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! admin/pages/Home.vue */ \"./src/admin/pages/Home.vue\");\n/* harmony import */ var admin_components_SubNavigation_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! admin/components/SubNavigation.vue */ \"./src/admin/components/SubNavigation.vue\");\n/* harmony import */ var admin_components_Fields_wrapper_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! admin/components/Fields-wrapper.vue */ \"./src/admin/components/Fields-wrapper.vue\");\n\n\n\n\n\nconst OptionsTabs = [];\n\n// Set redirect for the first path to redirect\n// to the first available tab.\nOptionsTabs.push({\n path: '/',\n redirect: Object.keys(htmegaOptions.tabs)[0]\n});\nObject.keys(htmegaOptions.tabs).forEach(function (tabItem) {\n // Setup the starting path.\n let path = '/' + tabItem;\n\n // Define child routes for the router based on available sections.\n let availableSections = htmegaOptions.sections[tabItem];\n let childRoutes = [];\n if (typeof availableSections !== 'undefined') {\n Object.keys(availableSections).forEach(function (subTabItem) {\n // console.log(htmegaOptions.sections[tabItem][subTabItem], tabItem, subTabItem)\n childRoutes.push({\n path: path + '/' + subTabItem,\n name: availableSections[subTabItem].title,\n component: admin_components_Fields_wrapper_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n meta: {\n id: availableSections[subTabItem].id,\n pathname: subTabItem,\n parentPathName: tabItem\n },\n props: {\n fields: htmegaOptions.settings[availableSections[subTabItem].id]\n }\n });\n });\n }\n\n // Create main route and child routes if any.\n OptionsTabs.push({\n path: path,\n name: htmegaOptions.tabs[tabItem].title,\n components: {\n default: admin_components_SubNavigation_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n fields: admin_components_Fields_wrapper_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n meta: {\n id: htmegaOptions.tabs[tabItem].id,\n pathname: path.substring(1)\n },\n props: {\n default: {\n sections: childRoutes,\n parentPath: path,\n parentName: htmegaOptions.tabs[tabItem].title\n },\n fields: {\n fields: htmegaOptions.settings[htmegaOptions.tabs[tabItem].id]\n },\n navIcon: htmegaOptions.tabs[tabItem].icon,\n showInNav: true\n },\n children: childRoutes\n });\n});\n\n// OptionsTabs.push(\n// {\n// path: '/settings',\n// name: 'Settings',\n// component: Settings,\n// \t\tprops: {\n// \t\t\tshowInNav: false\n// \t\t}\n// }\n// )\n\nconst router = (0,vue_router__WEBPACK_IMPORTED_MODULE_4__.createRouter)({\n history: (0,vue_router__WEBPACK_IMPORTED_MODULE_4__.createWebHashHistory)(),\n routes: OptionsTabs\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (router);\n\n//# sourceURL=webpack://htmega-options/./src/admin/router/index.js?");
|
459 |
+
|
460 |
+
/***/ }),
|
461 |
+
|
462 |
+
/***/ "./src/admin/store/actions.js":
|
463 |
+
/*!************************************!*\
|
464 |
+
!*** ./src/admin/store/actions.js ***!
|
465 |
+
\************************************/
|
466 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
467 |
+
|
468 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"actions\": () => (/* binding */ actions)\n/* harmony export */ });\n/* harmony import */ var _axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../axios */ \"./src/axios/index.js\");\n\nconst actions = {\n /**\n * Setting save to database\n */\n SAVE_SETTINGS: ({\n commit\n }, payload) => {\n commit('SETLOADER');\n commit('SAVING_BUTTON_CONTROL', {\n text: htmegaOptions.labels.saveButton.saving,\n class: 'updating-message',\n disabled: true\n });\n _axios__WEBPACK_IMPORTED_MODULE_0__[\"default\"].post('/htmegaopt/v1/settings', {\n settings: payload[0],\n section: payload[1]\n }).then(response => {\n commit('SAVING_BUTTON_CONTROL', {\n text: htmegaOptions.labels.saveButton.saved,\n class: '',\n disabled: true\n });\n commit('REMOVELOADER');\n }).catch(error => {\n console.log(error);\n });\n },\n /**\n * Setting Fetch to database\n */\n FETCH_SETTINGS: ({\n commit\n }, payload) => {\n commit('SETLOADER');\n _axios__WEBPACK_IMPORTED_MODULE_0__[\"default\"].get('/htmegaopt/v1/settings', {\n params: {\n section: payload\n }\n }).then(response => {\n commit('REMOVELOADER');\n commit('SET_SETTINGS', response.data);\n }).catch(error => {\n console.log(error);\n });\n },\n /**\n * Setting Reset\n */\n RESET_SETTINGS: ({\n commit\n }, payload) => {\n commit('RESETING_BUTTON_CONTROL', {\n text: htmegaOptions.labels.resetButton.reseting,\n class: 'updating-message',\n disabled: true\n });\n _axios__WEBPACK_IMPORTED_MODULE_0__[\"default\"].post('/htmegaopt/v1/settings', {\n settings: payload[0],\n section: payload[1],\n reset: true\n }).then(response => {\n commit('RESETING_BUTTON_CONTROL', {\n text: htmegaOptions.labels.resetButton.reseted,\n class: '',\n disabled: true\n });\n }).catch(error => {\n console.log(error);\n });\n },\n /**\n * Manage Loader Class\n */\n REMOVE_LOADER: ({\n commit\n }, payload) => {\n commit('REMOVELOADER');\n },\n /**\n * Save Button Control\n */\n SAVE_BUTTON_CONTROL: ({\n commit\n }, payload) => {\n commit('SAVING_BUTTON_CONTROL', payload);\n },\n /**\n * Reset Button Control\n */\n RESET_BUTTON_CONTROL: ({\n commit\n }, payload) => {\n commit('RESETING_BUTTON_CONTROL', payload);\n }\n};\n\n//# sourceURL=webpack://htmega-options/./src/admin/store/actions.js?");
|
469 |
+
|
470 |
+
/***/ }),
|
471 |
+
|
472 |
+
/***/ "./src/admin/store/getters.js":
|
473 |
+
/*!************************************!*\
|
474 |
+
!*** ./src/admin/store/getters.js ***!
|
475 |
+
\************************************/
|
476 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
477 |
+
|
478 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getters\": () => (/* binding */ getters)\n/* harmony export */ });\nconst getters = {\n GET_SETTINGS: state => {\n return state.settings;\n },\n GET_SAVE_BUTTON: state => {\n return state.saveButton;\n },\n GET_RESET_BUTTON: state => {\n return state.resetButton;\n },\n GET_LOADER: state => {\n return state.loaderClass;\n }\n};\n\n//# sourceURL=webpack://htmega-options/./src/admin/store/getters.js?");
|
479 |
+
|
480 |
+
/***/ }),
|
481 |
+
|
482 |
+
/***/ "./src/admin/store/index.js":
|
483 |
+
/*!**********************************!*\
|
484 |
+
!*** ./src/admin/store/index.js ***!
|
485 |
+
\**********************************/
|
486 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
487 |
+
|
488 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm-bundler.js\");\n/* harmony import */ var _getters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getters */ \"./src/admin/store/getters.js\");\n/* harmony import */ var _mutations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mutations */ \"./src/admin/store/mutations.js\");\n/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actions */ \"./src/admin/store/actions.js\");\n\n\n\n\n\n// Create a new store instance.\nconst store = (0,vuex__WEBPACK_IMPORTED_MODULE_3__.createStore)({\n state: {\n settings: {},\n saveButton: {\n text: htmegaOptions.labels.saveButton.text,\n class: '',\n disabled: true\n },\n resetButton: {\n text: htmegaOptions.labels.resetButton.text,\n class: '',\n disabled: false\n },\n loaderClass: 'option-loading'\n },\n actions: _actions__WEBPACK_IMPORTED_MODULE_2__.actions,\n getters: _getters__WEBPACK_IMPORTED_MODULE_0__.getters,\n mutations: _mutations__WEBPACK_IMPORTED_MODULE_1__.mutations\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (store);\n\n//# sourceURL=webpack://htmega-options/./src/admin/store/index.js?");
|
489 |
+
|
490 |
+
/***/ }),
|
491 |
+
|
492 |
+
/***/ "./src/admin/store/mutations.js":
|
493 |
+
/*!**************************************!*\
|
494 |
+
!*** ./src/admin/store/mutations.js ***!
|
495 |
+
\**************************************/
|
496 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
497 |
+
|
498 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"mutations\": () => (/* binding */ mutations)\n/* harmony export */ });\nconst mutations = {\n SET_SETTINGS: (state, payload) => {\n state.settings = payload;\n },\n SAVING_BUTTON_CONTROL: (state, payload) => {\n state.saveButton = payload;\n },\n RESETING_BUTTON_CONTROL: (state, payload) => {\n state.resetButton = payload;\n },\n SETLOADER: state => {\n state.loaderClass = 'option-loading';\n },\n REMOVELOADER: state => {\n state.loaderClass = 'option-loaded';\n }\n};\n\n//# sourceURL=webpack://htmega-options/./src/admin/store/mutations.js?");
|
499 |
+
|
500 |
+
/***/ }),
|
501 |
+
|
502 |
+
/***/ "./src/admin/utils/admin-menu-fix.js":
|
503 |
+
/*!*******************************************!*\
|
504 |
+
!*** ./src/admin/utils/admin-menu-fix.js ***!
|
505 |
+
\*******************************************/
|
506 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
507 |
+
|
508 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/**\n * As we are using hash based navigation, hack fix\n * to highlight the current selected menu\n *\n * Requires jQuery\n */\nfunction menuFix(slug, routers = []) {\n var $ = jQuery;\n let menuRoot = $('#toplevel_page_' + slug);\n let currentUrl = window.location.href;\n let currentPath = currentUrl.substr(currentUrl.indexOf('admin.php'));\n let currentPathRoute = currentPath.substring(currentPath.indexOf('/') + 1);\n menuRoot.on('click', 'a', function () {\n var self = $(this);\n $('ul.wp-submenu li', menuRoot).removeClass('current');\n if (self.hasClass('wp-has-submenu')) {\n $('li.wp-first-item', menuRoot).addClass('current');\n } else {\n self.parents('li').addClass('current');\n }\n });\n $('ul.wp-submenu a', menuRoot).each(function (index, el) {\n if ($(el).attr('href') === currentPath) {\n $(el).parent().addClass('current');\n return;\n } else {\n if (routers.indexOf(currentPathRoute) != -1) {\n $('li.wp-first-item', menuRoot).addClass('current');\n return;\n }\n }\n });\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (menuFix);\n\n//# sourceURL=webpack://htmega-options/./src/admin/utils/admin-menu-fix.js?");
|
509 |
+
|
510 |
+
/***/ }),
|
511 |
+
|
512 |
+
/***/ "./src/axios/index.js":
|
513 |
+
/*!****************************!*\
|
514 |
+
!*** ./src/axios/index.js ***!
|
515 |
+
\****************************/
|
516 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
517 |
+
|
518 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n\nconst Api = axios__WEBPACK_IMPORTED_MODULE_0__[\"default\"].create({\n baseURL: htmegaOptions.rootApiUrl,\n headers: {\n 'content-type': 'application/json',\n 'X-WP-Nonce': htmegaOptions.restNonce\n }\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Api);\n\n//# sourceURL=webpack://htmega-options/./src/axios/index.js?");
|
519 |
+
|
520 |
+
/***/ }),
|
521 |
+
|
522 |
+
/***/ "./assets/images/icons/pro-badge.png":
|
523 |
+
/*!*******************************************!*\
|
524 |
+
!*** ./assets/images/icons/pro-badge.png ***!
|
525 |
+
\*******************************************/
|
526 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
527 |
+
|
528 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAABbCAYAAADdsbM1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAw6SURBVHgB1V1tbBTHGX5m9/buOBv7zDcNIUeSqhLgYNpUbSIicAO0DVKBP6lE1AI/qiofUhqpUsmfAv0DrapApEpR+weoCpX6JyBBP/gQroQKUkU5Y4yaQJ2DQAOmNP62z3e3k3nnfLbP3rvb2Z217x5pdXezs7Mzz77vO+/MvLPHMBP48Foc9dYuMLYeDC3gPDF2Jil+J8HtU9j43ElXZZ3r2CDK2SmODUXlgKVg81PYvPooZgAMQeNv17fBNI6Ib/HyGWXD92MwcxLb1/YUnSoQD+yUxLspJ2ACgyXuQudeIRX7oA4hQciTx1hikmS5B2P78PKq/QgIwRHnnTR9CJC8YIjL26GLqAZw3opNzW3QDANBgEmbVh1gbC8CgH7izt98WzzmBKoHG3D+xk5ohl5V/cu1BCzrGir2oDOOHmQya/HdtSlogj6JI7tWnaQR4rDCF3H2Rgs0wb/EkY/VYIkeFD9BLYB62tHRY36lT504IqrOSogrRc+JNSJlG6pTysqhR9T9JGy0C3uc9NLruidOuhgQhl8MdWqPqMpgOIrRzH63kuiOuAs3DgWpimzEBuvLwuzOwOjLgKU5kM7lT0ZM8AhDblFEfBrIPRlBoHDpNFcm7kLnEeFE7oJmEFHhzkGYn44gJA4VZJ+MIvvsHGSeiYE3hqAdJH0vr95dPks5BDBsIqIil3uVySoFIjGzqk4c9dAKjnewafXhUqdLE5f3yT6BJhBhc/76WKhiFkHAbggh/WKjXgIzmRWlbF5pPy5saRmqGL1ZxP70EHXiCIo0eR9RNj2YqDhYr6b7WFZJu+4scReFy5GzPodPhG4PycawtI2ZBEnfSOs8aQd9ogemkLrWKfODKCVx2ZBvDzvyjx7ETj2acdIIJH2xU93SlvpEHBnhszrdwzG7wRwzuwWRpqHSvqGpHo5CpH12pFpIKyCo+mglLvyvvqoirQAij+rmCYynnJKdictlklAE9Z7Ri777k8BAdTO6R6GKSHr4rlN6CeLQA0WQy1HtkJ3ViFpnteYXbzmqkDNxptognlQhSB9NF6iO4Wv9Std0vfqjhGNZjrkN0zGzY1ahotVo10ohfLVPyUEeWrZiqVO6M3HM2AqXqCXSCORXqtR5aP7i553SpxNHY1Qu59wqgqTN6hxArSEs6uza1jH2tlPydOLC4Z1uV6lC/xlCrULB1sVx7sa0MWsxcWevtahMI4WvqhnaaoJ1Q0FTGPZKTZyECeKINMNyvfpOaloLPWkpUN2Z+/rnV8kmkZcnjhKM8IdQWEsw7+mZiJxNWLdUTI0wX0QezRwJ5Oedae5NMSIodHvYdd7GOgtbXlhUlNY7mEVHVx/uPpwoZ8fGJyrmyZcXEuUtxvLFMfn7xPl70/K4gfFIdSQhOMqFKbxjO/M601v3+89gurzx8sVz0HGkdVo6NfbA8Y9Fw+/L371/fmVant7BDPb89uZ4HirrzC+/ieWLiufaDh6/Jcq6BRXkFoUx+IOlUAbnrQaskKfVK6/27biQDmpgR1e/JOHgj1dKCZqMM5cfyjx3u4eltE7O8+5rX5akEel7fndTlkfYI9LXNc+DCgyvM8WMbRM2jq2BB3idoDxx7p6Uji0/uyJVMa/GS4rynBbEUZ51b16SvylP89MN8nPHxmUy7fX32vHByRTeeO86Ll1/LNN2bFoGFfiYZF1vyIhHRejoTUkF6SCQ5JXKMxnNz8wd/36p4//j309f6ZafLzXPhyqYt7YkgomPcwEiq2CnOrqKh0BxoZZ0/o1tK8bTpNrGwo5l9Q5kMMOIh8BtithOqFxFK+peceLnz4uGjo73iGSrzlzuLspzQNg0OsZ/k70T+dZ5kKiKCHtqS48hFl7boQg/xDVKaYpJ+0bqtmXPlWl56BwdBHJHDo71lr0D+h1uHvXUliR1VW3iUF5D5WIJzot9oE5hsn1yArkfdx8OSbeDOgXqLemau90TDis9gAK5BRs51SZWAi0jeoKNY8ZYiFMbFJFrMBEkiChyWQivjfWWpK4Fsl4fs39EYOH89S61dQXbW9xJSiwttOXllHPlkHZ7URhB4/TlB/KTRgl5CcvgwB8+lmnkz505+A10HP2W7GSI0IOKDrC90EMbON6nsIg8cSR1FGSiAAp2CRrkpxV8vYKEfXAqJTsLSl/33HxJKNlBspWqw66sesjYsUIgTnEIxLmOfW7D28l5nPubTzGbKLgz5Kp4Qf+bTyp0DvwkNjZvL/wqvmpT8z6ZwU0xomfNLgs4yK8CiDCvpJHGKPSoKfRni+Llpl9pygyulgdHv9aAWgXF1LkG57unbsybThxF5nD+Plwg+2zMl083W6DeVCGOrs0puNoomdklRr86F7WG9AuN7jNznHJKdiZOIXyd1NUOIg43IChKG2Q4vwNK6xljKbgpVqjq8LcDGEMGBCVpIxim4ySvFgOVEz1ULajsqMYg69LEKa5BpF+MV7XKUt3SrWozxBI5u8kp2Zm4KWuIbkAqO/Tq4qrsZYm0Qe91Cz4ik2YbBr9fXeTJB7p1oZzN0QntLaSBM5FXDWpLpMm6LPQxIcENx8GAM3H5TRHKwYUFUEVJbWeTPLr3wA+X+iONwOyUU3IZieNt8AFSWyJP+1YhF6B70nqpBvVMYfNqRT+O5p18gsgb/s58ecyE9NE9yJ7R/bTY2TIclN8Ed/4GBeFsgCZQyKt1c9D7QnAJEEnkR9IoRmPHlMLG1StKnSwvBpnMblgygikBDSBfjw4KRqQwq9C9NPxgfPulUE3NPTm9/KC1XIbK+1XzsSXayJsMWtiW+1VvD4nvOZgVwulJ9WnWlqbtAyCrgB7YgrTNa8tuWXC3Q5pCmzLmYRiG9vd3TAWtnE1WZZpsJIJ0+2El0Ca1zMX2crWXGZD0haxt4ioKriaPutb35pPLRW//+rt8uYHCrJC/12dINaZoJ0ZEJlA7OCrG4sf8vHNJz5tuiEDT3DcTquwLHElkM9t1vPFG7yuCFFbJZgHHhHuxC5qg/zVo5zvEuqPz3oBZRFmfzAu09+dL2puSRpUFoy/oCPkeBU2FduKs/szWxjvBxpWooO4BQ92j0a9DM7QTxzhvabjHEOkJ/r2llRAaYYjfEU00I69AM7QSt/BXvAU8m6DvCz4yZMVnC0aWYWFnoQ48vnzfnaehEVrdcdNES7ZuKayB+7LCi9sNPFplY7Seu7re4gxP2cKrtg3ExtIo4u2RYeO/4hEPMXfl0L2JtPBA/sFlo2J2Jrrge+LrYWiC7nHMetuqhx2KiSc+JBuw9KqJgSUcvYKRbNS54TFB2MqcgadyzhL6JduU71u7Y3L8m9sYsJzLISmbe5+BTAV9J3DDQm7OAoy9sk0b9BLH8lNQuTnzYfRPRE/WCwNd/8CUkpeNimW6unzDQ2kmpAJoXi4a7CIMhYid12eis4uLsibKIZLCg0DUwa5K0ghc3/QYQZsRWnJALCdGML54Gxr5H8zhx66u/cpKuCKO0N8HfHTTXd5cuBHZuok9FCyMxGdvsTvQAH2dQ7j4iWajC6TkeQEzDLCQlT8Mb1W0Q3OQixXvH+NptEITdKrq+qkJRB7ZGJI8ZpcPbCaCjLlNMKIxsGis6BwfHYE9mobdSxJcvhzODNERNMl7T4Mh63gUGqCNOGHfW5z0ntSl0FkY6T75ORkkGWZDDKEn5pWULhaOwqSjvhEG7xXX9IHlRoTPOLGlyDYj4OF65CLzJHnOldRn57TYuKn2reJNx6SPpJHQIvz6piZ31/Z8Dlz751g5RBzPjZfjBqKjb+p5h3le+ixAi42zrUp/FVAMaqhKY0uWIyRLtZyoLd8i6xtaiDPyM8I1Ac7UHnIpaCFOV2VmCOuhAb6Jix/icYbaIY7qSnWGT/gmLpzT65HPBHTU2TdxplF7xDGjCoizNdmMGYbvOvtygKV941rtW1IM25PCDrVzLv/wR6z90N9Rgf6WKgFNtrRg5/z4c76Ii2ZFQzzMkgtyaB6DSGoXxCdHhpH840usVMhBGybNo206y1tsGwlSN1HGGlEGjViUjb2VXwdWfjNjAb5GDvTUIhyfVKh4SjDVxvNSlDIySD54191WAJV6yIc4RqYtpLNcT08PTsxorfAjcb6HXIt+zbeJIeYhUZn4ZCnK5ZDMWEjpGN54QYFMbggC80RK6aRzYqS2u/unzNVmv1L4Art2odi1dkomAAAAAElFTkSuQmCC\");\n\n//# sourceURL=webpack://htmega-options/./assets/images/icons/pro-badge.png?");
|
529 |
+
|
530 |
+
/***/ }),
|
531 |
+
|
532 |
+
/***/ "./src/admin/App.vue":
|
533 |
+
/*!***************************!*\
|
534 |
+
!*** ./src/admin/App.vue ***!
|
535 |
+
\***************************/
|
536 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
537 |
+
|
538 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _App_vue_vue_type_template_id_3a030f38__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=3a030f38 */ \"./src/admin/App.vue?vue&type=template&id=3a030f38\");\n/* harmony import */ var _App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js */ \"./src/admin/App.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_App_vue_vue_type_template_id_3a030f38__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/App.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/App.vue?");
|
539 |
+
|
540 |
+
/***/ }),
|
541 |
+
|
542 |
+
/***/ "./src/admin/components/Fields-wrapper.vue":
|
543 |
+
/*!*************************************************!*\
|
544 |
+
!*** ./src/admin/components/Fields-wrapper.vue ***!
|
545 |
+
\*************************************************/
|
546 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
547 |
+
|
548 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Fields_wrapper_vue_vue_type_template_id_7db37ba2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Fields-wrapper.vue?vue&type=template&id=7db37ba2 */ \"./src/admin/components/Fields-wrapper.vue?vue&type=template&id=7db37ba2\");\n/* harmony import */ var _Fields_wrapper_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Fields-wrapper.vue?vue&type=script&lang=js */ \"./src/admin/components/Fields-wrapper.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_Fields_wrapper_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_Fields_wrapper_vue_vue_type_template_id_7db37ba2__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/Fields-wrapper.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/Fields-wrapper.vue?");
|
549 |
+
|
550 |
+
/***/ }),
|
551 |
+
|
552 |
+
/***/ "./src/admin/components/SubNavigation.vue":
|
553 |
+
/*!************************************************!*\
|
554 |
+
!*** ./src/admin/components/SubNavigation.vue ***!
|
555 |
+
\************************************************/
|
556 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
557 |
+
|
558 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _SubNavigation_vue_vue_type_template_id_a8f35f18__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SubNavigation.vue?vue&type=template&id=a8f35f18 */ \"./src/admin/components/SubNavigation.vue?vue&type=template&id=a8f35f18\");\n/* harmony import */ var _SubNavigation_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SubNavigation.vue?vue&type=script&lang=js */ \"./src/admin/components/SubNavigation.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_SubNavigation_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_SubNavigation_vue_vue_type_template_id_a8f35f18__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/SubNavigation.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/SubNavigation.vue?");
|
559 |
+
|
560 |
+
/***/ }),
|
561 |
+
|
562 |
+
/***/ "./src/admin/components/fields/DefaulField.vue":
|
563 |
+
/*!*****************************************************!*\
|
564 |
+
!*** ./src/admin/components/fields/DefaulField.vue ***!
|
565 |
+
\*****************************************************/
|
566 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
567 |
+
|
568 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _DefaulField_vue_vue_type_template_id_45d29141__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DefaulField.vue?vue&type=template&id=45d29141 */ \"./src/admin/components/fields/DefaulField.vue?vue&type=template&id=45d29141\");\n/* harmony import */ var _DefaulField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DefaulField.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/DefaulField.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_DefaulField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_DefaulField_vue_vue_type_template_id_45d29141__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/DefaulField.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/DefaulField.vue?");
|
569 |
+
|
570 |
+
/***/ }),
|
571 |
+
|
572 |
+
/***/ "./src/admin/components/fields/element/element.vue":
|
573 |
+
/*!*********************************************************!*\
|
574 |
+
!*** ./src/admin/components/fields/element/element.vue ***!
|
575 |
+
\*********************************************************/
|
576 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
577 |
+
|
578 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _element_vue_vue_type_template_id_0a83ae23__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./element.vue?vue&type=template&id=0a83ae23 */ \"./src/admin/components/fields/element/element.vue?vue&type=template&id=0a83ae23\");\n/* harmony import */ var _element_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./element.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/element/element.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_element_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_element_vue_vue_type_template_id_0a83ae23__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/element/element.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/element/element.vue?");
|
579 |
+
|
580 |
+
/***/ }),
|
581 |
+
|
582 |
+
/***/ "./src/admin/components/fields/html/html.vue":
|
583 |
+
/*!***************************************************!*\
|
584 |
+
!*** ./src/admin/components/fields/html/html.vue ***!
|
585 |
+
\***************************************************/
|
586 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
587 |
+
|
588 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _html_vue_vue_type_template_id_6ec19149__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./html.vue?vue&type=template&id=6ec19149 */ \"./src/admin/components/fields/html/html.vue?vue&type=template&id=6ec19149\");\n/* harmony import */ var _html_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./html.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/html/html.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_html_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_html_vue_vue_type_template_id_6ec19149__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/html/html.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/html/html.vue?");
|
589 |
+
|
590 |
+
/***/ }),
|
591 |
+
|
592 |
+
/***/ "./src/admin/components/fields/module/Module.vue":
|
593 |
+
/*!*******************************************************!*\
|
594 |
+
!*** ./src/admin/components/fields/module/Module.vue ***!
|
595 |
+
\*******************************************************/
|
596 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
597 |
+
|
598 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Module_vue_vue_type_template_id_e2d3ef6e__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Module.vue?vue&type=template&id=e2d3ef6e */ \"./src/admin/components/fields/module/Module.vue?vue&type=template&id=e2d3ef6e\");\n/* harmony import */ var _Module_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Module.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/module/Module.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_Module_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_Module_vue_vue_type_template_id_e2d3ef6e__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/module/Module.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/module/Module.vue?");
|
599 |
+
|
600 |
+
/***/ }),
|
601 |
+
|
602 |
+
/***/ "./src/admin/components/fields/multiselect/select.vue":
|
603 |
+
/*!************************************************************!*\
|
604 |
+
!*** ./src/admin/components/fields/multiselect/select.vue ***!
|
605 |
+
\************************************************************/
|
606 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
607 |
+
|
608 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _select_vue_vue_type_template_id_28a1100c__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select.vue?vue&type=template&id=28a1100c */ \"./src/admin/components/fields/multiselect/select.vue?vue&type=template&id=28a1100c\");\n/* harmony import */ var _select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./select.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/multiselect/select.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_select_vue_vue_type_template_id_28a1100c__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/multiselect/select.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/multiselect/select.vue?");
|
609 |
+
|
610 |
+
/***/ }),
|
611 |
+
|
612 |
+
/***/ "./src/admin/components/fields/number/number.vue":
|
613 |
+
/*!*******************************************************!*\
|
614 |
+
!*** ./src/admin/components/fields/number/number.vue ***!
|
615 |
+
\*******************************************************/
|
616 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
617 |
+
|
618 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _number_vue_vue_type_template_id_1207b989__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number.vue?vue&type=template&id=1207b989 */ \"./src/admin/components/fields/number/number.vue?vue&type=template&id=1207b989\");\n/* harmony import */ var _number_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/number/number.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_number_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_number_vue_vue_type_template_id_1207b989__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/number/number.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/number/number.vue?");
|
619 |
+
|
620 |
+
/***/ }),
|
621 |
+
|
622 |
+
/***/ "./src/admin/components/fields/select/select.vue":
|
623 |
+
/*!*******************************************************!*\
|
624 |
+
!*** ./src/admin/components/fields/select/select.vue ***!
|
625 |
+
\*******************************************************/
|
626 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
627 |
+
|
628 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _select_vue_vue_type_template_id_81faabae__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select.vue?vue&type=template&id=81faabae */ \"./src/admin/components/fields/select/select.vue?vue&type=template&id=81faabae\");\n/* harmony import */ var _select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./select.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/select/select.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_select_vue_vue_type_template_id_81faabae__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/select/select.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/select/select.vue?");
|
629 |
+
|
630 |
+
/***/ }),
|
631 |
+
|
632 |
+
/***/ "./src/admin/components/fields/switcher/switcher.vue":
|
633 |
+
/*!***********************************************************!*\
|
634 |
+
!*** ./src/admin/components/fields/switcher/switcher.vue ***!
|
635 |
+
\***********************************************************/
|
636 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
637 |
+
|
638 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _switcher_vue_vue_type_template_id_4aee9a09__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./switcher.vue?vue&type=template&id=4aee9a09 */ \"./src/admin/components/fields/switcher/switcher.vue?vue&type=template&id=4aee9a09\");\n/* harmony import */ var _switcher_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./switcher.vue?vue&type=script&lang=js */ \"./src/admin/components/fields/switcher/switcher.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_switcher_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_switcher_vue_vue_type_template_id_4aee9a09__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/fields/switcher/switcher.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/switcher/switcher.vue?");
|
639 |
+
|
640 |
+
/***/ }),
|
641 |
+
|
642 |
+
/***/ "./src/admin/components/ui/FieldHeader.vue":
|
643 |
+
/*!*************************************************!*\
|
644 |
+
!*** ./src/admin/components/ui/FieldHeader.vue ***!
|
645 |
+
\*************************************************/
|
646 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
647 |
+
|
648 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _FieldHeader_vue_vue_type_template_id_62ec09c8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FieldHeader.vue?vue&type=template&id=62ec09c8 */ \"./src/admin/components/ui/FieldHeader.vue?vue&type=template&id=62ec09c8\");\n/* harmony import */ var _FieldHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FieldHeader.vue?vue&type=script&lang=js */ \"./src/admin/components/ui/FieldHeader.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_FieldHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_FieldHeader_vue_vue_type_template_id_62ec09c8__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/ui/FieldHeader.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/FieldHeader.vue?");
|
649 |
+
|
650 |
+
/***/ }),
|
651 |
+
|
652 |
+
/***/ "./src/admin/components/ui/ProBadge.vue":
|
653 |
+
/*!**********************************************!*\
|
654 |
+
!*** ./src/admin/components/ui/ProBadge.vue ***!
|
655 |
+
\**********************************************/
|
656 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
657 |
+
|
658 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ProBadge_vue_vue_type_template_id_3ee4d1d1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProBadge.vue?vue&type=template&id=3ee4d1d1 */ \"./src/admin/components/ui/ProBadge.vue?vue&type=template&id=3ee4d1d1\");\n/* harmony import */ var _ProBadge_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ProBadge.vue?vue&type=script&lang=js */ \"./src/admin/components/ui/ProBadge.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ProBadge_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_ProBadge_vue_vue_type_template_id_3ee4d1d1__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/ui/ProBadge.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProBadge.vue?");
|
659 |
+
|
660 |
+
/***/ }),
|
661 |
+
|
662 |
+
/***/ "./src/admin/components/ui/ProModal.vue":
|
663 |
+
/*!**********************************************!*\
|
664 |
+
!*** ./src/admin/components/ui/ProModal.vue ***!
|
665 |
+
\**********************************************/
|
666 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
667 |
+
|
668 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ProModal_vue_vue_type_template_id_424b9bdb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProModal.vue?vue&type=template&id=424b9bdb */ \"./src/admin/components/ui/ProModal.vue?vue&type=template&id=424b9bdb\");\n/* harmony import */ var _ProModal_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ProModal.vue?vue&type=script&lang=js */ \"./src/admin/components/ui/ProModal.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ProModal_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_ProModal_vue_vue_type_template_id_424b9bdb__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/ui/ProModal.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProModal.vue?");
|
669 |
+
|
670 |
+
/***/ }),
|
671 |
+
|
672 |
+
/***/ "./src/admin/components/ui/ResetButton.vue":
|
673 |
+
/*!*************************************************!*\
|
674 |
+
!*** ./src/admin/components/ui/ResetButton.vue ***!
|
675 |
+
\*************************************************/
|
676 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
677 |
+
|
678 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ResetButton_vue_vue_type_template_id_40763b56__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ResetButton.vue?vue&type=template&id=40763b56 */ \"./src/admin/components/ui/ResetButton.vue?vue&type=template&id=40763b56\");\n/* harmony import */ var _ResetButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ResetButton.vue?vue&type=script&lang=js */ \"./src/admin/components/ui/ResetButton.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_ResetButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_ResetButton_vue_vue_type_template_id_40763b56__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/ui/ResetButton.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ResetButton.vue?");
|
679 |
+
|
680 |
+
/***/ }),
|
681 |
+
|
682 |
+
/***/ "./src/admin/components/ui/SaveButton.vue":
|
683 |
+
/*!************************************************!*\
|
684 |
+
!*** ./src/admin/components/ui/SaveButton.vue ***!
|
685 |
+
\************************************************/
|
686 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
687 |
+
|
688 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _SaveButton_vue_vue_type_template_id_ea2982ac__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SaveButton.vue?vue&type=template&id=ea2982ac */ \"./src/admin/components/ui/SaveButton.vue?vue&type=template&id=ea2982ac\");\n/* harmony import */ var _SaveButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SaveButton.vue?vue&type=script&lang=js */ \"./src/admin/components/ui/SaveButton.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_SaveButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_SaveButton_vue_vue_type_template_id_ea2982ac__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/components/ui/SaveButton.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/SaveButton.vue?");
|
689 |
+
|
690 |
+
/***/ }),
|
691 |
+
|
692 |
+
/***/ "./src/admin/pages/Home.vue":
|
693 |
+
/*!**********************************!*\
|
694 |
+
!*** ./src/admin/pages/Home.vue ***!
|
695 |
+
\**********************************/
|
696 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
697 |
+
|
698 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Home_vue_vue_type_template_id_9e5983fa__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Home.vue?vue&type=template&id=9e5983fa */ \"./src/admin/pages/Home.vue?vue&type=template&id=9e5983fa\");\n/* harmony import */ var _Home_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Home.vue?vue&type=script&lang=js */ \"./src/admin/pages/Home.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_Home_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_Home_vue_vue_type_template_id_9e5983fa__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/pages/Home.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Home.vue?");
|
699 |
+
|
700 |
+
/***/ }),
|
701 |
+
|
702 |
+
/***/ "./src/admin/pages/Settings.vue":
|
703 |
+
/*!**************************************!*\
|
704 |
+
!*** ./src/admin/pages/Settings.vue ***!
|
705 |
+
\**************************************/
|
706 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
707 |
+
|
708 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _Settings_vue_vue_type_template_id_e4dc4572__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Settings.vue?vue&type=template&id=e4dc4572 */ \"./src/admin/pages/Settings.vue?vue&type=template&id=e4dc4572\");\n/* harmony import */ var _Settings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Settings.vue?vue&type=script&lang=js */ \"./src/admin/pages/Settings.vue?vue&type=script&lang=js\");\n/* harmony import */ var _Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/vue-loader/dist/exportHelper.js */ \"./node_modules/vue-loader/dist/exportHelper.js\");\n\n\n\n\n;\nconst __exports__ = /*#__PURE__*/(0,_Users_zenaul_server_plugindev_wp_content_plugins_ht_mega_for_elementor_admin_include_settings_panel_node_modules_vue_loader_dist_exportHelper_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_Settings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], [['render',_Settings_vue_vue_type_template_id_e4dc4572__WEBPACK_IMPORTED_MODULE_0__.render],['__file',\"src/admin/pages/Settings.vue\"]])\n/* hot reload */\nif (false) {}\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__exports__);\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Settings.vue?");
|
709 |
+
|
710 |
+
/***/ }),
|
711 |
+
|
712 |
+
/***/ "./src/admin/App.vue?vue&type=script&lang=js":
|
713 |
+
/*!***************************************************!*\
|
714 |
+
!*** ./src/admin/App.vue?vue&type=script&lang=js ***!
|
715 |
+
\***************************************************/
|
716 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
717 |
+
|
718 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./App.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/App.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/App.vue?");
|
719 |
+
|
720 |
+
/***/ }),
|
721 |
+
|
722 |
+
/***/ "./src/admin/components/Fields-wrapper.vue?vue&type=script&lang=js":
|
723 |
+
/*!*************************************************************************!*\
|
724 |
+
!*** ./src/admin/components/Fields-wrapper.vue?vue&type=script&lang=js ***!
|
725 |
+
\*************************************************************************/
|
726 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
727 |
+
|
728 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Fields_wrapper_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Fields_wrapper_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Fields-wrapper.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/Fields-wrapper.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/Fields-wrapper.vue?");
|
729 |
+
|
730 |
+
/***/ }),
|
731 |
+
|
732 |
+
/***/ "./src/admin/components/SubNavigation.vue?vue&type=script&lang=js":
|
733 |
+
/*!************************************************************************!*\
|
734 |
+
!*** ./src/admin/components/SubNavigation.vue?vue&type=script&lang=js ***!
|
735 |
+
\************************************************************************/
|
736 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
737 |
+
|
738 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SubNavigation_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SubNavigation_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./SubNavigation.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/SubNavigation.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/SubNavigation.vue?");
|
739 |
+
|
740 |
+
/***/ }),
|
741 |
+
|
742 |
+
/***/ "./src/admin/components/fields/DefaulField.vue?vue&type=script&lang=js":
|
743 |
+
/*!*****************************************************************************!*\
|
744 |
+
!*** ./src/admin/components/fields/DefaulField.vue?vue&type=script&lang=js ***!
|
745 |
+
\*****************************************************************************/
|
746 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
747 |
+
|
748 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_DefaulField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_DefaulField_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./DefaulField.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/DefaulField.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/DefaulField.vue?");
|
749 |
+
|
750 |
+
/***/ }),
|
751 |
+
|
752 |
+
/***/ "./src/admin/components/fields/element/element.vue?vue&type=script&lang=js":
|
753 |
+
/*!*********************************************************************************!*\
|
754 |
+
!*** ./src/admin/components/fields/element/element.vue?vue&type=script&lang=js ***!
|
755 |
+
\*********************************************************************************/
|
756 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
757 |
+
|
758 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_element_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_element_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./element.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/element/element.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/element/element.vue?");
|
759 |
+
|
760 |
+
/***/ }),
|
761 |
+
|
762 |
+
/***/ "./src/admin/components/fields/html/html.vue?vue&type=script&lang=js":
|
763 |
+
/*!***************************************************************************!*\
|
764 |
+
!*** ./src/admin/components/fields/html/html.vue?vue&type=script&lang=js ***!
|
765 |
+
\***************************************************************************/
|
766 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
767 |
+
|
768 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_html_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_html_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./html.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/html/html.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/html/html.vue?");
|
769 |
+
|
770 |
+
/***/ }),
|
771 |
+
|
772 |
+
/***/ "./src/admin/components/fields/module/Module.vue?vue&type=script&lang=js":
|
773 |
+
/*!*******************************************************************************!*\
|
774 |
+
!*** ./src/admin/components/fields/module/Module.vue?vue&type=script&lang=js ***!
|
775 |
+
\*******************************************************************************/
|
776 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
777 |
+
|
778 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Module_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Module_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Module.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/module/Module.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/module/Module.vue?");
|
779 |
+
|
780 |
+
/***/ }),
|
781 |
+
|
782 |
+
/***/ "./src/admin/components/fields/multiselect/select.vue?vue&type=script&lang=js":
|
783 |
+
/*!************************************************************************************!*\
|
784 |
+
!*** ./src/admin/components/fields/multiselect/select.vue?vue&type=script&lang=js ***!
|
785 |
+
\************************************************************************************/
|
786 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
787 |
+
|
788 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./select.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/multiselect/select.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/multiselect/select.vue?");
|
789 |
+
|
790 |
+
/***/ }),
|
791 |
+
|
792 |
+
/***/ "./src/admin/components/fields/number/number.vue?vue&type=script&lang=js":
|
793 |
+
/*!*******************************************************************************!*\
|
794 |
+
!*** ./src/admin/components/fields/number/number.vue?vue&type=script&lang=js ***!
|
795 |
+
\*******************************************************************************/
|
796 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
797 |
+
|
798 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_number_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_number_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./number.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/number/number.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/number/number.vue?");
|
799 |
+
|
800 |
+
/***/ }),
|
801 |
+
|
802 |
+
/***/ "./src/admin/components/fields/select/select.vue?vue&type=script&lang=js":
|
803 |
+
/*!*******************************************************************************!*\
|
804 |
+
!*** ./src/admin/components/fields/select/select.vue?vue&type=script&lang=js ***!
|
805 |
+
\*******************************************************************************/
|
806 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
807 |
+
|
808 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./select.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/select/select.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/select/select.vue?");
|
809 |
+
|
810 |
+
/***/ }),
|
811 |
+
|
812 |
+
/***/ "./src/admin/components/fields/switcher/switcher.vue?vue&type=script&lang=js":
|
813 |
+
/*!***********************************************************************************!*\
|
814 |
+
!*** ./src/admin/components/fields/switcher/switcher.vue?vue&type=script&lang=js ***!
|
815 |
+
\***********************************************************************************/
|
816 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
817 |
+
|
818 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_switcher_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_switcher_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./switcher.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/switcher/switcher.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/switcher/switcher.vue?");
|
819 |
+
|
820 |
+
/***/ }),
|
821 |
+
|
822 |
+
/***/ "./src/admin/components/ui/FieldHeader.vue?vue&type=script&lang=js":
|
823 |
+
/*!*************************************************************************!*\
|
824 |
+
!*** ./src/admin/components/ui/FieldHeader.vue?vue&type=script&lang=js ***!
|
825 |
+
\*************************************************************************/
|
826 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
827 |
+
|
828 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_FieldHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_FieldHeader_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./FieldHeader.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/FieldHeader.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/FieldHeader.vue?");
|
829 |
+
|
830 |
+
/***/ }),
|
831 |
+
|
832 |
+
/***/ "./src/admin/components/ui/ProBadge.vue?vue&type=script&lang=js":
|
833 |
+
/*!**********************************************************************!*\
|
834 |
+
!*** ./src/admin/components/ui/ProBadge.vue?vue&type=script&lang=js ***!
|
835 |
+
\**********************************************************************/
|
836 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
837 |
+
|
838 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProBadge_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProBadge_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./ProBadge.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProBadge.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProBadge.vue?");
|
839 |
+
|
840 |
+
/***/ }),
|
841 |
+
|
842 |
+
/***/ "./src/admin/components/ui/ProModal.vue?vue&type=script&lang=js":
|
843 |
+
/*!**********************************************************************!*\
|
844 |
+
!*** ./src/admin/components/ui/ProModal.vue?vue&type=script&lang=js ***!
|
845 |
+
\**********************************************************************/
|
846 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
847 |
+
|
848 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProModal_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProModal_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./ProModal.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProModal.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProModal.vue?");
|
849 |
+
|
850 |
+
/***/ }),
|
851 |
+
|
852 |
+
/***/ "./src/admin/components/ui/ResetButton.vue?vue&type=script&lang=js":
|
853 |
+
/*!*************************************************************************!*\
|
854 |
+
!*** ./src/admin/components/ui/ResetButton.vue?vue&type=script&lang=js ***!
|
855 |
+
\*************************************************************************/
|
856 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
857 |
+
|
858 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ResetButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ResetButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./ResetButton.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ResetButton.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ResetButton.vue?");
|
859 |
+
|
860 |
+
/***/ }),
|
861 |
+
|
862 |
+
/***/ "./src/admin/components/ui/SaveButton.vue?vue&type=script&lang=js":
|
863 |
+
/*!************************************************************************!*\
|
864 |
+
!*** ./src/admin/components/ui/SaveButton.vue?vue&type=script&lang=js ***!
|
865 |
+
\************************************************************************/
|
866 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
867 |
+
|
868 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SaveButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SaveButton_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./SaveButton.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/SaveButton.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/SaveButton.vue?");
|
869 |
+
|
870 |
+
/***/ }),
|
871 |
+
|
872 |
+
/***/ "./src/admin/pages/Home.vue?vue&type=script&lang=js":
|
873 |
+
/*!**********************************************************!*\
|
874 |
+
!*** ./src/admin/pages/Home.vue?vue&type=script&lang=js ***!
|
875 |
+
\**********************************************************/
|
876 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
877 |
+
|
878 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Home_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Home_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Home.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Home.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Home.vue?");
|
879 |
+
|
880 |
+
/***/ }),
|
881 |
+
|
882 |
+
/***/ "./src/admin/pages/Settings.vue?vue&type=script&lang=js":
|
883 |
+
/*!**************************************************************!*\
|
884 |
+
!*** ./src/admin/pages/Settings.vue?vue&type=script&lang=js ***!
|
885 |
+
\**************************************************************/
|
886 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
887 |
+
|
888 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Settings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Settings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Settings.vue?vue&type=script&lang=js */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Settings.vue?vue&type=script&lang=js\");\n \n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Settings.vue?");
|
889 |
+
|
890 |
+
/***/ }),
|
891 |
+
|
892 |
+
/***/ "./src/admin/App.vue?vue&type=template&id=3a030f38":
|
893 |
+
/*!*********************************************************!*\
|
894 |
+
!*** ./src/admin/App.vue?vue&type=template&id=3a030f38 ***!
|
895 |
+
\*********************************************************/
|
896 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
897 |
+
|
898 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_App_vue_vue_type_template_id_3a030f38__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_App_vue_vue_type_template_id_3a030f38__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./App.vue?vue&type=template&id=3a030f38 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/App.vue?vue&type=template&id=3a030f38\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/App.vue?");
|
899 |
+
|
900 |
+
/***/ }),
|
901 |
+
|
902 |
+
/***/ "./src/admin/components/Fields-wrapper.vue?vue&type=template&id=7db37ba2":
|
903 |
+
/*!*******************************************************************************!*\
|
904 |
+
!*** ./src/admin/components/Fields-wrapper.vue?vue&type=template&id=7db37ba2 ***!
|
905 |
+
\*******************************************************************************/
|
906 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
907 |
+
|
908 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Fields_wrapper_vue_vue_type_template_id_7db37ba2__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Fields_wrapper_vue_vue_type_template_id_7db37ba2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Fields-wrapper.vue?vue&type=template&id=7db37ba2 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/Fields-wrapper.vue?vue&type=template&id=7db37ba2\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/Fields-wrapper.vue?");
|
909 |
+
|
910 |
+
/***/ }),
|
911 |
+
|
912 |
+
/***/ "./src/admin/components/SubNavigation.vue?vue&type=template&id=a8f35f18":
|
913 |
+
/*!******************************************************************************!*\
|
914 |
+
!*** ./src/admin/components/SubNavigation.vue?vue&type=template&id=a8f35f18 ***!
|
915 |
+
\******************************************************************************/
|
916 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
917 |
+
|
918 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SubNavigation_vue_vue_type_template_id_a8f35f18__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SubNavigation_vue_vue_type_template_id_a8f35f18__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./SubNavigation.vue?vue&type=template&id=a8f35f18 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/SubNavigation.vue?vue&type=template&id=a8f35f18\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/SubNavigation.vue?");
|
919 |
+
|
920 |
+
/***/ }),
|
921 |
+
|
922 |
+
/***/ "./src/admin/components/fields/DefaulField.vue?vue&type=template&id=45d29141":
|
923 |
+
/*!***********************************************************************************!*\
|
924 |
+
!*** ./src/admin/components/fields/DefaulField.vue?vue&type=template&id=45d29141 ***!
|
925 |
+
\***********************************************************************************/
|
926 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
927 |
+
|
928 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_DefaulField_vue_vue_type_template_id_45d29141__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_DefaulField_vue_vue_type_template_id_45d29141__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./DefaulField.vue?vue&type=template&id=45d29141 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/DefaulField.vue?vue&type=template&id=45d29141\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/DefaulField.vue?");
|
929 |
+
|
930 |
+
/***/ }),
|
931 |
+
|
932 |
+
/***/ "./src/admin/components/fields/element/element.vue?vue&type=template&id=0a83ae23":
|
933 |
+
/*!***************************************************************************************!*\
|
934 |
+
!*** ./src/admin/components/fields/element/element.vue?vue&type=template&id=0a83ae23 ***!
|
935 |
+
\***************************************************************************************/
|
936 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
937 |
+
|
938 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_element_vue_vue_type_template_id_0a83ae23__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_element_vue_vue_type_template_id_0a83ae23__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./element.vue?vue&type=template&id=0a83ae23 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/element/element.vue?vue&type=template&id=0a83ae23\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/element/element.vue?");
|
939 |
+
|
940 |
+
/***/ }),
|
941 |
+
|
942 |
+
/***/ "./src/admin/components/fields/html/html.vue?vue&type=template&id=6ec19149":
|
943 |
+
/*!*********************************************************************************!*\
|
944 |
+
!*** ./src/admin/components/fields/html/html.vue?vue&type=template&id=6ec19149 ***!
|
945 |
+
\*********************************************************************************/
|
946 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
947 |
+
|
948 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_html_vue_vue_type_template_id_6ec19149__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_html_vue_vue_type_template_id_6ec19149__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./html.vue?vue&type=template&id=6ec19149 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/html/html.vue?vue&type=template&id=6ec19149\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/html/html.vue?");
|
949 |
+
|
950 |
+
/***/ }),
|
951 |
+
|
952 |
+
/***/ "./src/admin/components/fields/module/Module.vue?vue&type=template&id=e2d3ef6e":
|
953 |
+
/*!*************************************************************************************!*\
|
954 |
+
!*** ./src/admin/components/fields/module/Module.vue?vue&type=template&id=e2d3ef6e ***!
|
955 |
+
\*************************************************************************************/
|
956 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
957 |
+
|
958 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Module_vue_vue_type_template_id_e2d3ef6e__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Module_vue_vue_type_template_id_e2d3ef6e__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Module.vue?vue&type=template&id=e2d3ef6e */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/module/Module.vue?vue&type=template&id=e2d3ef6e\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/module/Module.vue?");
|
959 |
+
|
960 |
+
/***/ }),
|
961 |
+
|
962 |
+
/***/ "./src/admin/components/fields/multiselect/select.vue?vue&type=template&id=28a1100c":
|
963 |
+
/*!******************************************************************************************!*\
|
964 |
+
!*** ./src/admin/components/fields/multiselect/select.vue?vue&type=template&id=28a1100c ***!
|
965 |
+
\******************************************************************************************/
|
966 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
967 |
+
|
968 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_template_id_28a1100c__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_template_id_28a1100c__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./select.vue?vue&type=template&id=28a1100c */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/multiselect/select.vue?vue&type=template&id=28a1100c\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/multiselect/select.vue?");
|
969 |
+
|
970 |
+
/***/ }),
|
971 |
+
|
972 |
+
/***/ "./src/admin/components/fields/number/number.vue?vue&type=template&id=1207b989":
|
973 |
+
/*!*************************************************************************************!*\
|
974 |
+
!*** ./src/admin/components/fields/number/number.vue?vue&type=template&id=1207b989 ***!
|
975 |
+
\*************************************************************************************/
|
976 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
977 |
+
|
978 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_number_vue_vue_type_template_id_1207b989__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_number_vue_vue_type_template_id_1207b989__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./number.vue?vue&type=template&id=1207b989 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/number/number.vue?vue&type=template&id=1207b989\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/number/number.vue?");
|
979 |
+
|
980 |
+
/***/ }),
|
981 |
+
|
982 |
+
/***/ "./src/admin/components/fields/select/select.vue?vue&type=template&id=81faabae":
|
983 |
+
/*!*************************************************************************************!*\
|
984 |
+
!*** ./src/admin/components/fields/select/select.vue?vue&type=template&id=81faabae ***!
|
985 |
+
\*************************************************************************************/
|
986 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
987 |
+
|
988 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_template_id_81faabae__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_select_vue_vue_type_template_id_81faabae__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./select.vue?vue&type=template&id=81faabae */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/select/select.vue?vue&type=template&id=81faabae\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/select/select.vue?");
|
989 |
+
|
990 |
+
/***/ }),
|
991 |
+
|
992 |
+
/***/ "./src/admin/components/fields/switcher/switcher.vue?vue&type=template&id=4aee9a09":
|
993 |
+
/*!*****************************************************************************************!*\
|
994 |
+
!*** ./src/admin/components/fields/switcher/switcher.vue?vue&type=template&id=4aee9a09 ***!
|
995 |
+
\*****************************************************************************************/
|
996 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
997 |
+
|
998 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_switcher_vue_vue_type_template_id_4aee9a09__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_switcher_vue_vue_type_template_id_4aee9a09__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./switcher.vue?vue&type=template&id=4aee9a09 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/fields/switcher/switcher.vue?vue&type=template&id=4aee9a09\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/fields/switcher/switcher.vue?");
|
999 |
+
|
1000 |
+
/***/ }),
|
1001 |
+
|
1002 |
+
/***/ "./src/admin/components/ui/FieldHeader.vue?vue&type=template&id=62ec09c8":
|
1003 |
+
/*!*******************************************************************************!*\
|
1004 |
+
!*** ./src/admin/components/ui/FieldHeader.vue?vue&type=template&id=62ec09c8 ***!
|
1005 |
+
\*******************************************************************************/
|
1006 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1007 |
+
|
1008 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_FieldHeader_vue_vue_type_template_id_62ec09c8__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_FieldHeader_vue_vue_type_template_id_62ec09c8__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./FieldHeader.vue?vue&type=template&id=62ec09c8 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/FieldHeader.vue?vue&type=template&id=62ec09c8\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/FieldHeader.vue?");
|
1009 |
+
|
1010 |
+
/***/ }),
|
1011 |
+
|
1012 |
+
/***/ "./src/admin/components/ui/ProBadge.vue?vue&type=template&id=3ee4d1d1":
|
1013 |
+
/*!****************************************************************************!*\
|
1014 |
+
!*** ./src/admin/components/ui/ProBadge.vue?vue&type=template&id=3ee4d1d1 ***!
|
1015 |
+
\****************************************************************************/
|
1016 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1017 |
+
|
1018 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProBadge_vue_vue_type_template_id_3ee4d1d1__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProBadge_vue_vue_type_template_id_3ee4d1d1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./ProBadge.vue?vue&type=template&id=3ee4d1d1 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProBadge.vue?vue&type=template&id=3ee4d1d1\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProBadge.vue?");
|
1019 |
+
|
1020 |
+
/***/ }),
|
1021 |
+
|
1022 |
+
/***/ "./src/admin/components/ui/ProModal.vue?vue&type=template&id=424b9bdb":
|
1023 |
+
/*!****************************************************************************!*\
|
1024 |
+
!*** ./src/admin/components/ui/ProModal.vue?vue&type=template&id=424b9bdb ***!
|
1025 |
+
\****************************************************************************/
|
1026 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1027 |
+
|
1028 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProModal_vue_vue_type_template_id_424b9bdb__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ProModal_vue_vue_type_template_id_424b9bdb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./ProModal.vue?vue&type=template&id=424b9bdb */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ProModal.vue?vue&type=template&id=424b9bdb\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ProModal.vue?");
|
1029 |
+
|
1030 |
+
/***/ }),
|
1031 |
+
|
1032 |
+
/***/ "./src/admin/components/ui/ResetButton.vue?vue&type=template&id=40763b56":
|
1033 |
+
/*!*******************************************************************************!*\
|
1034 |
+
!*** ./src/admin/components/ui/ResetButton.vue?vue&type=template&id=40763b56 ***!
|
1035 |
+
\*******************************************************************************/
|
1036 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1037 |
+
|
1038 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ResetButton_vue_vue_type_template_id_40763b56__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_ResetButton_vue_vue_type_template_id_40763b56__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./ResetButton.vue?vue&type=template&id=40763b56 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/ResetButton.vue?vue&type=template&id=40763b56\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/ResetButton.vue?");
|
1039 |
+
|
1040 |
+
/***/ }),
|
1041 |
+
|
1042 |
+
/***/ "./src/admin/components/ui/SaveButton.vue?vue&type=template&id=ea2982ac":
|
1043 |
+
/*!******************************************************************************!*\
|
1044 |
+
!*** ./src/admin/components/ui/SaveButton.vue?vue&type=template&id=ea2982ac ***!
|
1045 |
+
\******************************************************************************/
|
1046 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1047 |
+
|
1048 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SaveButton_vue_vue_type_template_id_ea2982ac__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_SaveButton_vue_vue_type_template_id_ea2982ac__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./SaveButton.vue?vue&type=template&id=ea2982ac */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/components/ui/SaveButton.vue?vue&type=template&id=ea2982ac\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/components/ui/SaveButton.vue?");
|
1049 |
+
|
1050 |
+
/***/ }),
|
1051 |
+
|
1052 |
+
/***/ "./src/admin/pages/Home.vue?vue&type=template&id=9e5983fa":
|
1053 |
+
/*!****************************************************************!*\
|
1054 |
+
!*** ./src/admin/pages/Home.vue?vue&type=template&id=9e5983fa ***!
|
1055 |
+
\****************************************************************/
|
1056 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1057 |
+
|
1058 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Home_vue_vue_type_template_id_9e5983fa__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Home_vue_vue_type_template_id_9e5983fa__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Home.vue?vue&type=template&id=9e5983fa */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Home.vue?vue&type=template&id=9e5983fa\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Home.vue?");
|
1059 |
+
|
1060 |
+
/***/ }),
|
1061 |
+
|
1062 |
+
/***/ "./src/admin/pages/Settings.vue?vue&type=template&id=e4dc4572":
|
1063 |
+
/*!********************************************************************!*\
|
1064 |
+
!*** ./src/admin/pages/Settings.vue?vue&type=template&id=e4dc4572 ***!
|
1065 |
+
\********************************************************************/
|
1066 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
1067 |
+
|
1068 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Settings_vue_vue_type_template_id_e4dc4572__WEBPACK_IMPORTED_MODULE_0__.render)\n/* harmony export */ });\n/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_dist_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_dist_index_js_ruleSet_1_rules_8_use_0_Settings_vue_vue_type_template_id_e4dc4572__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./Settings.vue?vue&type=template&id=e4dc4572 */ \"./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[1].rules[8].use[0]!./src/admin/pages/Settings.vue?vue&type=template&id=e4dc4572\");\n\n\n//# sourceURL=webpack://htmega-options/./src/admin/pages/Settings.vue?");
|
1069 |
+
|
1070 |
+
/***/ })
|
1071 |
+
|
1072 |
+
},
|
1073 |
+
/******/ __webpack_require__ => { // webpackRuntimeModules
|
1074 |
+
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
1075 |
+
/******/ __webpack_require__.O(0, ["vendors"], () => (__webpack_exec__("./src/admin/main.js")));
|
1076 |
+
/******/ var __webpack_exports__ = __webpack_require__.O();
|
1077 |
+
/******/ }
|
1078 |
+
]);
|
admin/include/settings-panel/assets/js/admin.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
"use strict";(self.webpackChunkhtmega_options=self.webpackChunkhtmega_options||[]).push([[328],{331:(e,t,a)=>{var n=a(166),i=a(982),o=a.n(i);const l={id:"htmegaopt-admin-panel"},s={key:0,class:"htmega-navigation-wrapper"},d={class:"htmega-navigation-menu"},r={key:1,class:"htmega-opt-footer"},c={class:"htmega-footer-resetbutton"},m={class:"htmega-footer-savebutton"};const u=["disabled"];var h=a(894);const p={name:"save-button",computed:{...(0,h.Se)(["GET_SAVE_BUTTON"]),saveButton:{get(){return this.GET_SAVE_BUTTON}}},methods:{buttonClass(){return[`button button-primary htmega-opt-submit ${""!==this.saveButton.class?this.saveButton.class:""}`,1==this.GET_SAVE_BUTTON.disabled?"disabled":""]}}};var g=a(744);const f=(0,g.Z)(p,[["render",function(e,t,a,i,o,l){return(0,n.wg)(),(0,n.iD)("button",{type:"submit",class:(0,n.C_)(l.buttonClass()),disabled:l.saveButton.disabled},(0,n.zw)(l.saveButton.text),11,u)}]]),b=["disabled"];const D={name:"reset-button",emits:["resetAlldata"],computed:{...(0,h.Se)(["GET_RESET_BUTTON"]),resetButton:{get(){return this.GET_RESET_BUTTON}}},methods:{buttonClass(){return[`button button-primary htmega-reset-btn ${""!==this.resetButton.class?this.resetButton.class:""}`,1==this.GET_RESET_BUTTON.disabled?"disabled":""]}}},v={name:"App",data(){return{items:[],isMainTab:Boolean,success:!1,model:this.htmegaLocalizeData.options[this.$router.currentRoute._value.meta.id],content:this.htmegaLocalizeData.tabs[this.$router.currentRoute._value.meta.pathname]?.content}},components:{SaveButton:f,ResetButton:(0,g.Z)(D,[["render",function(e,t,a,i,o,l){return(0,n.wg)(),(0,n.iD)("button",{type:"button",class:(0,n.C_)(l.buttonClass()),disabled:l.resetButton.disabled,onClick:t[0]||(t[0]=t=>e.$emit("resetAlldata"))},(0,n.zw)(l.resetButton.text),11,b)}]])},created(){this.detectMainTab(),this.$router.options.routes.forEach((e=>{e.name&&this.items.push({name:e.name,path:e.path,showInNav:e.props.showInNav,navIcon:e.props.navIcon,children:e.children})}))},watch:{$route(){this.detectMainTab(),this.success=!1,this.model=this.htmegaLocalizeData.options[this.$route.meta.id],this.content=this.htmegaLocalizeData.tabs[this.$route.meta.pathname]?.content}},mounted(){this.removeLoader()},computed:{...(0,h.Se)(["GET_SAVE_BUTTON","GET_LOADER"]),saveButton:{get(){return this.GET_SAVE_BUTTON}},loaderClass:{get(){return this.GET_LOADER}}},methods:{...(0,h.nv)(["FETCH_SETTINGS","SAVE_SETTINGS","REMOVE_LOADER"]),removeLoader(){this.REMOVE_LOADER()},detectMainTab(){void 0===this.$router.currentRoute._value.meta.id?this.isMainTab=!1:this.isMainTab=!0},footerArea(){return!!this.isMainTab&&!(!this.content?.footer&&void 0!==this.content?.footer)},submit(e){e.preventDefault(),this.model.verifynonce=this.htmegaLocalizeData.verifynonce,this.SAVE_SETTINGS([this.model,this.$router.currentRoute._value.meta.id])},changeStateField(){this.htmegaLocalizeData.settings[this.$route.meta.id].filter((e=>!0!==e.is_pro)).forEach(((e,t)=>{e.default?this.model[e.id]=e.default:this.model[e.id]=""}))},resetAlldata(){this.$swal.fire({title:this.htmegaLocalizeData.labels.resetButton.alert.one.title,text:this.htmegaLocalizeData.labels.resetButton.alert.one.text,icon:"warning",showCancelButton:!0,confirmButtonColor:"#3085d6",cancelButtonColor:"#d33",confirmButtonText:this.htmegaLocalizeData.labels.resetButton.alert.one.confirm,cancelButtonText:this.htmegaLocalizeData.labels.resetButton.alert.one.cancel}).then((e=>{e.isConfirmed&&this.$store.dispatch("RESET_SETTINGS",[{verifynonce:this.htmegaLocalizeData.verifynonce},this.$router.currentRoute._value.meta.id]).then((e=>{this.changeStateField(),this.$swal.fire({title:this.htmegaLocalizeData.labels.resetButton.alert.two.title,text:this.htmegaLocalizeData.labels.resetButton.alert.two.text,icon:"success",confirmButtonText:this.htmegaLocalizeData.labels.resetButton.alert.two.confirm,timer:1500})}),(e=>{console.error("Does not response from server. Please check Your internet connection and try again !!")}))}))}}},w=(0,g.Z)(v,[["render",function(e,t,a,i,o,u){const h=(0,n.up)("router-link"),p=(0,n.up)("router-view"),g=(0,n.up)("ResetButton"),f=(0,n.up)("SaveButton");return(0,n.wg)(),(0,n.iD)("div",l,[(0,n.kq)(" Navigation "),o.isMainTab?((0,n.wg)(),(0,n.iD)("div",s,[(0,n._)("ul",d,[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(o.items,(e=>((0,n.wg)(),(0,n.iD)("li",{key:e.path},[e.name&&e.showInNav?((0,n.wg)(),(0,n.j4)(h,{key:0,to:e.path},{default:(0,n.w5)((()=>[(0,n._)("span",{class:(0,n.C_)(e.navIcon)},null,2),(0,n.Uk)(" "+(0,n.zw)(e.name),1)])),_:2},1032,["to"])):(0,n.kq)("v-if",!0)])))),128))])])):(0,n.kq)("v-if",!0),(0,n.kq)(" end navigation "),(0,n._)("form",{onSubmit:t[0]||(t[0]=(...e)=>u.submit&&u.submit(...e)),class:"htmega-options-form"},[(0,n.Wm)(p,{model:o.model,content:o.content},null,8,["model","content"]),o.isMainTab?((0,n.wg)(),(0,n.j4)(p,{key:0,name:"fields",model:o.model,content:o.content},null,8,["model","content"])):(0,n.kq)("v-if",!0),u.footerArea()?((0,n.wg)(),(0,n.iD)("div",r,[(0,n._)("div",c,[(0,n.Wm)(g,{onResetAlldata:u.resetAlldata},null,8,["onResetAlldata"])]),(0,n._)("div",m,[(0,n.Wm)(f)])])):(0,n.kq)("v-if",!0)],32)])}]]);var T=a(201);const C={class:"htmega-opt-sub-sections-wrapper"},k={key:0,class:"htmega-opt-subnav"},_=(0,n._)("span",null,"|",-1),y=(0,n._)("span",null,"|",-1);const E={name:"SubTabNavigation",props:{sections:[Object,Array,Boolean],model:{},content:{},parentName:String,parentPath:String}},O=(0,g.Z)(E,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("router-link"),d=(0,n.up)("router-view");return(0,n.wg)(),(0,n.iD)("div",C,[a.sections.length>0?((0,n.wg)(),(0,n.iD)("div",k,[(0,n._)("ul",null,[(0,n._)("li",null,[(0,n.Wm)(s,{to:a.parentPath},{default:(0,n.w5)((()=>[(0,n.Uk)((0,n.zw)(a.parentName),1)])),_:1},8,["to"]),_]),((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(a.sections,(e=>((0,n.wg)(),(0,n.iD)("li",{key:e.path},[e.name?((0,n.wg)(),(0,n.j4)(s,{key:0,to:e.path},{default:(0,n.w5)((()=>[(0,n.Uk)((0,n.zw)(e.name),1)])),_:2},1032,["to"])):(0,n.kq)("v-if",!0),y])))),128))])])):(0,n.kq)("v-if",!0),(0,n.Wm)(d,{model:a.model,content:a.content},null,8,["model","content"])])}]]),B={class:"htmega-form-wrapper"};const L={class:"htmega-admin-option-content"},A={class:"htmega-admin-option-label"},M=["innerHTML"],N=["id","disabled"],z=["id","type","placeholder","disabled"];const S={class:"htmega-admin-pro-badge"};const R={name:"ProBadge"},x=(0,g.Z)(R,[["render",function(e,t,a,i,o,l){return(0,n.wg)(),(0,n.iD)("span",S,(0,n.zw)(this.htmegaLocalizeData.labels.pro),1)}]]),H={name:"field-default",props:["field","model","class"],emits:["onChange","openProModal"],data(){return{fieldData:this.field,currentRoute:this.$route}},components:{ProBadge:x},methods:{classes:e=>["htmega-opt-field","text"==e?"regular-text":`htmega-opt-field-${e}`]}},P=(0,g.Z)(H,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("ProBadge");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("div",L,[(0,n._)("h6",A,[(0,n.Uk)((0,n.zw)(o.fieldData.name)+" ",1),o.fieldData.is_pro?((0,n.wg)(),(0,n.j4)(s,{key:0})):(0,n.kq)("v-if",!0)]),o.fieldData.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:o.fieldData.desc},null,8,M)):(0,n.kq)("v-if",!0)]),(0,n._)("div",{class:"htmega-admin-option-field",onClick:t[5]||(t[5]=t=>o.fieldData.is_pro?e.$emit("openProModal",!0):null)},["checkbox"===o.fieldData.type?(0,n.wy)(((0,n.wg)(),(0,n.iD)("input",{key:0,id:o.fieldData.id,class:(0,n.C_)(l.classes(o.fieldData.type)),"true-value":"on","false-value":"off",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=e=>a.model[o.fieldData.id]=e),onChange:t[1]||(t[1]=t=>e.$emit("onChange")),disabled:o.fieldData.is_pro},null,42,N)),[[n.e8,a.model[o.fieldData.id]]]):(0,n.wy)(((0,n.wg)(),(0,n.iD)("input",{key:1,id:o.fieldData.id,class:(0,n.C_)(l.classes(o.fieldData.type)),type:o.fieldData.type,"onUpdate:modelValue":t[2]||(t[2]=e=>a.model[o.fieldData.id]=e),placeholder:o.fieldData?.placeholder,onChange:t[3]||(t[3]=t=>e.$emit("onChange")),onInput:t[4]||(t[4]=t=>e.$emit("onChange")),disabled:o.fieldData.is_pro},null,42,z)),[[n.YZ,a.model[o.fieldData.id]]])])],64)}]]),I={key:0,class:"htmega-header-area"},U={key:0,class:"htmega-header-content"},G={key:0,class:"htmega-header-title"},q={key:1},V={class:"htmega-head-right"},F={key:0,class:"htmega-button-enableall"},Y={for:"toggleAll"},Z={class:"htmega-button-enableall-text off"},K={class:"htmega-button-enableall-text on"},W=(0,n._)("span",{class:"htmega-button-enableall-indicator"},null,-1);const j={name:"FieldHeader",props:["content","value"],emits:["enableAllControl"],data(){return{currentData:this.htmegaLocalizeData.options[this.$route.meta.id]}},components:{SaveButton:f},methods:{hideShowManage:e=>void 0===e||""===e}},J=(0,g.Z)(j,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("SaveButton");return l.hideShowManage(a.content.header)?((0,n.wg)(),(0,n.iD)("div",I,[a.content?((0,n.wg)(),(0,n.iD)("div",U,[a.content.title?((0,n.wg)(),(0,n.iD)("h6",G,(0,n.zw)(a.content.title),1)):(0,n.kq)("v-if",!0),a.content.desc?((0,n.wg)(),(0,n.iD)("p",q,(0,n.zw)(a.content.desc),1)):(0,n.kq)("v-if",!0)])):(0,n.kq)("v-if",!0),(0,n._)("div",V,[l.hideShowManage(a.content.enableall)?((0,n.wg)(),(0,n.iD)("div",F,[(0,n.wy)((0,n._)("input",{id:"toggleAll",type:"checkbox",onChange:t[0]||(t[0]=t=>{e.$emit("enableAllControl",t)}),"onUpdate:modelValue":t[1]||(t[1]=e=>a.value=e)},null,544),[[n.e8,a.value]]),(0,n._)("label",Y,[(0,n._)("span",Z,(0,n.zw)(e.htmegaLocalizeData.labels.enableAllButton.enable),1),(0,n._)("span",K,(0,n.zw)(e.htmegaLocalizeData.labels.enableAllButton.disable),1),W])])):(0,n.kq)("v-if",!0),(0,n.Wm)(s)])])):(0,n.kq)("v-if",!0)}]]),Q={class:"htmega-admin-popup-inner"},X=[(0,n._)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[(0,n._)("path",{d:"M9.08366 1.73916L8.26116 0.916656L5.00033 4.17749L1.73949 0.916656L0.916992 1.73916L4.17783 4.99999L0.916992 8.26082L1.73949 9.08332L5.00033 5.82249L8.26116 9.08332L9.08366 8.26082L5.82283 4.99999L9.08366 1.73916Z",fill:"currentColor"})],-1)],$=(0,n._)("div",{class:"htmega-admin-popup-icon"},[(0,n._)("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAABbCAYAAADdsbM1AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAw6SURBVHgB1V1tbBTHGX5m9/buOBv7zDcNIUeSqhLgYNpUbSIicAO0DVKBP6lE1AI/qiofUhqpUsmfAv0DrapApEpR+weoCpX6JyBBP/gQroQKUkU5Y4yaQJ2DQAOmNP62z3e3k3nnfLbP3rvb2Z217x5pdXezs7Mzz77vO+/MvLPHMBP48Foc9dYuMLYeDC3gPDF2Jil+J8HtU9j43ElXZZ3r2CDK2SmODUXlgKVg81PYvPooZgAMQeNv17fBNI6Ib/HyGWXD92MwcxLb1/YUnSoQD+yUxLspJ2ACgyXuQudeIRX7oA4hQciTx1hikmS5B2P78PKq/QgIwRHnnTR9CJC8YIjL26GLqAZw3opNzW3QDANBgEmbVh1gbC8CgH7izt98WzzmBKoHG3D+xk5ohl5V/cu1BCzrGir2oDOOHmQya/HdtSlogj6JI7tWnaQR4rDCF3H2Rgs0wb/EkY/VYIkeFD9BLYB62tHRY36lT504IqrOSogrRc+JNSJlG6pTysqhR9T9JGy0C3uc9NLruidOuhgQhl8MdWqPqMpgOIrRzH63kuiOuAs3DgWpimzEBuvLwuzOwOjLgKU5kM7lT0ZM8AhDblFEfBrIPRlBoHDpNFcm7kLnEeFE7oJmEFHhzkGYn44gJA4VZJ+MIvvsHGSeiYE3hqAdJH0vr95dPks5BDBsIqIil3uVySoFIjGzqk4c9dAKjnewafXhUqdLE5f3yT6BJhBhc/76WKhiFkHAbggh/WKjXgIzmRWlbF5pPy5saRmqGL1ZxP70EHXiCIo0eR9RNj2YqDhYr6b7WFZJu+4scReFy5GzPodPhG4PycawtI2ZBEnfSOs8aQd9ogemkLrWKfODKCVx2ZBvDzvyjx7ETj2acdIIJH2xU93SlvpEHBnhszrdwzG7wRwzuwWRpqHSvqGpHo5CpH12pFpIKyCo+mglLvyvvqoirQAij+rmCYynnJKdictlklAE9Z7Ri777k8BAdTO6R6GKSHr4rlN6CeLQA0WQy1HtkJ3ViFpnteYXbzmqkDNxptognlQhSB9NF6iO4Wv9Std0vfqjhGNZjrkN0zGzY1ahotVo10ohfLVPyUEeWrZiqVO6M3HM2AqXqCXSCORXqtR5aP7i553SpxNHY1Qu59wqgqTN6hxArSEs6uza1jH2tlPydOLC4Z1uV6lC/xlCrULB1sVx7sa0MWsxcWevtahMI4WvqhnaaoJ1Q0FTGPZKTZyECeKINMNyvfpOaloLPWkpUN2Z+/rnV8kmkZcnjhKM8IdQWEsw7+mZiJxNWLdUTI0wX0QezRwJ5Oedae5NMSIodHvYdd7GOgtbXlhUlNY7mEVHVx/uPpwoZ8fGJyrmyZcXEuUtxvLFMfn7xPl70/K4gfFIdSQhOMqFKbxjO/M601v3+89gurzx8sVz0HGkdVo6NfbA8Y9Fw+/L371/fmVant7BDPb89uZ4HirrzC+/ieWLiufaDh6/Jcq6BRXkFoUx+IOlUAbnrQaskKfVK6/27biQDmpgR1e/JOHgj1dKCZqMM5cfyjx3u4eltE7O8+5rX5akEel7fndTlkfYI9LXNc+DCgyvM8WMbRM2jq2BB3idoDxx7p6Uji0/uyJVMa/GS4rynBbEUZ51b16SvylP89MN8nPHxmUy7fX32vHByRTeeO86Ll1/LNN2bFoGFfiYZF1vyIhHRejoTUkF6SCQ5JXKMxnNz8wd/36p4//j309f6ZafLzXPhyqYt7YkgomPcwEiq2CnOrqKh0BxoZZ0/o1tK8bTpNrGwo5l9Q5kMMOIh8BtithOqFxFK+peceLnz4uGjo73iGSrzlzuLspzQNg0OsZ/k70T+dZ5kKiKCHtqS48hFl7boQg/xDVKaYpJ+0bqtmXPlWl56BwdBHJHDo71lr0D+h1uHvXUliR1VW3iUF5D5WIJzot9oE5hsn1yArkfdx8OSbeDOgXqLemau90TDis9gAK5BRs51SZWAi0jeoKNY8ZYiFMbFJFrMBEkiChyWQivjfWWpK4Fsl4fs39EYOH89S61dQXbW9xJSiwttOXllHPlkHZ7URhB4/TlB/KTRgl5CcvgwB8+lmnkz505+A10HP2W7GSI0IOKDrC90EMbON6nsIg8cSR1FGSiAAp2CRrkpxV8vYKEfXAqJTsLSl/33HxJKNlBspWqw66sesjYsUIgTnEIxLmOfW7D28l5nPubTzGbKLgz5Kp4Qf+bTyp0DvwkNjZvL/wqvmpT8z6ZwU0xomfNLgs4yK8CiDCvpJHGKPSoKfRni+Llpl9pygyulgdHv9aAWgXF1LkG57unbsybThxF5nD+Plwg+2zMl083W6DeVCGOrs0puNoomdklRr86F7WG9AuN7jNznHJKdiZOIXyd1NUOIg43IChKG2Q4vwNK6xljKbgpVqjq8LcDGEMGBCVpIxim4ySvFgOVEz1ULajsqMYg69LEKa5BpF+MV7XKUt3SrWozxBI5u8kp2Zm4KWuIbkAqO/Tq4qrsZYm0Qe91Cz4ik2YbBr9fXeTJB7p1oZzN0QntLaSBM5FXDWpLpMm6LPQxIcENx8GAM3H5TRHKwYUFUEVJbWeTPLr3wA+X+iONwOyUU3IZieNt8AFSWyJP+1YhF6B70nqpBvVMYfNqRT+O5p18gsgb/s58ecyE9NE9yJ7R/bTY2TIclN8Ed/4GBeFsgCZQyKt1c9D7QnAJEEnkR9IoRmPHlMLG1StKnSwvBpnMblgygikBDSBfjw4KRqQwq9C9NPxgfPulUE3NPTm9/KC1XIbK+1XzsSXayJsMWtiW+1VvD4nvOZgVwulJ9WnWlqbtAyCrgB7YgrTNa8tuWXC3Q5pCmzLmYRiG9vd3TAWtnE1WZZpsJIJ0+2El0Ca1zMX2crWXGZD0haxt4ioKriaPutb35pPLRW//+rt8uYHCrJC/12dINaZoJ0ZEJlA7OCrG4sf8vHNJz5tuiEDT3DcTquwLHElkM9t1vPFG7yuCFFbJZgHHhHuxC5qg/zVo5zvEuqPz3oBZRFmfzAu09+dL2puSRpUFoy/oCPkeBU2FduKs/szWxjvBxpWooO4BQ92j0a9DM7QTxzhvabjHEOkJ/r2llRAaYYjfEU00I69AM7QSt/BXvAU8m6DvCz4yZMVnC0aWYWFnoQ48vnzfnaehEVrdcdNES7ZuKayB+7LCi9sNPFplY7Seu7re4gxP2cKrtg3ExtIo4u2RYeO/4hEPMXfl0L2JtPBA/sFlo2J2Jrrge+LrYWiC7nHMetuqhx2KiSc+JBuw9KqJgSUcvYKRbNS54TFB2MqcgadyzhL6JduU71u7Y3L8m9sYsJzLISmbe5+BTAV9J3DDQm7OAoy9sk0b9BLH8lNQuTnzYfRPRE/WCwNd/8CUkpeNimW6unzDQ2kmpAJoXi4a7CIMhYid12eis4uLsibKIZLCg0DUwa5K0ghc3/QYQZsRWnJALCdGML54Gxr5H8zhx66u/cpKuCKO0N8HfHTTXd5cuBHZuok9FCyMxGdvsTvQAH2dQ7j4iWajC6TkeQEzDLCQlT8Mb1W0Q3OQixXvH+NptEITdKrq+qkJRB7ZGJI8ZpcPbCaCjLlNMKIxsGis6BwfHYE9mobdSxJcvhzODNERNMl7T4Mh63gUGqCNOGHfW5z0ntSl0FkY6T75ORkkGWZDDKEn5pWULhaOwqSjvhEG7xXX9IHlRoTPOLGlyDYj4OF65CLzJHnOldRn57TYuKn2reJNx6SPpJHQIvz6piZ31/Z8Dlz751g5RBzPjZfjBqKjb+p5h3le+ixAi42zrUp/FVAMaqhKY0uWIyRLtZyoLd8i6xtaiDPyM8I1Ac7UHnIpaCFOV2VmCOuhAb6Jix/icYbaIY7qSnWGT/gmLpzT65HPBHTU2TdxplF7xDGjCoizNdmMGYbvOvtygKV941rtW1IM25PCDrVzLv/wR6z90N9Rgf6WKgFNtrRg5/z4c76Ii2ZFQzzMkgtyaB6DSGoXxCdHhpH840usVMhBGybNo206y1tsGwlSN1HGGlEGjViUjb2VXwdWfjNjAb5GDvTUIhyfVKh4SjDVxvNSlDIySD54191WAJV6yIc4RqYtpLNcT08PTsxorfAjcb6HXIt+zbeJIeYhUZn4ZCnK5ZDMWEjpGN54QYFMbggC80RK6aRzYqS2u/unzNVmv1L4Art2odi1dkomAAAAAElFTkSuQmCC",alt:"pro"})],-1),ee={class:"htmega-admin-popup-title"},te={class:"htmega-admin-popup-text"},ae={href:"https://wphtmega.com/pricing/",class:"htmega-admin-btn htmega-opt-submit htmega-admin-btn-primary",target:"_blank"};const ne={name:"ProModal",props:["className"],emits:["openProModal"],methods:{onClick(e){e.target.classList.contains("htmega-admin-popup")&&this.$emit("openProModal",!1)}},mounted(){document.addEventListener("click",this.onClick)},beforeDestroy(){document.removeEventListener("click",this.onClick)}},ie={name:"fields-wrapper",props:{fields:{},model:{},content:{}},data:()=>({enableDisableButtonValue:!1,proModalVisible:!1}),components:{DefaulField:P,FieldHeader:J,ProModal:(0,g.Z)(ne,[["render",function(e,t,a,i,o,l){return(0,n.wg)(),(0,n.iD)("div",{id:"htmega-admin-pro-popup",class:(0,n.C_)(`htmega-admin-popup ${a.className}`)},[(0,n._)("div",Q,[(0,n._)("button",{class:"htmega-admin-popup-close",onClick:t[0]||(t[0]=t=>e.$emit("openProModal",!1))},X),$,(0,n._)("h3",ee,(0,n.zw)(e.htmegaLocalizeData.labels.modal.title),1),(0,n._)("p",te,(0,n.zw)(e.htmegaLocalizeData.labels.modal.desc),1),(0,n._)("a",ae,(0,n.zw)(e.htmegaLocalizeData.labels.modal.buynow),1)])],2)}]])},computed:{...(0,h.Se)(["GET_LOADER"]),loaderClass:{get(){return this.GET_LOADER}}},created(){let e=this.fields?this.fields:[];this.enableDisableButtonValue=this.enableDisableButtonManager(e)},watch:{$route(){let e=this.htmegaLocalizeData.settings[this.$route.meta.id]?this.htmegaLocalizeData.settings[this.$route.meta.id]:[];this.enableDisableButtonValue=this.enableDisableButtonManager(e)}},methods:{maybeShowField(e){if("hidden"===e.type)return!1;if(!e.toggle)return!0;var t=e.toggle;t instanceof Array||(t=[t]);for(var a={"!=":function(e,t){return e!=t},"!==":function(e,t){return e!==t},"==":function(e,t){return e==t},"===":function(e,t){return e===t},">=":function(e,t){return e>=t},">":function(e,t){return e>t},"<":function(e,t){return e<t},"<=":function(e,t){return e<=t}},n=0;n<t.length;n++){var i=t[n],o="!=";return i.hasOwnProperty("operator")&&(o=i.operator),!!a[o](this.model[i.key],i.value)}return!0},getFieldComponentName:e=>"field-"+e,hasComponent(e){const t=this.getFieldComponentName(e);return!!this.htmegaCustomComponents.find((e=>e.name===t))},classes:(e,t="")=>""!==t?t.hasOwnProperty("class")?t.class:"":["htmega-opt-field","text"==e?"regular-text":`htmega-opt-field-${e}`],onChange(){this.saveButtonEnable()},saveButtonEnable(){this.$store.dispatch("SAVE_BUTTON_CONTROL",{text:this.htmegaLocalizeData.labels.saveButton.text,class:"",disabled:!1}),this.$store.dispatch("RESET_BUTTON_CONTROL",{text:this.htmegaLocalizeData.labels.resetButton.text,class:"",disabled:!1})},filterAllCheckboxes:e=>e.filter((e=>("element"===e.type||"checkbox"===e.type||"switcher"===e.type)&&!0!==e.is_pro)),enableDisableButtonManager(e){const t=this.filterAllCheckboxes(e),a=this.htmegaLocalizeData.options[this.$route.meta.id];let n=!1;for(const e in t){const i=t[e];if("checkbox"===i.type||"element"===i.type||"switcher"===i.type){if("off"===a[i.id]||void 0===a[i.id]||""===a[i.id]){n=(void 0===a[i.id]||""===a[i.id])&&i?.default?.length>0;break}n=!0}}return n},enableAllControl(e){const t=e.target.checked,a=this.filterAllCheckboxes(this.fields);for(const e in a){const n=a[e];"checkbox"!==n.type&&"element"!==n.type&&"switcher"!==n.type||(this.model[n.id]=t?"on":"off")}this.saveButtonEnable()},openProModal(e){this.proModalVisible=e}}},oe=(0,g.Z)(ie,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("FieldHeader"),d=(0,n.up)("DefaulField"),r=(0,n.up)("ProModal");return(0,n.wg)(),(0,n.iD)("div",B,[(0,n.Wm)(s,{content:a.content,value:o.enableDisableButtonValue,onEnableAllControl:l.enableAllControl},null,8,["content","value","onEnableAllControl"]),(0,n._)("div",{class:(0,n.C_)("htmega-form-fields "+(a.content.column?`htmega-opt-col-${a.content.column}`:"htmega-opt-col-1"))},[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(a.fields,(e=>(0,n.wy)(((0,n.wg)(),(0,n.iD)("div",{class:(0,n.C_)(`htmega-admin-option htmega-admin-field-${e.type} ${l.classes(e.type,e)}`),key:e.id},[l.hasComponent(e.type)?((0,n.wg)(),(0,n.j4)((0,n.LL)(l.getFieldComponentName(e.type)),{key:0,field:e,model:a.model,class:(0,n.C_)(l.classes(e.type)),onOnChange:l.onChange,onOpenProModal:l.openProModal},null,40,["field","model","class","onOnChange","onOpenProModal"])):((0,n.wg)(),(0,n.j4)(d,{key:e.id,field:e,model:a.model,class:(0,n.C_)(l.classes(e.type)),onOnChange:l.onChange,onOpenProModal:l.openProModal},null,8,["field","model","class","onOnChange","onOpenProModal"]))],2)),[[n.F8,l.maybeShowField(e)]]))),128)),o.proModalVisible?((0,n.wg)(),(0,n.j4)(r,{key:0,className:o.proModalVisible?"open":"",onOpenProModal:l.openProModal},null,8,["className","onOpenProModal"])):(0,n.kq)("v-if",!0)],2)])}]]),le=[];le.push({path:"/",redirect:Object.keys(htmegaOptions.tabs)[0]}),Object.keys(htmegaOptions.tabs).forEach((function(e){let t="/"+e,a=htmegaOptions.sections[e],n=[];void 0!==a&&Object.keys(a).forEach((function(i){n.push({path:t+"/"+i,name:a[i].title,component:oe,meta:{id:a[i].id,pathname:i,parentPathName:e},props:{fields:htmegaOptions.settings[a[i].id]}})})),le.push({path:t,name:htmegaOptions.tabs[e].title,components:{default:O,fields:oe},meta:{id:htmegaOptions.tabs[e].id,pathname:t.substring(1)},props:{default:{sections:n,parentPath:t,parentName:htmegaOptions.tabs[e].title},fields:{fields:htmegaOptions.settings[htmegaOptions.tabs[e].id]},navIcon:htmegaOptions.tabs[e].icon,showInNav:!0},children:n})}));const se=(0,T.p7)({history:(0,T.r5)(),routes:le});const de=function(e,t=[]){var a=jQuery;let n=a("#toplevel_page_"+e),i=window.location.href,o=i.substr(i.indexOf("admin.php")),l=o.substring(o.indexOf("/")+1);n.on("click","a",(function(){var e=a(this);a("ul.wp-submenu li",n).removeClass("current"),e.hasClass("wp-has-submenu")?a("li.wp-first-item",n).addClass("current"):e.parents("li").addClass("current")})),a("ul.wp-submenu a",n).each((function(e,i){a(i).attr("href")!==o?-1==t.indexOf(l)||a("li.wp-first-item",n).addClass("current"):a(i).parent().addClass("current")}))};const re=a(721).ZP.create({baseURL:htmegaOptions.rootApiUrl,headers:{"content-type":"application/json","X-WP-Nonce":htmegaOptions.restNonce}}),ce={SAVE_SETTINGS:({commit:e},t)=>{e("SETLOADER"),e("SAVING_BUTTON_CONTROL",{text:htmegaOptions.labels.saveButton.saving,class:"updating-message",disabled:!0}),re.post("/htmegaopt/v1/settings",{settings:t[0],section:t[1]}).then((t=>{e("SAVING_BUTTON_CONTROL",{text:htmegaOptions.labels.saveButton.saved,class:"",disabled:!0}),e("REMOVELOADER")})).catch((e=>{console.log(e)}))},FETCH_SETTINGS:({commit:e},t)=>{e("SETLOADER"),re.get("/htmegaopt/v1/settings",{params:{section:t}}).then((t=>{e("REMOVELOADER"),e("SET_SETTINGS",t.data)})).catch((e=>{console.log(e)}))},RESET_SETTINGS:({commit:e},t)=>{e("RESETING_BUTTON_CONTROL",{text:htmegaOptions.labels.resetButton.reseting,class:"updating-message",disabled:!0}),re.post("/htmegaopt/v1/settings",{settings:t[0],section:t[1],reset:!0}).then((t=>{e("RESETING_BUTTON_CONTROL",{text:htmegaOptions.labels.resetButton.reseted,class:"",disabled:!0})})).catch((e=>{console.log(e)}))},REMOVE_LOADER:({commit:e},t)=>{e("REMOVELOADER")},SAVE_BUTTON_CONTROL:({commit:e},t)=>{e("SAVING_BUTTON_CONTROL",t)},RESET_BUTTON_CONTROL:({commit:e},t)=>{e("RESETING_BUTTON_CONTROL",t)}},me=(0,h.MT)({state:{settings:{},saveButton:{text:htmegaOptions.labels.saveButton.text,class:"",disabled:!0},resetButton:{text:htmegaOptions.labels.resetButton.text,class:"",disabled:!1},loaderClass:"option-loading"},actions:ce,getters:{GET_SETTINGS:e=>e.settings,GET_SAVE_BUTTON:e=>e.saveButton,GET_RESET_BUTTON:e=>e.resetButton,GET_LOADER:e=>e.loaderClass},mutations:{SET_SETTINGS:(e,t)=>{e.settings=t},SAVING_BUTTON_CONTROL:(e,t)=>{e.saveButton=t},RESETING_BUTTON_CONTROL:(e,t)=>{e.resetButton=t},SETLOADER:e=>{e.loaderClass="option-loading"},REMOVELOADER:e=>{e.loaderClass="option-loaded"}}}),ue={class:"htmega-admin-option-content"},he={class:"htmega-admin-option-label"},pe=["innerHTML"],ge=["id","disabled"],fe=["for"],be={class:"htmega-checkbox-text on"},De={class:"htmega-checkbox-text off"},ve=(0,n._)("span",{class:"htmega-checkbox-indicator"},null,-1);const we={name:"field-switcher",props:["field","model","class"],emits:["onChange","openProModal"],components:{ProBadge:x},data(){return{fieldData:this.field,currentRoute:this.$route}}},Te={name:"field-switcher",template:(0,g.Z)(we,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("ProBadge");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("div",ue,[(0,n._)("h6",he,[(0,n.Uk)((0,n.zw)(o.fieldData.name)+" ",1),o.fieldData.is_pro?((0,n.wg)(),(0,n.j4)(s,{key:0})):(0,n.kq)("v-if",!0)]),o.fieldData.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:o.fieldData.desc},null,8,pe)):(0,n.kq)("v-if",!0)]),(0,n._)("div",{class:"htmega-admin-option-field",onClick:t[2]||(t[2]=t=>o.fieldData.is_pro?e.$emit("openProModal",!0):null)},[(0,n._)("div",{class:(0,n.C_)(this.class)},[(0,n.wy)((0,n._)("input",{id:o.currentRoute.meta.id+o.fieldData.id,type:"checkbox","true-value":"on","false-value":"off","onUpdate:modelValue":t[0]||(t[0]=e=>this.model[o.fieldData.id]=e),onChange:t[1]||(t[1]=t=>e.$emit("onChange")),disabled:o.fieldData.is_pro},null,40,ge),[[n.e8,this.model[o.fieldData.id]]]),(0,n._)("label",{for:o.currentRoute.meta.id+o.fieldData.id},[(0,n._)("span",be,(0,n.zw)(o.fieldData.label_on),1),(0,n._)("span",De,(0,n.zw)(o.fieldData.label_off),1),ve],8,fe)],2)])],64)}]])},Ce={class:"htmega-admin-option-content"},ke={class:"htmega-admin-option-label"},_e=["innerHTML"],ye=["id","disabled"],Ee=["value"];const Oe={name:"field-select",props:["field","model","class"],emits:["onChange","openProModal"],components:{ProBadge:x},data(){return{fieldData:this.field,currentRoute:this.$route}}},Be={name:"field-select",template:(0,g.Z)(Oe,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("ProBadge");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("div",Ce,[(0,n._)("h6",ke,[(0,n.Uk)((0,n.zw)(o.fieldData.name)+" ",1),o.fieldData.is_pro?((0,n.wg)(),(0,n.j4)(s,{key:0})):(0,n.kq)("v-if",!0)]),o.fieldData.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:o.fieldData.desc},null,8,_e)):(0,n.kq)("v-if",!0)]),(0,n._)("div",{class:"htmega-admin-option-field",onClick:t[2]||(t[2]=t=>o.fieldData.is_pro?e.$emit("openProModal",!0):null)},[(0,n.wy)((0,n._)("select",{id:o.currentRoute.meta.id+o.fieldData.id,class:(0,n.C_)(this.class),"onUpdate:modelValue":t[0]||(t[0]=e=>this.model[o.fieldData.id]=e),onChange:t[1]||(t[1]=t=>e.$emit("onChange")),disabled:o.fieldData.is_pro},[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(o.fieldData.options,((e,t)=>((0,n.wg)(),(0,n.iD)("option",{value:t},(0,n.zw)(e),9,Ee)))),256))],42,ye),[[n.bM,this.model[o.fieldData.id]]])])],64)}]])},Le={class:"htmega-admin-option-content"},Ae={class:"htmega-admin-option-label"},Me=["innerHTML"],Ne=["id","disabled"],ze=["value"];const Se={name:"field-multiselect",props:["field","model","class"],emits:["onChange","openProModal"],components:{ProBadge:x},data(){return{fieldData:this.field,currentRoute:this.$route}}},Re={name:"field-multiselect",template:(0,g.Z)(Se,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("ProBadge");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("div",Le,[(0,n._)("h6",Ae,[(0,n.Uk)((0,n.zw)(o.fieldData.name)+" ",1),o.fieldData.is_pro?((0,n.wg)(),(0,n.j4)(s,{key:0})):(0,n.kq)("v-if",!0)]),o.fieldData.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:o.fieldData.desc},null,8,Me)):(0,n.kq)("v-if",!0)]),(0,n._)("div",{class:"htmega-admin-option-field",onClick:t[2]||(t[2]=t=>o.fieldData.is_pro?e.$emit("openProModal",!0):null)},[(0,n.wy)((0,n._)("select",{multiple:"multiple",id:o.currentRoute.meta.id+o.fieldData.id,class:(0,n.C_)(this.class),"onUpdate:modelValue":t[0]||(t[0]=e=>this.model[o.fieldData.id]=e),onChange:t[1]||(t[1]=t=>e.$emit("onChange")),disabled:o.fieldData.is_pro},[((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(o.fieldData.options,((e,t)=>((0,n.wg)(),(0,n.iD)("option",{value:t},(0,n.zw)(e),9,ze)))),256))],42,Ne),[[n.bM,this.model[o.fieldData.id]]])])],64)}]])},xe={class:"htmega-admin-option-content"},He={class:"htmega-admin-option-label"},Pe=["innerHTML"],Ie=["id","name","min","max","step","disabled"];const Ue={name:"field-number",props:["field","model","class"],emits:["onChange","openProModal"],data(){return{fieldData:this.field,currentRoute:this.$route}},components:{ProBadge:x},methods:{incrementHandler:function(){this.fieldData.is_pro||(this.model[this.fieldData.id]=parseInt(this.model[this.fieldData.id])+parseInt(this.fieldData.step),this.$emit("onChange"))},decrementHandler:function(){this.fieldData.is_pro||(this.model[this.fieldData.id]=parseInt(this.model[this.fieldData.id])-parseInt(this.fieldData.step),this.$emit("onChange"))}}},Ge={name:"field-number",template:(0,g.Z)(Ue,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("ProBadge");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("div",xe,[(0,n._)("h6",He,[(0,n.Uk)((0,n.zw)(o.fieldData.name)+" ",1),o.fieldData.is_pro?((0,n.wg)(),(0,n.j4)(s,{key:0})):(0,n.kq)("v-if",!0)]),o.fieldData.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:o.fieldData.desc},null,8,Pe)):(0,n.kq)("v-if",!0)]),(0,n._)("div",{class:"htmega-admin-option-field",onClick:t[4]||(t[4]=t=>o.fieldData.is_pro?e.$emit("openProModal",!0):null)},[(0,n.wy)((0,n._)("input",{type:"number",id:o.currentRoute.meta.id+o.fieldData.id,name:o.fieldData.id,"onUpdate:modelValue":t[0]||(t[0]=e=>this.model[o.fieldData.id]=e),min:o.fieldData.min,max:o.fieldData.max,step:o.fieldData.step,onChange:t[1]||(t[1]=t=>e.$emit("onChange")),disabled:o.fieldData.is_pro},null,40,Ie),[[n.nr,this.model[o.fieldData.id]]]),(0,n._)("span",{class:"htmega-admin-number-btn increase",onClick:t[2]||(t[2]=(...e)=>l.incrementHandler&&l.incrementHandler(...e))},"+"),(0,n._)("span",{class:"htmega-admin-number-btn decrease",onClick:t[3]||(t[3]=(...e)=>l.decrementHandler&&l.decrementHandler(...e))},"-")])],64)}]])},qe={key:0,class:"htmega-admin-option-content"},Ve={class:"htmega-admin-option-label"},Fe=["innerHTML"],Ye=["innerHTML"],Ze=["innerHTML"];const Ke={name:"field-html",props:["field","model","class"],emits:["onChange","openProModal"],components:{ProBadge:x},data(){return{fieldData:this.field,html:this.field.html}}},We={name:"field-html",template:(0,g.Z)(Ke,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("ProBadge");return(0,n.wg)(),(0,n.iD)(n.HY,null,[o.fieldData.name?((0,n.wg)(),(0,n.iD)("div",qe,[(0,n._)("h6",Ve,[(0,n.Uk)((0,n.zw)(o.fieldData.name)+" ",1),o.fieldData.is_pro?((0,n.wg)(),(0,n.j4)(s,{key:0})):(0,n.kq)("v-if",!0)]),o.fieldData.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:o.fieldData.desc},null,8,Fe)):(0,n.kq)("v-if",!0)])):(0,n.kq)("v-if",!0),o.fieldData.name?((0,n.wg)(),(0,n.iD)("div",{key:1,class:"htmega-admin-option-field",onClick:t[0]||(t[0]=t=>o.fieldData.is_pro?e.$emit("openProModal",!0):null)},[(0,n._)("div",{innerHTML:o.html},null,8,Ye)])):((0,n.wg)(),(0,n.iD)("div",{key:2,innerHTML:o.html},null,8,Ze))],64)}]])},je={class:"htmega-admin-option-content"},Je={class:"htmega-admin-option-label"},Qe=["innerHTML"],Xe=["id","disabled"],$e=["for"],et={class:"htmega-checkbox-text on"},tt={class:"htmega-checkbox-text off"},at=(0,n._)("span",{class:"htmega-checkbox-indicator"},null,-1);const nt={name:"field-switcher",props:["field","model","class"],emits:["onChange","openProModal"],components:{ProBadge:x},data(){return{fieldData:this.field,currentRoute:this.$route}}},it={name:"field-element",template:(0,g.Z)(nt,[["render",function(e,t,a,i,o,l){const s=(0,n.up)("ProBadge");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("div",je,[(0,n._)("h6",Je,[(0,n.Uk)((0,n.zw)(o.fieldData.name)+" ",1),o.fieldData.is_pro?((0,n.wg)(),(0,n.j4)(s,{key:0})):(0,n.kq)("v-if",!0)]),o.fieldData.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:o.fieldData.desc},null,8,Qe)):(0,n.kq)("v-if",!0)]),(0,n._)("div",{class:"htmega-admin-option-field",onClick:t[2]||(t[2]=t=>o.fieldData.is_pro?e.$emit("openProModal",!0):null)},[(0,n._)("div",{class:(0,n.C_)(`${this.class} htmega-opt-field-switcher`)},[(0,n.wy)((0,n._)("input",{id:o.currentRoute.meta.id+o.fieldData.id,type:"checkbox","true-value":"on","false-value":"off","onUpdate:modelValue":t[0]||(t[0]=e=>this.model[o.fieldData.id]=e),onChange:t[1]||(t[1]=t=>e.$emit("onChange")),disabled:o.fieldData.is_pro},null,40,Xe),[[n.e8,this.model[o.fieldData.id]]]),(0,n._)("label",{for:o.currentRoute.meta.id+o.fieldData.id},[(0,n._)("span",et,(0,n.zw)(o.fieldData.label_on),1),(0,n._)("span",tt,(0,n.zw)(o.fieldData.label_off),1),at],8,$e)],2)])],64)}]])},ot={class:"htmega-admin-option-content"},lt={class:"htmega-admin-option-label"},st=["innerHTML"],dt={class:"htmega-admin-option-field"},rt={class:"zenaulopt-module-field"},ct=["id","type","onUpdate:modelValue"];const mt={name:"field-module",props:["field","model","class"],emits:["onChange","openProModal"],data(){return{settingFields:this.field.setting_fields}},methods:{maybeShowField(e){if("hidden"===e.type)return!1;if(!e.toggle)return!0;var t=e.toggle;t instanceof Array||(t=[t]);for(var a={"!=":function(e,t){return e!=t},"!==":function(e,t){return e!==t},"==":function(e,t){return e==t},"===":function(e,t){return e===t},">=":function(e,t){return e>=t},">":function(e,t){return e>t},"<=":function(e,t){return e<=t}},n=0;n<t.length;n++){var i=t[n],o="!=";return i.hasOwnProperty("operator")&&(o=i.operator),!!a[o](this.model[i.key],i.value)}return!0},classes:e=>["zenaulopt-field","text"==e?"regular-text":""],getFieldComponentName:e=>"field-"+e}},ut={name:"field-module",template:(0,g.Z)(mt,[["render",function(e,t,a,i,o,l){return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n._)("div",ot,[(0,n._)("h6",lt,(0,n.zw)(a.field.name),1),a.field.desc?((0,n.wg)(),(0,n.iD)("p",{key:0,class:"htmega-admin-option-desc",innerHTML:a.field.desc},null,8,st)):(0,n.kq)("v-if",!0)]),(0,n._)("div",dt,[(0,n._)("div",rt,[(0,n._)("pre",null,(0,n.zw)(a.model),1),((0,n.wg)(!0),(0,n.iD)(n.HY,null,(0,n.Ko)(o.settingFields,(e=>(0,n.wy)(((0,n.wg)(),(0,n.iD)("div",{class:"zenaulopt-module-field-area",key:e.id},["checkbox"===e.type?(0,n.wy)(((0,n.wg)(),(0,n.iD)("input",{key:0,id:e.id,class:(0,n.C_)(l.classes(e.type)),"true-value":"on","false-value":"off",type:e.type,"onUpdate:modelValue":t=>a.model[e.id]=t},null,10,ct)),[[n.YZ,a.model[e.id]]]):(0,n.kq)("v-if",!0)])),[[n.F8,l.maybeShowField(e)]]))),128))])])],64)}]])},ht=()=>[Te,Be,Re,Ge,We,it,ut],pt=(0,n.ri)(w).use(se).use(me);pt.use(o()),ht().forEach((e=>{e&&pt.component(e.name,e.template)})),pt.config.productionTip=!1,pt.config.globalProperties.optPrefix=htmegaOptions.prefix,pt.config.globalProperties.htmegaLocalizeData=htmegaOptions,pt.config.globalProperties.htmegaCustomComponents=ht(),pt.mount("#htmega-opt-admin-app"),de("htmega-addons",Object.keys(htmegaOptions.tabs))}},e=>{e.O(0,[216],(()=>{return t=331,e(e.s=t);var t}));e.O()}]);
|
admin/include/settings-panel/assets/js/runtime.js
ADDED
@@ -0,0 +1,182 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
3 |
+
* This devtool is neither made for production nor for readable output files.
|
4 |
+
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
5 |
+
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
6 |
+
* or disable the default devtool with "devtool: false".
|
7 |
+
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
8 |
+
*/
|
9 |
+
/******/ (() => { // webpackBootstrap
|
10 |
+
/******/ "use strict";
|
11 |
+
/******/ var __webpack_modules__ = ({});
|
12 |
+
/************************************************************************/
|
13 |
+
/******/ // The module cache
|
14 |
+
/******/ var __webpack_module_cache__ = {};
|
15 |
+
/******/
|
16 |
+
/******/ // The require function
|
17 |
+
/******/ function __webpack_require__(moduleId) {
|
18 |
+
/******/ // Check if module is in cache
|
19 |
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
20 |
+
/******/ if (cachedModule !== undefined) {
|
21 |
+
/******/ return cachedModule.exports;
|
22 |
+
/******/ }
|
23 |
+
/******/ // Create a new module (and put it into the cache)
|
24 |
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
25 |
+
/******/ // no module.id needed
|
26 |
+
/******/ // no module.loaded needed
|
27 |
+
/******/ exports: {}
|
28 |
+
/******/ };
|
29 |
+
/******/
|
30 |
+
/******/ // Execute the module function
|
31 |
+
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
32 |
+
/******/
|
33 |
+
/******/ // Return the exports of the module
|
34 |
+
/******/ return module.exports;
|
35 |
+
/******/ }
|
36 |
+
/******/
|
37 |
+
/******/ // expose the modules object (__webpack_modules__)
|
38 |
+
/******/ __webpack_require__.m = __webpack_modules__;
|
39 |
+
/******/
|
40 |
+
/************************************************************************/
|
41 |
+
/******/ /* webpack/runtime/chunk loaded */
|
42 |
+
/******/ (() => {
|
43 |
+
/******/ var deferred = [];
|
44 |
+
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
|
45 |
+
/******/ if(chunkIds) {
|
46 |
+
/******/ priority = priority || 0;
|
47 |
+
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
|
48 |
+
/******/ deferred[i] = [chunkIds, fn, priority];
|
49 |
+
/******/ return;
|
50 |
+
/******/ }
|
51 |
+
/******/ var notFulfilled = Infinity;
|
52 |
+
/******/ for (var i = 0; i < deferred.length; i++) {
|
53 |
+
/******/ var [chunkIds, fn, priority] = deferred[i];
|
54 |
+
/******/ var fulfilled = true;
|
55 |
+
/******/ for (var j = 0; j < chunkIds.length; j++) {
|
56 |
+
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
|
57 |
+
/******/ chunkIds.splice(j--, 1);
|
58 |
+
/******/ } else {
|
59 |
+
/******/ fulfilled = false;
|
60 |
+
/******/ if(priority < notFulfilled) notFulfilled = priority;
|
61 |
+
/******/ }
|
62 |
+
/******/ }
|
63 |
+
/******/ if(fulfilled) {
|
64 |
+
/******/ deferred.splice(i--, 1)
|
65 |
+
/******/ var r = fn();
|
66 |
+
/******/ if (r !== undefined) result = r;
|
67 |
+
/******/ }
|
68 |
+
/******/ }
|
69 |
+
/******/ return result;
|
70 |
+
/******/ };
|
71 |
+
/******/ })();
|
72 |
+
/******/
|
73 |
+
/******/ /* webpack/runtime/compat get default export */
|
74 |
+
/******/ (() => {
|
75 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
76 |
+
/******/ __webpack_require__.n = (module) => {
|
77 |
+
/******/ var getter = module && module.__esModule ?
|
78 |
+
/******/ () => (module['default']) :
|
79 |
+
/******/ () => (module);
|
80 |
+
/******/ __webpack_require__.d(getter, { a: getter });
|
81 |
+
/******/ return getter;
|
82 |
+
/******/ };
|
83 |
+
/******/ })();
|
84 |
+
/******/
|
85 |
+
/******/ /* webpack/runtime/define property getters */
|
86 |
+
/******/ (() => {
|
87 |
+
/******/ // define getter functions for harmony exports
|
88 |
+
/******/ __webpack_require__.d = (exports, definition) => {
|
89 |
+
/******/ for(var key in definition) {
|
90 |
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
91 |
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
92 |
+
/******/ }
|
93 |
+
/******/ }
|
94 |
+
/******/ };
|
95 |
+
/******/ })();
|
96 |
+
/******/
|
97 |
+
/******/ /* webpack/runtime/global */
|
98 |
+
/******/ (() => {
|
99 |
+
/******/ __webpack_require__.g = (function() {
|
100 |
+
/******/ if (typeof globalThis === 'object') return globalThis;
|
101 |
+
/******/ try {
|
102 |
+
/******/ return this || new Function('return this')();
|
103 |
+
/******/ } catch (e) {
|
104 |
+
/******/ if (typeof window === 'object') return window;
|
105 |
+
/******/ }
|
106 |
+
/******/ })();
|
107 |
+
/******/ })();
|
108 |
+
/******/
|
109 |
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
110 |
+
/******/ (() => {
|
111 |
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
112 |
+
/******/ })();
|
113 |
+
/******/
|
114 |
+
/******/ /* webpack/runtime/make namespace object */
|
115 |
+
/******/ (() => {
|
116 |
+
/******/ // define __esModule on exports
|
117 |
+
/******/ __webpack_require__.r = (exports) => {
|
118 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
119 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
120 |
+
/******/ }
|
121 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
122 |
+
/******/ };
|
123 |
+
/******/ })();
|
124 |
+
/******/
|
125 |
+
/******/ /* webpack/runtime/jsonp chunk loading */
|
126 |
+
/******/ (() => {
|
127 |
+
/******/ // no baseURI
|
128 |
+
/******/
|
129 |
+
/******/ // object to store loaded and loading chunks
|
130 |
+
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
131 |
+
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
132 |
+
/******/ var installedChunks = {
|
133 |
+
/******/ "runtime": 0
|
134 |
+
/******/ };
|
135 |
+
/******/
|
136 |
+
/******/ // no chunk on demand loading
|
137 |
+
/******/
|
138 |
+
/******/ // no prefetching
|
139 |
+
/******/
|
140 |
+
/******/ // no preloaded
|
141 |
+
/******/
|
142 |
+
/******/ // no HMR
|
143 |
+
/******/
|
144 |
+
/******/ // no HMR manifest
|
145 |
+
/******/
|
146 |
+
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
|
147 |
+
/******/
|
148 |
+
/******/ // install a JSONP callback for chunk loading
|
149 |
+
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
|
150 |
+
/******/ var [chunkIds, moreModules, runtime] = data;
|
151 |
+
/******/ // add "moreModules" to the modules object,
|
152 |
+
/******/ // then flag all "chunkIds" as loaded and fire callback
|
153 |
+
/******/ var moduleId, chunkId, i = 0;
|
154 |
+
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
|
155 |
+
/******/ for(moduleId in moreModules) {
|
156 |
+
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
157 |
+
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
158 |
+
/******/ }
|
159 |
+
/******/ }
|
160 |
+
/******/ if(runtime) var result = runtime(__webpack_require__);
|
161 |
+
/******/ }
|
162 |
+
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
163 |
+
/******/ for(;i < chunkIds.length; i++) {
|
164 |
+
/******/ chunkId = chunkIds[i];
|
165 |
+
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
166 |
+
/******/ installedChunks[chunkId][0]();
|
167 |
+
/******/ }
|
168 |
+
/******/ installedChunks[chunkId] = 0;
|
169 |
+
/******/ }
|
170 |
+
/******/ return __webpack_require__.O(result);
|
171 |
+
/******/ }
|
172 |
+
/******/
|
173 |
+
/******/ var chunkLoadingGlobal = self["webpackChunkhtmega_options"] = self["webpackChunkhtmega_options"] || [];
|
174 |
+
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
|
175 |
+
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
176 |
+
/******/ })();
|
177 |
+
/******/
|
178 |
+
/************************************************************************/
|
179 |
+
/******/
|
180 |
+
/******/
|
181 |
+
/******/ })()
|
182 |
+
;
|
admin/include/settings-panel/assets/js/runtime.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e].call(i.exports,i,i.exports,o),i.exports}o.m=r,e=[],o.O=(r,t,n,i)=>{if(!t){var a=1/0;for(s=0;s<e.length;s++){for(var[t,n,i]=e[s],l=!0,u=0;u<t.length;u++)(!1&i||a>=i)&&Object.keys(o.O).every((e=>o.O[e](t[u])))?t.splice(u--,1):(l=!1,i<a&&(a=i));if(l){e.splice(s--,1);var f=n();void 0!==f&&(r=f)}}return r}i=i||0;for(var s=e.length;s>0&&e[s-1][2]>i;s--)e[s]=e[s-1];e[s]=[t,n,i]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={666:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,i,[a,l,u]=t,f=0;if(a.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);if(u)var s=u(o)}for(r&&r(t);f<a.length;f++)i=a[f],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(s)},t=self.webpackChunkhtmega_options=self.webpackChunkhtmega_options||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();
|
admin/include/settings-panel/assets/js/vendors.js
ADDED
@@ -0,0 +1,647 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
3 |
+
* This devtool is neither made for production nor for readable output files.
|
4 |
+
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
5 |
+
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
6 |
+
* or disable the default devtool with "devtool: false".
|
7 |
+
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
8 |
+
*/
|
9 |
+
(self["webpackChunkhtmega_options"] = self["webpackChunkhtmega_options"] || []).push([["vendors"],{
|
10 |
+
|
11 |
+
/***/ "./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js":
|
12 |
+
/*!***************************************************************************!*\
|
13 |
+
!*** ./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js ***!
|
14 |
+
\***************************************************************************/
|
15 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
16 |
+
|
17 |
+
"use strict";
|
18 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BASE_TRANSITION\": () => (/* binding */ BASE_TRANSITION),\n/* harmony export */ \"CAMELIZE\": () => (/* binding */ CAMELIZE),\n/* harmony export */ \"CAPITALIZE\": () => (/* binding */ CAPITALIZE),\n/* harmony export */ \"CREATE_BLOCK\": () => (/* binding */ CREATE_BLOCK),\n/* harmony export */ \"CREATE_COMMENT\": () => (/* binding */ CREATE_COMMENT),\n/* harmony export */ \"CREATE_ELEMENT_BLOCK\": () => (/* binding */ CREATE_ELEMENT_BLOCK),\n/* harmony export */ \"CREATE_ELEMENT_VNODE\": () => (/* binding */ CREATE_ELEMENT_VNODE),\n/* harmony export */ \"CREATE_SLOTS\": () => (/* binding */ CREATE_SLOTS),\n/* harmony export */ \"CREATE_STATIC\": () => (/* binding */ CREATE_STATIC),\n/* harmony export */ \"CREATE_TEXT\": () => (/* binding */ CREATE_TEXT),\n/* harmony export */ \"CREATE_VNODE\": () => (/* binding */ CREATE_VNODE),\n/* harmony export */ \"FRAGMENT\": () => (/* binding */ FRAGMENT),\n/* harmony export */ \"GUARD_REACTIVE_PROPS\": () => (/* binding */ GUARD_REACTIVE_PROPS),\n/* harmony export */ \"IS_MEMO_SAME\": () => (/* binding */ IS_MEMO_SAME),\n/* harmony export */ \"IS_REF\": () => (/* binding */ IS_REF),\n/* harmony export */ \"KEEP_ALIVE\": () => (/* binding */ KEEP_ALIVE),\n/* harmony export */ \"MERGE_PROPS\": () => (/* binding */ MERGE_PROPS),\n/* harmony export */ \"NORMALIZE_CLASS\": () => (/* binding */ NORMALIZE_CLASS),\n/* harmony export */ \"NORMALIZE_PROPS\": () => (/* binding */ NORMALIZE_PROPS),\n/* harmony export */ \"NORMALIZE_STYLE\": () => (/* binding */ NORMALIZE_STYLE),\n/* harmony export */ \"OPEN_BLOCK\": () => (/* binding */ OPEN_BLOCK),\n/* harmony export */ \"POP_SCOPE_ID\": () => (/* binding */ POP_SCOPE_ID),\n/* harmony export */ \"PUSH_SCOPE_ID\": () => (/* binding */ PUSH_SCOPE_ID),\n/* harmony export */ \"RENDER_LIST\": () => (/* binding */ RENDER_LIST),\n/* harmony export */ \"RENDER_SLOT\": () => (/* binding */ RENDER_SLOT),\n/* harmony export */ \"RESOLVE_COMPONENT\": () => (/* binding */ RESOLVE_COMPONENT),\n/* harmony export */ \"RESOLVE_DIRECTIVE\": () => (/* binding */ RESOLVE_DIRECTIVE),\n/* harmony export */ \"RESOLVE_DYNAMIC_COMPONENT\": () => (/* binding */ RESOLVE_DYNAMIC_COMPONENT),\n/* harmony export */ \"RESOLVE_FILTER\": () => (/* binding */ RESOLVE_FILTER),\n/* harmony export */ \"SET_BLOCK_TRACKING\": () => (/* binding */ SET_BLOCK_TRACKING),\n/* harmony export */ \"SUSPENSE\": () => (/* binding */ SUSPENSE),\n/* harmony export */ \"TELEPORT\": () => (/* binding */ TELEPORT),\n/* harmony export */ \"TO_DISPLAY_STRING\": () => (/* binding */ TO_DISPLAY_STRING),\n/* harmony export */ \"TO_HANDLERS\": () => (/* binding */ TO_HANDLERS),\n/* harmony export */ \"TO_HANDLER_KEY\": () => (/* binding */ TO_HANDLER_KEY),\n/* harmony export */ \"UNREF\": () => (/* binding */ UNREF),\n/* harmony export */ \"WITH_CTX\": () => (/* binding */ WITH_CTX),\n/* harmony export */ \"WITH_DIRECTIVES\": () => (/* binding */ WITH_DIRECTIVES),\n/* harmony export */ \"WITH_MEMO\": () => (/* binding */ WITH_MEMO),\n/* harmony export */ \"advancePositionWithClone\": () => (/* binding */ advancePositionWithClone),\n/* harmony export */ \"advancePositionWithMutation\": () => (/* binding */ advancePositionWithMutation),\n/* harmony export */ \"assert\": () => (/* binding */ assert),\n/* harmony export */ \"baseCompile\": () => (/* binding */ baseCompile),\n/* harmony export */ \"baseParse\": () => (/* binding */ baseParse),\n/* harmony export */ \"buildDirectiveArgs\": () => (/* binding */ buildDirectiveArgs),\n/* harmony export */ \"buildProps\": () => (/* binding */ buildProps),\n/* harmony export */ \"buildSlots\": () => (/* binding */ buildSlots),\n/* harmony export */ \"checkCompatEnabled\": () => (/* binding */ checkCompatEnabled),\n/* harmony export */ \"createArrayExpression\": () => (/* binding */ createArrayExpression),\n/* harmony export */ \"createAssignmentExpression\": () => (/* binding */ createAssignmentExpression),\n/* harmony export */ \"createBlockStatement\": () => (/* binding */ createBlockStatement),\n/* harmony export */ \"createCacheExpression\": () => (/* binding */ createCacheExpression),\n/* harmony export */ \"createCallExpression\": () => (/* binding */ createCallExpression),\n/* harmony export */ \"createCompilerError\": () => (/* binding */ createCompilerError),\n/* harmony export */ \"createCompoundExpression\": () => (/* binding */ createCompoundExpression),\n/* harmony export */ \"createConditionalExpression\": () => (/* binding */ createConditionalExpression),\n/* harmony export */ \"createForLoopParams\": () => (/* binding */ createForLoopParams),\n/* harmony export */ \"createFunctionExpression\": () => (/* binding */ createFunctionExpression),\n/* harmony export */ \"createIfStatement\": () => (/* binding */ createIfStatement),\n/* harmony export */ \"createInterpolation\": () => (/* binding */ createInterpolation),\n/* harmony export */ \"createObjectExpression\": () => (/* binding */ createObjectExpression),\n/* harmony export */ \"createObjectProperty\": () => (/* binding */ createObjectProperty),\n/* harmony export */ \"createReturnStatement\": () => (/* binding */ createReturnStatement),\n/* harmony export */ \"createRoot\": () => (/* binding */ createRoot),\n/* harmony export */ \"createSequenceExpression\": () => (/* binding */ createSequenceExpression),\n/* harmony export */ \"createSimpleExpression\": () => (/* binding */ createSimpleExpression),\n/* harmony export */ \"createStructuralDirectiveTransform\": () => (/* binding */ createStructuralDirectiveTransform),\n/* harmony export */ \"createTemplateLiteral\": () => (/* binding */ createTemplateLiteral),\n/* harmony export */ \"createTransformContext\": () => (/* binding */ createTransformContext),\n/* harmony export */ \"createVNodeCall\": () => (/* binding */ createVNodeCall),\n/* harmony export */ \"extractIdentifiers\": () => (/* binding */ extractIdentifiers),\n/* harmony export */ \"findDir\": () => (/* binding */ findDir),\n/* harmony export */ \"findProp\": () => (/* binding */ findProp),\n/* harmony export */ \"generate\": () => (/* binding */ generate),\n/* harmony export */ \"generateCodeFrame\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_0__.generateCodeFrame),\n/* harmony export */ \"getBaseTransformPreset\": () => (/* binding */ getBaseTransformPreset),\n/* harmony export */ \"getConstantType\": () => (/* binding */ getConstantType),\n/* harmony export */ \"getInnerRange\": () => (/* binding */ getInnerRange),\n/* harmony export */ \"getMemoedVNodeCall\": () => (/* binding */ getMemoedVNodeCall),\n/* harmony export */ \"getVNodeBlockHelper\": () => (/* binding */ getVNodeBlockHelper),\n/* harmony export */ \"getVNodeHelper\": () => (/* binding */ getVNodeHelper),\n/* harmony export */ \"hasDynamicKeyVBind\": () => (/* binding */ hasDynamicKeyVBind),\n/* harmony export */ \"hasScopeRef\": () => (/* binding */ hasScopeRef),\n/* harmony export */ \"helperNameMap\": () => (/* binding */ helperNameMap),\n/* harmony export */ \"injectProp\": () => (/* binding */ injectProp),\n/* harmony export */ \"isBuiltInType\": () => (/* binding */ isBuiltInType),\n/* harmony export */ \"isCoreComponent\": () => (/* binding */ isCoreComponent),\n/* harmony export */ \"isFunctionType\": () => (/* binding */ isFunctionType),\n/* harmony export */ \"isInDestructureAssignment\": () => (/* binding */ isInDestructureAssignment),\n/* harmony export */ \"isMemberExpression\": () => (/* binding */ isMemberExpression),\n/* harmony export */ \"isMemberExpressionBrowser\": () => (/* binding */ isMemberExpressionBrowser),\n/* harmony export */ \"isMemberExpressionNode\": () => (/* binding */ isMemberExpressionNode),\n/* harmony export */ \"isReferencedIdentifier\": () => (/* binding */ isReferencedIdentifier),\n/* harmony export */ \"isSimpleIdentifier\": () => (/* binding */ isSimpleIdentifier),\n/* harmony export */ \"isSlotOutlet\": () => (/* binding */ isSlotOutlet),\n/* harmony export */ \"isStaticArgOf\": () => (/* binding */ isStaticArgOf),\n/* harmony export */ \"isStaticExp\": () => (/* binding */ isStaticExp),\n/* harmony export */ \"isStaticProperty\": () => (/* binding */ isStaticProperty),\n/* harmony export */ \"isStaticPropertyKey\": () => (/* binding */ isStaticPropertyKey),\n/* harmony export */ \"isTemplateNode\": () => (/* binding */ isTemplateNode),\n/* harmony export */ \"isText\": () => (/* binding */ isText),\n/* harmony export */ \"isVSlot\": () => (/* binding */ isVSlot),\n/* harmony export */ \"locStub\": () => (/* binding */ locStub),\n/* harmony export */ \"makeBlock\": () => (/* binding */ makeBlock),\n/* harmony export */ \"noopDirectiveTransform\": () => (/* binding */ noopDirectiveTransform),\n/* harmony export */ \"processExpression\": () => (/* binding */ processExpression),\n/* harmony export */ \"processFor\": () => (/* binding */ processFor),\n/* harmony export */ \"processIf\": () => (/* binding */ processIf),\n/* harmony export */ \"processSlotOutlet\": () => (/* binding */ processSlotOutlet),\n/* harmony export */ \"registerRuntimeHelpers\": () => (/* binding */ registerRuntimeHelpers),\n/* harmony export */ \"resolveComponentType\": () => (/* binding */ resolveComponentType),\n/* harmony export */ \"toValidAssetId\": () => (/* binding */ toValidAssetId),\n/* harmony export */ \"trackSlotScopes\": () => (/* binding */ trackSlotScopes),\n/* harmony export */ \"trackVForSlotScopes\": () => (/* binding */ trackVForSlotScopes),\n/* harmony export */ \"transform\": () => (/* binding */ transform),\n/* harmony export */ \"transformBind\": () => (/* binding */ transformBind),\n/* harmony export */ \"transformElement\": () => (/* binding */ transformElement),\n/* harmony export */ \"transformExpression\": () => (/* binding */ transformExpression),\n/* harmony export */ \"transformModel\": () => (/* binding */ transformModel),\n/* harmony export */ \"transformOn\": () => (/* binding */ transformOn),\n/* harmony export */ \"traverseNode\": () => (/* binding */ traverseNode),\n/* harmony export */ \"walkBlockDeclarations\": () => (/* binding */ walkBlockDeclarations),\n/* harmony export */ \"walkFunctionParams\": () => (/* binding */ walkFunctionParams),\n/* harmony export */ \"walkIdentifiers\": () => (/* binding */ walkIdentifiers),\n/* harmony export */ \"warnDeprecation\": () => (/* binding */ warnDeprecation)\n/* harmony export */ });\n/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n\n\n\nfunction defaultOnError(error) {\n throw error;\n}\nfunction defaultOnWarn(msg) {\n ( true) && console.warn(`[Vue warn] ${msg.message}`);\n}\nfunction createCompilerError(code, loc, messages, additionalMessage) {\n const msg = true\n ? (messages || errorMessages)[code] + (additionalMessage || ``)\n : 0;\n const error = new SyntaxError(String(msg));\n error.code = code;\n error.loc = loc;\n return error;\n}\nconst errorMessages = {\n // parse errors\n [0 /* ErrorCodes.ABRUPT_CLOSING_OF_EMPTY_COMMENT */]: 'Illegal comment.',\n [1 /* ErrorCodes.CDATA_IN_HTML_CONTENT */]: 'CDATA section is allowed only in XML context.',\n [2 /* ErrorCodes.DUPLICATE_ATTRIBUTE */]: 'Duplicate attribute.',\n [3 /* ErrorCodes.END_TAG_WITH_ATTRIBUTES */]: 'End tag cannot have attributes.',\n [4 /* ErrorCodes.END_TAG_WITH_TRAILING_SOLIDUS */]: \"Illegal '/' in tags.\",\n [5 /* ErrorCodes.EOF_BEFORE_TAG_NAME */]: 'Unexpected EOF in tag.',\n [6 /* ErrorCodes.EOF_IN_CDATA */]: 'Unexpected EOF in CDATA section.',\n [7 /* ErrorCodes.EOF_IN_COMMENT */]: 'Unexpected EOF in comment.',\n [8 /* ErrorCodes.EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT */]: 'Unexpected EOF in script.',\n [9 /* ErrorCodes.EOF_IN_TAG */]: 'Unexpected EOF in tag.',\n [10 /* ErrorCodes.INCORRECTLY_CLOSED_COMMENT */]: 'Incorrectly closed comment.',\n [11 /* ErrorCodes.INCORRECTLY_OPENED_COMMENT */]: 'Incorrectly opened comment.',\n [12 /* ErrorCodes.INVALID_FIRST_CHARACTER_OF_TAG_NAME */]: \"Illegal tag name. Use '<' to print '<'.\",\n [13 /* ErrorCodes.MISSING_ATTRIBUTE_VALUE */]: 'Attribute value was expected.',\n [14 /* ErrorCodes.MISSING_END_TAG_NAME */]: 'End tag name was expected.',\n [15 /* ErrorCodes.MISSING_WHITESPACE_BETWEEN_ATTRIBUTES */]: 'Whitespace was expected.',\n [16 /* ErrorCodes.NESTED_COMMENT */]: \"Unexpected '<!--' in comment.\",\n [17 /* ErrorCodes.UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME */]: 'Attribute name cannot contain U+0022 (\"), U+0027 (\\'), and U+003C (<).',\n [18 /* ErrorCodes.UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE */]: 'Unquoted attribute value cannot contain U+0022 (\"), U+0027 (\\'), U+003C (<), U+003D (=), and U+0060 (`).',\n [19 /* ErrorCodes.UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME */]: \"Attribute name cannot start with '='.\",\n [21 /* ErrorCodes.UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME */]: \"'<?' is allowed only in XML context.\",\n [20 /* ErrorCodes.UNEXPECTED_NULL_CHARACTER */]: `Unexpected null character.`,\n [22 /* ErrorCodes.UNEXPECTED_SOLIDUS_IN_TAG */]: \"Illegal '/' in tags.\",\n // Vue-specific parse errors\n [23 /* ErrorCodes.X_INVALID_END_TAG */]: 'Invalid end tag.',\n [24 /* ErrorCodes.X_MISSING_END_TAG */]: 'Element is missing end tag.',\n [25 /* ErrorCodes.X_MISSING_INTERPOLATION_END */]: 'Interpolation end sign was not found.',\n [27 /* ErrorCodes.X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END */]: 'End bracket for dynamic directive argument was not found. ' +\n 'Note that dynamic directive argument cannot contain spaces.',\n [26 /* ErrorCodes.X_MISSING_DIRECTIVE_NAME */]: 'Legal directive name was expected.',\n // transform errors\n [28 /* ErrorCodes.X_V_IF_NO_EXPRESSION */]: `v-if/v-else-if is missing expression.`,\n [29 /* ErrorCodes.X_V_IF_SAME_KEY */]: `v-if/else branches must use unique keys.`,\n [30 /* ErrorCodes.X_V_ELSE_NO_ADJACENT_IF */]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,\n [31 /* ErrorCodes.X_V_FOR_NO_EXPRESSION */]: `v-for is missing expression.`,\n [32 /* ErrorCodes.X_V_FOR_MALFORMED_EXPRESSION */]: `v-for has invalid expression.`,\n [33 /* ErrorCodes.X_V_FOR_TEMPLATE_KEY_PLACEMENT */]: `<template v-for> key should be placed on the <template> tag.`,\n [34 /* ErrorCodes.X_V_BIND_NO_EXPRESSION */]: `v-bind is missing expression.`,\n [35 /* ErrorCodes.X_V_ON_NO_EXPRESSION */]: `v-on is missing expression.`,\n [36 /* ErrorCodes.X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET */]: `Unexpected custom directive on <slot> outlet.`,\n [37 /* ErrorCodes.X_V_SLOT_MIXED_SLOT_USAGE */]: `Mixed v-slot usage on both the component and nested <template>.` +\n `When there are multiple named slots, all slots should use <template> ` +\n `syntax to avoid scope ambiguity.`,\n [38 /* ErrorCodes.X_V_SLOT_DUPLICATE_SLOT_NAMES */]: `Duplicate slot names found. `,\n [39 /* ErrorCodes.X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN */]: `Extraneous children found when component already has explicitly named ` +\n `default slot. These children will be ignored.`,\n [40 /* ErrorCodes.X_V_SLOT_MISPLACED */]: `v-slot can only be used on components or <template> tags.`,\n [41 /* ErrorCodes.X_V_MODEL_NO_EXPRESSION */]: `v-model is missing expression.`,\n [42 /* ErrorCodes.X_V_MODEL_MALFORMED_EXPRESSION */]: `v-model value must be a valid JavaScript member expression.`,\n [43 /* ErrorCodes.X_V_MODEL_ON_SCOPE_VARIABLE */]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,\n [44 /* ErrorCodes.X_INVALID_EXPRESSION */]: `Error parsing JavaScript expression: `,\n [45 /* ErrorCodes.X_KEEP_ALIVE_INVALID_CHILDREN */]: `<KeepAlive> expects exactly one child component.`,\n // generic errors\n [46 /* ErrorCodes.X_PREFIX_ID_NOT_SUPPORTED */]: `\"prefixIdentifiers\" option is not supported in this build of compiler.`,\n [47 /* ErrorCodes.X_MODULE_MODE_NOT_SUPPORTED */]: `ES module mode is not supported in this build of compiler.`,\n [48 /* ErrorCodes.X_CACHE_HANDLER_NOT_SUPPORTED */]: `\"cacheHandlers\" option is only supported when the \"prefixIdentifiers\" option is enabled.`,\n [49 /* ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED */]: `\"scopeId\" option is only supported in module mode.`,\n // just to fulfill types\n [50 /* ErrorCodes.__EXTEND_POINT__ */]: ``\n};\n\nconst FRAGMENT = Symbol(( true) ? `Fragment` : 0);\nconst TELEPORT = Symbol(( true) ? `Teleport` : 0);\nconst SUSPENSE = Symbol(( true) ? `Suspense` : 0);\nconst KEEP_ALIVE = Symbol(( true) ? `KeepAlive` : 0);\nconst BASE_TRANSITION = Symbol(( true) ? `BaseTransition` : 0);\nconst OPEN_BLOCK = Symbol(( true) ? `openBlock` : 0);\nconst CREATE_BLOCK = Symbol(( true) ? `createBlock` : 0);\nconst CREATE_ELEMENT_BLOCK = Symbol(( true) ? `createElementBlock` : 0);\nconst CREATE_VNODE = Symbol(( true) ? `createVNode` : 0);\nconst CREATE_ELEMENT_VNODE = Symbol(( true) ? `createElementVNode` : 0);\nconst CREATE_COMMENT = Symbol(( true) ? `createCommentVNode` : 0);\nconst CREATE_TEXT = Symbol(( true) ? `createTextVNode` : 0);\nconst CREATE_STATIC = Symbol(( true) ? `createStaticVNode` : 0);\nconst RESOLVE_COMPONENT = Symbol(( true) ? `resolveComponent` : 0);\nconst RESOLVE_DYNAMIC_COMPONENT = Symbol(( true) ? `resolveDynamicComponent` : 0);\nconst RESOLVE_DIRECTIVE = Symbol(( true) ? `resolveDirective` : 0);\nconst RESOLVE_FILTER = Symbol(( true) ? `resolveFilter` : 0);\nconst WITH_DIRECTIVES = Symbol(( true) ? `withDirectives` : 0);\nconst RENDER_LIST = Symbol(( true) ? `renderList` : 0);\nconst RENDER_SLOT = Symbol(( true) ? `renderSlot` : 0);\nconst CREATE_SLOTS = Symbol(( true) ? `createSlots` : 0);\nconst TO_DISPLAY_STRING = Symbol(( true) ? `toDisplayString` : 0);\nconst MERGE_PROPS = Symbol(( true) ? `mergeProps` : 0);\nconst NORMALIZE_CLASS = Symbol(( true) ? `normalizeClass` : 0);\nconst NORMALIZE_STYLE = Symbol(( true) ? `normalizeStyle` : 0);\nconst NORMALIZE_PROPS = Symbol(( true) ? `normalizeProps` : 0);\nconst GUARD_REACTIVE_PROPS = Symbol(( true) ? `guardReactiveProps` : 0);\nconst TO_HANDLERS = Symbol(( true) ? `toHandlers` : 0);\nconst CAMELIZE = Symbol(( true) ? `camelize` : 0);\nconst CAPITALIZE = Symbol(( true) ? `capitalize` : 0);\nconst TO_HANDLER_KEY = Symbol(( true) ? `toHandlerKey` : 0);\nconst SET_BLOCK_TRACKING = Symbol(( true) ? `setBlockTracking` : 0);\nconst PUSH_SCOPE_ID = Symbol(( true) ? `pushScopeId` : 0);\nconst POP_SCOPE_ID = Symbol(( true) ? `popScopeId` : 0);\nconst WITH_CTX = Symbol(( true) ? `withCtx` : 0);\nconst UNREF = Symbol(( true) ? `unref` : 0);\nconst IS_REF = Symbol(( true) ? `isRef` : 0);\nconst WITH_MEMO = Symbol(( true) ? `withMemo` : 0);\nconst IS_MEMO_SAME = Symbol(( true) ? `isMemoSame` : 0);\n// Name mapping for runtime helpers that need to be imported from 'vue' in\n// generated code. Make sure these are correctly exported in the runtime!\nconst helperNameMap = {\n [FRAGMENT]: `Fragment`,\n [TELEPORT]: `Teleport`,\n [SUSPENSE]: `Suspense`,\n [KEEP_ALIVE]: `KeepAlive`,\n [BASE_TRANSITION]: `BaseTransition`,\n [OPEN_BLOCK]: `openBlock`,\n [CREATE_BLOCK]: `createBlock`,\n [CREATE_ELEMENT_BLOCK]: `createElementBlock`,\n [CREATE_VNODE]: `createVNode`,\n [CREATE_ELEMENT_VNODE]: `createElementVNode`,\n [CREATE_COMMENT]: `createCommentVNode`,\n [CREATE_TEXT]: `createTextVNode`,\n [CREATE_STATIC]: `createStaticVNode`,\n [RESOLVE_COMPONENT]: `resolveComponent`,\n [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,\n [RESOLVE_DIRECTIVE]: `resolveDirective`,\n [RESOLVE_FILTER]: `resolveFilter`,\n [WITH_DIRECTIVES]: `withDirectives`,\n [RENDER_LIST]: `renderList`,\n [RENDER_SLOT]: `renderSlot`,\n [CREATE_SLOTS]: `createSlots`,\n [TO_DISPLAY_STRING]: `toDisplayString`,\n [MERGE_PROPS]: `mergeProps`,\n [NORMALIZE_CLASS]: `normalizeClass`,\n [NORMALIZE_STYLE]: `normalizeStyle`,\n [NORMALIZE_PROPS]: `normalizeProps`,\n [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,\n [TO_HANDLERS]: `toHandlers`,\n [CAMELIZE]: `camelize`,\n [CAPITALIZE]: `capitalize`,\n [TO_HANDLER_KEY]: `toHandlerKey`,\n [SET_BLOCK_TRACKING]: `setBlockTracking`,\n [PUSH_SCOPE_ID]: `pushScopeId`,\n [POP_SCOPE_ID]: `popScopeId`,\n [WITH_CTX]: `withCtx`,\n [UNREF]: `unref`,\n [IS_REF]: `isRef`,\n [WITH_MEMO]: `withMemo`,\n [IS_MEMO_SAME]: `isMemoSame`\n};\nfunction registerRuntimeHelpers(helpers) {\n Object.getOwnPropertySymbols(helpers).forEach(s => {\n helperNameMap[s] = helpers[s];\n });\n}\n\n// AST Utilities ---------------------------------------------------------------\n// Some expressions, e.g. sequence and conditional expressions, are never\n// associated with template nodes, so their source locations are just a stub.\n// Container types like CompoundExpression also don't need a real location.\nconst locStub = {\n source: '',\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createRoot(children, loc = locStub) {\n return {\n type: 0 /* NodeTypes.ROOT */,\n children,\n helpers: [],\n components: [],\n directives: [],\n hoists: [],\n imports: [],\n cached: 0,\n temps: 0,\n codegenNode: undefined,\n loc\n };\n}\nfunction createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {\n if (context) {\n if (isBlock) {\n context.helper(OPEN_BLOCK);\n context.helper(getVNodeBlockHelper(context.inSSR, isComponent));\n }\n else {\n context.helper(getVNodeHelper(context.inSSR, isComponent));\n }\n if (directives) {\n context.helper(WITH_DIRECTIVES);\n }\n }\n return {\n type: 13 /* NodeTypes.VNODE_CALL */,\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent,\n loc\n };\n}\nfunction createArrayExpression(elements, loc = locStub) {\n return {\n type: 17 /* NodeTypes.JS_ARRAY_EXPRESSION */,\n loc,\n elements\n };\n}\nfunction createObjectExpression(properties, loc = locStub) {\n return {\n type: 15 /* NodeTypes.JS_OBJECT_EXPRESSION */,\n loc,\n properties\n };\n}\nfunction createObjectProperty(key, value) {\n return {\n type: 16 /* NodeTypes.JS_PROPERTY */,\n loc: locStub,\n key: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(key) ? createSimpleExpression(key, true) : key,\n value\n };\n}\nfunction createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0 /* ConstantTypes.NOT_CONSTANT */) {\n return {\n type: 4 /* NodeTypes.SIMPLE_EXPRESSION */,\n loc,\n content,\n isStatic,\n constType: isStatic ? 3 /* ConstantTypes.CAN_STRINGIFY */ : constType\n };\n}\nfunction createInterpolation(content, loc) {\n return {\n type: 5 /* NodeTypes.INTERPOLATION */,\n loc,\n content: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(content)\n ? createSimpleExpression(content, false, loc)\n : content\n };\n}\nfunction createCompoundExpression(children, loc = locStub) {\n return {\n type: 8 /* NodeTypes.COMPOUND_EXPRESSION */,\n loc,\n children\n };\n}\nfunction createCallExpression(callee, args = [], loc = locStub) {\n return {\n type: 14 /* NodeTypes.JS_CALL_EXPRESSION */,\n loc,\n callee,\n arguments: args\n };\n}\nfunction createFunctionExpression(params, returns = undefined, newline = false, isSlot = false, loc = locStub) {\n return {\n type: 18 /* NodeTypes.JS_FUNCTION_EXPRESSION */,\n params,\n returns,\n newline,\n isSlot,\n loc\n };\n}\nfunction createConditionalExpression(test, consequent, alternate, newline = true) {\n return {\n type: 19 /* NodeTypes.JS_CONDITIONAL_EXPRESSION */,\n test,\n consequent,\n alternate,\n newline,\n loc: locStub\n };\n}\nfunction createCacheExpression(index, value, isVNode = false) {\n return {\n type: 20 /* NodeTypes.JS_CACHE_EXPRESSION */,\n index,\n value,\n isVNode,\n loc: locStub\n };\n}\nfunction createBlockStatement(body) {\n return {\n type: 21 /* NodeTypes.JS_BLOCK_STATEMENT */,\n body,\n loc: locStub\n };\n}\nfunction createTemplateLiteral(elements) {\n return {\n type: 22 /* NodeTypes.JS_TEMPLATE_LITERAL */,\n elements,\n loc: locStub\n };\n}\nfunction createIfStatement(test, consequent, alternate) {\n return {\n type: 23 /* NodeTypes.JS_IF_STATEMENT */,\n test,\n consequent,\n alternate,\n loc: locStub\n };\n}\nfunction createAssignmentExpression(left, right) {\n return {\n type: 24 /* NodeTypes.JS_ASSIGNMENT_EXPRESSION */,\n left,\n right,\n loc: locStub\n };\n}\nfunction createSequenceExpression(expressions) {\n return {\n type: 25 /* NodeTypes.JS_SEQUENCE_EXPRESSION */,\n expressions,\n loc: locStub\n };\n}\nfunction createReturnStatement(returns) {\n return {\n type: 26 /* NodeTypes.JS_RETURN_STATEMENT */,\n returns,\n loc: locStub\n };\n}\n\nconst isStaticExp = (p) => p.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ && p.isStatic;\nconst isBuiltInType = (tag, expected) => tag === expected || tag === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hyphenate)(expected);\nfunction isCoreComponent(tag) {\n if (isBuiltInType(tag, 'Teleport')) {\n return TELEPORT;\n }\n else if (isBuiltInType(tag, 'Suspense')) {\n return SUSPENSE;\n }\n else if (isBuiltInType(tag, 'KeepAlive')) {\n return KEEP_ALIVE;\n }\n else if (isBuiltInType(tag, 'BaseTransition')) {\n return BASE_TRANSITION;\n }\n}\nconst nonIdentifierRE = /^\\d|[^\\$\\w]/;\nconst isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);\nconst validFirstIdentCharRE = /[A-Za-z_$\\xA0-\\uFFFF]/;\nconst validIdentCharRE = /[\\.\\?\\w$\\xA0-\\uFFFF]/;\nconst whitespaceRE = /\\s+[.[]\\s*|\\s*[.[]\\s+/g;\n/**\n * Simple lexer to check if an expression is a member expression. This is\n * lax and only checks validity at the root level (i.e. does not validate exps\n * inside square brackets), but it's ok since these are only used on template\n * expressions and false positives are invalid expressions in the first place.\n */\nconst isMemberExpressionBrowser = (path) => {\n // remove whitespaces around . or [ first\n path = path.trim().replace(whitespaceRE, s => s.trim());\n let state = 0 /* MemberExpLexState.inMemberExp */;\n let stateStack = [];\n let currentOpenBracketCount = 0;\n let currentOpenParensCount = 0;\n let currentStringType = null;\n for (let i = 0; i < path.length; i++) {\n const char = path.charAt(i);\n switch (state) {\n case 0 /* MemberExpLexState.inMemberExp */:\n if (char === '[') {\n stateStack.push(state);\n state = 1 /* MemberExpLexState.inBrackets */;\n currentOpenBracketCount++;\n }\n else if (char === '(') {\n stateStack.push(state);\n state = 2 /* MemberExpLexState.inParens */;\n currentOpenParensCount++;\n }\n else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {\n return false;\n }\n break;\n case 1 /* MemberExpLexState.inBrackets */:\n if (char === `'` || char === `\"` || char === '`') {\n stateStack.push(state);\n state = 3 /* MemberExpLexState.inString */;\n currentStringType = char;\n }\n else if (char === `[`) {\n currentOpenBracketCount++;\n }\n else if (char === `]`) {\n if (!--currentOpenBracketCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 2 /* MemberExpLexState.inParens */:\n if (char === `'` || char === `\"` || char === '`') {\n stateStack.push(state);\n state = 3 /* MemberExpLexState.inString */;\n currentStringType = char;\n }\n else if (char === `(`) {\n currentOpenParensCount++;\n }\n else if (char === `)`) {\n // if the exp ends as a call then it should not be considered valid\n if (i === path.length - 1) {\n return false;\n }\n if (!--currentOpenParensCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 3 /* MemberExpLexState.inString */:\n if (char === currentStringType) {\n state = stateStack.pop();\n currentStringType = null;\n }\n break;\n }\n }\n return !currentOpenBracketCount && !currentOpenParensCount;\n};\nconst isMemberExpressionNode = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NOOP\n ;\nconst isMemberExpression = isMemberExpressionBrowser\n ;\nfunction getInnerRange(loc, offset, length) {\n const source = loc.source.slice(offset, offset + length);\n const newLoc = {\n source,\n start: advancePositionWithClone(loc.start, loc.source, offset),\n end: loc.end\n };\n if (length != null) {\n newLoc.end = advancePositionWithClone(loc.start, loc.source, offset + length);\n }\n return newLoc;\n}\nfunction advancePositionWithClone(pos, source, numberOfCharacters = source.length) {\n return advancePositionWithMutation((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, pos), source, numberOfCharacters);\n}\n// advance by mutation without cloning (for performance reasons), since this\n// gets called a lot in the parser\nfunction advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {\n let linesCount = 0;\n let lastNewLinePos = -1;\n for (let i = 0; i < numberOfCharacters; i++) {\n if (source.charCodeAt(i) === 10 /* newline char code */) {\n linesCount++;\n lastNewLinePos = i;\n }\n }\n pos.offset += numberOfCharacters;\n pos.line += linesCount;\n pos.column =\n lastNewLinePos === -1\n ? pos.column + numberOfCharacters\n : numberOfCharacters - lastNewLinePos;\n return pos;\n}\nfunction assert(condition, msg) {\n /* istanbul ignore if */\n if (!condition) {\n throw new Error(msg || `unexpected compiler condition`);\n }\n}\nfunction findDir(node, name, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 /* NodeTypes.DIRECTIVE */ &&\n (allowEmpty || p.exp) &&\n ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(name) ? p.name === name : name.test(p.name))) {\n return p;\n }\n }\n}\nfunction findProp(node, name, dynamicOnly = false, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6 /* NodeTypes.ATTRIBUTE */) {\n if (dynamicOnly)\n continue;\n if (p.name === name && (p.value || allowEmpty)) {\n return p;\n }\n }\n else if (p.name === 'bind' &&\n (p.exp || allowEmpty) &&\n isStaticArgOf(p.arg, name)) {\n return p;\n }\n }\n}\nfunction isStaticArgOf(arg, name) {\n return !!(arg && isStaticExp(arg) && arg.content === name);\n}\nfunction hasDynamicKeyVBind(node) {\n return node.props.some(p => p.type === 7 /* NodeTypes.DIRECTIVE */ &&\n p.name === 'bind' &&\n (!p.arg || // v-bind=\"obj\"\n p.arg.type !== 4 /* NodeTypes.SIMPLE_EXPRESSION */ || // v-bind:[_ctx.foo]\n !p.arg.isStatic) // v-bind:[foo]\n );\n}\nfunction isText(node) {\n return node.type === 5 /* NodeTypes.INTERPOLATION */ || node.type === 2 /* NodeTypes.TEXT */;\n}\nfunction isVSlot(p) {\n return p.type === 7 /* NodeTypes.DIRECTIVE */ && p.name === 'slot';\n}\nfunction isTemplateNode(node) {\n return (node.type === 1 /* NodeTypes.ELEMENT */ && node.tagType === 3 /* ElementTypes.TEMPLATE */);\n}\nfunction isSlotOutlet(node) {\n return node.type === 1 /* NodeTypes.ELEMENT */ && node.tagType === 2 /* ElementTypes.SLOT */;\n}\nfunction getVNodeHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;\n}\nfunction getVNodeBlockHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;\n}\nconst propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);\nfunction getUnnormalizedProps(props, callPath = []) {\n if (props &&\n !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(props) &&\n props.type === 14 /* NodeTypes.JS_CALL_EXPRESSION */) {\n const callee = props.callee;\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(callee) && propsHelperSet.has(callee)) {\n return getUnnormalizedProps(props.arguments[0], callPath.concat(props));\n }\n }\n return [props, callPath];\n}\nfunction injectProp(node, prop, context) {\n let propsWithInjection;\n /**\n * 1. mergeProps(...)\n * 2. toHandlers(...)\n * 3. normalizeProps(...)\n * 4. normalizeProps(guardReactiveProps(...))\n *\n * we need to get the real props before normalization\n */\n let props = node.type === 13 /* NodeTypes.VNODE_CALL */ ? node.props : node.arguments[2];\n let callPath = [];\n let parentCall;\n if (props &&\n !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(props) &&\n props.type === 14 /* NodeTypes.JS_CALL_EXPRESSION */) {\n const ret = getUnnormalizedProps(props);\n props = ret[0];\n callPath = ret[1];\n parentCall = callPath[callPath.length - 1];\n }\n if (props == null || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(props)) {\n propsWithInjection = createObjectExpression([prop]);\n }\n else if (props.type === 14 /* NodeTypes.JS_CALL_EXPRESSION */) {\n // merged props... add ours\n // only inject key to object literal if it's the first argument so that\n // if doesn't override user provided keys\n const first = props.arguments[0];\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(first) && first.type === 15 /* NodeTypes.JS_OBJECT_EXPRESSION */) {\n first.properties.unshift(prop);\n }\n else {\n if (props.callee === TO_HANDLERS) {\n // #2366\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n }\n else {\n props.arguments.unshift(createObjectExpression([prop]));\n }\n }\n !propsWithInjection && (propsWithInjection = props);\n }\n else if (props.type === 15 /* NodeTypes.JS_OBJECT_EXPRESSION */) {\n let alreadyExists = false;\n // check existing key to avoid overriding user provided keys\n if (prop.key.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n const propKeyName = prop.key.content;\n alreadyExists = props.properties.some(p => p.key.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ &&\n p.key.content === propKeyName);\n }\n if (!alreadyExists) {\n props.properties.unshift(prop);\n }\n propsWithInjection = props;\n }\n else {\n // single v-bind with expression, return a merged replacement\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n // in the case of nested helper call, e.g. `normalizeProps(guardReactiveProps(props))`,\n // it will be rewritten as `normalizeProps(mergeProps({ key: 0 }, props))`,\n // the `guardReactiveProps` will no longer be needed\n if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {\n parentCall = callPath[callPath.length - 2];\n }\n }\n if (node.type === 13 /* NodeTypes.VNODE_CALL */) {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n }\n else {\n node.props = propsWithInjection;\n }\n }\n else {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n }\n else {\n node.arguments[2] = propsWithInjection;\n }\n }\n}\nfunction toValidAssetId(name, type) {\n // see issue#4422, we need adding identifier on validAssetId if variable `name` has specific character\n return `_${type}_${name.replace(/[^\\w]/g, (searchValue, replaceValue) => {\n return searchValue === '-' ? '_' : name.charCodeAt(replaceValue).toString();\n })}`;\n}\n// Check if a node contains expressions that reference current context scope ids\nfunction hasScopeRef(node, ids) {\n if (!node || Object.keys(ids).length === 0) {\n return false;\n }\n switch (node.type) {\n case 1 /* NodeTypes.ELEMENT */:\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 /* NodeTypes.DIRECTIVE */ &&\n (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) {\n return true;\n }\n }\n return node.children.some(c => hasScopeRef(c, ids));\n case 11 /* NodeTypes.FOR */:\n if (hasScopeRef(node.source, ids)) {\n return true;\n }\n return node.children.some(c => hasScopeRef(c, ids));\n case 9 /* NodeTypes.IF */:\n return node.branches.some(b => hasScopeRef(b, ids));\n case 10 /* NodeTypes.IF_BRANCH */:\n if (hasScopeRef(node.condition, ids)) {\n return true;\n }\n return node.children.some(c => hasScopeRef(c, ids));\n case 4 /* NodeTypes.SIMPLE_EXPRESSION */:\n return (!node.isStatic &&\n isSimpleIdentifier(node.content) &&\n !!ids[node.content]);\n case 8 /* NodeTypes.COMPOUND_EXPRESSION */:\n return node.children.some(c => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(c) && hasScopeRef(c, ids));\n case 5 /* NodeTypes.INTERPOLATION */:\n case 12 /* NodeTypes.TEXT_CALL */:\n return hasScopeRef(node.content, ids);\n case 2 /* NodeTypes.TEXT */:\n case 3 /* NodeTypes.COMMENT */:\n return false;\n default:\n if ((true)) ;\n return false;\n }\n}\nfunction getMemoedVNodeCall(node) {\n if (node.type === 14 /* NodeTypes.JS_CALL_EXPRESSION */ && node.callee === WITH_MEMO) {\n return node.arguments[1].returns;\n }\n else {\n return node;\n }\n}\nfunction makeBlock(node, { helper, removeHelper, inSSR }) {\n if (!node.isBlock) {\n node.isBlock = true;\n removeHelper(getVNodeHelper(inSSR, node.isComponent));\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(inSSR, node.isComponent));\n }\n}\n\nconst deprecationData = {\n [\"COMPILER_IS_ON_ELEMENT\" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */]: {\n message: `Platform-native elements with \"is\" prop will no longer be ` +\n `treated as components in Vue 3 unless the \"is\" value is explicitly ` +\n `prefixed with \"vue:\".`,\n link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`\n },\n [\"COMPILER_V_BIND_SYNC\" /* CompilerDeprecationTypes.COMPILER_V_BIND_SYNC */]: {\n message: key => `.sync modifier for v-bind has been removed. Use v-model with ` +\n `argument instead. \\`v-bind:${key}.sync\\` should be changed to ` +\n `\\`v-model:${key}\\`.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`\n },\n [\"COMPILER_V_BIND_PROP\" /* CompilerDeprecationTypes.COMPILER_V_BIND_PROP */]: {\n message: `.prop modifier for v-bind has been removed and no longer necessary. ` +\n `Vue 3 will automatically set a binding as DOM property when appropriate.`\n },\n [\"COMPILER_V_BIND_OBJECT_ORDER\" /* CompilerDeprecationTypes.COMPILER_V_BIND_OBJECT_ORDER */]: {\n message: `v-bind=\"obj\" usage is now order sensitive and behaves like JavaScript ` +\n `object spread: it will now overwrite an existing non-mergeable attribute ` +\n `that appears before v-bind in the case of conflict. ` +\n `To retain 2.x behavior, move v-bind to make it the first attribute. ` +\n `You can also suppress this warning if the usage is intended.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`\n },\n [\"COMPILER_V_ON_NATIVE\" /* CompilerDeprecationTypes.COMPILER_V_ON_NATIVE */]: {\n message: `.native modifier for v-on has been removed as is no longer necessary.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`\n },\n [\"COMPILER_V_IF_V_FOR_PRECEDENCE\" /* CompilerDeprecationTypes.COMPILER_V_IF_V_FOR_PRECEDENCE */]: {\n message: `v-if / v-for precedence when used on the same element has changed ` +\n `in Vue 3: v-if now takes higher precedence and will no longer have ` +\n `access to v-for scope variables. It is best to avoid the ambiguity ` +\n `with <template> tags or use a computed property that filters v-for ` +\n `data source.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`\n },\n [\"COMPILER_NATIVE_TEMPLATE\" /* CompilerDeprecationTypes.COMPILER_NATIVE_TEMPLATE */]: {\n message: `<template> with no special directives will render as a native template ` +\n `element instead of its inner content in Vue 3.`\n },\n [\"COMPILER_INLINE_TEMPLATE\" /* CompilerDeprecationTypes.COMPILER_INLINE_TEMPLATE */]: {\n message: `\"inline-template\" has been removed in Vue 3.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`\n },\n [\"COMPILER_FILTER\" /* CompilerDeprecationTypes.COMPILER_FILTERS */]: {\n message: `filters have been removed in Vue 3. ` +\n `The \"|\" symbol will be treated as native JavaScript bitwise OR operator. ` +\n `Use method calls or computed properties instead.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`\n }\n};\nfunction getCompatValue(key, context) {\n const config = context.options\n ? context.options.compatConfig\n : context.compatConfig;\n const value = config && config[key];\n if (key === 'MODE') {\n return value || 3; // compiler defaults to v3 behavior\n }\n else {\n return value;\n }\n}\nfunction isCompatEnabled(key, context) {\n const mode = getCompatValue('MODE', context);\n const value = getCompatValue(key, context);\n // in v3 mode, only enable if explicitly set to true\n // otherwise enable for any non-false value\n return mode === 3 ? value === true : value !== false;\n}\nfunction checkCompatEnabled(key, context, loc, ...args) {\n const enabled = isCompatEnabled(key, context);\n if (( true) && enabled) {\n warnDeprecation(key, context, loc, ...args);\n }\n return enabled;\n}\nfunction warnDeprecation(key, context, loc, ...args) {\n const val = getCompatValue(key, context);\n if (val === 'suppress-warning') {\n return;\n }\n const { message, link } = deprecationData[key];\n const msg = `(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\\n Details: ${link}` : ``}`;\n const err = new SyntaxError(msg);\n err.code = key;\n if (loc)\n err.loc = loc;\n context.onWarn(err);\n}\n\n// The default decoder only provides escapes for characters reserved as part of\n// the template syntax, and is only used if the custom renderer did not provide\n// a platform-specific decoder.\nconst decodeRE = /&(gt|lt|amp|apos|quot);/g;\nconst decodeMap = {\n gt: '>',\n lt: '<',\n amp: '&',\n apos: \"'\",\n quot: '\"'\n};\nconst defaultParserOptions = {\n delimiters: [`{{`, `}}`],\n getNamespace: () => 0 /* Namespaces.HTML */,\n getTextMode: () => 0 /* TextModes.DATA */,\n isVoidTag: _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NO,\n isPreTag: _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NO,\n isCustomElement: _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NO,\n decodeEntities: (rawText) => rawText.replace(decodeRE, (_, p1) => decodeMap[p1]),\n onError: defaultOnError,\n onWarn: defaultOnWarn,\n comments: (\"development\" !== 'production')\n};\nfunction baseParse(content, options = {}) {\n const context = createParserContext(content, options);\n const start = getCursor(context);\n return createRoot(parseChildren(context, 0 /* TextModes.DATA */, []), getSelection(context, start));\n}\nfunction createParserContext(content, rawOptions) {\n const options = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultParserOptions);\n let key;\n for (key in rawOptions) {\n // @ts-ignore\n options[key] =\n rawOptions[key] === undefined\n ? defaultParserOptions[key]\n : rawOptions[key];\n }\n return {\n options,\n column: 1,\n line: 1,\n offset: 0,\n originalSource: content,\n source: content,\n inPre: false,\n inVPre: false,\n onWarn: options.onWarn\n };\n}\nfunction parseChildren(context, mode, ancestors) {\n const parent = last(ancestors);\n const ns = parent ? parent.ns : 0 /* Namespaces.HTML */;\n const nodes = [];\n while (!isEnd(context, mode, ancestors)) {\n const s = context.source;\n let node = undefined;\n if (mode === 0 /* TextModes.DATA */ || mode === 1 /* TextModes.RCDATA */) {\n if (!context.inVPre && startsWith(s, context.options.delimiters[0])) {\n // '{{'\n node = parseInterpolation(context, mode);\n }\n else if (mode === 0 /* TextModes.DATA */ && s[0] === '<') {\n // https://html.spec.whatwg.org/multipage/parsing.html#tag-open-state\n if (s.length === 1) {\n emitError(context, 5 /* ErrorCodes.EOF_BEFORE_TAG_NAME */, 1);\n }\n else if (s[1] === '!') {\n // https://html.spec.whatwg.org/multipage/parsing.html#markup-declaration-open-state\n if (startsWith(s, '<!--')) {\n node = parseComment(context);\n }\n else if (startsWith(s, '<!DOCTYPE')) {\n // Ignore DOCTYPE by a limitation.\n node = parseBogusComment(context);\n }\n else if (startsWith(s, '<![CDATA[')) {\n if (ns !== 0 /* Namespaces.HTML */) {\n node = parseCDATA(context, ancestors);\n }\n else {\n emitError(context, 1 /* ErrorCodes.CDATA_IN_HTML_CONTENT */);\n node = parseBogusComment(context);\n }\n }\n else {\n emitError(context, 11 /* ErrorCodes.INCORRECTLY_OPENED_COMMENT */);\n node = parseBogusComment(context);\n }\n }\n else if (s[1] === '/') {\n // https://html.spec.whatwg.org/multipage/parsing.html#end-tag-open-state\n if (s.length === 2) {\n emitError(context, 5 /* ErrorCodes.EOF_BEFORE_TAG_NAME */, 2);\n }\n else if (s[2] === '>') {\n emitError(context, 14 /* ErrorCodes.MISSING_END_TAG_NAME */, 2);\n advanceBy(context, 3);\n continue;\n }\n else if (/[a-z]/i.test(s[2])) {\n emitError(context, 23 /* ErrorCodes.X_INVALID_END_TAG */);\n parseTag(context, 1 /* TagType.End */, parent);\n continue;\n }\n else {\n emitError(context, 12 /* ErrorCodes.INVALID_FIRST_CHARACTER_OF_TAG_NAME */, 2);\n node = parseBogusComment(context);\n }\n }\n else if (/[a-z]/i.test(s[1])) {\n node = parseElement(context, ancestors);\n // 2.x <template> with no directive compat\n if (isCompatEnabled(\"COMPILER_NATIVE_TEMPLATE\" /* CompilerDeprecationTypes.COMPILER_NATIVE_TEMPLATE */, context) &&\n node &&\n node.tag === 'template' &&\n !node.props.some(p => p.type === 7 /* NodeTypes.DIRECTIVE */ &&\n isSpecialTemplateDirective(p.name))) {\n ( true) &&\n warnDeprecation(\"COMPILER_NATIVE_TEMPLATE\" /* CompilerDeprecationTypes.COMPILER_NATIVE_TEMPLATE */, context, node.loc);\n node = node.children;\n }\n }\n else if (s[1] === '?') {\n emitError(context, 21 /* ErrorCodes.UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME */, 1);\n node = parseBogusComment(context);\n }\n else {\n emitError(context, 12 /* ErrorCodes.INVALID_FIRST_CHARACTER_OF_TAG_NAME */, 1);\n }\n }\n }\n if (!node) {\n node = parseText(context, mode);\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(node)) {\n for (let i = 0; i < node.length; i++) {\n pushNode(nodes, node[i]);\n }\n }\n else {\n pushNode(nodes, node);\n }\n }\n // Whitespace handling strategy like v2\n let removedWhitespace = false;\n if (mode !== 2 /* TextModes.RAWTEXT */ && mode !== 1 /* TextModes.RCDATA */) {\n const shouldCondense = context.options.whitespace !== 'preserve';\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.type === 2 /* NodeTypes.TEXT */) {\n if (!context.inPre) {\n if (!/[^\\t\\r\\n\\f ]/.test(node.content)) {\n const prev = nodes[i - 1];\n const next = nodes[i + 1];\n // Remove if:\n // - the whitespace is the first or last node, or:\n // - (condense mode) the whitespace is adjacent to a comment, or:\n // - (condense mode) the whitespace is between two elements AND contains newline\n if (!prev ||\n !next ||\n (shouldCondense &&\n (prev.type === 3 /* NodeTypes.COMMENT */ ||\n next.type === 3 /* NodeTypes.COMMENT */ ||\n (prev.type === 1 /* NodeTypes.ELEMENT */ &&\n next.type === 1 /* NodeTypes.ELEMENT */ &&\n /[\\r\\n]/.test(node.content))))) {\n removedWhitespace = true;\n nodes[i] = null;\n }\n else {\n // Otherwise, the whitespace is condensed into a single space\n node.content = ' ';\n }\n }\n else if (shouldCondense) {\n // in condense mode, consecutive whitespaces in text are condensed\n // down to a single space.\n node.content = node.content.replace(/[\\t\\r\\n\\f ]+/g, ' ');\n }\n }\n else {\n // #6410 normalize windows newlines in <pre>:\n // in SSR, browsers normalize server-rendered \\r\\n into a single \\n\n // in the DOM\n node.content = node.content.replace(/\\r\\n/g, '\\n');\n }\n }\n // Remove comment nodes if desired by configuration.\n else if (node.type === 3 /* NodeTypes.COMMENT */ && !context.options.comments) {\n removedWhitespace = true;\n nodes[i] = null;\n }\n }\n if (context.inPre && parent && context.options.isPreTag(parent.tag)) {\n // remove leading newline per html spec\n // https://html.spec.whatwg.org/multipage/grouping-content.html#the-pre-element\n const first = nodes[0];\n if (first && first.type === 2 /* NodeTypes.TEXT */) {\n first.content = first.content.replace(/^\\r?\\n/, '');\n }\n }\n }\n return removedWhitespace ? nodes.filter(Boolean) : nodes;\n}\nfunction pushNode(nodes, node) {\n if (node.type === 2 /* NodeTypes.TEXT */) {\n const prev = last(nodes);\n // Merge if both this and the previous node are text and those are\n // consecutive. This happens for cases like \"a < b\".\n if (prev &&\n prev.type === 2 /* NodeTypes.TEXT */ &&\n prev.loc.end.offset === node.loc.start.offset) {\n prev.content += node.content;\n prev.loc.end = node.loc.end;\n prev.loc.source += node.loc.source;\n return;\n }\n }\n nodes.push(node);\n}\nfunction parseCDATA(context, ancestors) {\n advanceBy(context, 9);\n const nodes = parseChildren(context, 3 /* TextModes.CDATA */, ancestors);\n if (context.source.length === 0) {\n emitError(context, 6 /* ErrorCodes.EOF_IN_CDATA */);\n }\n else {\n advanceBy(context, 3);\n }\n return nodes;\n}\nfunction parseComment(context) {\n const start = getCursor(context);\n let content;\n // Regular comment.\n const match = /--(\\!)?>/.exec(context.source);\n if (!match) {\n content = context.source.slice(4);\n advanceBy(context, context.source.length);\n emitError(context, 7 /* ErrorCodes.EOF_IN_COMMENT */);\n }\n else {\n if (match.index <= 3) {\n emitError(context, 0 /* ErrorCodes.ABRUPT_CLOSING_OF_EMPTY_COMMENT */);\n }\n if (match[1]) {\n emitError(context, 10 /* ErrorCodes.INCORRECTLY_CLOSED_COMMENT */);\n }\n content = context.source.slice(4, match.index);\n // Advancing with reporting nested comments.\n const s = context.source.slice(0, match.index);\n let prevIndex = 1, nestedIndex = 0;\n while ((nestedIndex = s.indexOf('<!--', prevIndex)) !== -1) {\n advanceBy(context, nestedIndex - prevIndex + 1);\n if (nestedIndex + 4 < s.length) {\n emitError(context, 16 /* ErrorCodes.NESTED_COMMENT */);\n }\n prevIndex = nestedIndex + 1;\n }\n advanceBy(context, match.index + match[0].length - prevIndex + 1);\n }\n return {\n type: 3 /* NodeTypes.COMMENT */,\n content,\n loc: getSelection(context, start)\n };\n}\nfunction parseBogusComment(context) {\n const start = getCursor(context);\n const contentStart = context.source[1] === '?' ? 1 : 2;\n let content;\n const closeIndex = context.source.indexOf('>');\n if (closeIndex === -1) {\n content = context.source.slice(contentStart);\n advanceBy(context, context.source.length);\n }\n else {\n content = context.source.slice(contentStart, closeIndex);\n advanceBy(context, closeIndex + 1);\n }\n return {\n type: 3 /* NodeTypes.COMMENT */,\n content,\n loc: getSelection(context, start)\n };\n}\nfunction parseElement(context, ancestors) {\n // Start tag.\n const wasInPre = context.inPre;\n const wasInVPre = context.inVPre;\n const parent = last(ancestors);\n const element = parseTag(context, 0 /* TagType.Start */, parent);\n const isPreBoundary = context.inPre && !wasInPre;\n const isVPreBoundary = context.inVPre && !wasInVPre;\n if (element.isSelfClosing || context.options.isVoidTag(element.tag)) {\n // #4030 self-closing <pre> tag\n if (isPreBoundary) {\n context.inPre = false;\n }\n if (isVPreBoundary) {\n context.inVPre = false;\n }\n return element;\n }\n // Children.\n ancestors.push(element);\n const mode = context.options.getTextMode(element, parent);\n const children = parseChildren(context, mode, ancestors);\n ancestors.pop();\n // 2.x inline-template compat\n {\n const inlineTemplateProp = element.props.find(p => p.type === 6 /* NodeTypes.ATTRIBUTE */ && p.name === 'inline-template');\n if (inlineTemplateProp &&\n checkCompatEnabled(\"COMPILER_INLINE_TEMPLATE\" /* CompilerDeprecationTypes.COMPILER_INLINE_TEMPLATE */, context, inlineTemplateProp.loc)) {\n const loc = getSelection(context, element.loc.end);\n inlineTemplateProp.value = {\n type: 2 /* NodeTypes.TEXT */,\n content: loc.source,\n loc\n };\n }\n }\n element.children = children;\n // End tag.\n if (startsWithEndTagOpen(context.source, element.tag)) {\n parseTag(context, 1 /* TagType.End */, parent);\n }\n else {\n emitError(context, 24 /* ErrorCodes.X_MISSING_END_TAG */, 0, element.loc.start);\n if (context.source.length === 0 && element.tag.toLowerCase() === 'script') {\n const first = children[0];\n if (first && startsWith(first.loc.source, '<!--')) {\n emitError(context, 8 /* ErrorCodes.EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT */);\n }\n }\n }\n element.loc = getSelection(context, element.loc.start);\n if (isPreBoundary) {\n context.inPre = false;\n }\n if (isVPreBoundary) {\n context.inVPre = false;\n }\n return element;\n}\nconst isSpecialTemplateDirective = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.makeMap)(`if,else,else-if,for,slot`);\nfunction parseTag(context, type, parent) {\n // Tag open.\n const start = getCursor(context);\n const match = /^<\\/?([a-z][^\\t\\r\\n\\f />]*)/i.exec(context.source);\n const tag = match[1];\n const ns = context.options.getNamespace(tag, parent);\n advanceBy(context, match[0].length);\n advanceSpaces(context);\n // save current state in case we need to re-parse attributes with v-pre\n const cursor = getCursor(context);\n const currentSource = context.source;\n // check <pre> tag\n if (context.options.isPreTag(tag)) {\n context.inPre = true;\n }\n // Attributes.\n let props = parseAttributes(context, type);\n // check v-pre\n if (type === 0 /* TagType.Start */ &&\n !context.inVPre &&\n props.some(p => p.type === 7 /* NodeTypes.DIRECTIVE */ && p.name === 'pre')) {\n context.inVPre = true;\n // reset context\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)(context, cursor);\n context.source = currentSource;\n // re-parse attrs and filter out v-pre itself\n props = parseAttributes(context, type).filter(p => p.name !== 'v-pre');\n }\n // Tag close.\n let isSelfClosing = false;\n if (context.source.length === 0) {\n emitError(context, 9 /* ErrorCodes.EOF_IN_TAG */);\n }\n else {\n isSelfClosing = startsWith(context.source, '/>');\n if (type === 1 /* TagType.End */ && isSelfClosing) {\n emitError(context, 4 /* ErrorCodes.END_TAG_WITH_TRAILING_SOLIDUS */);\n }\n advanceBy(context, isSelfClosing ? 2 : 1);\n }\n if (type === 1 /* TagType.End */) {\n return;\n }\n // 2.x deprecation checks\n if (( true) &&\n isCompatEnabled(\"COMPILER_V_IF_V_FOR_PRECEDENCE\" /* CompilerDeprecationTypes.COMPILER_V_IF_V_FOR_PRECEDENCE */, context)) {\n let hasIf = false;\n let hasFor = false;\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 7 /* NodeTypes.DIRECTIVE */) {\n if (p.name === 'if') {\n hasIf = true;\n }\n else if (p.name === 'for') {\n hasFor = true;\n }\n }\n if (hasIf && hasFor) {\n warnDeprecation(\"COMPILER_V_IF_V_FOR_PRECEDENCE\" /* CompilerDeprecationTypes.COMPILER_V_IF_V_FOR_PRECEDENCE */, context, getSelection(context, start));\n break;\n }\n }\n }\n let tagType = 0 /* ElementTypes.ELEMENT */;\n if (!context.inVPre) {\n if (tag === 'slot') {\n tagType = 2 /* ElementTypes.SLOT */;\n }\n else if (tag === 'template') {\n if (props.some(p => p.type === 7 /* NodeTypes.DIRECTIVE */ && isSpecialTemplateDirective(p.name))) {\n tagType = 3 /* ElementTypes.TEMPLATE */;\n }\n }\n else if (isComponent(tag, props, context)) {\n tagType = 1 /* ElementTypes.COMPONENT */;\n }\n }\n return {\n type: 1 /* NodeTypes.ELEMENT */,\n ns,\n tag,\n tagType,\n props,\n isSelfClosing,\n children: [],\n loc: getSelection(context, start),\n codegenNode: undefined // to be created during transform phase\n };\n}\nfunction isComponent(tag, props, context) {\n const options = context.options;\n if (options.isCustomElement(tag)) {\n return false;\n }\n if (tag === 'component' ||\n /^[A-Z]/.test(tag) ||\n isCoreComponent(tag) ||\n (options.isBuiltInComponent && options.isBuiltInComponent(tag)) ||\n (options.isNativeTag && !options.isNativeTag(tag))) {\n return true;\n }\n // at this point the tag should be a native tag, but check for potential \"is\"\n // casting\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 6 /* NodeTypes.ATTRIBUTE */) {\n if (p.name === 'is' && p.value) {\n if (p.value.content.startsWith('vue:')) {\n return true;\n }\n else if (checkCompatEnabled(\"COMPILER_IS_ON_ELEMENT\" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context, p.loc)) {\n return true;\n }\n }\n }\n else {\n // directive\n // v-is (TODO Deprecate)\n if (p.name === 'is') {\n return true;\n }\n else if (\n // :is on plain element - only treat as component in compat mode\n p.name === 'bind' &&\n isStaticArgOf(p.arg, 'is') &&\n true &&\n checkCompatEnabled(\"COMPILER_IS_ON_ELEMENT\" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context, p.loc)) {\n return true;\n }\n }\n }\n}\nfunction parseAttributes(context, type) {\n const props = [];\n const attributeNames = new Set();\n while (context.source.length > 0 &&\n !startsWith(context.source, '>') &&\n !startsWith(context.source, '/>')) {\n if (startsWith(context.source, '/')) {\n emitError(context, 22 /* ErrorCodes.UNEXPECTED_SOLIDUS_IN_TAG */);\n advanceBy(context, 1);\n advanceSpaces(context);\n continue;\n }\n if (type === 1 /* TagType.End */) {\n emitError(context, 3 /* ErrorCodes.END_TAG_WITH_ATTRIBUTES */);\n }\n const attr = parseAttribute(context, attributeNames);\n // Trim whitespace between class\n // https://github.com/vuejs/core/issues/4251\n if (attr.type === 6 /* NodeTypes.ATTRIBUTE */ &&\n attr.value &&\n attr.name === 'class') {\n attr.value.content = attr.value.content.replace(/\\s+/g, ' ').trim();\n }\n if (type === 0 /* TagType.Start */) {\n props.push(attr);\n }\n if (/^[^\\t\\r\\n\\f />]/.test(context.source)) {\n emitError(context, 15 /* ErrorCodes.MISSING_WHITESPACE_BETWEEN_ATTRIBUTES */);\n }\n advanceSpaces(context);\n }\n return props;\n}\nfunction parseAttribute(context, nameSet) {\n // Name.\n const start = getCursor(context);\n const match = /^[^\\t\\r\\n\\f />][^\\t\\r\\n\\f />=]*/.exec(context.source);\n const name = match[0];\n if (nameSet.has(name)) {\n emitError(context, 2 /* ErrorCodes.DUPLICATE_ATTRIBUTE */);\n }\n nameSet.add(name);\n if (name[0] === '=') {\n emitError(context, 19 /* ErrorCodes.UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME */);\n }\n {\n const pattern = /[\"'<]/g;\n let m;\n while ((m = pattern.exec(name))) {\n emitError(context, 17 /* ErrorCodes.UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME */, m.index);\n }\n }\n advanceBy(context, name.length);\n // Value\n let value = undefined;\n if (/^[\\t\\r\\n\\f ]*=/.test(context.source)) {\n advanceSpaces(context);\n advanceBy(context, 1);\n advanceSpaces(context);\n value = parseAttributeValue(context);\n if (!value) {\n emitError(context, 13 /* ErrorCodes.MISSING_ATTRIBUTE_VALUE */);\n }\n }\n const loc = getSelection(context, start);\n if (!context.inVPre && /^(v-[A-Za-z0-9-]|:|\\.|@|#)/.test(name)) {\n const match = /(?:^v-([a-z0-9-]+))?(?:(?::|^\\.|^@|^#)(\\[[^\\]]+\\]|[^\\.]+))?(.+)?$/i.exec(name);\n let isPropShorthand = startsWith(name, '.');\n let dirName = match[1] ||\n (isPropShorthand || startsWith(name, ':')\n ? 'bind'\n : startsWith(name, '@')\n ? 'on'\n : 'slot');\n let arg;\n if (match[2]) {\n const isSlot = dirName === 'slot';\n const startOffset = name.lastIndexOf(match[2]);\n const loc = getSelection(context, getNewPosition(context, start, startOffset), getNewPosition(context, start, startOffset + match[2].length + ((isSlot && match[3]) || '').length));\n let content = match[2];\n let isStatic = true;\n if (content.startsWith('[')) {\n isStatic = false;\n if (!content.endsWith(']')) {\n emitError(context, 27 /* ErrorCodes.X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END */);\n content = content.slice(1);\n }\n else {\n content = content.slice(1, content.length - 1);\n }\n }\n else if (isSlot) {\n // #1241 special case for v-slot: vuetify relies extensively on slot\n // names containing dots. v-slot doesn't have any modifiers and Vue 2.x\n // supports such usage so we are keeping it consistent with 2.x.\n content += match[3] || '';\n }\n arg = {\n type: 4 /* NodeTypes.SIMPLE_EXPRESSION */,\n content,\n isStatic,\n constType: isStatic\n ? 3 /* ConstantTypes.CAN_STRINGIFY */\n : 0 /* ConstantTypes.NOT_CONSTANT */,\n loc\n };\n }\n if (value && value.isQuoted) {\n const valueLoc = value.loc;\n valueLoc.start.offset++;\n valueLoc.start.column++;\n valueLoc.end = advancePositionWithClone(valueLoc.start, value.content);\n valueLoc.source = valueLoc.source.slice(1, -1);\n }\n const modifiers = match[3] ? match[3].slice(1).split('.') : [];\n if (isPropShorthand)\n modifiers.push('prop');\n // 2.x compat v-bind:foo.sync -> v-model:foo\n if (dirName === 'bind' && arg) {\n if (modifiers.includes('sync') &&\n checkCompatEnabled(\"COMPILER_V_BIND_SYNC\" /* CompilerDeprecationTypes.COMPILER_V_BIND_SYNC */, context, loc, arg.loc.source)) {\n dirName = 'model';\n modifiers.splice(modifiers.indexOf('sync'), 1);\n }\n if (( true) && modifiers.includes('prop')) {\n checkCompatEnabled(\"COMPILER_V_BIND_PROP\" /* CompilerDeprecationTypes.COMPILER_V_BIND_PROP */, context, loc);\n }\n }\n return {\n type: 7 /* NodeTypes.DIRECTIVE */,\n name: dirName,\n exp: value && {\n type: 4 /* NodeTypes.SIMPLE_EXPRESSION */,\n content: value.content,\n isStatic: false,\n // Treat as non-constant by default. This can be potentially set to\n // other values by `transformExpression` to make it eligible for hoisting.\n constType: 0 /* ConstantTypes.NOT_CONSTANT */,\n loc: value.loc\n },\n arg,\n modifiers,\n loc\n };\n }\n // missing directive name or illegal directive name\n if (!context.inVPre && startsWith(name, 'v-')) {\n emitError(context, 26 /* ErrorCodes.X_MISSING_DIRECTIVE_NAME */);\n }\n return {\n type: 6 /* NodeTypes.ATTRIBUTE */,\n name,\n value: value && {\n type: 2 /* NodeTypes.TEXT */,\n content: value.content,\n loc: value.loc\n },\n loc\n };\n}\nfunction parseAttributeValue(context) {\n const start = getCursor(context);\n let content;\n const quote = context.source[0];\n const isQuoted = quote === `\"` || quote === `'`;\n if (isQuoted) {\n // Quoted value.\n advanceBy(context, 1);\n const endIndex = context.source.indexOf(quote);\n if (endIndex === -1) {\n content = parseTextData(context, context.source.length, 4 /* TextModes.ATTRIBUTE_VALUE */);\n }\n else {\n content = parseTextData(context, endIndex, 4 /* TextModes.ATTRIBUTE_VALUE */);\n advanceBy(context, 1);\n }\n }\n else {\n // Unquoted\n const match = /^[^\\t\\r\\n\\f >]+/.exec(context.source);\n if (!match) {\n return undefined;\n }\n const unexpectedChars = /[\"'<=`]/g;\n let m;\n while ((m = unexpectedChars.exec(match[0]))) {\n emitError(context, 18 /* ErrorCodes.UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE */, m.index);\n }\n content = parseTextData(context, match[0].length, 4 /* TextModes.ATTRIBUTE_VALUE */);\n }\n return { content, isQuoted, loc: getSelection(context, start) };\n}\nfunction parseInterpolation(context, mode) {\n const [open, close] = context.options.delimiters;\n const closeIndex = context.source.indexOf(close, open.length);\n if (closeIndex === -1) {\n emitError(context, 25 /* ErrorCodes.X_MISSING_INTERPOLATION_END */);\n return undefined;\n }\n const start = getCursor(context);\n advanceBy(context, open.length);\n const innerStart = getCursor(context);\n const innerEnd = getCursor(context);\n const rawContentLength = closeIndex - open.length;\n const rawContent = context.source.slice(0, rawContentLength);\n const preTrimContent = parseTextData(context, rawContentLength, mode);\n const content = preTrimContent.trim();\n const startOffset = preTrimContent.indexOf(content);\n if (startOffset > 0) {\n advancePositionWithMutation(innerStart, rawContent, startOffset);\n }\n const endOffset = rawContentLength - (preTrimContent.length - content.length - startOffset);\n advancePositionWithMutation(innerEnd, rawContent, endOffset);\n advanceBy(context, close.length);\n return {\n type: 5 /* NodeTypes.INTERPOLATION */,\n content: {\n type: 4 /* NodeTypes.SIMPLE_EXPRESSION */,\n isStatic: false,\n // Set `isConstant` to false by default and will decide in transformExpression\n constType: 0 /* ConstantTypes.NOT_CONSTANT */,\n content,\n loc: getSelection(context, innerStart, innerEnd)\n },\n loc: getSelection(context, start)\n };\n}\nfunction parseText(context, mode) {\n const endTokens = mode === 3 /* TextModes.CDATA */ ? [']]>'] : ['<', context.options.delimiters[0]];\n let endIndex = context.source.length;\n for (let i = 0; i < endTokens.length; i++) {\n const index = context.source.indexOf(endTokens[i], 1);\n if (index !== -1 && endIndex > index) {\n endIndex = index;\n }\n }\n const start = getCursor(context);\n const content = parseTextData(context, endIndex, mode);\n return {\n type: 2 /* NodeTypes.TEXT */,\n content,\n loc: getSelection(context, start)\n };\n}\n/**\n * Get text data with a given length from the current location.\n * This translates HTML entities in the text data.\n */\nfunction parseTextData(context, length, mode) {\n const rawText = context.source.slice(0, length);\n advanceBy(context, length);\n if (mode === 2 /* TextModes.RAWTEXT */ ||\n mode === 3 /* TextModes.CDATA */ ||\n !rawText.includes('&')) {\n return rawText;\n }\n else {\n // DATA or RCDATA containing \"&\"\". Entity decoding required.\n return context.options.decodeEntities(rawText, mode === 4 /* TextModes.ATTRIBUTE_VALUE */);\n }\n}\nfunction getCursor(context) {\n const { column, line, offset } = context;\n return { column, line, offset };\n}\nfunction getSelection(context, start, end) {\n end = end || getCursor(context);\n return {\n start,\n end,\n source: context.originalSource.slice(start.offset, end.offset)\n };\n}\nfunction last(xs) {\n return xs[xs.length - 1];\n}\nfunction startsWith(source, searchString) {\n return source.startsWith(searchString);\n}\nfunction advanceBy(context, numberOfCharacters) {\n const { source } = context;\n advancePositionWithMutation(context, source, numberOfCharacters);\n context.source = source.slice(numberOfCharacters);\n}\nfunction advanceSpaces(context) {\n const match = /^[\\t\\r\\n\\f ]+/.exec(context.source);\n if (match) {\n advanceBy(context, match[0].length);\n }\n}\nfunction getNewPosition(context, start, numberOfCharacters) {\n return advancePositionWithClone(start, context.originalSource.slice(start.offset, numberOfCharacters), numberOfCharacters);\n}\nfunction emitError(context, code, offset, loc = getCursor(context)) {\n if (offset) {\n loc.offset += offset;\n loc.column += offset;\n }\n context.options.onError(createCompilerError(code, {\n start: loc,\n end: loc,\n source: ''\n }));\n}\nfunction isEnd(context, mode, ancestors) {\n const s = context.source;\n switch (mode) {\n case 0 /* TextModes.DATA */:\n if (startsWith(s, '</')) {\n // TODO: probably bad performance\n for (let i = ancestors.length - 1; i >= 0; --i) {\n if (startsWithEndTagOpen(s, ancestors[i].tag)) {\n return true;\n }\n }\n }\n break;\n case 1 /* TextModes.RCDATA */:\n case 2 /* TextModes.RAWTEXT */: {\n const parent = last(ancestors);\n if (parent && startsWithEndTagOpen(s, parent.tag)) {\n return true;\n }\n break;\n }\n case 3 /* TextModes.CDATA */:\n if (startsWith(s, ']]>')) {\n return true;\n }\n break;\n }\n return !s;\n}\nfunction startsWithEndTagOpen(source, tag) {\n return (startsWith(source, '</') &&\n source.slice(2, 2 + tag.length).toLowerCase() === tag.toLowerCase() &&\n /[\\t\\r\\n\\f />]/.test(source[2 + tag.length] || '>'));\n}\n\nfunction hoistStatic(root, context) {\n walk(root, context, \n // Root node is unfortunately non-hoistable due to potential parent\n // fallthrough attributes.\n isSingleElementRoot(root, root.children[0]));\n}\nfunction isSingleElementRoot(root, child) {\n const { children } = root;\n return (children.length === 1 &&\n child.type === 1 /* NodeTypes.ELEMENT */ &&\n !isSlotOutlet(child));\n}\nfunction walk(node, context, doNotHoistNode = false) {\n const { children } = node;\n const originalCount = children.length;\n let hoistedCount = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n // only plain elements & text calls are eligible for hoisting.\n if (child.type === 1 /* NodeTypes.ELEMENT */ &&\n child.tagType === 0 /* ElementTypes.ELEMENT */) {\n const constantType = doNotHoistNode\n ? 0 /* ConstantTypes.NOT_CONSTANT */\n : getConstantType(child, context);\n if (constantType > 0 /* ConstantTypes.NOT_CONSTANT */) {\n if (constantType >= 2 /* ConstantTypes.CAN_HOIST */) {\n child.codegenNode.patchFlag =\n -1 /* PatchFlags.HOISTED */ + (( true) ? ` /* HOISTED */` : 0);\n child.codegenNode = context.hoist(child.codegenNode);\n hoistedCount++;\n continue;\n }\n }\n else {\n // node may contain dynamic children, but its props may be eligible for\n // hoisting.\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13 /* NodeTypes.VNODE_CALL */) {\n const flag = getPatchFlag(codegenNode);\n if ((!flag ||\n flag === 512 /* PatchFlags.NEED_PATCH */ ||\n flag === 1 /* PatchFlags.TEXT */) &&\n getGeneratedPropsConstantType(child, context) >=\n 2 /* ConstantTypes.CAN_HOIST */) {\n const props = getNodeProps(child);\n if (props) {\n codegenNode.props = context.hoist(props);\n }\n }\n if (codegenNode.dynamicProps) {\n codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);\n }\n }\n }\n }\n // walk further\n if (child.type === 1 /* NodeTypes.ELEMENT */) {\n const isComponent = child.tagType === 1 /* ElementTypes.COMPONENT */;\n if (isComponent) {\n context.scopes.vSlot++;\n }\n walk(child, context);\n if (isComponent) {\n context.scopes.vSlot--;\n }\n }\n else if (child.type === 11 /* NodeTypes.FOR */) {\n // Do not hoist v-for single child because it has to be a block\n walk(child, context, child.children.length === 1);\n }\n else if (child.type === 9 /* NodeTypes.IF */) {\n for (let i = 0; i < child.branches.length; i++) {\n // Do not hoist v-if single child because it has to be a block\n walk(child.branches[i], context, child.branches[i].children.length === 1);\n }\n }\n }\n if (hoistedCount && context.transformHoist) {\n context.transformHoist(children, context, node);\n }\n // all children were hoisted - the entire children array is hoistable.\n if (hoistedCount &&\n hoistedCount === originalCount &&\n node.type === 1 /* NodeTypes.ELEMENT */ &&\n node.tagType === 0 /* ElementTypes.ELEMENT */ &&\n node.codegenNode &&\n node.codegenNode.type === 13 /* NodeTypes.VNODE_CALL */ &&\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(node.codegenNode.children)) {\n node.codegenNode.children = context.hoist(createArrayExpression(node.codegenNode.children));\n }\n}\nfunction getConstantType(node, context) {\n const { constantCache } = context;\n switch (node.type) {\n case 1 /* NodeTypes.ELEMENT */:\n if (node.tagType !== 0 /* ElementTypes.ELEMENT */) {\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n const cached = constantCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n const codegenNode = node.codegenNode;\n if (codegenNode.type !== 13 /* NodeTypes.VNODE_CALL */) {\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n if (codegenNode.isBlock &&\n node.tag !== 'svg' &&\n node.tag !== 'foreignObject') {\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n const flag = getPatchFlag(codegenNode);\n if (!flag) {\n let returnType = 3 /* ConstantTypes.CAN_STRINGIFY */;\n // Element itself has no patch flag. However we still need to check:\n // 1. Even for a node with no patch flag, it is possible for it to contain\n // non-hoistable expressions that refers to scope variables, e.g. compiler\n // injected keys or cached event handlers. Therefore we need to always\n // check the codegenNode's props to be sure.\n const generatedPropsType = getGeneratedPropsConstantType(node, context);\n if (generatedPropsType === 0 /* ConstantTypes.NOT_CONSTANT */) {\n constantCache.set(node, 0 /* ConstantTypes.NOT_CONSTANT */);\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n if (generatedPropsType < returnType) {\n returnType = generatedPropsType;\n }\n // 2. its children.\n for (let i = 0; i < node.children.length; i++) {\n const childType = getConstantType(node.children[i], context);\n if (childType === 0 /* ConstantTypes.NOT_CONSTANT */) {\n constantCache.set(node, 0 /* ConstantTypes.NOT_CONSTANT */);\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n if (childType < returnType) {\n returnType = childType;\n }\n }\n // 3. if the type is not already CAN_SKIP_PATCH which is the lowest non-0\n // type, check if any of the props can cause the type to be lowered\n // we can skip can_patch because it's guaranteed by the absence of a\n // patchFlag.\n if (returnType > 1 /* ConstantTypes.CAN_SKIP_PATCH */) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 /* NodeTypes.DIRECTIVE */ && p.name === 'bind' && p.exp) {\n const expType = getConstantType(p.exp, context);\n if (expType === 0 /* ConstantTypes.NOT_CONSTANT */) {\n constantCache.set(node, 0 /* ConstantTypes.NOT_CONSTANT */);\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n if (expType < returnType) {\n returnType = expType;\n }\n }\n }\n }\n // only svg/foreignObject could be block here, however if they are\n // static then they don't need to be blocks since there will be no\n // nested updates.\n if (codegenNode.isBlock) {\n // except set custom directives.\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 /* NodeTypes.DIRECTIVE */) {\n constantCache.set(node, 0 /* ConstantTypes.NOT_CONSTANT */);\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n }\n context.removeHelper(OPEN_BLOCK);\n context.removeHelper(getVNodeBlockHelper(context.inSSR, codegenNode.isComponent));\n codegenNode.isBlock = false;\n context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));\n }\n constantCache.set(node, returnType);\n return returnType;\n }\n else {\n constantCache.set(node, 0 /* ConstantTypes.NOT_CONSTANT */);\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n case 2 /* NodeTypes.TEXT */:\n case 3 /* NodeTypes.COMMENT */:\n return 3 /* ConstantTypes.CAN_STRINGIFY */;\n case 9 /* NodeTypes.IF */:\n case 11 /* NodeTypes.FOR */:\n case 10 /* NodeTypes.IF_BRANCH */:\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n case 5 /* NodeTypes.INTERPOLATION */:\n case 12 /* NodeTypes.TEXT_CALL */:\n return getConstantType(node.content, context);\n case 4 /* NodeTypes.SIMPLE_EXPRESSION */:\n return node.constType;\n case 8 /* NodeTypes.COMPOUND_EXPRESSION */:\n let returnType = 3 /* ConstantTypes.CAN_STRINGIFY */;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(child) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(child)) {\n continue;\n }\n const childType = getConstantType(child, context);\n if (childType === 0 /* ConstantTypes.NOT_CONSTANT */) {\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n else if (childType < returnType) {\n returnType = childType;\n }\n }\n return returnType;\n default:\n if ((true)) ;\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n}\nconst allowHoistedHelperSet = new Set([\n NORMALIZE_CLASS,\n NORMALIZE_STYLE,\n NORMALIZE_PROPS,\n GUARD_REACTIVE_PROPS\n]);\nfunction getConstantTypeOfHelperCall(value, context) {\n if (value.type === 14 /* NodeTypes.JS_CALL_EXPRESSION */ &&\n !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(value.callee) &&\n allowHoistedHelperSet.has(value.callee)) {\n const arg = value.arguments[0];\n if (arg.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n return getConstantType(arg, context);\n }\n else if (arg.type === 14 /* NodeTypes.JS_CALL_EXPRESSION */) {\n // in the case of nested helper call, e.g. `normalizeProps(guardReactiveProps(exp))`\n return getConstantTypeOfHelperCall(arg, context);\n }\n }\n return 0 /* ConstantTypes.NOT_CONSTANT */;\n}\nfunction getGeneratedPropsConstantType(node, context) {\n let returnType = 3 /* ConstantTypes.CAN_STRINGIFY */;\n const props = getNodeProps(node);\n if (props && props.type === 15 /* NodeTypes.JS_OBJECT_EXPRESSION */) {\n const { properties } = props;\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n const keyType = getConstantType(key, context);\n if (keyType === 0 /* ConstantTypes.NOT_CONSTANT */) {\n return keyType;\n }\n if (keyType < returnType) {\n returnType = keyType;\n }\n let valueType;\n if (value.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n valueType = getConstantType(value, context);\n }\n else if (value.type === 14 /* NodeTypes.JS_CALL_EXPRESSION */) {\n // some helper calls can be hoisted,\n // such as the `normalizeProps` generated by the compiler for pre-normalize class,\n // in this case we need to respect the ConstantType of the helper's arguments\n valueType = getConstantTypeOfHelperCall(value, context);\n }\n else {\n valueType = 0 /* ConstantTypes.NOT_CONSTANT */;\n }\n if (valueType === 0 /* ConstantTypes.NOT_CONSTANT */) {\n return valueType;\n }\n if (valueType < returnType) {\n returnType = valueType;\n }\n }\n }\n return returnType;\n}\nfunction getNodeProps(node) {\n const codegenNode = node.codegenNode;\n if (codegenNode.type === 13 /* NodeTypes.VNODE_CALL */) {\n return codegenNode.props;\n }\n}\nfunction getPatchFlag(node) {\n const flag = node.patchFlag;\n return flag ? parseInt(flag, 10) : undefined;\n}\n\nfunction createTransformContext(root, { filename = '', prefixIdentifiers = false, hoistStatic = false, cacheHandlers = false, nodeTransforms = [], directiveTransforms = {}, transformHoist = null, isBuiltInComponent = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NOOP, isCustomElement = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NOOP, expressionPlugins = [], scopeId = null, slotted = true, ssr = false, inSSR = false, ssrCssVars = ``, bindingMetadata = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ, inline = false, isTS = false, onError = defaultOnError, onWarn = defaultOnWarn, compatConfig }) {\n const nameMatch = filename.replace(/\\?.*$/, '').match(/([^/\\\\]+)\\.\\w+$/);\n const context = {\n // options\n selfName: nameMatch && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.camelize)(nameMatch[1])),\n prefixIdentifiers,\n hoistStatic,\n cacheHandlers,\n nodeTransforms,\n directiveTransforms,\n transformHoist,\n isBuiltInComponent,\n isCustomElement,\n expressionPlugins,\n scopeId,\n slotted,\n ssr,\n inSSR,\n ssrCssVars,\n bindingMetadata,\n inline,\n isTS,\n onError,\n onWarn,\n compatConfig,\n // state\n root,\n helpers: new Map(),\n components: new Set(),\n directives: new Set(),\n hoists: [],\n imports: [],\n constantCache: new Map(),\n temps: 0,\n cached: 0,\n identifiers: Object.create(null),\n scopes: {\n vFor: 0,\n vSlot: 0,\n vPre: 0,\n vOnce: 0\n },\n parent: null,\n currentNode: root,\n childIndex: 0,\n inVOnce: false,\n // methods\n helper(name) {\n const count = context.helpers.get(name) || 0;\n context.helpers.set(name, count + 1);\n return name;\n },\n removeHelper(name) {\n const count = context.helpers.get(name);\n if (count) {\n const currentCount = count - 1;\n if (!currentCount) {\n context.helpers.delete(name);\n }\n else {\n context.helpers.set(name, currentCount);\n }\n }\n },\n helperString(name) {\n return `_${helperNameMap[context.helper(name)]}`;\n },\n replaceNode(node) {\n /* istanbul ignore if */\n if ((true)) {\n if (!context.currentNode) {\n throw new Error(`Node being replaced is already removed.`);\n }\n if (!context.parent) {\n throw new Error(`Cannot replace root node.`);\n }\n }\n context.parent.children[context.childIndex] = context.currentNode = node;\n },\n removeNode(node) {\n if (( true) && !context.parent) {\n throw new Error(`Cannot remove root node.`);\n }\n const list = context.parent.children;\n const removalIndex = node\n ? list.indexOf(node)\n : context.currentNode\n ? context.childIndex\n : -1;\n /* istanbul ignore if */\n if (( true) && removalIndex < 0) {\n throw new Error(`node being removed is not a child of current parent`);\n }\n if (!node || node === context.currentNode) {\n // current node removed\n context.currentNode = null;\n context.onNodeRemoved();\n }\n else {\n // sibling node removed\n if (context.childIndex > removalIndex) {\n context.childIndex--;\n context.onNodeRemoved();\n }\n }\n context.parent.children.splice(removalIndex, 1);\n },\n onNodeRemoved: () => { },\n addIdentifiers(exp) {\n },\n removeIdentifiers(exp) {\n },\n hoist(exp) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(exp))\n exp = createSimpleExpression(exp);\n context.hoists.push(exp);\n const identifier = createSimpleExpression(`_hoisted_${context.hoists.length}`, false, exp.loc, 2 /* ConstantTypes.CAN_HOIST */);\n identifier.hoisted = exp;\n return identifier;\n },\n cache(exp, isVNode = false) {\n return createCacheExpression(context.cached++, exp, isVNode);\n }\n };\n {\n context.filters = new Set();\n }\n return context;\n}\nfunction transform(root, options) {\n const context = createTransformContext(root, options);\n traverseNode(root, context);\n if (options.hoistStatic) {\n hoistStatic(root, context);\n }\n if (!options.ssr) {\n createRootCodegen(root, context);\n }\n // finalize meta information\n root.helpers = [...context.helpers.keys()];\n root.components = [...context.components];\n root.directives = [...context.directives];\n root.imports = context.imports;\n root.hoists = context.hoists;\n root.temps = context.temps;\n root.cached = context.cached;\n {\n root.filters = [...context.filters];\n }\n}\nfunction createRootCodegen(root, context) {\n const { helper } = context;\n const { children } = root;\n if (children.length === 1) {\n const child = children[0];\n // if the single child is an element, turn it into a block.\n if (isSingleElementRoot(root, child) && child.codegenNode) {\n // single element root is never hoisted so codegenNode will never be\n // SimpleExpressionNode\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13 /* NodeTypes.VNODE_CALL */) {\n makeBlock(codegenNode, context);\n }\n root.codegenNode = codegenNode;\n }\n else {\n // - single <slot/>, IfNode, ForNode: already blocks.\n // - single text node: always patched.\n // root codegen falls through via genNode()\n root.codegenNode = child;\n }\n }\n else if (children.length > 1) {\n // root has multiple nodes - return a fragment block.\n let patchFlag = 64 /* PatchFlags.STABLE_FRAGMENT */;\n let patchFlagText = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[64];\n // check if the fragment actually contains a single valid child with\n // the rest being comments\n if (( true) &&\n children.filter(c => c.type !== 3 /* NodeTypes.COMMENT */).length === 1) {\n patchFlag |= 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */;\n patchFlagText += `, ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[2048]}`;\n }\n root.codegenNode = createVNodeCall(context, helper(FRAGMENT), undefined, root.children, patchFlag + (( true) ? ` /* ${patchFlagText} */` : 0), undefined, undefined, true, undefined, false /* isComponent */);\n }\n else ;\n}\nfunction traverseChildren(parent, context) {\n let i = 0;\n const nodeRemoved = () => {\n i--;\n };\n for (; i < parent.children.length; i++) {\n const child = parent.children[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(child))\n continue;\n context.parent = parent;\n context.childIndex = i;\n context.onNodeRemoved = nodeRemoved;\n traverseNode(child, context);\n }\n}\nfunction traverseNode(node, context) {\n context.currentNode = node;\n // apply transform plugins\n const { nodeTransforms } = context;\n const exitFns = [];\n for (let i = 0; i < nodeTransforms.length; i++) {\n const onExit = nodeTransforms[i](node, context);\n if (onExit) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(onExit)) {\n exitFns.push(...onExit);\n }\n else {\n exitFns.push(onExit);\n }\n }\n if (!context.currentNode) {\n // node was removed\n return;\n }\n else {\n // node may have been replaced\n node = context.currentNode;\n }\n }\n switch (node.type) {\n case 3 /* NodeTypes.COMMENT */:\n if (!context.ssr) {\n // inject import for the Comment symbol, which is needed for creating\n // comment nodes with `createVNode`\n context.helper(CREATE_COMMENT);\n }\n break;\n case 5 /* NodeTypes.INTERPOLATION */:\n // no need to traverse, but we need to inject toString helper\n if (!context.ssr) {\n context.helper(TO_DISPLAY_STRING);\n }\n break;\n // for container types, further traverse downwards\n case 9 /* NodeTypes.IF */:\n for (let i = 0; i < node.branches.length; i++) {\n traverseNode(node.branches[i], context);\n }\n break;\n case 10 /* NodeTypes.IF_BRANCH */:\n case 11 /* NodeTypes.FOR */:\n case 1 /* NodeTypes.ELEMENT */:\n case 0 /* NodeTypes.ROOT */:\n traverseChildren(node, context);\n break;\n }\n // exit transforms\n context.currentNode = node;\n let i = exitFns.length;\n while (i--) {\n exitFns[i]();\n }\n}\nfunction createStructuralDirectiveTransform(name, fn) {\n const matches = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(name)\n ? (n) => n === name\n : (n) => name.test(n);\n return (node, context) => {\n if (node.type === 1 /* NodeTypes.ELEMENT */) {\n const { props } = node;\n // structural directive transforms are not concerned with slots\n // as they are handled separately in vSlot.ts\n if (node.tagType === 3 /* ElementTypes.TEMPLATE */ && props.some(isVSlot)) {\n return;\n }\n const exitFns = [];\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 7 /* NodeTypes.DIRECTIVE */ && matches(prop.name)) {\n // structural directives are removed to avoid infinite recursion\n // also we remove them *before* applying so that it can further\n // traverse itself in case it moves the node around\n props.splice(i, 1);\n i--;\n const onExit = fn(node, prop, context);\n if (onExit)\n exitFns.push(onExit);\n }\n }\n return exitFns;\n }\n };\n}\n\nconst PURE_ANNOTATION = `/*#__PURE__*/`;\nconst aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;\nfunction createCodegenContext(ast, { mode = 'function', prefixIdentifiers = mode === 'module', sourceMap = false, filename = `template.vue.html`, scopeId = null, optimizeImports = false, runtimeGlobalName = `Vue`, runtimeModuleName = `vue`, ssrRuntimeModuleName = 'vue/server-renderer', ssr = false, isTS = false, inSSR = false }) {\n const context = {\n mode,\n prefixIdentifiers,\n sourceMap,\n filename,\n scopeId,\n optimizeImports,\n runtimeGlobalName,\n runtimeModuleName,\n ssrRuntimeModuleName,\n ssr,\n isTS,\n inSSR,\n source: ast.loc.source,\n code: ``,\n column: 1,\n line: 1,\n offset: 0,\n indentLevel: 0,\n pure: false,\n map: undefined,\n helper(key) {\n return `_${helperNameMap[key]}`;\n },\n push(code, node) {\n context.code += code;\n },\n indent() {\n newline(++context.indentLevel);\n },\n deindent(withoutNewLine = false) {\n if (withoutNewLine) {\n --context.indentLevel;\n }\n else {\n newline(--context.indentLevel);\n }\n },\n newline() {\n newline(context.indentLevel);\n }\n };\n function newline(n) {\n context.push('\\n' + ` `.repeat(n));\n }\n return context;\n}\nfunction generate(ast, options = {}) {\n const context = createCodegenContext(ast, options);\n if (options.onContextCreated)\n options.onContextCreated(context);\n const { mode, push, prefixIdentifiers, indent, deindent, newline, scopeId, ssr } = context;\n const hasHelpers = ast.helpers.length > 0;\n const useWithBlock = !prefixIdentifiers && mode !== 'module';\n // preambles\n // in setup() inline mode, the preamble is generated in a sub context\n // and returned separately.\n const preambleContext = context;\n {\n genFunctionPreamble(ast, preambleContext);\n }\n // enter render function\n const functionName = ssr ? `ssrRender` : `render`;\n const args = ssr ? ['_ctx', '_push', '_parent', '_attrs'] : ['_ctx', '_cache'];\n const signature = args.join(', ');\n {\n push(`function ${functionName}(${signature}) {`);\n }\n indent();\n if (useWithBlock) {\n push(`with (_ctx) {`);\n indent();\n // function mode const declarations should be inside with block\n // also they should be renamed to avoid collision with user properties\n if (hasHelpers) {\n push(`const { ${ast.helpers.map(aliasHelper).join(', ')} } = _Vue`);\n push(`\\n`);\n newline();\n }\n }\n // generate asset resolution statements\n if (ast.components.length) {\n genAssets(ast.components, 'component', context);\n if (ast.directives.length || ast.temps > 0) {\n newline();\n }\n }\n if (ast.directives.length) {\n genAssets(ast.directives, 'directive', context);\n if (ast.temps > 0) {\n newline();\n }\n }\n if (ast.filters && ast.filters.length) {\n newline();\n genAssets(ast.filters, 'filter', context);\n newline();\n }\n if (ast.temps > 0) {\n push(`let `);\n for (let i = 0; i < ast.temps; i++) {\n push(`${i > 0 ? `, ` : ``}_temp${i}`);\n }\n }\n if (ast.components.length || ast.directives.length || ast.temps) {\n push(`\\n`);\n newline();\n }\n // generate the VNode tree expression\n if (!ssr) {\n push(`return `);\n }\n if (ast.codegenNode) {\n genNode(ast.codegenNode, context);\n }\n else {\n push(`null`);\n }\n if (useWithBlock) {\n deindent();\n push(`}`);\n }\n deindent();\n push(`}`);\n return {\n ast,\n code: context.code,\n preamble: ``,\n // SourceMapGenerator does have toJSON() method but it's not in the types\n map: context.map ? context.map.toJSON() : undefined\n };\n}\nfunction genFunctionPreamble(ast, context) {\n const { ssr, prefixIdentifiers, push, newline, runtimeModuleName, runtimeGlobalName, ssrRuntimeModuleName } = context;\n const VueBinding = runtimeGlobalName;\n // Generate const declaration for helpers\n // In prefix mode, we place the const declaration at top so it's done\n // only once; But if we not prefixing, we place the declaration inside the\n // with block so it doesn't incur the `in` check cost for every helper access.\n if (ast.helpers.length > 0) {\n {\n // \"with\" mode.\n // save Vue in a separate variable to avoid collision\n push(`const _Vue = ${VueBinding}\\n`);\n // in \"with\" mode, helpers are declared inside the with block to avoid\n // has check cost, but hoists are lifted out of the function - we need\n // to provide the helper here.\n if (ast.hoists.length) {\n const staticHelpers = [\n CREATE_VNODE,\n CREATE_ELEMENT_VNODE,\n CREATE_COMMENT,\n CREATE_TEXT,\n CREATE_STATIC\n ]\n .filter(helper => ast.helpers.includes(helper))\n .map(aliasHelper)\n .join(', ');\n push(`const { ${staticHelpers} } = _Vue\\n`);\n }\n }\n }\n genHoists(ast.hoists, context);\n newline();\n push(`return `);\n}\nfunction genAssets(assets, type, { helper, push, newline, isTS }) {\n const resolver = helper(type === 'filter'\n ? RESOLVE_FILTER\n : type === 'component'\n ? RESOLVE_COMPONENT\n : RESOLVE_DIRECTIVE);\n for (let i = 0; i < assets.length; i++) {\n let id = assets[i];\n // potential component implicit self-reference inferred from SFC filename\n const maybeSelfReference = id.endsWith('__self');\n if (maybeSelfReference) {\n id = id.slice(0, -6);\n }\n push(`const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`);\n if (i < assets.length - 1) {\n newline();\n }\n }\n}\nfunction genHoists(hoists, context) {\n if (!hoists.length) {\n return;\n }\n context.pure = true;\n const { push, newline, helper, scopeId, mode } = context;\n newline();\n for (let i = 0; i < hoists.length; i++) {\n const exp = hoists[i];\n if (exp) {\n push(`const _hoisted_${i + 1} = ${``}`);\n genNode(exp, context);\n newline();\n }\n }\n context.pure = false;\n}\nfunction isText$1(n) {\n return ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(n) ||\n n.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ ||\n n.type === 2 /* NodeTypes.TEXT */ ||\n n.type === 5 /* NodeTypes.INTERPOLATION */ ||\n n.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */);\n}\nfunction genNodeListAsArray(nodes, context) {\n const multilines = nodes.length > 3 ||\n ((( true)) && nodes.some(n => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(n) || !isText$1(n)));\n context.push(`[`);\n multilines && context.indent();\n genNodeList(nodes, context, multilines);\n multilines && context.deindent();\n context.push(`]`);\n}\nfunction genNodeList(nodes, context, multilines = false, comma = true) {\n const { push, newline } = context;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(node)) {\n push(node);\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(node)) {\n genNodeListAsArray(node, context);\n }\n else {\n genNode(node, context);\n }\n if (i < nodes.length - 1) {\n if (multilines) {\n comma && push(',');\n newline();\n }\n else {\n comma && push(', ');\n }\n }\n }\n}\nfunction genNode(node, context) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(node)) {\n context.push(node);\n return;\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(node)) {\n context.push(context.helper(node));\n return;\n }\n switch (node.type) {\n case 1 /* NodeTypes.ELEMENT */:\n case 9 /* NodeTypes.IF */:\n case 11 /* NodeTypes.FOR */:\n ( true) &&\n assert(node.codegenNode != null, `Codegen node is missing for element/if/for node. ` +\n `Apply appropriate transforms first.`);\n genNode(node.codegenNode, context);\n break;\n case 2 /* NodeTypes.TEXT */:\n genText(node, context);\n break;\n case 4 /* NodeTypes.SIMPLE_EXPRESSION */:\n genExpression(node, context);\n break;\n case 5 /* NodeTypes.INTERPOLATION */:\n genInterpolation(node, context);\n break;\n case 12 /* NodeTypes.TEXT_CALL */:\n genNode(node.codegenNode, context);\n break;\n case 8 /* NodeTypes.COMPOUND_EXPRESSION */:\n genCompoundExpression(node, context);\n break;\n case 3 /* NodeTypes.COMMENT */:\n genComment(node, context);\n break;\n case 13 /* NodeTypes.VNODE_CALL */:\n genVNodeCall(node, context);\n break;\n case 14 /* NodeTypes.JS_CALL_EXPRESSION */:\n genCallExpression(node, context);\n break;\n case 15 /* NodeTypes.JS_OBJECT_EXPRESSION */:\n genObjectExpression(node, context);\n break;\n case 17 /* NodeTypes.JS_ARRAY_EXPRESSION */:\n genArrayExpression(node, context);\n break;\n case 18 /* NodeTypes.JS_FUNCTION_EXPRESSION */:\n genFunctionExpression(node, context);\n break;\n case 19 /* NodeTypes.JS_CONDITIONAL_EXPRESSION */:\n genConditionalExpression(node, context);\n break;\n case 20 /* NodeTypes.JS_CACHE_EXPRESSION */:\n genCacheExpression(node, context);\n break;\n case 21 /* NodeTypes.JS_BLOCK_STATEMENT */:\n genNodeList(node.body, context, true, false);\n break;\n // SSR only types\n case 22 /* NodeTypes.JS_TEMPLATE_LITERAL */:\n break;\n case 23 /* NodeTypes.JS_IF_STATEMENT */:\n break;\n case 24 /* NodeTypes.JS_ASSIGNMENT_EXPRESSION */:\n break;\n case 25 /* NodeTypes.JS_SEQUENCE_EXPRESSION */:\n break;\n case 26 /* NodeTypes.JS_RETURN_STATEMENT */:\n break;\n /* istanbul ignore next */\n case 10 /* NodeTypes.IF_BRANCH */:\n // noop\n break;\n default:\n if ((true)) {\n assert(false, `unhandled codegen node type: ${node.type}`);\n // make sure we exhaust all possible types\n const exhaustiveCheck = node;\n return exhaustiveCheck;\n }\n }\n}\nfunction genText(node, context) {\n context.push(JSON.stringify(node.content), node);\n}\nfunction genExpression(node, context) {\n const { content, isStatic } = node;\n context.push(isStatic ? JSON.stringify(content) : content, node);\n}\nfunction genInterpolation(node, context) {\n const { push, helper, pure } = context;\n if (pure)\n push(PURE_ANNOTATION);\n push(`${helper(TO_DISPLAY_STRING)}(`);\n genNode(node.content, context);\n push(`)`);\n}\nfunction genCompoundExpression(node, context) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(child)) {\n context.push(child);\n }\n else {\n genNode(child, context);\n }\n }\n}\nfunction genExpressionAsPropertyKey(node, context) {\n const { push } = context;\n if (node.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */) {\n push(`[`);\n genCompoundExpression(node, context);\n push(`]`);\n }\n else if (node.isStatic) {\n // only quote keys if necessary\n const text = isSimpleIdentifier(node.content)\n ? node.content\n : JSON.stringify(node.content);\n push(text, node);\n }\n else {\n push(`[${node.content}]`, node);\n }\n}\nfunction genComment(node, context) {\n const { push, helper, pure } = context;\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(`${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, node);\n}\nfunction genVNodeCall(node, context) {\n const { push, helper, pure } = context;\n const { tag, props, children, patchFlag, dynamicProps, directives, isBlock, disableTracking, isComponent } = node;\n if (directives) {\n push(helper(WITH_DIRECTIVES) + `(`);\n }\n if (isBlock) {\n push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);\n }\n if (pure) {\n push(PURE_ANNOTATION);\n }\n const callHelper = isBlock\n ? getVNodeBlockHelper(context.inSSR, isComponent)\n : getVNodeHelper(context.inSSR, isComponent);\n push(helper(callHelper) + `(`, node);\n genNodeList(genNullableArgs([tag, props, children, patchFlag, dynamicProps]), context);\n push(`)`);\n if (isBlock) {\n push(`)`);\n }\n if (directives) {\n push(`, `);\n genNode(directives, context);\n push(`)`);\n }\n}\nfunction genNullableArgs(args) {\n let i = args.length;\n while (i--) {\n if (args[i] != null)\n break;\n }\n return args.slice(0, i + 1).map(arg => arg || `null`);\n}\n// JavaScript\nfunction genCallExpression(node, context) {\n const { push, helper, pure } = context;\n const callee = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(node.callee) ? node.callee : helper(node.callee);\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(callee + `(`, node);\n genNodeList(node.arguments, context);\n push(`)`);\n}\nfunction genObjectExpression(node, context) {\n const { push, indent, deindent, newline } = context;\n const { properties } = node;\n if (!properties.length) {\n push(`{}`, node);\n return;\n }\n const multilines = properties.length > 1 ||\n ((( true)) &&\n properties.some(p => p.value.type !== 4 /* NodeTypes.SIMPLE_EXPRESSION */));\n push(multilines ? `{` : `{ `);\n multilines && indent();\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n // key\n genExpressionAsPropertyKey(key, context);\n push(`: `);\n // value\n genNode(value, context);\n if (i < properties.length - 1) {\n // will only reach this if it's multilines\n push(`,`);\n newline();\n }\n }\n multilines && deindent();\n push(multilines ? `}` : ` }`);\n}\nfunction genArrayExpression(node, context) {\n genNodeListAsArray(node.elements, context);\n}\nfunction genFunctionExpression(node, context) {\n const { push, indent, deindent } = context;\n const { params, returns, body, newline, isSlot } = node;\n if (isSlot) {\n // wrap slot functions with owner context\n push(`_${helperNameMap[WITH_CTX]}(`);\n }\n push(`(`, node);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(params)) {\n genNodeList(params, context);\n }\n else if (params) {\n genNode(params, context);\n }\n push(`) => `);\n if (newline || body) {\n push(`{`);\n indent();\n }\n if (returns) {\n if (newline) {\n push(`return `);\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(returns)) {\n genNodeListAsArray(returns, context);\n }\n else {\n genNode(returns, context);\n }\n }\n else if (body) {\n genNode(body, context);\n }\n if (newline || body) {\n deindent();\n push(`}`);\n }\n if (isSlot) {\n if (node.isNonScopedSlot) {\n push(`, undefined, true`);\n }\n push(`)`);\n }\n}\nfunction genConditionalExpression(node, context) {\n const { test, consequent, alternate, newline: needNewline } = node;\n const { push, indent, deindent, newline } = context;\n if (test.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n const needsParens = !isSimpleIdentifier(test.content);\n needsParens && push(`(`);\n genExpression(test, context);\n needsParens && push(`)`);\n }\n else {\n push(`(`);\n genNode(test, context);\n push(`)`);\n }\n needNewline && indent();\n context.indentLevel++;\n needNewline || push(` `);\n push(`? `);\n genNode(consequent, context);\n context.indentLevel--;\n needNewline && newline();\n needNewline || push(` `);\n push(`: `);\n const isNested = alternate.type === 19 /* NodeTypes.JS_CONDITIONAL_EXPRESSION */;\n if (!isNested) {\n context.indentLevel++;\n }\n genNode(alternate, context);\n if (!isNested) {\n context.indentLevel--;\n }\n needNewline && deindent(true /* without newline */);\n}\nfunction genCacheExpression(node, context) {\n const { push, helper, indent, deindent, newline } = context;\n push(`_cache[${node.index}] || (`);\n if (node.isVNode) {\n indent();\n push(`${helper(SET_BLOCK_TRACKING)}(-1),`);\n newline();\n }\n push(`_cache[${node.index}] = `);\n genNode(node.value, context);\n if (node.isVNode) {\n push(`,`);\n newline();\n push(`${helper(SET_BLOCK_TRACKING)}(1),`);\n newline();\n push(`_cache[${node.index}]`);\n deindent();\n }\n push(`)`);\n}\n\nfunction walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = Object.create(null)) {\n {\n return;\n }\n}\nfunction isReferencedIdentifier(id, parent, parentStack) {\n {\n return false;\n }\n}\nfunction isInDestructureAssignment(parent, parentStack) {\n if (parent &&\n (parent.type === 'ObjectProperty' || parent.type === 'ArrayPattern')) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === 'AssignmentExpression') {\n return true;\n }\n else if (p.type !== 'ObjectProperty' && !p.type.endsWith('Pattern')) {\n break;\n }\n }\n }\n return false;\n}\nfunction walkFunctionParams(node, onIdent) {\n for (const p of node.params) {\n for (const id of extractIdentifiers(p)) {\n onIdent(id);\n }\n }\n}\nfunction walkBlockDeclarations(block, onIdent) {\n for (const stmt of block.body) {\n if (stmt.type === 'VariableDeclaration') {\n if (stmt.declare)\n continue;\n for (const decl of stmt.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n }\n else if (stmt.type === 'FunctionDeclaration' ||\n stmt.type === 'ClassDeclaration') {\n if (stmt.declare || !stmt.id)\n continue;\n onIdent(stmt.id);\n }\n }\n}\nfunction extractIdentifiers(param, nodes = []) {\n switch (param.type) {\n case 'Identifier':\n nodes.push(param);\n break;\n case 'MemberExpression':\n let object = param;\n while (object.type === 'MemberExpression') {\n object = object.object;\n }\n nodes.push(object);\n break;\n case 'ObjectPattern':\n for (const prop of param.properties) {\n if (prop.type === 'RestElement') {\n extractIdentifiers(prop.argument, nodes);\n }\n else {\n extractIdentifiers(prop.value, nodes);\n }\n }\n break;\n case 'ArrayPattern':\n param.elements.forEach(element => {\n if (element)\n extractIdentifiers(element, nodes);\n });\n break;\n case 'RestElement':\n extractIdentifiers(param.argument, nodes);\n break;\n case 'AssignmentPattern':\n extractIdentifiers(param.left, nodes);\n break;\n }\n return nodes;\n}\nconst isFunctionType = (node) => {\n return /Function(?:Expression|Declaration)$|Method$/.test(node.type);\n};\nconst isStaticProperty = (node) => node &&\n (node.type === 'ObjectProperty' || node.type === 'ObjectMethod') &&\n !node.computed;\nconst isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nconst prohibitedKeywordRE = new RegExp('\\\\b' +\n ('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments,typeof,void')\n .split(',')\n .join('\\\\b|\\\\b') +\n '\\\\b');\n// strip strings in expressions\nconst stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n/**\n * Validate a non-prefixed expression.\n * This is only called when using the in-browser runtime compiler since it\n * doesn't prefix expressions.\n */\nfunction validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {\n const exp = node.content;\n // empty expressions are validated per-directive since some directives\n // do allow empty expressions.\n if (!exp.trim()) {\n return;\n }\n try {\n new Function(asRawStatements\n ? ` ${exp} `\n : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}`);\n }\n catch (e) {\n let message = e.message;\n const keywordMatch = exp\n .replace(stripStringRE, '')\n .match(prohibitedKeywordRE);\n if (keywordMatch) {\n message = `avoid using JavaScript keyword as property name: \"${keywordMatch[0]}\"`;\n }\n context.onError(createCompilerError(44 /* ErrorCodes.X_INVALID_EXPRESSION */, node.loc, undefined, message));\n }\n}\n\nconst transformExpression = (node, context) => {\n if (node.type === 5 /* NodeTypes.INTERPOLATION */) {\n node.content = processExpression(node.content, context);\n }\n else if (node.type === 1 /* NodeTypes.ELEMENT */) {\n // handle directives on element\n for (let i = 0; i < node.props.length; i++) {\n const dir = node.props[i];\n // do not process for v-on & v-for since they are special handled\n if (dir.type === 7 /* NodeTypes.DIRECTIVE */ && dir.name !== 'for') {\n const exp = dir.exp;\n const arg = dir.arg;\n // do not process exp if this is v-on:arg - we need special handling\n // for wrapping inline statements.\n if (exp &&\n exp.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ &&\n !(dir.name === 'on' && arg)) {\n dir.exp = processExpression(exp, context, \n // slot args must be processed as function params\n dir.name === 'slot');\n }\n if (arg && arg.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ && !arg.isStatic) {\n dir.arg = processExpression(arg, context);\n }\n }\n }\n }\n};\n// Important: since this function uses Node.js only dependencies, it should\n// always be used with a leading !true check so that it can be\n// tree-shaken from the browser build.\nfunction processExpression(node, context, \n// some expressions like v-slot props & v-for aliases should be parsed as\n// function params\nasParams = false, \n// v-on handler values may contain multiple statements\nasRawStatements = false, localVars = Object.create(context.identifiers)) {\n {\n if ((true)) {\n // simple in-browser validation (same logic in 2.x)\n validateBrowserExpression(node, context, asParams, asRawStatements);\n }\n return node;\n }\n}\n\nconst transformIf = createStructuralDirectiveTransform(/^(if|else|else-if)$/, (node, dir, context) => {\n return processIf(node, dir, context, (ifNode, branch, isRoot) => {\n // #1587: We need to dynamically increment the key based on the current\n // node's sibling nodes, since chained v-if/else branches are\n // rendered at the same depth\n const siblings = context.parent.children;\n let i = siblings.indexOf(ifNode);\n let key = 0;\n while (i-- >= 0) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 9 /* NodeTypes.IF */) {\n key += sibling.branches.length;\n }\n }\n // Exit callback. Complete the codegenNode when all children have been\n // transformed.\n return () => {\n if (isRoot) {\n ifNode.codegenNode = createCodegenNodeForBranch(branch, key, context);\n }\n else {\n // attach this branch's codegen node to the v-if root.\n const parentCondition = getParentCondition(ifNode.codegenNode);\n parentCondition.alternate = createCodegenNodeForBranch(branch, key + ifNode.branches.length - 1, context);\n }\n };\n });\n});\n// target-agnostic transform used for both Client and SSR\nfunction processIf(node, dir, context, processCodegen) {\n if (dir.name !== 'else' &&\n (!dir.exp || !dir.exp.content.trim())) {\n const loc = dir.exp ? dir.exp.loc : node.loc;\n context.onError(createCompilerError(28 /* ErrorCodes.X_V_IF_NO_EXPRESSION */, dir.loc));\n dir.exp = createSimpleExpression(`true`, false, loc);\n }\n if ( true && dir.exp) {\n validateBrowserExpression(dir.exp, context);\n }\n if (dir.name === 'if') {\n const branch = createIfBranch(node, dir);\n const ifNode = {\n type: 9 /* NodeTypes.IF */,\n loc: node.loc,\n branches: [branch]\n };\n context.replaceNode(ifNode);\n if (processCodegen) {\n return processCodegen(ifNode, branch, true);\n }\n }\n else {\n // locate the adjacent v-if\n const siblings = context.parent.children;\n const comments = [];\n let i = siblings.indexOf(node);\n while (i-- >= -1) {\n const sibling = siblings[i];\n if (( true) && sibling && sibling.type === 3 /* NodeTypes.COMMENT */) {\n context.removeNode(sibling);\n comments.unshift(sibling);\n continue;\n }\n if (sibling &&\n sibling.type === 2 /* NodeTypes.TEXT */ &&\n !sibling.content.trim().length) {\n context.removeNode(sibling);\n continue;\n }\n if (sibling && sibling.type === 9 /* NodeTypes.IF */) {\n // Check if v-else was followed by v-else-if\n if (dir.name === 'else-if' &&\n sibling.branches[sibling.branches.length - 1].condition === undefined) {\n context.onError(createCompilerError(30 /* ErrorCodes.X_V_ELSE_NO_ADJACENT_IF */, node.loc));\n }\n // move the node to the if node's branches\n context.removeNode();\n const branch = createIfBranch(node, dir);\n if (( true) &&\n comments.length &&\n // #3619 ignore comments if the v-if is direct child of <transition>\n !(context.parent &&\n context.parent.type === 1 /* NodeTypes.ELEMENT */ &&\n isBuiltInType(context.parent.tag, 'transition'))) {\n branch.children = [...comments, ...branch.children];\n }\n // check if user is forcing same key on different branches\n if (true) {\n const key = branch.userKey;\n if (key) {\n sibling.branches.forEach(({ userKey }) => {\n if (isSameKey(userKey, key)) {\n context.onError(createCompilerError(29 /* ErrorCodes.X_V_IF_SAME_KEY */, branch.userKey.loc));\n }\n });\n }\n }\n sibling.branches.push(branch);\n const onExit = processCodegen && processCodegen(sibling, branch, false);\n // since the branch was removed, it will not be traversed.\n // make sure to traverse here.\n traverseNode(branch, context);\n // call on exit\n if (onExit)\n onExit();\n // make sure to reset currentNode after traversal to indicate this\n // node has been removed.\n context.currentNode = null;\n }\n else {\n context.onError(createCompilerError(30 /* ErrorCodes.X_V_ELSE_NO_ADJACENT_IF */, node.loc));\n }\n break;\n }\n }\n}\nfunction createIfBranch(node, dir) {\n const isTemplateIf = node.tagType === 3 /* ElementTypes.TEMPLATE */;\n return {\n type: 10 /* NodeTypes.IF_BRANCH */,\n loc: node.loc,\n condition: dir.name === 'else' ? undefined : dir.exp,\n children: isTemplateIf && !findDir(node, 'for') ? node.children : [node],\n userKey: findProp(node, `key`),\n isTemplateIf\n };\n}\nfunction createCodegenNodeForBranch(branch, keyIndex, context) {\n if (branch.condition) {\n return createConditionalExpression(branch.condition, createChildrenCodegenNode(branch, keyIndex, context), \n // make sure to pass in asBlock: true so that the comment node call\n // closes the current block.\n createCallExpression(context.helper(CREATE_COMMENT), [\n ( true) ? '\"v-if\"' : 0,\n 'true'\n ]));\n }\n else {\n return createChildrenCodegenNode(branch, keyIndex, context);\n }\n}\nfunction createChildrenCodegenNode(branch, keyIndex, context) {\n const { helper } = context;\n const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2 /* ConstantTypes.CAN_HOIST */));\n const { children } = branch;\n const firstChild = children[0];\n const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1 /* NodeTypes.ELEMENT */;\n if (needFragmentWrapper) {\n if (children.length === 1 && firstChild.type === 11 /* NodeTypes.FOR */) {\n // optimize away nested fragments when child is a ForNode\n const vnodeCall = firstChild.codegenNode;\n injectProp(vnodeCall, keyProperty, context);\n return vnodeCall;\n }\n else {\n let patchFlag = 64 /* PatchFlags.STABLE_FRAGMENT */;\n let patchFlagText = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[64];\n // check if the fragment actually contains a single valid child with\n // the rest being comments\n if (( true) &&\n !branch.isTemplateIf &&\n children.filter(c => c.type !== 3 /* NodeTypes.COMMENT */).length === 1) {\n patchFlag |= 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */;\n patchFlagText += `, ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[2048]}`;\n }\n return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag + (( true) ? ` /* ${patchFlagText} */` : 0), undefined, undefined, true, false, false /* isComponent */, branch.loc);\n }\n }\n else {\n const ret = firstChild.codegenNode;\n const vnodeCall = getMemoedVNodeCall(ret);\n // Change createVNode to createBlock.\n if (vnodeCall.type === 13 /* NodeTypes.VNODE_CALL */) {\n makeBlock(vnodeCall, context);\n }\n // inject branch key\n injectProp(vnodeCall, keyProperty, context);\n return ret;\n }\n}\nfunction isSameKey(a, b) {\n if (!a || a.type !== b.type) {\n return false;\n }\n if (a.type === 6 /* NodeTypes.ATTRIBUTE */) {\n if (a.value.content !== b.value.content) {\n return false;\n }\n }\n else {\n // directive\n const exp = a.exp;\n const branchExp = b.exp;\n if (exp.type !== branchExp.type) {\n return false;\n }\n if (exp.type !== 4 /* NodeTypes.SIMPLE_EXPRESSION */ ||\n exp.isStatic !== branchExp.isStatic ||\n exp.content !== branchExp.content) {\n return false;\n }\n }\n return true;\n}\nfunction getParentCondition(node) {\n while (true) {\n if (node.type === 19 /* NodeTypes.JS_CONDITIONAL_EXPRESSION */) {\n if (node.alternate.type === 19 /* NodeTypes.JS_CONDITIONAL_EXPRESSION */) {\n node = node.alternate;\n }\n else {\n return node;\n }\n }\n else if (node.type === 20 /* NodeTypes.JS_CACHE_EXPRESSION */) {\n node = node.value;\n }\n }\n}\n\nconst transformFor = createStructuralDirectiveTransform('for', (node, dir, context) => {\n const { helper, removeHelper } = context;\n return processFor(node, dir, context, forNode => {\n // create the loop render function expression now, and add the\n // iterator on exit after all children have been traversed\n const renderExp = createCallExpression(helper(RENDER_LIST), [\n forNode.source\n ]);\n const isTemplate = isTemplateNode(node);\n const memo = findDir(node, 'memo');\n const keyProp = findProp(node, `key`);\n const keyExp = keyProp &&\n (keyProp.type === 6 /* NodeTypes.ATTRIBUTE */\n ? createSimpleExpression(keyProp.value.content, true)\n : keyProp.exp);\n const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null;\n const isStableFragment = forNode.source.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ &&\n forNode.source.constType > 0 /* ConstantTypes.NOT_CONSTANT */;\n const fragmentFlag = isStableFragment\n ? 64 /* PatchFlags.STABLE_FRAGMENT */\n : keyProp\n ? 128 /* PatchFlags.KEYED_FRAGMENT */\n : 256 /* PatchFlags.UNKEYED_FRAGMENT */;\n forNode.codegenNode = createVNodeCall(context, helper(FRAGMENT), undefined, renderExp, fragmentFlag +\n (( true) ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[fragmentFlag]} */` : 0), undefined, undefined, true /* isBlock */, !isStableFragment /* disableTracking */, false /* isComponent */, node.loc);\n return () => {\n // finish the codegen now that all children have been traversed\n let childBlock;\n const { children } = forNode;\n // check <template v-for> key placement\n if (( true) && isTemplate) {\n node.children.some(c => {\n if (c.type === 1 /* NodeTypes.ELEMENT */) {\n const key = findProp(c, 'key');\n if (key) {\n context.onError(createCompilerError(33 /* ErrorCodes.X_V_FOR_TEMPLATE_KEY_PLACEMENT */, key.loc));\n return true;\n }\n }\n });\n }\n const needFragmentWrapper = children.length !== 1 || children[0].type !== 1 /* NodeTypes.ELEMENT */;\n const slotOutlet = isSlotOutlet(node)\n ? node\n : isTemplate &&\n node.children.length === 1 &&\n isSlotOutlet(node.children[0])\n ? node.children[0] // api-extractor somehow fails to infer this\n : null;\n if (slotOutlet) {\n // <slot v-for=\"...\"> or <template v-for=\"...\"><slot/></template>\n childBlock = slotOutlet.codegenNode;\n if (isTemplate && keyProperty) {\n // <template v-for=\"...\" :key=\"...\"><slot/></template>\n // we need to inject the key to the renderSlot() call.\n // the props for renderSlot is passed as the 3rd argument.\n injectProp(childBlock, keyProperty, context);\n }\n }\n else if (needFragmentWrapper) {\n // <template v-for=\"...\"> with text or multi-elements\n // should generate a fragment block for each loop\n childBlock = createVNodeCall(context, helper(FRAGMENT), keyProperty ? createObjectExpression([keyProperty]) : undefined, node.children, 64 /* PatchFlags.STABLE_FRAGMENT */ +\n (( true)\n ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[64]} */`\n : 0), undefined, undefined, true, undefined, false /* isComponent */);\n }\n else {\n // Normal element v-for. Directly use the child's codegenNode\n // but mark it as a block.\n childBlock = children[0]\n .codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n if (childBlock.isBlock !== !isStableFragment) {\n if (childBlock.isBlock) {\n // switch from block to vnode\n removeHelper(OPEN_BLOCK);\n removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));\n }\n else {\n // switch from vnode to block\n removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));\n }\n }\n childBlock.isBlock = !isStableFragment;\n if (childBlock.isBlock) {\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));\n }\n else {\n helper(getVNodeHelper(context.inSSR, childBlock.isComponent));\n }\n }\n if (memo) {\n const loop = createFunctionExpression(createForLoopParams(forNode.parseResult, [\n createSimpleExpression(`_cached`)\n ]));\n loop.body = createBlockStatement([\n createCompoundExpression([`const _memo = (`, memo.exp, `)`]),\n createCompoundExpression([\n `if (_cached`,\n ...(keyExp ? [` && _cached.key === `, keyExp] : []),\n ` && ${context.helperString(IS_MEMO_SAME)}(_cached, _memo)) return _cached`\n ]),\n createCompoundExpression([`const _item = `, childBlock]),\n createSimpleExpression(`_item.memo = _memo`),\n createSimpleExpression(`return _item`)\n ]);\n renderExp.arguments.push(loop, createSimpleExpression(`_cache`), createSimpleExpression(String(context.cached++)));\n }\n else {\n renderExp.arguments.push(createFunctionExpression(createForLoopParams(forNode.parseResult), childBlock, true /* force newline */));\n }\n };\n });\n});\n// target-agnostic transform used for both Client and SSR\nfunction processFor(node, dir, context, processCodegen) {\n if (!dir.exp) {\n context.onError(createCompilerError(31 /* ErrorCodes.X_V_FOR_NO_EXPRESSION */, dir.loc));\n return;\n }\n const parseResult = parseForExpression(\n // can only be simple expression because vFor transform is applied\n // before expression transform.\n dir.exp, context);\n if (!parseResult) {\n context.onError(createCompilerError(32 /* ErrorCodes.X_V_FOR_MALFORMED_EXPRESSION */, dir.loc));\n return;\n }\n const { addIdentifiers, removeIdentifiers, scopes } = context;\n const { source, value, key, index } = parseResult;\n const forNode = {\n type: 11 /* NodeTypes.FOR */,\n loc: dir.loc,\n source,\n valueAlias: value,\n keyAlias: key,\n objectIndexAlias: index,\n parseResult,\n children: isTemplateNode(node) ? node.children : [node]\n };\n context.replaceNode(forNode);\n // bookkeeping\n scopes.vFor++;\n const onExit = processCodegen && processCodegen(forNode);\n return () => {\n scopes.vFor--;\n if (onExit)\n onExit();\n };\n}\nconst forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\n// This regex doesn't cover the case if key or index aliases have destructuring,\n// but those do not make sense in the first place, so this works in practice.\nconst forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nconst stripParensRE = /^\\(|\\)$/g;\nfunction parseForExpression(input, context) {\n const loc = input.loc;\n const exp = input.content;\n const inMatch = exp.match(forAliasRE);\n if (!inMatch)\n return;\n const [, LHS, RHS] = inMatch;\n const result = {\n source: createAliasExpression(loc, RHS.trim(), exp.indexOf(RHS, LHS.length)),\n value: undefined,\n key: undefined,\n index: undefined\n };\n if (true) {\n validateBrowserExpression(result.source, context);\n }\n let valueContent = LHS.trim().replace(stripParensRE, '').trim();\n const trimmedOffset = LHS.indexOf(valueContent);\n const iteratorMatch = valueContent.match(forIteratorRE);\n if (iteratorMatch) {\n valueContent = valueContent.replace(forIteratorRE, '').trim();\n const keyContent = iteratorMatch[1].trim();\n let keyOffset;\n if (keyContent) {\n keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);\n result.key = createAliasExpression(loc, keyContent, keyOffset);\n if (true) {\n validateBrowserExpression(result.key, context, true);\n }\n }\n if (iteratorMatch[2]) {\n const indexContent = iteratorMatch[2].trim();\n if (indexContent) {\n result.index = createAliasExpression(loc, indexContent, exp.indexOf(indexContent, result.key\n ? keyOffset + keyContent.length\n : trimmedOffset + valueContent.length));\n if (true) {\n validateBrowserExpression(result.index, context, true);\n }\n }\n }\n }\n if (valueContent) {\n result.value = createAliasExpression(loc, valueContent, trimmedOffset);\n if (true) {\n validateBrowserExpression(result.value, context, true);\n }\n }\n return result;\n}\nfunction createAliasExpression(range, content, offset) {\n return createSimpleExpression(content, false, getInnerRange(range, offset, content.length));\n}\nfunction createForLoopParams({ value, key, index }, memoArgs = []) {\n return createParamsList([value, key, index, ...memoArgs]);\n}\nfunction createParamsList(args) {\n let i = args.length;\n while (i--) {\n if (args[i])\n break;\n }\n return args\n .slice(0, i + 1)\n .map((arg, i) => arg || createSimpleExpression(`_`.repeat(i + 1), false));\n}\n\nconst defaultFallback = createSimpleExpression(`undefined`, false);\n// A NodeTransform that:\n// 1. Tracks scope identifiers for scoped slots so that they don't get prefixed\n// by transformExpression. This is only applied in non-browser builds with\n// { prefixIdentifiers: true }.\n// 2. Track v-slot depths so that we know a slot is inside another slot.\n// Note the exit callback is executed before buildSlots() on the same node,\n// so only nested slots see positive numbers.\nconst trackSlotScopes = (node, context) => {\n if (node.type === 1 /* NodeTypes.ELEMENT */ &&\n (node.tagType === 1 /* ElementTypes.COMPONENT */ ||\n node.tagType === 3 /* ElementTypes.TEMPLATE */)) {\n // We are only checking non-empty v-slot here\n // since we only care about slots that introduce scope variables.\n const vSlot = findDir(node, 'slot');\n if (vSlot) {\n vSlot.exp;\n context.scopes.vSlot++;\n return () => {\n context.scopes.vSlot--;\n };\n }\n }\n};\n// A NodeTransform that tracks scope identifiers for scoped slots with v-for.\n// This transform is only applied in non-browser builds with { prefixIdentifiers: true }\nconst trackVForSlotScopes = (node, context) => {\n let vFor;\n if (isTemplateNode(node) &&\n node.props.some(isVSlot) &&\n (vFor = findDir(node, 'for'))) {\n const result = (vFor.parseResult = parseForExpression(vFor.exp, context));\n if (result) {\n const { value, key, index } = result;\n const { addIdentifiers, removeIdentifiers } = context;\n value && addIdentifiers(value);\n key && addIdentifiers(key);\n index && addIdentifiers(index);\n return () => {\n value && removeIdentifiers(value);\n key && removeIdentifiers(key);\n index && removeIdentifiers(index);\n };\n }\n }\n};\nconst buildClientSlotFn = (props, children, loc) => createFunctionExpression(props, children, false /* newline */, true /* isSlot */, children.length ? children[0].loc : loc);\n// Instead of being a DirectiveTransform, v-slot processing is called during\n// transformElement to build the slots object for a component.\nfunction buildSlots(node, context, buildSlotFn = buildClientSlotFn) {\n context.helper(WITH_CTX);\n const { children, loc } = node;\n const slotsProperties = [];\n const dynamicSlots = [];\n // If the slot is inside a v-for or another v-slot, force it to be dynamic\n // since it likely uses a scope variable.\n let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;\n // 1. Check for slot with slotProps on component itself.\n // <Comp v-slot=\"{ prop }\"/>\n const onComponentSlot = findDir(node, 'slot', true);\n if (onComponentSlot) {\n const { arg, exp } = onComponentSlot;\n if (arg && !isStaticExp(arg)) {\n hasDynamicSlots = true;\n }\n slotsProperties.push(createObjectProperty(arg || createSimpleExpression('default', true), buildSlotFn(exp, children, loc)));\n }\n // 2. Iterate through children and check for template slots\n // <template v-slot:foo=\"{ prop }\">\n let hasTemplateSlots = false;\n let hasNamedDefaultSlot = false;\n const implicitDefaultChildren = [];\n const seenSlotNames = new Set();\n let conditionalBranchIndex = 0;\n for (let i = 0; i < children.length; i++) {\n const slotElement = children[i];\n let slotDir;\n if (!isTemplateNode(slotElement) ||\n !(slotDir = findDir(slotElement, 'slot', true))) {\n // not a <template v-slot>, skip.\n if (slotElement.type !== 3 /* NodeTypes.COMMENT */) {\n implicitDefaultChildren.push(slotElement);\n }\n continue;\n }\n if (onComponentSlot) {\n // already has on-component slot - this is incorrect usage.\n context.onError(createCompilerError(37 /* ErrorCodes.X_V_SLOT_MIXED_SLOT_USAGE */, slotDir.loc));\n break;\n }\n hasTemplateSlots = true;\n const { children: slotChildren, loc: slotLoc } = slotElement;\n const { arg: slotName = createSimpleExpression(`default`, true), exp: slotProps, loc: dirLoc } = slotDir;\n // check if name is dynamic.\n let staticSlotName;\n if (isStaticExp(slotName)) {\n staticSlotName = slotName ? slotName.content : `default`;\n }\n else {\n hasDynamicSlots = true;\n }\n const slotFunction = buildSlotFn(slotProps, slotChildren, slotLoc);\n // check if this slot is conditional (v-if/v-for)\n let vIf;\n let vElse;\n let vFor;\n if ((vIf = findDir(slotElement, 'if'))) {\n hasDynamicSlots = true;\n dynamicSlots.push(createConditionalExpression(vIf.exp, buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++), defaultFallback));\n }\n else if ((vElse = findDir(slotElement, /^else(-if)?$/, true /* allowEmpty */))) {\n // find adjacent v-if\n let j = i;\n let prev;\n while (j--) {\n prev = children[j];\n if (prev.type !== 3 /* NodeTypes.COMMENT */) {\n break;\n }\n }\n if (prev && isTemplateNode(prev) && findDir(prev, 'if')) {\n // remove node\n children.splice(i, 1);\n i--;\n // attach this slot to previous conditional\n let conditional = dynamicSlots[dynamicSlots.length - 1];\n while (conditional.alternate.type === 19 /* NodeTypes.JS_CONDITIONAL_EXPRESSION */) {\n conditional = conditional.alternate;\n }\n conditional.alternate = vElse.exp\n ? createConditionalExpression(vElse.exp, buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++), defaultFallback)\n : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);\n }\n else {\n context.onError(createCompilerError(30 /* ErrorCodes.X_V_ELSE_NO_ADJACENT_IF */, vElse.loc));\n }\n }\n else if ((vFor = findDir(slotElement, 'for'))) {\n hasDynamicSlots = true;\n const parseResult = vFor.parseResult ||\n parseForExpression(vFor.exp, context);\n if (parseResult) {\n // Render the dynamic slots as an array and add it to the createSlot()\n // args. The runtime knows how to handle it appropriately.\n dynamicSlots.push(createCallExpression(context.helper(RENDER_LIST), [\n parseResult.source,\n createFunctionExpression(createForLoopParams(parseResult), buildDynamicSlot(slotName, slotFunction), true /* force newline */)\n ]));\n }\n else {\n context.onError(createCompilerError(32 /* ErrorCodes.X_V_FOR_MALFORMED_EXPRESSION */, vFor.loc));\n }\n }\n else {\n // check duplicate static names\n if (staticSlotName) {\n if (seenSlotNames.has(staticSlotName)) {\n context.onError(createCompilerError(38 /* ErrorCodes.X_V_SLOT_DUPLICATE_SLOT_NAMES */, dirLoc));\n continue;\n }\n seenSlotNames.add(staticSlotName);\n if (staticSlotName === 'default') {\n hasNamedDefaultSlot = true;\n }\n }\n slotsProperties.push(createObjectProperty(slotName, slotFunction));\n }\n }\n if (!onComponentSlot) {\n const buildDefaultSlotProperty = (props, children) => {\n const fn = buildSlotFn(props, children, loc);\n if (context.compatConfig) {\n fn.isNonScopedSlot = true;\n }\n return createObjectProperty(`default`, fn);\n };\n if (!hasTemplateSlots) {\n // implicit default slot (on component)\n slotsProperties.push(buildDefaultSlotProperty(undefined, children));\n }\n else if (implicitDefaultChildren.length &&\n // #3766\n // with whitespace: 'preserve', whitespaces between slots will end up in\n // implicitDefaultChildren. Ignore if all implicit children are whitespaces.\n implicitDefaultChildren.some(node => isNonWhitespaceContent(node))) {\n // implicit default slot (mixed with named slots)\n if (hasNamedDefaultSlot) {\n context.onError(createCompilerError(39 /* ErrorCodes.X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN */, implicitDefaultChildren[0].loc));\n }\n else {\n slotsProperties.push(buildDefaultSlotProperty(undefined, implicitDefaultChildren));\n }\n }\n }\n const slotFlag = hasDynamicSlots\n ? 2 /* SlotFlags.DYNAMIC */\n : hasForwardedSlots(node.children)\n ? 3 /* SlotFlags.FORWARDED */\n : 1 /* SlotFlags.STABLE */;\n let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, \n // 2 = compiled but dynamic = can skip normalization, but must run diff\n // 1 = compiled and static = can skip normalization AND diff as optimized\n createSimpleExpression(slotFlag + (( true) ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.slotFlagsText[slotFlag]} */` : 0), false))), loc);\n if (dynamicSlots.length) {\n slots = createCallExpression(context.helper(CREATE_SLOTS), [\n slots,\n createArrayExpression(dynamicSlots)\n ]);\n }\n return {\n slots,\n hasDynamicSlots\n };\n}\nfunction buildDynamicSlot(name, fn, index) {\n const props = [\n createObjectProperty(`name`, name),\n createObjectProperty(`fn`, fn)\n ];\n if (index != null) {\n props.push(createObjectProperty(`key`, createSimpleExpression(String(index), true)));\n }\n return createObjectExpression(props);\n}\nfunction hasForwardedSlots(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n switch (child.type) {\n case 1 /* NodeTypes.ELEMENT */:\n if (child.tagType === 2 /* ElementTypes.SLOT */ ||\n hasForwardedSlots(child.children)) {\n return true;\n }\n break;\n case 9 /* NodeTypes.IF */:\n if (hasForwardedSlots(child.branches))\n return true;\n break;\n case 10 /* NodeTypes.IF_BRANCH */:\n case 11 /* NodeTypes.FOR */:\n if (hasForwardedSlots(child.children))\n return true;\n break;\n }\n }\n return false;\n}\nfunction isNonWhitespaceContent(node) {\n if (node.type !== 2 /* NodeTypes.TEXT */ && node.type !== 12 /* NodeTypes.TEXT_CALL */)\n return true;\n return node.type === 2 /* NodeTypes.TEXT */\n ? !!node.content.trim()\n : isNonWhitespaceContent(node.content);\n}\n\n// some directive transforms (e.g. v-model) may return a symbol for runtime\n// import, which should be used instead of a resolveDirective call.\nconst directiveImportMap = new WeakMap();\n// generate a JavaScript AST for this element's codegen\nconst transformElement = (node, context) => {\n // perform the work on exit, after all child expressions have been\n // processed and merged.\n return function postTransformElement() {\n node = context.currentNode;\n if (!(node.type === 1 /* NodeTypes.ELEMENT */ &&\n (node.tagType === 0 /* ElementTypes.ELEMENT */ ||\n node.tagType === 1 /* ElementTypes.COMPONENT */))) {\n return;\n }\n const { tag, props } = node;\n const isComponent = node.tagType === 1 /* ElementTypes.COMPONENT */;\n // The goal of the transform is to create a codegenNode implementing the\n // VNodeCall interface.\n let vnodeTag = isComponent\n ? resolveComponentType(node, context)\n : `\"${tag}\"`;\n const isDynamicComponent = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;\n let vnodeProps;\n let vnodeChildren;\n let vnodePatchFlag;\n let patchFlag = 0;\n let vnodeDynamicProps;\n let dynamicPropNames;\n let vnodeDirectives;\n let shouldUseBlock = \n // dynamic component may resolve to plain elements\n isDynamicComponent ||\n vnodeTag === TELEPORT ||\n vnodeTag === SUSPENSE ||\n (!isComponent &&\n // <svg> and <foreignObject> must be forced into blocks so that block\n // updates inside get proper isSVG flag at runtime. (#639, #643)\n // This is technically web-specific, but splitting the logic out of core\n // leads to too much unnecessary complexity.\n (tag === 'svg' || tag === 'foreignObject'));\n // props\n if (props.length > 0) {\n const propsBuildResult = buildProps(node, context, undefined, isComponent, isDynamicComponent);\n vnodeProps = propsBuildResult.props;\n patchFlag = propsBuildResult.patchFlag;\n dynamicPropNames = propsBuildResult.dynamicPropNames;\n const directives = propsBuildResult.directives;\n vnodeDirectives =\n directives && directives.length\n ? createArrayExpression(directives.map(dir => buildDirectiveArgs(dir, context)))\n : undefined;\n if (propsBuildResult.shouldUseBlock) {\n shouldUseBlock = true;\n }\n }\n // children\n if (node.children.length > 0) {\n if (vnodeTag === KEEP_ALIVE) {\n // Although a built-in component, we compile KeepAlive with raw children\n // instead of slot functions so that it can be used inside Transition\n // or other Transition-wrapping HOCs.\n // To ensure correct updates with block optimizations, we need to:\n // 1. Force keep-alive into a block. This avoids its children being\n // collected by a parent block.\n shouldUseBlock = true;\n // 2. Force keep-alive to always be updated, since it uses raw children.\n patchFlag |= 1024 /* PatchFlags.DYNAMIC_SLOTS */;\n if (( true) && node.children.length > 1) {\n context.onError(createCompilerError(45 /* ErrorCodes.X_KEEP_ALIVE_INVALID_CHILDREN */, {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: ''\n }));\n }\n }\n const shouldBuildAsSlots = isComponent &&\n // Teleport is not a real component and has dedicated runtime handling\n vnodeTag !== TELEPORT &&\n // explained above.\n vnodeTag !== KEEP_ALIVE;\n if (shouldBuildAsSlots) {\n const { slots, hasDynamicSlots } = buildSlots(node, context);\n vnodeChildren = slots;\n if (hasDynamicSlots) {\n patchFlag |= 1024 /* PatchFlags.DYNAMIC_SLOTS */;\n }\n }\n else if (node.children.length === 1 && vnodeTag !== TELEPORT) {\n const child = node.children[0];\n const type = child.type;\n // check for dynamic text children\n const hasDynamicTextChild = type === 5 /* NodeTypes.INTERPOLATION */ ||\n type === 8 /* NodeTypes.COMPOUND_EXPRESSION */;\n if (hasDynamicTextChild &&\n getConstantType(child, context) === 0 /* ConstantTypes.NOT_CONSTANT */) {\n patchFlag |= 1 /* PatchFlags.TEXT */;\n }\n // pass directly if the only child is a text node\n // (plain / interpolation / expression)\n if (hasDynamicTextChild || type === 2 /* NodeTypes.TEXT */) {\n vnodeChildren = child;\n }\n else {\n vnodeChildren = node.children;\n }\n }\n else {\n vnodeChildren = node.children;\n }\n }\n // patchFlag & dynamicPropNames\n if (patchFlag !== 0) {\n if ((true)) {\n if (patchFlag < 0) {\n // special flags (negative and mutually exclusive)\n vnodePatchFlag = patchFlag + ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[patchFlag]} */`;\n }\n else {\n // bitwise flags\n const flagNames = Object.keys(_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames)\n .map(Number)\n .filter(n => n > 0 && patchFlag & n)\n .map(n => _vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[n])\n .join(`, `);\n vnodePatchFlag = patchFlag + ` /* ${flagNames} */`;\n }\n }\n else {}\n if (dynamicPropNames && dynamicPropNames.length) {\n vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);\n }\n }\n node.codegenNode = createVNodeCall(context, vnodeTag, vnodeProps, vnodeChildren, vnodePatchFlag, vnodeDynamicProps, vnodeDirectives, !!shouldUseBlock, false /* disableTracking */, isComponent, node.loc);\n };\n};\nfunction resolveComponentType(node, context, ssr = false) {\n let { tag } = node;\n // 1. dynamic component\n const isExplicitDynamic = isComponentTag(tag);\n const isProp = findProp(node, 'is');\n if (isProp) {\n if (isExplicitDynamic ||\n (isCompatEnabled(\"COMPILER_IS_ON_ELEMENT\" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context))) {\n const exp = isProp.type === 6 /* NodeTypes.ATTRIBUTE */\n ? isProp.value && createSimpleExpression(isProp.value.content, true)\n : isProp.exp;\n if (exp) {\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n exp\n ]);\n }\n }\n else if (isProp.type === 6 /* NodeTypes.ATTRIBUTE */ &&\n isProp.value.content.startsWith('vue:')) {\n // <button is=\"vue:xxx\">\n // if not <component>, only is value that starts with \"vue:\" will be\n // treated as component by the parse phase and reach here, unless it's\n // compat mode where all is values are considered components\n tag = isProp.value.content.slice(4);\n }\n }\n // 1.5 v-is (TODO: Deprecate)\n const isDir = !isExplicitDynamic && findDir(node, 'is');\n if (isDir && isDir.exp) {\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n isDir.exp\n ]);\n }\n // 2. built-in components (Teleport, Transition, KeepAlive, Suspense...)\n const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);\n if (builtIn) {\n // built-ins are simply fallthroughs / have special handling during ssr\n // so we don't need to import their runtime equivalents\n if (!ssr)\n context.helper(builtIn);\n return builtIn;\n }\n // 5. user component (resolve)\n context.helper(RESOLVE_COMPONENT);\n context.components.add(tag);\n return toValidAssetId(tag, `component`);\n}\nfunction buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {\n const { tag, loc: elementLoc, children } = node;\n let properties = [];\n const mergeArgs = [];\n const runtimeDirectives = [];\n const hasChildren = children.length > 0;\n let shouldUseBlock = false;\n // patchFlag analysis\n let patchFlag = 0;\n let hasRef = false;\n let hasClassBinding = false;\n let hasStyleBinding = false;\n let hasHydrationEventBinding = false;\n let hasDynamicKeys = false;\n let hasVnodeHook = false;\n const dynamicPropNames = [];\n const pushMergeArg = (arg) => {\n if (properties.length) {\n mergeArgs.push(createObjectExpression(dedupeProperties(properties), elementLoc));\n properties = [];\n }\n if (arg)\n mergeArgs.push(arg);\n };\n const analyzePatchFlag = ({ key, value }) => {\n if (isStaticExp(key)) {\n const name = key.content;\n const isEventHandler = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isOn)(name);\n if (isEventHandler &&\n (!isComponent || isDynamicComponent) &&\n // omit the flag for click handlers because hydration gives click\n // dedicated fast path.\n name.toLowerCase() !== 'onclick' &&\n // omit v-model handlers\n name !== 'onUpdate:modelValue' &&\n // omit onVnodeXXX hooks\n !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isReservedProp)(name)) {\n hasHydrationEventBinding = true;\n }\n if (isEventHandler && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isReservedProp)(name)) {\n hasVnodeHook = true;\n }\n if (value.type === 20 /* NodeTypes.JS_CACHE_EXPRESSION */ ||\n ((value.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ ||\n value.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */) &&\n getConstantType(value, context) > 0)) {\n // skip if the prop is a cached handler or has constant value\n return;\n }\n if (name === 'ref') {\n hasRef = true;\n }\n else if (name === 'class') {\n hasClassBinding = true;\n }\n else if (name === 'style') {\n hasStyleBinding = true;\n }\n else if (name !== 'key' && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n // treat the dynamic class and style binding of the component as dynamic props\n if (isComponent &&\n (name === 'class' || name === 'style') &&\n !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n }\n else {\n hasDynamicKeys = true;\n }\n };\n for (let i = 0; i < props.length; i++) {\n // static attribute\n const prop = props[i];\n if (prop.type === 6 /* NodeTypes.ATTRIBUTE */) {\n const { loc, name, value } = prop;\n let isStatic = true;\n if (name === 'ref') {\n hasRef = true;\n if (context.scopes.vFor > 0) {\n properties.push(createObjectProperty(createSimpleExpression('ref_for', true), createSimpleExpression('true')));\n }\n }\n // skip is on <component>, or is=\"vue:xxx\"\n if (name === 'is' &&\n (isComponentTag(tag) ||\n (value && value.content.startsWith('vue:')) ||\n (isCompatEnabled(\"COMPILER_IS_ON_ELEMENT\" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context)))) {\n continue;\n }\n properties.push(createObjectProperty(createSimpleExpression(name, true, getInnerRange(loc, 0, name.length)), createSimpleExpression(value ? value.content : '', isStatic, value ? value.loc : loc)));\n }\n else {\n // directives\n const { name, arg, exp, loc } = prop;\n const isVBind = name === 'bind';\n const isVOn = name === 'on';\n // skip v-slot - it is handled by its dedicated transform.\n if (name === 'slot') {\n if (!isComponent) {\n context.onError(createCompilerError(40 /* ErrorCodes.X_V_SLOT_MISPLACED */, loc));\n }\n continue;\n }\n // skip v-once/v-memo - they are handled by dedicated transforms.\n if (name === 'once' || name === 'memo') {\n continue;\n }\n // skip v-is and :is on <component>\n if (name === 'is' ||\n (isVBind &&\n isStaticArgOf(arg, 'is') &&\n (isComponentTag(tag) ||\n (isCompatEnabled(\"COMPILER_IS_ON_ELEMENT\" /* CompilerDeprecationTypes.COMPILER_IS_ON_ELEMENT */, context))))) {\n continue;\n }\n // skip v-on in SSR compilation\n if (isVOn && ssr) {\n continue;\n }\n if (\n // #938: elements with dynamic keys should be forced into blocks\n (isVBind && isStaticArgOf(arg, 'key')) ||\n // inline before-update hooks need to force block so that it is invoked\n // before children\n (isVOn && hasChildren && isStaticArgOf(arg, 'vue:before-update'))) {\n shouldUseBlock = true;\n }\n if (isVBind && isStaticArgOf(arg, 'ref') && context.scopes.vFor > 0) {\n properties.push(createObjectProperty(createSimpleExpression('ref_for', true), createSimpleExpression('true')));\n }\n // special case for v-bind and v-on with no argument\n if (!arg && (isVBind || isVOn)) {\n hasDynamicKeys = true;\n if (exp) {\n if (isVBind) {\n // have to merge early for compat build check\n pushMergeArg();\n {\n // 2.x v-bind object order compat\n if ((true)) {\n const hasOverridableKeys = mergeArgs.some(arg => {\n if (arg.type === 15 /* NodeTypes.JS_OBJECT_EXPRESSION */) {\n return arg.properties.some(({ key }) => {\n if (key.type !== 4 /* NodeTypes.SIMPLE_EXPRESSION */ ||\n !key.isStatic) {\n return true;\n }\n return (key.content !== 'class' &&\n key.content !== 'style' &&\n !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isOn)(key.content));\n });\n }\n else {\n // dynamic expression\n return true;\n }\n });\n if (hasOverridableKeys) {\n checkCompatEnabled(\"COMPILER_V_BIND_OBJECT_ORDER\" /* CompilerDeprecationTypes.COMPILER_V_BIND_OBJECT_ORDER */, context, loc);\n }\n }\n if (isCompatEnabled(\"COMPILER_V_BIND_OBJECT_ORDER\" /* CompilerDeprecationTypes.COMPILER_V_BIND_OBJECT_ORDER */, context)) {\n mergeArgs.unshift(exp);\n continue;\n }\n }\n mergeArgs.push(exp);\n }\n else {\n // v-on=\"obj\" -> toHandlers(obj)\n pushMergeArg({\n type: 14 /* NodeTypes.JS_CALL_EXPRESSION */,\n loc,\n callee: context.helper(TO_HANDLERS),\n arguments: isComponent ? [exp] : [exp, `true`]\n });\n }\n }\n else {\n context.onError(createCompilerError(isVBind\n ? 34 /* ErrorCodes.X_V_BIND_NO_EXPRESSION */\n : 35 /* ErrorCodes.X_V_ON_NO_EXPRESSION */, loc));\n }\n continue;\n }\n const directiveTransform = context.directiveTransforms[name];\n if (directiveTransform) {\n // has built-in directive transform.\n const { props, needRuntime } = directiveTransform(prop, node, context);\n !ssr && props.forEach(analyzePatchFlag);\n if (isVOn && arg && !isStaticExp(arg)) {\n pushMergeArg(createObjectExpression(props, elementLoc));\n }\n else {\n properties.push(...props);\n }\n if (needRuntime) {\n runtimeDirectives.push(prop);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(needRuntime)) {\n directiveImportMap.set(prop, needRuntime);\n }\n }\n }\n else if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isBuiltInDirective)(name)) {\n // no built-in transform, this is a user custom directive.\n runtimeDirectives.push(prop);\n // custom dirs may use beforeUpdate so they need to force blocks\n // to ensure before-update gets called before children update\n if (hasChildren) {\n shouldUseBlock = true;\n }\n }\n }\n }\n let propsExpression = undefined;\n // has v-bind=\"object\" or v-on=\"object\", wrap with mergeProps\n if (mergeArgs.length) {\n // close up any not-yet-merged props\n pushMergeArg();\n if (mergeArgs.length > 1) {\n propsExpression = createCallExpression(context.helper(MERGE_PROPS), mergeArgs, elementLoc);\n }\n else {\n // single v-bind with nothing else - no need for a mergeProps call\n propsExpression = mergeArgs[0];\n }\n }\n else if (properties.length) {\n propsExpression = createObjectExpression(dedupeProperties(properties), elementLoc);\n }\n // patchFlag analysis\n if (hasDynamicKeys) {\n patchFlag |= 16 /* PatchFlags.FULL_PROPS */;\n }\n else {\n if (hasClassBinding && !isComponent) {\n patchFlag |= 2 /* PatchFlags.CLASS */;\n }\n if (hasStyleBinding && !isComponent) {\n patchFlag |= 4 /* PatchFlags.STYLE */;\n }\n if (dynamicPropNames.length) {\n patchFlag |= 8 /* PatchFlags.PROPS */;\n }\n if (hasHydrationEventBinding) {\n patchFlag |= 32 /* PatchFlags.HYDRATE_EVENTS */;\n }\n }\n if (!shouldUseBlock &&\n (patchFlag === 0 || patchFlag === 32 /* PatchFlags.HYDRATE_EVENTS */) &&\n (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {\n patchFlag |= 512 /* PatchFlags.NEED_PATCH */;\n }\n // pre-normalize props, SSR is skipped for now\n if (!context.inSSR && propsExpression) {\n switch (propsExpression.type) {\n case 15 /* NodeTypes.JS_OBJECT_EXPRESSION */:\n // means that there is no v-bind,\n // but still need to deal with dynamic key binding\n let classKeyIndex = -1;\n let styleKeyIndex = -1;\n let hasDynamicKey = false;\n for (let i = 0; i < propsExpression.properties.length; i++) {\n const key = propsExpression.properties[i].key;\n if (isStaticExp(key)) {\n if (key.content === 'class') {\n classKeyIndex = i;\n }\n else if (key.content === 'style') {\n styleKeyIndex = i;\n }\n }\n else if (!key.isHandlerKey) {\n hasDynamicKey = true;\n }\n }\n const classProp = propsExpression.properties[classKeyIndex];\n const styleProp = propsExpression.properties[styleKeyIndex];\n // no dynamic key\n if (!hasDynamicKey) {\n if (classProp && !isStaticExp(classProp.value)) {\n classProp.value = createCallExpression(context.helper(NORMALIZE_CLASS), [classProp.value]);\n }\n if (styleProp &&\n // the static style is compiled into an object,\n // so use `hasStyleBinding` to ensure that it is a dynamic style binding\n (hasStyleBinding ||\n (styleProp.value.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ &&\n styleProp.value.content.trim()[0] === `[`) ||\n // v-bind:style and style both exist,\n // v-bind:style with static literal object\n styleProp.value.type === 17 /* NodeTypes.JS_ARRAY_EXPRESSION */)) {\n styleProp.value = createCallExpression(context.helper(NORMALIZE_STYLE), [styleProp.value]);\n }\n }\n else {\n // dynamic key binding, wrap with `normalizeProps`\n propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);\n }\n break;\n case 14 /* NodeTypes.JS_CALL_EXPRESSION */:\n // mergeProps call, do nothing\n break;\n default:\n // single v-bind\n propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [\n createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [\n propsExpression\n ])\n ]);\n break;\n }\n }\n return {\n props: propsExpression,\n directives: runtimeDirectives,\n patchFlag,\n dynamicPropNames,\n shouldUseBlock\n };\n}\n// Dedupe props in an object literal.\n// Literal duplicated attributes would have been warned during the parse phase,\n// however, it's possible to encounter duplicated `onXXX` handlers with different\n// modifiers. We also need to merge static and dynamic class / style attributes.\n// - onXXX handlers / style: merge into array\n// - class: merge into single expression with concatenation\nfunction dedupeProperties(properties) {\n const knownProps = new Map();\n const deduped = [];\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i];\n // dynamic keys are always allowed\n if (prop.key.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */ || !prop.key.isStatic) {\n deduped.push(prop);\n continue;\n }\n const name = prop.key.content;\n const existing = knownProps.get(name);\n if (existing) {\n if (name === 'style' || name === 'class' || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isOn)(name)) {\n mergeAsArray(existing, prop);\n }\n // unexpected duplicate, should have emitted error during parse\n }\n else {\n knownProps.set(name, prop);\n deduped.push(prop);\n }\n }\n return deduped;\n}\nfunction mergeAsArray(existing, incoming) {\n if (existing.value.type === 17 /* NodeTypes.JS_ARRAY_EXPRESSION */) {\n existing.value.elements.push(incoming.value);\n }\n else {\n existing.value = createArrayExpression([existing.value, incoming.value], existing.loc);\n }\n}\nfunction buildDirectiveArgs(dir, context) {\n const dirArgs = [];\n const runtime = directiveImportMap.get(dir);\n if (runtime) {\n // built-in directive with runtime\n dirArgs.push(context.helperString(runtime));\n }\n else {\n {\n // inject statement for resolving directive\n context.helper(RESOLVE_DIRECTIVE);\n context.directives.add(dir.name);\n dirArgs.push(toValidAssetId(dir.name, `directive`));\n }\n }\n const { loc } = dir;\n if (dir.exp)\n dirArgs.push(dir.exp);\n if (dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(dir.arg);\n }\n if (Object.keys(dir.modifiers).length) {\n if (!dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(`void 0`);\n }\n const trueExpression = createSimpleExpression(`true`, false, loc);\n dirArgs.push(createObjectExpression(dir.modifiers.map(modifier => createObjectProperty(modifier, trueExpression)), loc));\n }\n return createArrayExpression(dirArgs, dir.loc);\n}\nfunction stringifyDynamicPropNames(props) {\n let propsNamesString = `[`;\n for (let i = 0, l = props.length; i < l; i++) {\n propsNamesString += JSON.stringify(props[i]);\n if (i < l - 1)\n propsNamesString += ', ';\n }\n return propsNamesString + `]`;\n}\nfunction isComponentTag(tag) {\n return tag === 'component' || tag === 'Component';\n}\n\n( true)\n ? Object.freeze({})\n : 0;\n( true) ? Object.freeze([]) : 0;\nconst cacheStringFunction = (fn) => {\n const cache = Object.create(null);\n return ((str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n });\n};\nconst camelizeRE = /-(\\w)/g;\n/**\n * @private\n */\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\n});\n\nconst transformSlotOutlet = (node, context) => {\n if (isSlotOutlet(node)) {\n const { children, loc } = node;\n const { slotName, slotProps } = processSlotOutlet(node, context);\n const slotArgs = [\n context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,\n slotName,\n '{}',\n 'undefined',\n 'true'\n ];\n let expectedLen = 2;\n if (slotProps) {\n slotArgs[2] = slotProps;\n expectedLen = 3;\n }\n if (children.length) {\n slotArgs[3] = createFunctionExpression([], children, false, false, loc);\n expectedLen = 4;\n }\n if (context.scopeId && !context.slotted) {\n expectedLen = 5;\n }\n slotArgs.splice(expectedLen); // remove unused arguments\n node.codegenNode = createCallExpression(context.helper(RENDER_SLOT), slotArgs, loc);\n }\n};\nfunction processSlotOutlet(node, context) {\n let slotName = `\"default\"`;\n let slotProps = undefined;\n const nonNameProps = [];\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6 /* NodeTypes.ATTRIBUTE */) {\n if (p.value) {\n if (p.name === 'name') {\n slotName = JSON.stringify(p.value.content);\n }\n else {\n p.name = camelize(p.name);\n nonNameProps.push(p);\n }\n }\n }\n else {\n if (p.name === 'bind' && isStaticArgOf(p.arg, 'name')) {\n if (p.exp)\n slotName = p.exp;\n }\n else {\n if (p.name === 'bind' && p.arg && isStaticExp(p.arg)) {\n p.arg.content = camelize(p.arg.content);\n }\n nonNameProps.push(p);\n }\n }\n }\n if (nonNameProps.length > 0) {\n const { props, directives } = buildProps(node, context, nonNameProps, false, false);\n slotProps = props;\n if (directives.length) {\n context.onError(createCompilerError(36 /* ErrorCodes.X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET */, directives[0].loc));\n }\n }\n return {\n slotName,\n slotProps\n };\n}\n\nconst fnExpRE = /^\\s*([\\w$_]+|(async\\s*)?\\([^)]*?\\))\\s*=>|^\\s*(async\\s+)?function(?:\\s+[\\w$]+)?\\s*\\(/;\nconst transformOn = (dir, node, context, augmentor) => {\n const { loc, modifiers, arg } = dir;\n if (!dir.exp && !modifiers.length) {\n context.onError(createCompilerError(35 /* ErrorCodes.X_V_ON_NO_EXPRESSION */, loc));\n }\n let eventName;\n if (arg.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n if (arg.isStatic) {\n let rawName = arg.content;\n // TODO deprecate @vnodeXXX usage\n if (rawName.startsWith('vue:')) {\n rawName = `vnode-${rawName.slice(4)}`;\n }\n const eventString = node.tagType === 1 /* ElementTypes.COMPONENT */ ||\n rawName.startsWith('vnode') ||\n !/[A-Z]/.test(rawName)\n ? // for component and vnode lifecycle event listeners, auto convert\n // it to camelCase. See issue #2249\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.camelize)(rawName))\n : // preserve case for plain element listeners that have uppercase\n // letters, as these may be custom elements' custom events\n `on:${rawName}`;\n eventName = createSimpleExpression(eventString, true, arg.loc);\n }\n else {\n // #2388\n eventName = createCompoundExpression([\n `${context.helperString(TO_HANDLER_KEY)}(`,\n arg,\n `)`\n ]);\n }\n }\n else {\n // already a compound expression.\n eventName = arg;\n eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);\n eventName.children.push(`)`);\n }\n // handler processing\n let exp = dir.exp;\n if (exp && !exp.content.trim()) {\n exp = undefined;\n }\n let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;\n if (exp) {\n const isMemberExp = isMemberExpression(exp.content);\n const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));\n const hasMultipleStatements = exp.content.includes(`;`);\n if (true) {\n validateBrowserExpression(exp, context, false, hasMultipleStatements);\n }\n if (isInlineStatement || (shouldCache && isMemberExp)) {\n // wrap inline statement in a function expression\n exp = createCompoundExpression([\n `${isInlineStatement\n ? `$event`\n : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,\n exp,\n hasMultipleStatements ? `}` : `)`\n ]);\n }\n }\n let ret = {\n props: [\n createObjectProperty(eventName, exp || createSimpleExpression(`() => {}`, false, loc))\n ]\n };\n // apply extended compiler augmentor\n if (augmentor) {\n ret = augmentor(ret);\n }\n if (shouldCache) {\n // cache handlers so that it's always the same handler being passed down.\n // this avoids unnecessary re-renders when users use inline handlers on\n // components.\n ret.props[0].value = context.cache(ret.props[0].value);\n }\n // mark the key as handler for props normalization check\n ret.props.forEach(p => (p.key.isHandlerKey = true));\n return ret;\n};\n\n// v-bind without arg is handled directly in ./transformElements.ts due to it affecting\n// codegen for the entire props object. This transform here is only for v-bind\n// *with* args.\nconst transformBind = (dir, _node, context) => {\n const { exp, modifiers, loc } = dir;\n const arg = dir.arg;\n if (arg.type !== 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n arg.children.unshift(`(`);\n arg.children.push(`) || \"\"`);\n }\n else if (!arg.isStatic) {\n arg.content = `${arg.content} || \"\"`;\n }\n // .sync is replaced by v-model:arg\n if (modifiers.includes('camel')) {\n if (arg.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n if (arg.isStatic) {\n arg.content = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.camelize)(arg.content);\n }\n else {\n arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;\n }\n }\n else {\n arg.children.unshift(`${context.helperString(CAMELIZE)}(`);\n arg.children.push(`)`);\n }\n }\n if (!context.inSSR) {\n if (modifiers.includes('prop')) {\n injectPrefix(arg, '.');\n }\n if (modifiers.includes('attr')) {\n injectPrefix(arg, '^');\n }\n }\n if (!exp ||\n (exp.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ && !exp.content.trim())) {\n context.onError(createCompilerError(34 /* ErrorCodes.X_V_BIND_NO_EXPRESSION */, loc));\n return {\n props: [createObjectProperty(arg, createSimpleExpression('', true, loc))]\n };\n }\n return {\n props: [createObjectProperty(arg, exp)]\n };\n};\nconst injectPrefix = (arg, prefix) => {\n if (arg.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n if (arg.isStatic) {\n arg.content = prefix + arg.content;\n }\n else {\n arg.content = `\\`${prefix}\\${${arg.content}}\\``;\n }\n }\n else {\n arg.children.unshift(`'${prefix}' + (`);\n arg.children.push(`)`);\n }\n};\n\n// Merge adjacent text nodes and expressions into a single expression\n// e.g. <div>abc {{ d }} {{ e }}</div> should have a single expression node as child.\nconst transformText = (node, context) => {\n if (node.type === 0 /* NodeTypes.ROOT */ ||\n node.type === 1 /* NodeTypes.ELEMENT */ ||\n node.type === 11 /* NodeTypes.FOR */ ||\n node.type === 10 /* NodeTypes.IF_BRANCH */) {\n // perform the transform on node exit so that all expressions have already\n // been processed.\n return () => {\n const children = node.children;\n let currentContainer = undefined;\n let hasText = false;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText(child)) {\n hasText = true;\n for (let j = i + 1; j < children.length; j++) {\n const next = children[j];\n if (isText(next)) {\n if (!currentContainer) {\n currentContainer = children[i] = createCompoundExpression([child], child.loc);\n }\n // merge adjacent text node into current\n currentContainer.children.push(` + `, next);\n children.splice(j, 1);\n j--;\n }\n else {\n currentContainer = undefined;\n break;\n }\n }\n }\n }\n if (!hasText ||\n // if this is a plain element with a single text child, leave it\n // as-is since the runtime has dedicated fast path for this by directly\n // setting textContent of the element.\n // for component root it's always normalized anyway.\n (children.length === 1 &&\n (node.type === 0 /* NodeTypes.ROOT */ ||\n (node.type === 1 /* NodeTypes.ELEMENT */ &&\n node.tagType === 0 /* ElementTypes.ELEMENT */ &&\n // #3756\n // custom directives can potentially add DOM elements arbitrarily,\n // we need to avoid setting textContent of the element at runtime\n // to avoid accidentally overwriting the DOM elements added\n // by the user through custom directives.\n !node.props.find(p => p.type === 7 /* NodeTypes.DIRECTIVE */ &&\n !context.directiveTransforms[p.name]) &&\n // in compat mode, <template> tags with no special directives\n // will be rendered as a fragment so its children must be\n // converted into vnodes.\n !(node.tag === 'template'))))) {\n return;\n }\n // pre-convert text nodes into createTextVNode(text) calls to avoid\n // runtime normalization.\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText(child) || child.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */) {\n const callArgs = [];\n // createTextVNode defaults to single whitespace, so if it is a\n // single space the code could be an empty call to save bytes.\n if (child.type !== 2 /* NodeTypes.TEXT */ || child.content !== ' ') {\n callArgs.push(child);\n }\n // mark dynamic text with flag so it gets patched inside a block\n if (!context.ssr &&\n getConstantType(child, context) === 0 /* ConstantTypes.NOT_CONSTANT */) {\n callArgs.push(1 /* PatchFlags.TEXT */ +\n (( true) ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[1]} */` : 0));\n }\n children[i] = {\n type: 12 /* NodeTypes.TEXT_CALL */,\n content: child,\n loc: child.loc,\n codegenNode: createCallExpression(context.helper(CREATE_TEXT), callArgs)\n };\n }\n }\n };\n }\n};\n\nconst seen = new WeakSet();\nconst transformOnce = (node, context) => {\n if (node.type === 1 /* NodeTypes.ELEMENT */ && findDir(node, 'once', true)) {\n if (seen.has(node) || context.inVOnce) {\n return;\n }\n seen.add(node);\n context.inVOnce = true;\n context.helper(SET_BLOCK_TRACKING);\n return () => {\n context.inVOnce = false;\n const cur = context.currentNode;\n if (cur.codegenNode) {\n cur.codegenNode = context.cache(cur.codegenNode, true /* isVNode */);\n }\n };\n }\n};\n\nconst transformModel = (dir, node, context) => {\n const { exp, arg } = dir;\n if (!exp) {\n context.onError(createCompilerError(41 /* ErrorCodes.X_V_MODEL_NO_EXPRESSION */, dir.loc));\n return createTransformProps();\n }\n const rawExp = exp.loc.source;\n const expString = exp.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ ? exp.content : rawExp;\n // im SFC <script setup> inline mode, the exp may have been transformed into\n // _unref(exp)\n context.bindingMetadata[rawExp];\n const maybeRef = !true /* BindingTypes.SETUP_CONST */;\n if (!expString.trim() ||\n (!isMemberExpression(expString) && !maybeRef)) {\n context.onError(createCompilerError(42 /* ErrorCodes.X_V_MODEL_MALFORMED_EXPRESSION */, exp.loc));\n return createTransformProps();\n }\n const propName = arg ? arg : createSimpleExpression('modelValue', true);\n const eventName = arg\n ? isStaticExp(arg)\n ? `onUpdate:${arg.content}`\n : createCompoundExpression(['\"onUpdate:\" + ', arg])\n : `onUpdate:modelValue`;\n let assignmentExp;\n const eventArg = context.isTS ? `($event: any)` : `$event`;\n {\n assignmentExp = createCompoundExpression([\n `${eventArg} => ((`,\n exp,\n `) = $event)`\n ]);\n }\n const props = [\n // modelValue: foo\n createObjectProperty(propName, dir.exp),\n // \"onUpdate:modelValue\": $event => (foo = $event)\n createObjectProperty(eventName, assignmentExp)\n ];\n // modelModifiers: { foo: true, \"bar-baz\": true }\n if (dir.modifiers.length && node.tagType === 1 /* ElementTypes.COMPONENT */) {\n const modifiers = dir.modifiers\n .map(m => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`)\n .join(`, `);\n const modifiersKey = arg\n ? isStaticExp(arg)\n ? `${arg.content}Modifiers`\n : createCompoundExpression([arg, ' + \"Modifiers\"'])\n : `modelModifiers`;\n props.push(createObjectProperty(modifiersKey, createSimpleExpression(`{ ${modifiers} }`, false, dir.loc, 2 /* ConstantTypes.CAN_HOIST */)));\n }\n return createTransformProps(props);\n};\nfunction createTransformProps(props = []) {\n return { props };\n}\n\nconst validDivisionCharRE = /[\\w).+\\-_$\\]]/;\nconst transformFilter = (node, context) => {\n if (!isCompatEnabled(\"COMPILER_FILTER\" /* CompilerDeprecationTypes.COMPILER_FILTERS */, context)) {\n return;\n }\n if (node.type === 5 /* NodeTypes.INTERPOLATION */) {\n // filter rewrite is applied before expression transform so only\n // simple expressions are possible at this stage\n rewriteFilter(node.content, context);\n }\n if (node.type === 1 /* NodeTypes.ELEMENT */) {\n node.props.forEach((prop) => {\n if (prop.type === 7 /* NodeTypes.DIRECTIVE */ &&\n prop.name !== 'for' &&\n prop.exp) {\n rewriteFilter(prop.exp, context);\n }\n });\n }\n};\nfunction rewriteFilter(node, context) {\n if (node.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n parseFilter(node, context);\n }\n else {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (typeof child !== 'object')\n continue;\n if (child.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */) {\n parseFilter(child, context);\n }\n else if (child.type === 8 /* NodeTypes.COMPOUND_EXPRESSION */) {\n rewriteFilter(node, context);\n }\n else if (child.type === 5 /* NodeTypes.INTERPOLATION */) {\n rewriteFilter(child.content, context);\n }\n }\n }\n}\nfunction parseFilter(node, context) {\n const exp = node.content;\n let inSingle = false;\n let inDouble = false;\n let inTemplateString = false;\n let inRegex = false;\n let curly = 0;\n let square = 0;\n let paren = 0;\n let lastFilterIndex = 0;\n let c, prev, i, expression, filters = [];\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5c)\n inSingle = false;\n }\n else if (inDouble) {\n if (c === 0x22 && prev !== 0x5c)\n inDouble = false;\n }\n else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5c)\n inTemplateString = false;\n }\n else if (inRegex) {\n if (c === 0x2f && prev !== 0x5c)\n inRegex = false;\n }\n else if (c === 0x7c && // pipe\n exp.charCodeAt(i + 1) !== 0x7c &&\n exp.charCodeAt(i - 1) !== 0x7c &&\n !curly &&\n !square &&\n !paren) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n }\n else {\n pushFilter();\n }\n }\n else {\n switch (c) {\n case 0x22:\n inDouble = true;\n break; // \"\n case 0x27:\n inSingle = true;\n break; // '\n case 0x60:\n inTemplateString = true;\n break; // `\n case 0x28:\n paren++;\n break; // (\n case 0x29:\n paren--;\n break; // )\n case 0x5b:\n square++;\n break; // [\n case 0x5d:\n square--;\n break; // ]\n case 0x7b:\n curly++;\n break; // {\n case 0x7d:\n curly--;\n break; // }\n }\n if (c === 0x2f) {\n // /\n let j = i - 1;\n let p;\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ')\n break;\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n }\n else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n function pushFilter() {\n filters.push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n if (filters.length) {\n ( true) &&\n warnDeprecation(\"COMPILER_FILTER\" /* CompilerDeprecationTypes.COMPILER_FILTERS */, context, node.loc);\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i], context);\n }\n node.content = expression;\n }\n}\nfunction wrapFilter(exp, filter, context) {\n context.helper(RESOLVE_FILTER);\n const i = filter.indexOf('(');\n if (i < 0) {\n context.filters.add(filter);\n return `${toValidAssetId(filter, 'filter')}(${exp})`;\n }\n else {\n const name = filter.slice(0, i);\n const args = filter.slice(i + 1);\n context.filters.add(name);\n return `${toValidAssetId(name, 'filter')}(${exp}${args !== ')' ? ',' + args : args}`;\n }\n}\n\nconst seen$1 = new WeakSet();\nconst transformMemo = (node, context) => {\n if (node.type === 1 /* NodeTypes.ELEMENT */) {\n const dir = findDir(node, 'memo');\n if (!dir || seen$1.has(node)) {\n return;\n }\n seen$1.add(node);\n return () => {\n const codegenNode = node.codegenNode ||\n context.currentNode.codegenNode;\n if (codegenNode && codegenNode.type === 13 /* NodeTypes.VNODE_CALL */) {\n // non-component sub tree should be turned into a block\n if (node.tagType !== 1 /* ElementTypes.COMPONENT */) {\n makeBlock(codegenNode, context);\n }\n node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [\n dir.exp,\n createFunctionExpression(undefined, codegenNode),\n `_cache`,\n String(context.cached++)\n ]);\n }\n };\n }\n};\n\nfunction getBaseTransformPreset(prefixIdentifiers) {\n return [\n [\n transformOnce,\n transformIf,\n transformMemo,\n transformFor,\n ...([transformFilter] ),\n ...(( true)\n ? [transformExpression]\n : 0),\n transformSlotOutlet,\n transformElement,\n trackSlotScopes,\n transformText\n ],\n {\n on: transformOn,\n bind: transformBind,\n model: transformModel\n }\n ];\n}\n// we name it `baseCompile` so that higher order compilers like\n// @vue/compiler-dom can export `compile` while re-exporting everything else.\nfunction baseCompile(template, options = {}) {\n const onError = options.onError || defaultOnError;\n const isModuleMode = options.mode === 'module';\n /* istanbul ignore if */\n {\n if (options.prefixIdentifiers === true) {\n onError(createCompilerError(46 /* ErrorCodes.X_PREFIX_ID_NOT_SUPPORTED */));\n }\n else if (isModuleMode) {\n onError(createCompilerError(47 /* ErrorCodes.X_MODULE_MODE_NOT_SUPPORTED */));\n }\n }\n const prefixIdentifiers = !true ;\n if (options.cacheHandlers) {\n onError(createCompilerError(48 /* ErrorCodes.X_CACHE_HANDLER_NOT_SUPPORTED */));\n }\n if (options.scopeId && !isModuleMode) {\n onError(createCompilerError(49 /* ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED */));\n }\n const ast = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(template) ? baseParse(template, options) : template;\n const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();\n transform(ast, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, options, {\n prefixIdentifiers,\n nodeTransforms: [\n ...nodeTransforms,\n ...(options.nodeTransforms || []) // user transforms\n ],\n directiveTransforms: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, directiveTransforms, options.directiveTransforms || {} // user transforms\n )\n }));\n return generate(ast, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, options, {\n prefixIdentifiers\n }));\n}\n\nconst noopDirectiveTransform = () => ({ props: [] });\n\n\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js?");
|
19 |
+
|
20 |
+
/***/ }),
|
21 |
+
|
22 |
+
/***/ "./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js":
|
23 |
+
/*!*************************************************************************!*\
|
24 |
+
!*** ./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js ***!
|
25 |
+
\*************************************************************************/
|
26 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
27 |
+
|
28 |
+
"use strict";
|
29 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BASE_TRANSITION\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.BASE_TRANSITION),\n/* harmony export */ \"CAMELIZE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CAMELIZE),\n/* harmony export */ \"CAPITALIZE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CAPITALIZE),\n/* harmony export */ \"CREATE_BLOCK\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_BLOCK),\n/* harmony export */ \"CREATE_COMMENT\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_COMMENT),\n/* harmony export */ \"CREATE_ELEMENT_BLOCK\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_ELEMENT_BLOCK),\n/* harmony export */ \"CREATE_ELEMENT_VNODE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_ELEMENT_VNODE),\n/* harmony export */ \"CREATE_SLOTS\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_SLOTS),\n/* harmony export */ \"CREATE_STATIC\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_STATIC),\n/* harmony export */ \"CREATE_TEXT\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_TEXT),\n/* harmony export */ \"CREATE_VNODE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_VNODE),\n/* harmony export */ \"DOMDirectiveTransforms\": () => (/* binding */ DOMDirectiveTransforms),\n/* harmony export */ \"DOMNodeTransforms\": () => (/* binding */ DOMNodeTransforms),\n/* harmony export */ \"FRAGMENT\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.FRAGMENT),\n/* harmony export */ \"GUARD_REACTIVE_PROPS\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.GUARD_REACTIVE_PROPS),\n/* harmony export */ \"IS_MEMO_SAME\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.IS_MEMO_SAME),\n/* harmony export */ \"IS_REF\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.IS_REF),\n/* harmony export */ \"KEEP_ALIVE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.KEEP_ALIVE),\n/* harmony export */ \"MERGE_PROPS\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.MERGE_PROPS),\n/* harmony export */ \"NORMALIZE_CLASS\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.NORMALIZE_CLASS),\n/* harmony export */ \"NORMALIZE_PROPS\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.NORMALIZE_PROPS),\n/* harmony export */ \"NORMALIZE_STYLE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.NORMALIZE_STYLE),\n/* harmony export */ \"OPEN_BLOCK\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.OPEN_BLOCK),\n/* harmony export */ \"POP_SCOPE_ID\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.POP_SCOPE_ID),\n/* harmony export */ \"PUSH_SCOPE_ID\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.PUSH_SCOPE_ID),\n/* harmony export */ \"RENDER_LIST\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RENDER_LIST),\n/* harmony export */ \"RENDER_SLOT\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RENDER_SLOT),\n/* harmony export */ \"RESOLVE_COMPONENT\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_COMPONENT),\n/* harmony export */ \"RESOLVE_DIRECTIVE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_DIRECTIVE),\n/* harmony export */ \"RESOLVE_DYNAMIC_COMPONENT\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_DYNAMIC_COMPONENT),\n/* harmony export */ \"RESOLVE_FILTER\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_FILTER),\n/* harmony export */ \"SET_BLOCK_TRACKING\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.SET_BLOCK_TRACKING),\n/* harmony export */ \"SUSPENSE\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.SUSPENSE),\n/* harmony export */ \"TELEPORT\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TELEPORT),\n/* harmony export */ \"TO_DISPLAY_STRING\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_DISPLAY_STRING),\n/* harmony export */ \"TO_HANDLERS\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_HANDLERS),\n/* harmony export */ \"TO_HANDLER_KEY\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_HANDLER_KEY),\n/* harmony export */ \"TRANSITION\": () => (/* binding */ TRANSITION),\n/* harmony export */ \"TRANSITION_GROUP\": () => (/* binding */ TRANSITION_GROUP),\n/* harmony export */ \"UNREF\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.UNREF),\n/* harmony export */ \"V_MODEL_CHECKBOX\": () => (/* binding */ V_MODEL_CHECKBOX),\n/* harmony export */ \"V_MODEL_DYNAMIC\": () => (/* binding */ V_MODEL_DYNAMIC),\n/* harmony export */ \"V_MODEL_RADIO\": () => (/* binding */ V_MODEL_RADIO),\n/* harmony export */ \"V_MODEL_SELECT\": () => (/* binding */ V_MODEL_SELECT),\n/* harmony export */ \"V_MODEL_TEXT\": () => (/* binding */ V_MODEL_TEXT),\n/* harmony export */ \"V_ON_WITH_KEYS\": () => (/* binding */ V_ON_WITH_KEYS),\n/* harmony export */ \"V_ON_WITH_MODIFIERS\": () => (/* binding */ V_ON_WITH_MODIFIERS),\n/* harmony export */ \"V_SHOW\": () => (/* binding */ V_SHOW),\n/* harmony export */ \"WITH_CTX\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.WITH_CTX),\n/* harmony export */ \"WITH_DIRECTIVES\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.WITH_DIRECTIVES),\n/* harmony export */ \"WITH_MEMO\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.WITH_MEMO),\n/* harmony export */ \"advancePositionWithClone\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.advancePositionWithClone),\n/* harmony export */ \"advancePositionWithMutation\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.advancePositionWithMutation),\n/* harmony export */ \"assert\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.assert),\n/* harmony export */ \"baseCompile\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseCompile),\n/* harmony export */ \"baseParse\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseParse),\n/* harmony export */ \"buildDirectiveArgs\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.buildDirectiveArgs),\n/* harmony export */ \"buildProps\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.buildProps),\n/* harmony export */ \"buildSlots\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.buildSlots),\n/* harmony export */ \"checkCompatEnabled\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.checkCompatEnabled),\n/* harmony export */ \"compile\": () => (/* binding */ compile),\n/* harmony export */ \"createArrayExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createArrayExpression),\n/* harmony export */ \"createAssignmentExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createAssignmentExpression),\n/* harmony export */ \"createBlockStatement\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createBlockStatement),\n/* harmony export */ \"createCacheExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCacheExpression),\n/* harmony export */ \"createCallExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression),\n/* harmony export */ \"createCompilerError\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompilerError),\n/* harmony export */ \"createCompoundExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompoundExpression),\n/* harmony export */ \"createConditionalExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createConditionalExpression),\n/* harmony export */ \"createDOMCompilerError\": () => (/* binding */ createDOMCompilerError),\n/* harmony export */ \"createForLoopParams\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createForLoopParams),\n/* harmony export */ \"createFunctionExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createFunctionExpression),\n/* harmony export */ \"createIfStatement\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createIfStatement),\n/* harmony export */ \"createInterpolation\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createInterpolation),\n/* harmony export */ \"createObjectExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectExpression),\n/* harmony export */ \"createObjectProperty\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty),\n/* harmony export */ \"createReturnStatement\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createReturnStatement),\n/* harmony export */ \"createRoot\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createRoot),\n/* harmony export */ \"createSequenceExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSequenceExpression),\n/* harmony export */ \"createSimpleExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression),\n/* harmony export */ \"createStructuralDirectiveTransform\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createStructuralDirectiveTransform),\n/* harmony export */ \"createTemplateLiteral\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createTemplateLiteral),\n/* harmony export */ \"createTransformContext\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createTransformContext),\n/* harmony export */ \"createVNodeCall\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createVNodeCall),\n/* harmony export */ \"extractIdentifiers\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.extractIdentifiers),\n/* harmony export */ \"findDir\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findDir),\n/* harmony export */ \"findProp\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findProp),\n/* harmony export */ \"generate\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.generate),\n/* harmony export */ \"generateCodeFrame\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.generateCodeFrame),\n/* harmony export */ \"getBaseTransformPreset\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getBaseTransformPreset),\n/* harmony export */ \"getConstantType\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getConstantType),\n/* harmony export */ \"getInnerRange\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getInnerRange),\n/* harmony export */ \"getMemoedVNodeCall\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getMemoedVNodeCall),\n/* harmony export */ \"getVNodeBlockHelper\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getVNodeBlockHelper),\n/* harmony export */ \"getVNodeHelper\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getVNodeHelper),\n/* harmony export */ \"hasDynamicKeyVBind\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.hasDynamicKeyVBind),\n/* harmony export */ \"hasScopeRef\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.hasScopeRef),\n/* harmony export */ \"helperNameMap\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.helperNameMap),\n/* harmony export */ \"injectProp\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.injectProp),\n/* harmony export */ \"isBuiltInType\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isBuiltInType),\n/* harmony export */ \"isCoreComponent\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isCoreComponent),\n/* harmony export */ \"isFunctionType\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isFunctionType),\n/* harmony export */ \"isInDestructureAssignment\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isInDestructureAssignment),\n/* harmony export */ \"isMemberExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isMemberExpression),\n/* harmony export */ \"isMemberExpressionBrowser\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isMemberExpressionBrowser),\n/* harmony export */ \"isMemberExpressionNode\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isMemberExpressionNode),\n/* harmony export */ \"isReferencedIdentifier\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isReferencedIdentifier),\n/* harmony export */ \"isSimpleIdentifier\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isSimpleIdentifier),\n/* harmony export */ \"isSlotOutlet\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isSlotOutlet),\n/* harmony export */ \"isStaticArgOf\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticArgOf),\n/* harmony export */ \"isStaticExp\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp),\n/* harmony export */ \"isStaticProperty\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticProperty),\n/* harmony export */ \"isStaticPropertyKey\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticPropertyKey),\n/* harmony export */ \"isTemplateNode\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isTemplateNode),\n/* harmony export */ \"isText\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isText),\n/* harmony export */ \"isVSlot\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isVSlot),\n/* harmony export */ \"locStub\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.locStub),\n/* harmony export */ \"makeBlock\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.makeBlock),\n/* harmony export */ \"noopDirectiveTransform\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.noopDirectiveTransform),\n/* harmony export */ \"parse\": () => (/* binding */ parse),\n/* harmony export */ \"parserOptions\": () => (/* binding */ parserOptions),\n/* harmony export */ \"processExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processExpression),\n/* harmony export */ \"processFor\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processFor),\n/* harmony export */ \"processIf\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processIf),\n/* harmony export */ \"processSlotOutlet\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processSlotOutlet),\n/* harmony export */ \"registerRuntimeHelpers\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.registerRuntimeHelpers),\n/* harmony export */ \"resolveComponentType\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.resolveComponentType),\n/* harmony export */ \"toValidAssetId\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.toValidAssetId),\n/* harmony export */ \"trackSlotScopes\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.trackSlotScopes),\n/* harmony export */ \"trackVForSlotScopes\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.trackVForSlotScopes),\n/* harmony export */ \"transform\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transform),\n/* harmony export */ \"transformBind\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformBind),\n/* harmony export */ \"transformElement\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformElement),\n/* harmony export */ \"transformExpression\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformExpression),\n/* harmony export */ \"transformModel\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformModel),\n/* harmony export */ \"transformOn\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformOn),\n/* harmony export */ \"transformStyle\": () => (/* binding */ transformStyle),\n/* harmony export */ \"traverseNode\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.traverseNode),\n/* harmony export */ \"walkBlockDeclarations\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.walkBlockDeclarations),\n/* harmony export */ \"walkFunctionParams\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.walkFunctionParams),\n/* harmony export */ \"walkIdentifiers\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.walkIdentifiers),\n/* harmony export */ \"warnDeprecation\": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.warnDeprecation)\n/* harmony export */ });\n/* harmony import */ var _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/compiler-core */ \"./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js\");\n/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n\n\n\n\nconst V_MODEL_RADIO = Symbol(( true) ? `vModelRadio` : 0);\nconst V_MODEL_CHECKBOX = Symbol(( true) ? `vModelCheckbox` : 0);\nconst V_MODEL_TEXT = Symbol(( true) ? `vModelText` : 0);\nconst V_MODEL_SELECT = Symbol(( true) ? `vModelSelect` : 0);\nconst V_MODEL_DYNAMIC = Symbol(( true) ? `vModelDynamic` : 0);\nconst V_ON_WITH_MODIFIERS = Symbol(( true) ? `vOnModifiersGuard` : 0);\nconst V_ON_WITH_KEYS = Symbol(( true) ? `vOnKeysGuard` : 0);\nconst V_SHOW = Symbol(( true) ? `vShow` : 0);\nconst TRANSITION = Symbol(( true) ? `Transition` : 0);\nconst TRANSITION_GROUP = Symbol(( true) ? `TransitionGroup` : 0);\n(0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.registerRuntimeHelpers)({\n [V_MODEL_RADIO]: `vModelRadio`,\n [V_MODEL_CHECKBOX]: `vModelCheckbox`,\n [V_MODEL_TEXT]: `vModelText`,\n [V_MODEL_SELECT]: `vModelSelect`,\n [V_MODEL_DYNAMIC]: `vModelDynamic`,\n [V_ON_WITH_MODIFIERS]: `withModifiers`,\n [V_ON_WITH_KEYS]: `withKeys`,\n [V_SHOW]: `vShow`,\n [TRANSITION]: `Transition`,\n [TRANSITION_GROUP]: `TransitionGroup`\n});\n\n/* eslint-disable no-restricted-globals */\nlet decoder;\nfunction decodeHtmlBrowser(raw, asAttr = false) {\n if (!decoder) {\n decoder = document.createElement('div');\n }\n if (asAttr) {\n decoder.innerHTML = `<div foo=\"${raw.replace(/\"/g, '"')}\">`;\n return decoder.children[0].getAttribute('foo');\n }\n else {\n decoder.innerHTML = raw;\n return decoder.textContent;\n }\n}\n\nconst isRawTextContainer = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)('style,iframe,script,noscript', true);\nconst parserOptions = {\n isVoidTag: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.isVoidTag,\n isNativeTag: tag => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isHTMLTag)(tag) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSVGTag)(tag),\n isPreTag: tag => tag === 'pre',\n decodeEntities: decodeHtmlBrowser ,\n isBuiltInComponent: (tag) => {\n if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isBuiltInType)(tag, `Transition`)) {\n return TRANSITION;\n }\n else if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isBuiltInType)(tag, `TransitionGroup`)) {\n return TRANSITION_GROUP;\n }\n },\n // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher\n getNamespace(tag, parent) {\n let ns = parent ? parent.ns : 0 /* DOMNamespaces.HTML */;\n if (parent && ns === 2 /* DOMNamespaces.MATH_ML */) {\n if (parent.tag === 'annotation-xml') {\n if (tag === 'svg') {\n return 1 /* DOMNamespaces.SVG */;\n }\n if (parent.props.some(a => a.type === 6 /* NodeTypes.ATTRIBUTE */ &&\n a.name === 'encoding' &&\n a.value != null &&\n (a.value.content === 'text/html' ||\n a.value.content === 'application/xhtml+xml'))) {\n ns = 0 /* DOMNamespaces.HTML */;\n }\n }\n else if (/^m(?:[ions]|text)$/.test(parent.tag) &&\n tag !== 'mglyph' &&\n tag !== 'malignmark') {\n ns = 0 /* DOMNamespaces.HTML */;\n }\n }\n else if (parent && ns === 1 /* DOMNamespaces.SVG */) {\n if (parent.tag === 'foreignObject' ||\n parent.tag === 'desc' ||\n parent.tag === 'title') {\n ns = 0 /* DOMNamespaces.HTML */;\n }\n }\n if (ns === 0 /* DOMNamespaces.HTML */) {\n if (tag === 'svg') {\n return 1 /* DOMNamespaces.SVG */;\n }\n if (tag === 'math') {\n return 2 /* DOMNamespaces.MATH_ML */;\n }\n }\n return ns;\n },\n // https://html.spec.whatwg.org/multipage/parsing.html#parsing-html-fragments\n getTextMode({ tag, ns }) {\n if (ns === 0 /* DOMNamespaces.HTML */) {\n if (tag === 'textarea' || tag === 'title') {\n return 1 /* TextModes.RCDATA */;\n }\n if (isRawTextContainer(tag)) {\n return 2 /* TextModes.RAWTEXT */;\n }\n }\n return 0 /* TextModes.DATA */;\n }\n};\n\n// Parse inline CSS strings for static style attributes into an object.\n// This is a NodeTransform since it works on the static `style` attribute and\n// converts it into a dynamic equivalent:\n// style=\"color: red\" -> :style='{ \"color\": \"red\" }'\n// It is then processed by `transformElement` and included in the generated\n// props.\nconst transformStyle = node => {\n if (node.type === 1 /* NodeTypes.ELEMENT */) {\n node.props.forEach((p, i) => {\n if (p.type === 6 /* NodeTypes.ATTRIBUTE */ && p.name === 'style' && p.value) {\n // replace p with an expression node\n node.props[i] = {\n type: 7 /* NodeTypes.DIRECTIVE */,\n name: `bind`,\n arg: (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`style`, true, p.loc),\n exp: parseInlineCSS(p.value.content, p.loc),\n modifiers: [],\n loc: p.loc\n };\n }\n });\n }\n};\nconst parseInlineCSS = (cssText, loc) => {\n const normalized = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.parseStringStyle)(cssText);\n return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(JSON.stringify(normalized), false, loc, 3 /* ConstantTypes.CAN_STRINGIFY */);\n};\n\nfunction createDOMCompilerError(code, loc) {\n return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompilerError)(code, loc, true ? DOMErrorMessages : 0);\n}\nconst DOMErrorMessages = {\n [50 /* DOMErrorCodes.X_V_HTML_NO_EXPRESSION */]: `v-html is missing expression.`,\n [51 /* DOMErrorCodes.X_V_HTML_WITH_CHILDREN */]: `v-html will override element children.`,\n [52 /* DOMErrorCodes.X_V_TEXT_NO_EXPRESSION */]: `v-text is missing expression.`,\n [53 /* DOMErrorCodes.X_V_TEXT_WITH_CHILDREN */]: `v-text will override element children.`,\n [54 /* DOMErrorCodes.X_V_MODEL_ON_INVALID_ELEMENT */]: `v-model can only be used on <input>, <textarea> and <select> elements.`,\n [55 /* DOMErrorCodes.X_V_MODEL_ARG_ON_ELEMENT */]: `v-model argument is not supported on plain elements.`,\n [56 /* DOMErrorCodes.X_V_MODEL_ON_FILE_INPUT_ELEMENT */]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,\n [57 /* DOMErrorCodes.X_V_MODEL_UNNECESSARY_VALUE */]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,\n [58 /* DOMErrorCodes.X_V_SHOW_NO_EXPRESSION */]: `v-show is missing expression.`,\n [59 /* DOMErrorCodes.X_TRANSITION_INVALID_CHILDREN */]: `<Transition> expects exactly one child element or component.`,\n [60 /* DOMErrorCodes.X_IGNORED_SIDE_EFFECT_TAG */]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`\n};\n\nconst transformVHtml = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(createDOMCompilerError(50 /* DOMErrorCodes.X_V_HTML_NO_EXPRESSION */, loc));\n }\n if (node.children.length) {\n context.onError(createDOMCompilerError(51 /* DOMErrorCodes.X_V_HTML_WITH_CHILDREN */, loc));\n node.children.length = 0;\n }\n return {\n props: [\n (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty)((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`innerHTML`, true, loc), exp || (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)('', true))\n ]\n };\n};\n\nconst transformVText = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(createDOMCompilerError(52 /* DOMErrorCodes.X_V_TEXT_NO_EXPRESSION */, loc));\n }\n if (node.children.length) {\n context.onError(createDOMCompilerError(53 /* DOMErrorCodes.X_V_TEXT_WITH_CHILDREN */, loc));\n node.children.length = 0;\n }\n return {\n props: [\n (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty)((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`textContent`, true), exp\n ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getConstantType)(exp, context) > 0\n ? exp\n : (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression)(context.helperString(_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_DISPLAY_STRING), [exp], loc)\n : (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)('', true))\n ]\n };\n};\n\nconst transformModel = (dir, node, context) => {\n const baseResult = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformModel)(dir, node, context);\n // base transform has errors OR component v-model (only need props)\n if (!baseResult.props.length || node.tagType === 1 /* ElementTypes.COMPONENT */) {\n return baseResult;\n }\n if (dir.arg) {\n context.onError(createDOMCompilerError(55 /* DOMErrorCodes.X_V_MODEL_ARG_ON_ELEMENT */, dir.arg.loc));\n }\n function checkDuplicatedValue() {\n const value = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findProp)(node, 'value');\n if (value) {\n context.onError(createDOMCompilerError(57 /* DOMErrorCodes.X_V_MODEL_UNNECESSARY_VALUE */, value.loc));\n }\n }\n const { tag } = node;\n const isCustomElement = context.isCustomElement(tag);\n if (tag === 'input' ||\n tag === 'textarea' ||\n tag === 'select' ||\n isCustomElement) {\n let directiveToUse = V_MODEL_TEXT;\n let isInvalidType = false;\n if (tag === 'input' || isCustomElement) {\n const type = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findProp)(node, `type`);\n if (type) {\n if (type.type === 7 /* NodeTypes.DIRECTIVE */) {\n // :type=\"foo\"\n directiveToUse = V_MODEL_DYNAMIC;\n }\n else if (type.value) {\n switch (type.value.content) {\n case 'radio':\n directiveToUse = V_MODEL_RADIO;\n break;\n case 'checkbox':\n directiveToUse = V_MODEL_CHECKBOX;\n break;\n case 'file':\n isInvalidType = true;\n context.onError(createDOMCompilerError(56 /* DOMErrorCodes.X_V_MODEL_ON_FILE_INPUT_ELEMENT */, dir.loc));\n break;\n default:\n // text type\n ( true) && checkDuplicatedValue();\n break;\n }\n }\n }\n else if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.hasDynamicKeyVBind)(node)) {\n // element has bindings with dynamic keys, which can possibly contain\n // \"type\".\n directiveToUse = V_MODEL_DYNAMIC;\n }\n else {\n // text type\n ( true) && checkDuplicatedValue();\n }\n }\n else if (tag === 'select') {\n directiveToUse = V_MODEL_SELECT;\n }\n else {\n // textarea\n ( true) && checkDuplicatedValue();\n }\n // inject runtime directive\n // by returning the helper symbol via needRuntime\n // the import will replaced a resolveDirective call.\n if (!isInvalidType) {\n baseResult.needRuntime = context.helper(directiveToUse);\n }\n }\n else {\n context.onError(createDOMCompilerError(54 /* DOMErrorCodes.X_V_MODEL_ON_INVALID_ELEMENT */, dir.loc));\n }\n // native vmodel doesn't need the `modelValue` props since they are also\n // passed to the runtime as `binding.value`. removing it reduces code size.\n baseResult.props = baseResult.props.filter(p => !(p.key.type === 4 /* NodeTypes.SIMPLE_EXPRESSION */ &&\n p.key.content === 'modelValue'));\n return baseResult;\n};\n\nconst isEventOptionModifier = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)(`passive,once,capture`);\nconst isNonKeyModifier = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)(\n// event propagation management\n`stop,prevent,self,` +\n // system modifiers + exact\n `ctrl,shift,alt,meta,exact,` +\n // mouse\n `middle`);\n// left & right could be mouse or key modifiers based on event type\nconst maybeKeyModifier = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)('left,right');\nconst isKeyboardEvent = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)(`onkeyup,onkeydown,onkeypress`, true);\nconst resolveModifiers = (key, modifiers, context, loc) => {\n const keyModifiers = [];\n const nonKeyModifiers = [];\n const eventOptionModifiers = [];\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n if (modifier === 'native' &&\n (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.checkCompatEnabled)(\"COMPILER_V_ON_NATIVE\" /* CompilerDeprecationTypes.COMPILER_V_ON_NATIVE */, context, loc)) {\n eventOptionModifiers.push(modifier);\n }\n else if (isEventOptionModifier(modifier)) {\n // eventOptionModifiers: modifiers for addEventListener() options,\n // e.g. .passive & .capture\n eventOptionModifiers.push(modifier);\n }\n else {\n // runtimeModifiers: modifiers that needs runtime guards\n if (maybeKeyModifier(modifier)) {\n if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key)) {\n if (isKeyboardEvent(key.content)) {\n keyModifiers.push(modifier);\n }\n else {\n nonKeyModifiers.push(modifier);\n }\n }\n else {\n keyModifiers.push(modifier);\n nonKeyModifiers.push(modifier);\n }\n }\n else {\n if (isNonKeyModifier(modifier)) {\n nonKeyModifiers.push(modifier);\n }\n else {\n keyModifiers.push(modifier);\n }\n }\n }\n }\n return {\n keyModifiers,\n nonKeyModifiers,\n eventOptionModifiers\n };\n};\nconst transformClick = (key, event) => {\n const isStaticClick = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key) && key.content.toLowerCase() === 'onclick';\n return isStaticClick\n ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(event, true)\n : key.type !== 4 /* NodeTypes.SIMPLE_EXPRESSION */\n ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompoundExpression)([\n `(`,\n key,\n `) === \"onClick\" ? \"${event}\" : (`,\n key,\n `)`\n ])\n : key;\n};\nconst transformOn = (dir, node, context) => {\n return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformOn)(dir, node, context, baseResult => {\n const { modifiers } = dir;\n if (!modifiers.length)\n return baseResult;\n let { key, value: handlerExp } = baseResult.props[0];\n const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);\n // normalize click.right and click.middle since they don't actually fire\n if (nonKeyModifiers.includes('right')) {\n key = transformClick(key, `onContextmenu`);\n }\n if (nonKeyModifiers.includes('middle')) {\n key = transformClick(key, `onMouseup`);\n }\n if (nonKeyModifiers.length) {\n handlerExp = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression)(context.helper(V_ON_WITH_MODIFIERS), [\n handlerExp,\n JSON.stringify(nonKeyModifiers)\n ]);\n }\n if (keyModifiers.length &&\n // if event name is dynamic, always wrap with keys guard\n (!(0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key) || isKeyboardEvent(key.content))) {\n handlerExp = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression)(context.helper(V_ON_WITH_KEYS), [\n handlerExp,\n JSON.stringify(keyModifiers)\n ]);\n }\n if (eventOptionModifiers.length) {\n const modifierPostfix = eventOptionModifiers.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize).join('');\n key = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key)\n ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`${key.content}${modifierPostfix}`, true)\n : (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompoundExpression)([`(`, key, `) + \"${modifierPostfix}\"`]);\n }\n return {\n props: [(0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty)(key, handlerExp)]\n };\n });\n};\n\nconst transformShow = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(createDOMCompilerError(58 /* DOMErrorCodes.X_V_SHOW_NO_EXPRESSION */, loc));\n }\n return {\n props: [],\n needRuntime: context.helper(V_SHOW)\n };\n};\n\nconst transformTransition = (node, context) => {\n if (node.type === 1 /* NodeTypes.ELEMENT */ &&\n node.tagType === 1 /* ElementTypes.COMPONENT */) {\n const component = context.isBuiltInComponent(node.tag);\n if (component === TRANSITION) {\n return () => {\n if (!node.children.length) {\n return;\n }\n // warn multiple transition children\n if (hasMultipleChildren(node)) {\n context.onError(createDOMCompilerError(59 /* DOMErrorCodes.X_TRANSITION_INVALID_CHILDREN */, {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: ''\n }));\n }\n // check if it's s single child w/ v-show\n // if yes, inject \"persisted: true\" to the transition props\n const child = node.children[0];\n if (child.type === 1 /* NodeTypes.ELEMENT */) {\n for (const p of child.props) {\n if (p.type === 7 /* NodeTypes.DIRECTIVE */ && p.name === 'show') {\n node.props.push({\n type: 6 /* NodeTypes.ATTRIBUTE */,\n name: 'persisted',\n value: undefined,\n loc: node.loc\n });\n }\n }\n }\n };\n }\n }\n};\nfunction hasMultipleChildren(node) {\n // #1352 filter out potential comment nodes.\n const children = (node.children = node.children.filter(c => c.type !== 3 /* NodeTypes.COMMENT */ &&\n !(c.type === 2 /* NodeTypes.TEXT */ && !c.content.trim())));\n const child = children[0];\n return (children.length !== 1 ||\n child.type === 11 /* NodeTypes.FOR */ ||\n (child.type === 9 /* NodeTypes.IF */ && child.branches.some(hasMultipleChildren)));\n}\n\nconst ignoreSideEffectTags = (node, context) => {\n if (node.type === 1 /* NodeTypes.ELEMENT */ &&\n node.tagType === 0 /* ElementTypes.ELEMENT */ &&\n (node.tag === 'script' || node.tag === 'style')) {\n context.onError(createDOMCompilerError(60 /* DOMErrorCodes.X_IGNORED_SIDE_EFFECT_TAG */, node.loc));\n context.removeNode();\n }\n};\n\nconst DOMNodeTransforms = [\n transformStyle,\n ...(( true) ? [transformTransition] : 0)\n];\nconst DOMDirectiveTransforms = {\n cloak: _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.noopDirectiveTransform,\n html: transformVHtml,\n text: transformVText,\n model: transformModel,\n on: transformOn,\n show: transformShow\n};\nfunction compile(template, options = {}) {\n return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseCompile)(template, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, parserOptions, options, {\n nodeTransforms: [\n // ignore <script> and <tag>\n // this is not put inside DOMNodeTransforms because that list is used\n // by compiler-ssr to generate vnode fallback branches\n ignoreSideEffectTags,\n ...DOMNodeTransforms,\n ...(options.nodeTransforms || [])\n ],\n directiveTransforms: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, DOMDirectiveTransforms, options.directiveTransforms || {}),\n transformHoist: null \n }));\n}\nfunction parse(template, options = {}) {\n return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseParse)(template, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, parserOptions, options));\n}\n\n\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js?");
|
30 |
+
|
31 |
+
/***/ }),
|
32 |
+
|
33 |
+
/***/ "./node_modules/@vue/devtools-api/lib/esm/const.js":
|
34 |
+
/*!*********************************************************!*\
|
35 |
+
!*** ./node_modules/@vue/devtools-api/lib/esm/const.js ***!
|
36 |
+
\*********************************************************/
|
37 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
38 |
+
|
39 |
+
"use strict";
|
40 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"HOOK_PLUGIN_SETTINGS_SET\": () => (/* binding */ HOOK_PLUGIN_SETTINGS_SET),\n/* harmony export */ \"HOOK_SETUP\": () => (/* binding */ HOOK_SETUP)\n/* harmony export */ });\nconst HOOK_SETUP = 'devtools-plugin:setup';\nconst HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/devtools-api/lib/esm/const.js?");
|
41 |
+
|
42 |
+
/***/ }),
|
43 |
+
|
44 |
+
/***/ "./node_modules/@vue/devtools-api/lib/esm/env.js":
|
45 |
+
/*!*******************************************************!*\
|
46 |
+
!*** ./node_modules/@vue/devtools-api/lib/esm/env.js ***!
|
47 |
+
\*******************************************************/
|
48 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
49 |
+
|
50 |
+
"use strict";
|
51 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getDevtoolsGlobalHook\": () => (/* binding */ getDevtoolsGlobalHook),\n/* harmony export */ \"getTarget\": () => (/* binding */ getTarget),\n/* harmony export */ \"isProxyAvailable\": () => (/* binding */ isProxyAvailable)\n/* harmony export */ });\nfunction getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nfunction getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof __webpack_require__.g !== 'undefined'\n ? __webpack_require__.g\n : {};\n}\nconst isProxyAvailable = typeof Proxy === 'function';\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/devtools-api/lib/esm/env.js?");
|
52 |
+
|
53 |
+
/***/ }),
|
54 |
+
|
55 |
+
/***/ "./node_modules/@vue/devtools-api/lib/esm/index.js":
|
56 |
+
/*!*********************************************************!*\
|
57 |
+
!*** ./node_modules/@vue/devtools-api/lib/esm/index.js ***!
|
58 |
+
\*********************************************************/
|
59 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
60 |
+
|
61 |
+
"use strict";
|
62 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isPerformanceSupported\": () => (/* reexport safe */ _time_js__WEBPACK_IMPORTED_MODULE_0__.isPerformanceSupported),\n/* harmony export */ \"now\": () => (/* reexport safe */ _time_js__WEBPACK_IMPORTED_MODULE_0__.now),\n/* harmony export */ \"setupDevtoolsPlugin\": () => (/* binding */ setupDevtoolsPlugin)\n/* harmony export */ });\n/* harmony import */ var _env_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./env.js */ \"./node_modules/@vue/devtools-api/lib/esm/env.js\");\n/* harmony import */ var _const_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./const.js */ \"./node_modules/@vue/devtools-api/lib/esm/const.js\");\n/* harmony import */ var _proxy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./proxy.js */ \"./node_modules/@vue/devtools-api/lib/esm/proxy.js\");\n/* harmony import */ var _time_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time.js */ \"./node_modules/@vue/devtools-api/lib/esm/time.js\");\n\n\n\n\n\n\nfunction setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = (0,_env_js__WEBPACK_IMPORTED_MODULE_1__.getTarget)();\n const hook = (0,_env_js__WEBPACK_IMPORTED_MODULE_1__.getDevtoolsGlobalHook)();\n const enableProxy = _env_js__WEBPACK_IMPORTED_MODULE_1__.isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(_const_js__WEBPACK_IMPORTED_MODULE_2__.HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new _proxy_js__WEBPACK_IMPORTED_MODULE_3__.ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/devtools-api/lib/esm/index.js?");
|
63 |
+
|
64 |
+
/***/ }),
|
65 |
+
|
66 |
+
/***/ "./node_modules/@vue/devtools-api/lib/esm/proxy.js":
|
67 |
+
/*!*********************************************************!*\
|
68 |
+
!*** ./node_modules/@vue/devtools-api/lib/esm/proxy.js ***!
|
69 |
+
\*********************************************************/
|
70 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
71 |
+
|
72 |
+
"use strict";
|
73 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ApiProxy\": () => (/* binding */ ApiProxy)\n/* harmony export */ });\n/* harmony import */ var _const_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./const.js */ \"./node_modules/@vue/devtools-api/lib/esm/const.js\");\n/* harmony import */ var _time_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time.js */ \"./node_modules/@vue/devtools-api/lib/esm/time.js\");\n\n\nclass ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return (0,_time_js__WEBPACK_IMPORTED_MODULE_0__.now)();\n },\n };\n if (hook) {\n hook.on(_const_js__WEBPACK_IMPORTED_MODULE_1__.HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/devtools-api/lib/esm/proxy.js?");
|
74 |
+
|
75 |
+
/***/ }),
|
76 |
+
|
77 |
+
/***/ "./node_modules/@vue/devtools-api/lib/esm/time.js":
|
78 |
+
/*!********************************************************!*\
|
79 |
+
!*** ./node_modules/@vue/devtools-api/lib/esm/time.js ***!
|
80 |
+
\********************************************************/
|
81 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
82 |
+
|
83 |
+
"use strict";
|
84 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isPerformanceSupported\": () => (/* binding */ isPerformanceSupported),\n/* harmony export */ \"now\": () => (/* binding */ now)\n/* harmony export */ });\nlet supported;\nlet perf;\nfunction isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof __webpack_require__.g !== 'undefined' && ((_a = __webpack_require__.g.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = __webpack_require__.g.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nfunction now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/devtools-api/lib/esm/time.js?");
|
85 |
+
|
86 |
+
/***/ }),
|
87 |
+
|
88 |
+
/***/ "./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js":
|
89 |
+
/*!*********************************************************************!*\
|
90 |
+
!*** ./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js ***!
|
91 |
+
\*********************************************************************/
|
92 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
93 |
+
|
94 |
+
"use strict";
|
95 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EffectScope\": () => (/* binding */ EffectScope),\n/* harmony export */ \"ITERATE_KEY\": () => (/* binding */ ITERATE_KEY),\n/* harmony export */ \"ReactiveEffect\": () => (/* binding */ ReactiveEffect),\n/* harmony export */ \"computed\": () => (/* binding */ computed),\n/* harmony export */ \"customRef\": () => (/* binding */ customRef),\n/* harmony export */ \"deferredComputed\": () => (/* binding */ deferredComputed),\n/* harmony export */ \"effect\": () => (/* binding */ effect),\n/* harmony export */ \"effectScope\": () => (/* binding */ effectScope),\n/* harmony export */ \"enableTracking\": () => (/* binding */ enableTracking),\n/* harmony export */ \"getCurrentScope\": () => (/* binding */ getCurrentScope),\n/* harmony export */ \"isProxy\": () => (/* binding */ isProxy),\n/* harmony export */ \"isReactive\": () => (/* binding */ isReactive),\n/* harmony export */ \"isReadonly\": () => (/* binding */ isReadonly),\n/* harmony export */ \"isRef\": () => (/* binding */ isRef),\n/* harmony export */ \"isShallow\": () => (/* binding */ isShallow),\n/* harmony export */ \"markRaw\": () => (/* binding */ markRaw),\n/* harmony export */ \"onScopeDispose\": () => (/* binding */ onScopeDispose),\n/* harmony export */ \"pauseTracking\": () => (/* binding */ pauseTracking),\n/* harmony export */ \"proxyRefs\": () => (/* binding */ proxyRefs),\n/* harmony export */ \"reactive\": () => (/* binding */ reactive),\n/* harmony export */ \"readonly\": () => (/* binding */ readonly),\n/* harmony export */ \"ref\": () => (/* binding */ ref),\n/* harmony export */ \"resetTracking\": () => (/* binding */ resetTracking),\n/* harmony export */ \"shallowReactive\": () => (/* binding */ shallowReactive),\n/* harmony export */ \"shallowReadonly\": () => (/* binding */ shallowReadonly),\n/* harmony export */ \"shallowRef\": () => (/* binding */ shallowRef),\n/* harmony export */ \"stop\": () => (/* binding */ stop),\n/* harmony export */ \"toRaw\": () => (/* binding */ toRaw),\n/* harmony export */ \"toRef\": () => (/* binding */ toRef),\n/* harmony export */ \"toRefs\": () => (/* binding */ toRefs),\n/* harmony export */ \"track\": () => (/* binding */ track),\n/* harmony export */ \"trigger\": () => (/* binding */ trigger),\n/* harmony export */ \"triggerRef\": () => (/* binding */ triggerRef),\n/* harmony export */ \"unref\": () => (/* binding */ unref)\n/* harmony export */ });\n/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n run(fn) {\n if (this.active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if ((true)) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this.active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if ((true)) {\n warn(`onScopeDispose() is called when there is no active effect scope` +\n ` to be associated with.`);\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit; // set was tracked\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n }\n else {\n deps[ptr++] = dep;\n }\n // clear bits\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = new WeakMap();\n// The number of effects currently being tracked recursively.\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\n/**\n * The bitwise track markers support at most 30 levels of recursion.\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\n * When recursion depth is greater, fall back to using a full cleanup.\n */\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(( true) ? 'iterate' : 0);\nconst MAP_KEY_ITERATE_KEY = Symbol(( true) ? 'Map key iterate' : 0);\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = undefined;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n }\n else {\n cleanupEffect(this);\n }\n return this.fn();\n }\n finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = undefined;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n // stopped while running itself - defer the cleanup\n if (activeEffect === this) {\n this.deferStop = true;\n }\n else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect) {\n const { deps } = effect;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === undefined ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, (depsMap = new Map()));\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, (dep = createDep()));\n }\n const eventInfo = ( true)\n ? { effect: activeEffect, target, type, key }\n : 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit; // set newly tracked\n shouldTrack = !wasTracked(dep);\n }\n }\n else {\n // Full cleanup mode.\n shouldTrack = !dep.has(activeEffect);\n }\n if (shouldTrack) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (( true) && activeEffect.onTrack) {\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n // never been tracked\n return;\n }\n let deps = [];\n if (type === \"clear\" /* TriggerOpTypes.CLEAR */) {\n // collection being cleared\n // trigger all effects for target\n deps = [...depsMap.values()];\n }\n else if (key === 'length' && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {\n depsMap.forEach((dep, key) => {\n if (key === 'length' || key >= newValue) {\n deps.push(dep);\n }\n });\n }\n else {\n // schedule runs for SET | ADD | DELETE\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n // also run for iteration key on ADD | DELETE | Map.SET\n switch (type) {\n case \"add\" /* TriggerOpTypes.ADD */:\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key)) {\n // new index added to array -> length changes\n deps.push(depsMap.get('length'));\n }\n break;\n case \"delete\" /* TriggerOpTypes.DELETE */:\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\" /* TriggerOpTypes.SET */:\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = ( true)\n ? { target, type, key, newValue, oldValue, oldTarget }\n : 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if ((true)) {\n triggerEffects(deps[0], eventInfo);\n }\n else {}\n }\n }\n else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if ((true)) {\n triggerEffects(createDep(effects), eventInfo);\n }\n else {}\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n // spread into array for stabilization\n const effects = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(dep) ? dep : [...dep];\n for (const effect of effects) {\n if (effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n for (const effect of effects) {\n if (!effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\n if (effect !== activeEffect || effect.allowRecurse) {\n if (( true) && effect.onTrigger) {\n effect.onTrigger((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({ effect }, debuggerEventExtraInfo));\n }\n if (effect.scheduler) {\n effect.scheduler();\n }\n else {\n effect.run();\n }\n }\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.makeMap)(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n/*#__PURE__*/\nObject.getOwnPropertyNames(Symbol)\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\n // function\n .filter(key => key !== 'arguments' && key !== 'caller')\n .map(key => Symbol[key])\n .filter(_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol));\nconst get = /*#__PURE__*/ createGetter();\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\n instrumentations[key] = function (...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\" /* TrackOpTypes.GET */, i + '');\n }\n // we run the method using the original args first (which may be reactive)\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n // if that didn't work, run it again using raw values.\n return arr[key](...args.map(toRaw));\n }\n else {\n return res;\n }\n };\n });\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\n instrumentations[key] = function (...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction createGetter(isReadonly = false, shallow = false) {\n return function get(target, key, receiver) {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */) {\n return shallow;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */ &&\n receiver ===\n (isReadonly\n ? shallow\n ? shallowReadonlyMap\n : readonlyMap\n : shallow\n ? shallowReactiveMap\n : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target);\n if (!isReadonly && targetIsArray && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n const res = Reflect.get(target, key, receiver);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly) {\n track(target, \"get\" /* TrackOpTypes.GET */, key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n // ref unwrapping - skip unwrap for Array + integer key.\n return targetIsArray && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key) ? res : res.value;\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(res)) {\n // Convert returned value into a proxy as well. we do the isObject check\n // here to avoid invalid value warning. Also need to lazy access readonly\n // and reactive here to avoid circular dependency.\n return isReadonly ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set = /*#__PURE__*/ createSetter();\nconst shallowSet = /*#__PURE__*/ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key)\n ? Number(key) < target.length\n : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(target, key);\n const result = Reflect.set(target, key, value, receiver);\n // don't trigger if target is something up in the prototype chain of original\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction has(target, key) {\n const result = Reflect.has(target, key);\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(key) || !builtInSymbols.has(key)) {\n track(target, \"has\" /* TrackOpTypes.HAS */, key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\" /* TrackOpTypes.ITERATE */, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) ? 'length' : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get,\n set,\n deleteProperty,\n has,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if ((true)) {\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n if ((true)) {\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n});\n// Props handlers are special in the sense that it should not unwrap top-level\n// refs (in order to allow refs to be explicitly passed down), but should\n// retain the reactivity of the normal readonly object.\nconst shallowReadonlyHandlers = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, readonlyHandlers, {\n get: shallowReadonlyGet\n});\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\n // of the value\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, key);\n }\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n }\n else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n }\n else if (target !== rawTarget) {\n // #3602 readonly(reactive(Map))\n // ensure that the nested reactive `Map` can do tracking for itself\n target.get(key);\n }\n}\nfunction has$1(key, isReadonly = false) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, key);\n }\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, rawKey);\n }\n return key === rawKey\n ? target.has(key)\n : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n !isReadonly && track(toRaw(target), \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return Reflect.get(target, 'size', target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((true)) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((true)) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : undefined;\n // forward the operation before queueing reactions\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = ( true)\n ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)\n ? new Map(target)\n : new Set(target)\n : 0;\n // forward the operation before queueing reactions\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return target.forEach((value, key) => {\n // important: make sure the callback is\n // 1. invoked with the reactive map as `this` and 3rd arg\n // 2. the value received should be a corresponding reactive/readonly.\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function (...args) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const targetIsMap = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(rawTarget);\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\n const isKeyOnly = method === 'keys' && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly &&\n track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n // return a wrapped iterator which returns observed versions of the\n // values emitted from the real iterator\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done\n ? { value, done }\n : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function (...args) {\n if ((true)) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.capitalize)(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" /* TriggerOpTypes.DELETE */ ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations = {\n get(key) {\n return get$1(this, key);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations = {\n get(key) {\n return get$1(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\n iteratorMethods.forEach(method => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n return [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n ];\n}\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow\n ? isReadonly\n ? shallowReadonlyInstrumentations\n : shallowInstrumentations\n : isReadonly\n ? readonlyInstrumentations\n : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */) {\n return target;\n }\n return Reflect.get((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(instrumentations, key) && key in target\n ? instrumentations\n : target, key, receiver);\n };\n}\nconst mutableCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toRawType)(target);\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\n `which can lead to inconsistencies. ` +\n `Avoid differentiating between the raw and reactive versions ` +\n `of an object and only use the reactive version if possible.`);\n }\n}\n\nconst reactiveMap = new WeakMap();\nconst shallowReactiveMap = new WeakMap();\nconst readonlyMap = new WeakMap();\nconst shallowReadonlyMap = new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case 'Object':\n case 'Array':\n return 1 /* TargetType.COMMON */;\n case 'Map':\n case 'Set':\n case 'WeakMap':\n case 'WeakSet':\n return 2 /* TargetType.COLLECTION */;\n default:\n return 0 /* TargetType.INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)\n ? 0 /* TargetType.INVALID */\n : targetTypeMap((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toRawType)(value));\n}\nfunction reactive(target) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n}\n/**\n * Creates a readonly copy of the original object. Note the returned copy is not\n * made reactive, but `readonly` can be called on an already reactive object.\n */\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n}\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(target)) {\n if ((true)) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n // target is already a Proxy, return it.\n // exception: calling readonly() on a reactive object\n if (target[\"__v_raw\" /* ReactiveFlags.RAW */] &&\n !(isReadonly && target[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */])) {\n return target;\n }\n // target already has corresponding Proxy\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n // only specific value types can be observed.\n const targetType = getTargetType(target);\n if (targetType === 0 /* TargetType.INVALID */) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.def)(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n return value;\n}\nconst toReactive = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(value) ? reactive(value) : value;\nconst toReadonly = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\n if (shouldTrack && activeEffect) {\n ref = toRaw(ref);\n if ((true)) {\n trackEffects(ref.dep || (ref.dep = createDep()), {\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {}\n }\n}\nfunction triggerRefValue(ref, newVal) {\n ref = toRaw(ref);\n if (ref.dep) {\n if ((true)) {\n triggerEffects(ref.dep, {\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value',\n newValue: newVal\n });\n }\n else {}\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = undefined;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref) {\n triggerRefValue(ref, ( true) ? ref.value : 0);\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs)\n ? objectWithRefs\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = undefined;\n this.__v_isRef = true;\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (( true) && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === undefined ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n}\nfunction toRef(object, key, defaultValue) {\n const val = object[key];\n return isRef(val)\n ? val\n : new ObjectRefImpl(object, key, defaultValue);\n}\n\nvar _a;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = undefined;\n this.__v_isRef = true;\n this[_a] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */] = isReadonly;\n }\n get value() {\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\n_a = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isFunction)(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = ( true)\n ? () => {\n console.warn('Write operation failed: computed value is readonly');\n }\n : 0;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (( true) && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nvar _a$1;\nconst tick = /*#__PURE__*/ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = undefined;\n this._dirty = true;\n this.__v_isRef = true;\n this[_a$1] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n }\n else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n // chained upstream computeds are notified synchronously to ensure\n // value invalidation in case of sync access; normal effects are\n // deferred to be triggered in scheduler.\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(true /* computedTrigger */);\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return (this._value = this.effect.run());\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n return toRaw(this)._get();\n }\n}\n_a$1 = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\n\n\n\n//# sourceURL=webpack://htmega-options/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js?");
|
96 |
+
|
97 |
+
/***/ }),
|
98 |
+
|
99 |
+
/***/ "./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js":
|
100 |
+
/*!*************************************************************************!*\
|
101 |
+
!*** ./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js ***!
|
102 |
+
\*************************************************************************/
|
103 |
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
104 |
+
|
105 |
+
"use strict";
|
106 |
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BaseTransition\": () => (/* binding */ BaseTransition),\n/* harmony export */ \"Comment\": () => (/* binding */ Comment),\n/* harmony export */ \"EffectScope\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.EffectScope),\n/* harmony export */ \"Fragment\": () => (/* binding */ Fragment),\n/* harmony export */ \"KeepAlive\": () => (/* binding */ KeepAlive),\n/* harmony export */ \"ReactiveEffect\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect),\n/* harmony export */ \"Static\": () => (/* binding */ Static),\n/* harmony export */ \"Suspense\": () => (/* binding */ Suspense),\n/* harmony export */ \"Teleport\": () => (/* binding */ Teleport),\n/* harmony export */ \"Text\": () => (/* binding */ Text),\n/* harmony export */ \"callWithAsyncErrorHandling\": () => (/* binding */ callWithAsyncErrorHandling),\n/* harmony export */ \"callWithErrorHandling\": () => (/* binding */ callWithErrorHandling),\n/* harmony export */ \"camelize\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize),\n/* harmony export */ \"capitalize\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize),\n/* harmony export */ \"cloneVNode\": () => (/* binding */ cloneVNode),\n/* harmony export */ \"compatUtils\": () => (/* binding */ compatUtils),\n/* harmony export */ \"computed\": () => (/* binding */ computed),\n/* harmony export */ \"createBlock\": () => (/* binding */ createBlock),\n/* harmony export */ \"createCommentVNode\": () => (/* binding */ createCommentVNode),\n/* harmony export */ \"createElementBlock\": () => (/* binding */ createElementBlock),\n/* harmony export */ \"createElementVNode\": () => (/* binding */ createBaseVNode),\n/* harmony export */ \"createHydrationRenderer\": () => (/* binding */ createHydrationRenderer),\n/* harmony export */ \"createPropsRestProxy\": () => (/* binding */ createPropsRestProxy),\n/* harmony export */ \"createRenderer\": () => (/* binding */ createRenderer),\n/* harmony export */ \"createSlots\": () => (/* binding */ createSlots),\n/* harmony export */ \"createStaticVNode\": () => (/* binding */ createStaticVNode),\n/* harmony export */ \"createTextVNode\": () => (/* binding */ createTextVNode),\n/* harmony export */ \"createVNode\": () => (/* binding */ createVNode),\n/* harmony export */ \"customRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.customRef),\n/* harmony export */ \"defineAsyncComponent\": () => (/* binding */ defineAsyncComponent),\n/* harmony export */ \"defineComponent\": () => (/* binding */ defineComponent),\n/* harmony export */ \"defineEmits\": () => (/* binding */ defineEmits),\n/* harmony export */ \"defineExpose\": () => (/* binding */ defineExpose),\n/* harmony export */ \"defineProps\": () => (/* binding */ defineProps),\n/* harmony export */ \"devtools\": () => (/* binding */ devtools),\n/* harmony export */ \"effect\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.effect),\n/* harmony export */ \"effectScope\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.effectScope),\n/* harmony export */ \"getCurrentInstance\": () => (/* binding */ getCurrentInstance),\n/* harmony export */ \"getCurrentScope\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.getCurrentScope),\n/* harmony export */ \"getTransitionRawChildren\": () => (/* binding */ getTransitionRawChildren),\n/* harmony export */ \"guardReactiveProps\": () => (/* binding */ guardReactiveProps),\n/* harmony export */ \"h\": () => (/* binding */ h),\n/* harmony export */ \"handleError\": () => (/* binding */ handleError),\n/* harmony export */ \"initCustomFormatter\": () => (/* binding */ initCustomFormatter),\n/* harmony export */ \"inject\": () => (/* binding */ inject),\n/* harmony export */ \"isMemoSame\": () => (/* binding */ isMemoSame),\n/* harmony export */ \"isProxy\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isProxy),\n/* harmony export */ \"isReactive\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive),\n/* harmony export */ \"isReadonly\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReadonly),\n/* harmony export */ \"isRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef),\n/* harmony export */ \"isRuntimeOnly\": () => (/* binding */ isRuntimeOnly),\n/* harmony export */ \"isShallow\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow),\n/* harmony export */ \"isVNode\": () => (/* binding */ isVNode),\n/* harmony export */ \"markRaw\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.markRaw),\n/* harmony export */ \"mergeDefaults\": () => (/* binding */ mergeDefaults),\n/* harmony export */ \"mergeProps\": () => (/* binding */ mergeProps),\n/* harmony export */ \"nextTick\": () => (/* binding */ nextTick),\n/* harmony export */ \"normalizeClass\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeClass),\n/* harmony export */ \"normalizeProps\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeProps),\n/* harmony export */ \"normalizeStyle\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeStyle),\n/* harmony export */ \"onActivated\": () => (/* binding */ onActivated),\n/* harmony export */ \"onBeforeMount\": () => (/* binding */ onBeforeMount),\n/* harmony export */ \"onBeforeUnmount\": () => (/* binding */ onBeforeUnmount),\n/* harmony export */ \"onBeforeUpdate\": () => (/* binding */ onBeforeUpdate),\n/* harmony export */ \"onDeactivated\": () => (/* binding */ onDeactivated),\n/* harmony export */ \"onErrorCaptured\": () => (/* binding */ onErrorCaptured),\n/* harmony export */ \"onMounted\": () => (/* binding */ onMounted),\n/* harmony export */ \"onRenderTracked\": () => (/* binding */ onRenderTracked),\n/* harmony export */ \"onRenderTriggered\": () => (/* binding */ onRenderTriggered),\n/* harmony export */ \"onScopeDispose\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.onScopeDispose),\n/* harmony export */ \"onServerPrefetch\": () => (/* binding */ onServerPrefetch),\n/* harmony export */ \"onUnmounted\": () => (/* binding */ onUnmounted),\n/* harmony export */ \"onUpdated\": () => (/* binding */ onUpdated),\n/* harmony export */ \"openBlock\": () => (/* binding */ openBlock),\n/* harmony export */ \"popScopeId\": () => (/* binding */ popScopeId),\n/* harmony export */ \"provide\": () => (/* binding */ provide),\n/* harmony export */ \"proxyRefs\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.proxyRefs),\n/* harmony export */ \"pushScopeId\": () => (/* binding */ pushScopeId),\n/* harmony export */ \"queuePostFlushCb\": () => (/* binding */ queuePostFlushCb),\n/* harmony export */ \"reactive\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.reactive),\n/* harmony export */ \"readonly\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.readonly),\n/* harmony export */ \"ref\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref),\n/* harmony export */ \"registerRuntimeCompiler\": () => (/* binding */ registerRuntimeCompiler),\n/* harmony export */ \"renderList\": () => (/* binding */ renderList),\n/* harmony export */ \"renderSlot\": () => (/* binding */ renderSlot),\n/* harmony export */ \"resolveComponent\": () => (/* binding */ resolveComponent),\n/* harmony export */ \"resolveDirective\": () => (/* binding */ resolveDirective),\n/* harmony export */ \"resolveDynamicComponent\": () => (/* binding */ resolveDynamicComponent),\n/* harmony export */ \"resolveFilter\": () => (/* binding */ resolveFilter),\n/* harmony export */ \"resolveTransitionHooks\": () => (/* binding */ resolveTransitionHooks),\n/* harmony export */ \"setBlockTracking\": () => (/* binding */ setBlockTracking),\n/* harmony export */ \"setDevtoolsHook\": () => (/* binding */ setDevtoolsHook),\n/* harmony export */ \"setTransitionHooks\": () => (/* binding */ setTransitionHooks),\n/* harmony export */ \"shallowReactive\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReactive),\n/* harmony export */ \"shallowReadonly\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly),\n/* harmony export */ \"shallowRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowRef),\n/* harmony export */ \"ssrContextKey\": () => (/* binding */ ssrContextKey),\n/* harmony export */ \"ssrUtils\": () => (/* binding */ ssrUtils),\n/* harmony export */ \"stop\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.stop),\n/* harmony export */ \"toDisplayString\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.toDisplayString),\n/* harmony export */ \"toHandlerKey\": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey),\n/* harmony export */ \"toHandlers\": () => (/* binding */ toHandlers),\n/* harmony export */ \"toRaw\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw),\n/* harmony export */ \"toRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRef),\n/* harmony export */ \"toRefs\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRefs),\n/* harmony export */ \"transformVNodeArgs\": () => (/* binding */ transformVNodeArgs),\n/* harmony export */ \"triggerRef\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.triggerRef),\n/* harmony export */ \"unref\": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.unref),\n/* harmony export */ \"useAttrs\": () => (/* binding */ useAttrs),\n/* harmony export */ \"useSSRContext\": () => (/* binding */ useSSRContext),\n/* harmony export */ \"useSlots\": () => (/* binding */ useSlots),\n/* harmony export */ \"useTransitionState\": () => (/* binding */ useTransitionState),\n/* harmony export */ \"version\": () => (/* binding */ version),\n/* harmony export */ \"warn\": () => (/* binding */ warn),\n/* harmony export */ \"watch\": () => (/* binding */ watch),\n/* harmony export */ \"watchEffect\": () => (/* binding */ watchEffect),\n/* harmony export */ \"watchPostEffect\": () => (/* binding */ watchPostEffect),\n/* harmony export */ \"watchSyncEffect\": () => (/* binding */ watchSyncEffect),\n/* harmony export */ \"withAsyncContext\": () => (/* binding */ withAsyncContext),\n/* harmony export */ \"withCtx\": () => (/* binding */ withCtx),\n/* harmony export */ \"withDefaults\": () => (/* binding */ withDefaults),\n/* harmony export */ \"withDirectives\": () => (/* binding */ withDirectives),\n/* harmony export */ \"withMemo\": () => (/* binding */ withMemo),\n/* harmony export */ \"withScopeId\": () => (/* binding */ withScopeId)\n/* harmony export */ });\n/* harmony import */ var _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/reactivity */ \"./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js\");\n/* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue/shared */ \"./node_modules/@vue/shared/dist/shared.esm-bundler.js\");\n\n\n\n\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n // avoid props formatting or warn handler tracking deps that might be mutated\n // during patch, leading to infinite recursion.\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\n msg + args.join(''),\n instance && instance.proxy,\n trace\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\n .join('\\n'),\n trace\n ]);\n }\n else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n /* istanbul ignore if */\n if (trace.length &&\n // avoid spamming console during tests\n !false) {\n warnArgs.push(`\\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n // we can't just use the stack because it will be incomplete during updates\n // that did not start from the root. Re-construct the parent chain using\n // instance parent pointers.\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n }\n else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\n/* istanbul ignore next */\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\n const close = `>` + postfix;\n return vnode.props\n ? [open, ...formatProps(vnode.props), close]\n : [open + close];\n}\n/* istanbul ignore next */\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach(key => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\n/* istanbul ignore next */\nfunction formatProp(key, value, raw) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n }\n else if (typeof value === 'number' ||\n typeof value === 'boolean' ||\n value == null) {\n return raw ? value : [`${key}=${value}`];\n }\n else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(value)) {\n value = formatProp(key, (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n }\n else {\n value = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPromise)(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = ( true) ? ErrorTypeStrings[type] : 0;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if ((true)) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n // crash in dev by default so it's more noticeable\n if (throwInDev) {\n throw err;\n }\n else {\n console.error(err);\n }\n }\n else {}\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n if ((true)) {\n seen = seen || new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (( true) && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if ((true)) {\n seen = seen || new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (( true) &&\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if ((true)) {\n seen = seen || new Map();\n }\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = ( true)\n ? (job) => checkRecursiveUpdates(seen, job)\n : 0;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (( true) && check(job)) {\n continue;\n }\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n }\n else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\n `This means you have a reactive effect that is mutating its own ` +\n `dependencies and thus recursively triggering itself. Possible sources ` +\n `include component template, render function, updated hook or ` +\n `watcher source function.`);\n return true;\n }\n else {\n seen.set(fn, count + 1);\n }\n }\n}\n\n/* eslint-disable no-restricted-globals */\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = new Set();\n// Expose the HMR runtime on the global object\n// This makes it entirely tree-shakable without polluting the exports and makes\n// it easier to be used in toolings like vue-loader\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\n// to be set so that its instances can be registered / removed.\nif ((true)) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.getGlobalThis)().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n // update initial record (for not-yet-rendered component)\n record.initialDef.render = newRender;\n [...record.instances].forEach(instance => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n // this flag forces child components with slot content to update\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n // update initial def (for not-yet-rendered components)\n updateComponentDef(record.initialDef, newComp);\n // create a snapshot which avoids the set being mutated during updates\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n // 1. Update existing comp definition to match new one\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n // 2. mark definition dirty. This forces the renderer to replace the\n // component on patch.\n hmrDirtyComponents.add(oldComp);\n }\n // 3. invalidate options resolution cache\n instance.appContext.optionsCache.delete(instance.type);\n // 4. actually update\n if (instance.ceReload) {\n // custom element\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n }\n else if (instance.parent) {\n // 4. Force the parent instance to re-render. This will cause all updated\n // components to be unmounted and re-mounted. Queue the update so that we\n // don't end up forcing the same parent to re-render multiple times.\n queueJob(instance.parent.update);\n // instance is the inner component of an async custom element\n // invoke to reset styles\n if (instance.parent.type.__asyncLoader &&\n instance.parent.ceReload) {\n instance.parent.ceReload(newComp.styles);\n }\n }\n else if (instance.appContext.reload) {\n // root instance mounted via createApp() has a reload method\n instance.appContext.reload();\n }\n else if (typeof window !== 'undefined') {\n // root instance inside tree created via raw render(). Force reload.\n window.location.reload();\n }\n else {\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\n }\n }\n // 5. make sure to cleanup dirty hmr components after update\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== '__file' && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n }\n catch (e) {\n console.error(e);\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\n `Full reload required.`);\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n }\n else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3000);\n }\n else {\n // non-browser env, assume not installed\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = \n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools &&\n typeof devtools.cleanupBuffer === 'function' &&\n // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\n };\n}\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n if ((true)) {\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) &&\n !(false )) {\n if (!propsOptions || !((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event) in propsOptions)) {\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\n `the emits option nor as an \"${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event)}\" prop.`);\n }\n }\n else {\n const validator = emitsOptions[event];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => a.trim());\n }\n if (number) {\n args = rawArgs.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber);\n }\n }\n if (true) {\n devtoolsComponentEmit(instance, event, args);\n }\n if ((true)) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(lowerCaseEvent)]) {\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(event)}\" instead of \"${event}\".`);\n }\n }\n let handlerName;\n let handler = props[(handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, raw);\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, key[0].toLowerCase() + key.slice(1)) ||\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key)) ||\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled `<slot>`, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (true) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\n/**\n * dev only flag to track whether $attrs was used during render.\n * If $attrs was used during render then the warning for failed attrs\n * fallthrough can be suppressed.\n */\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if ((true)) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if (( true) && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(render.length > 1\n ? render(props, ( true)\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : 0)\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n let setRoot = undefined;\n if (( true) &&\n result.patchFlag > 0 &&\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n else if (( true) && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {\n // ignore v-model handlers when they fail to fallthrough\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)(key)) {\n // remove `on`, lowercase first letter to reflect event casing\n // accurately\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n }\n else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(`Extraneous non-props attributes (` +\n `${extraAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes.`);\n }\n if (eventAttrs.length) {\n warn(`Extraneous non-emits event listeners (` +\n `${eventAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes. ` +\n `If the listener is intended to be a component custom event listener only, ` +\n `declare it using the \"emits\" option.`);\n }\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n if (( true) && !isElementRoot(root)) {\n warn(`Runtime directive used on component with non-element root node. ` +\n `The directives will not function as intended.`);\n }\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n if (( true) && !isElementRoot(root)) {\n warn(`Component inside <Transition> renders non-element root node ` +\n `that cannot be animated.`);\n }\n root.transition = vnode.transition;\n }\n if (( true) && setRoot) {\n setRoot(root);\n }\n else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\n/**\n * dev only\n * In dev mode, template root level comments are rendered, which turns the\n * template into a fragment root, but we need to locate the single element\n * root for attrs and scope id processing.\n */\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, undefined];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n }\n else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\n vnode.type === Comment // potential v-if branch switch\n );\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // Parent component's render function was hot-updated. Since this may have\n // caused the child component's slots content to have changed, we need to\n // force the child to update as well.\n if (( true) && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n /* istanbul ignore if */\n if ( true && !hasWarned) {\n hasWarned = true;\n // @ts-ignore `console.info` cannot be null error\n console[console.info ? 'info' : 'log'](`<Suspense> is an experimental feature and its API will likely change.`);\n }\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(vnode.props && vnode.props.timeout);\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n if ((true)) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(`suspense.resolve() is called without a pending branch.`);\n }\n if (suspense.isUnmounted) {\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\n }\n }\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n if ((true)) {\n pushWarningContext(vnode);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n if ((true)) {\n popWarningContext();\n }\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(s)) {\n const singleChild = filterSingleRoot(s);\n if (( true) && !singleChild) {\n warn(`<Suspense> slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if ((true)) {\n warn(`provide() can only be used inside setup().`);\n }\n }\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else if ((true)) {\n warn(`injection \"${String(key)}\" not found.`);\n }\n }\n else if ((true)) {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (( true)\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : 0));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (( true)\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : 0));\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(cb)) {\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\n `supports \\`watch(source, cb, options?) signature.`);\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ) {\n if (( true) && !cb) {\n if (immediate !== undefined) {\n warn(`watch() \"immediate\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n if (deep !== undefined) {\n warn(`watch() \"deep\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n }\n const warnInvalidSource = (s) => {\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\n `a reactive object, or an array of these types.`);\n };\n const instance = currentInstance;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(source)) {\n getter = () => source.value;\n forceTrigger = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow)(source);\n }\n else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(source)) {\n getter = () => source;\n deep = true;\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(s) || (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow)(s));\n getter = () => source.map(s => {\n if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(s)) {\n return s.value;\n }\n else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(s)) {\n return traverse(s);\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n ( true) && warnInvalidSource(s);\n }\n });\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;\n ( true) && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;\n }\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasChanged)(v, oldValue[i]))\n : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasChanged)(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect(getter, scheduler);\n if ((true)) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n return () => {\n effect.stop();\n if (instance && instance.scope) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(instance.scope.effects, effect);\n }\n };\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(value)) {\n traverse(value.value, seen);\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(value) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isMap)(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n if (( true) && hasFound) {\n // warn more than one non-comment child\n warn('<transition> can only be used on a single element or component. ' +\n 'Use <transition-group> for lists.');\n break;\n }\n child = c;\n hasFound = true;\n if (false)\n {}\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);\n const { mode } = rawProps;\n // check mode\n if (( true) &&\n mode &&\n mode !== 'in-out' &&\n mode !== 'out-in' &&\n mode !== 'default') {\n warn(`invalid <transition> mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of <transition><keep-alive/></transition>, we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n instance.update();\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of <template v-for>\n const key = parentKey == null\n ? child.key\n : String(parentKey) + String(child.key != null ? child.key : i);\n // handle fragment children case, e.g. v-for\n if (child.type === Fragment) {\n if (child.patchFlag & 128 /* PatchFlags.KEYED_FRAGMENT */)\n keyedFragmentCount++;\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));\n }\n // comment placeholders should be skipped, e.g. v-if\n else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n // #1126 if a transition children list contains multiple sub fragments, these\n // fragments will be merged into a flat children array. Since each v-for\n // fragment may contain different static bindings inside, we need to de-op\n // these children to force full diffs to ensure correct behavior.\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2 /* PatchFlags.BAIL */;\n }\n }\n return ret;\n}\n\n// implementation, close to no-op\nfunction defineComponent(options) {\n return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(options) ? { setup: options, name: options.name } : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\nfunction defineAsyncComponent(source) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(source)) {\n source = { loader: source };\n }\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\n suspensible = true, onError: userOnError } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return (pendingRequest ||\n (thisRequest = pendingRequest =\n loader()\n .catch(err => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n }\n else {\n throw err;\n }\n })\n .then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (( true) && !comp) {\n warn(`Async component loader resolved to undefined. ` +\n `If you are using retry(), make sure to return its return value.`);\n }\n // interop module default\n if (comp &&\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\n comp = comp.default;\n }\n if (( true) && comp && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n })));\n };\n return defineComponent({\n name: 'AsyncComponentWrapper',\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n // already resolved\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(err, instance, 13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\n };\n // suspense-controlled or SSR.\n if ((suspensible && instance.suspense) ||\n (isInSSRComponentSetup)) {\n return load()\n .then(comp => {\n return () => createInnerComp(comp, instance);\n })\n .catch(err => {\n onError(err);\n return () => errorComponent\n ? createVNode(errorComponent, {\n error: err\n })\n : null;\n });\n }\n const loaded = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)(false);\n const error = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)();\n const delayed = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(`Async component timed out after ${timeout}ms.`);\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load()\n .then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n // parent is keep-alive, force update so the loaded component's\n // name is taken into account\n queueJob(instance.parent.update);\n }\n })\n .catch(err => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n }\n else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n }\n else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, { vnode: { ref, props, children, shapeFlag }, parent }) {\n const vnode = createVNode(comp, props, children);\n // ensure inner component inherits the async wrapper's ref owner\n vnode.ref = ref;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n // KeepAlive communicates with the instantiated renderer via the\n // ctx where the renderer passes in its internals,\n // and the KeepAlive instance exposes activate/deactivate implementations.\n // The whole point of this is to avoid importing KeepAlive directly in the\n // renderer to facilitate tree-shaking.\n const sharedContext = instance.ctx;\n // if the internal renderer is not registered, it indicates that this is server-side rendering,\n // for KeepAlive, we just need to render its children\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = new Map();\n const keys = new Set();\n let current = null;\n if (true) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\n const storageContainer = createElement('div');\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance = vnode.component;\n move(vnode, container, anchor, 0 /* MoveType.ENTER */, parentSuspense);\n // in case props have changed\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);\n queuePostRenderEffect(() => {\n instance.isDeactivated = false;\n if (instance.a) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\n }\n }, parentSuspense);\n if (true) {\n // Update components tree\n devtoolsComponentAdded(instance);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance = vnode.component;\n move(vnode, storageContainer, null, 1 /* MoveType.LEAVE */, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance.da) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\n }\n instance.isDeactivated = true;\n }, parentSuspense);\n if (true) {\n // Update components tree\n devtoolsComponentAdded(instance);\n }\n };\n function unmount(vnode) {\n // reset the shapeFlag so it can be properly unmounted\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || cached.type !== current.type) {\n unmount(cached);\n }\n else if (current) {\n // current active instance should no longer be kept-alive.\n // we can't unmount it now but it might be later, so reset its flag now.\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n // prune cache on include/exclude prop change\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\n include && pruneCache(name => matches(include, name));\n exclude && pruneCache(name => !matches(exclude, name));\n }, \n // prune post-render after `current` has been updated\n { flush: 'post', deep: true });\n // cache sub tree after render\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n // fix #1621, the pendingCacheKey could be 0\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach(cached => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type) {\n // current instance will be unmounted as part of keep-alive's unmount\n resetShapeFlag(vnode);\n // but invoke its deactivated hook here\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if ((true)) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n }\n else if (!isVNode(rawVNode) ||\n (!(rawVNode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) &&\n !(rawVNode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */))) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n // for async components, name check should be based in its loaded\n // inner component if available\n const name = getComponentName(isAsyncWrapper(vnode)\n ? vnode.type.__asyncResolved || {}\n : comp);\n const { include, exclude, max } = props;\n if ((include && (!name || !matches(include, name))) ||\n (exclude && name && matches(exclude, name))) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n // clone vnode if it's reused because we are going to mutate it\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n rawVNode.ssContent = vnode;\n }\n }\n // #1513 it's possible for the returned vnode to be cloned due to attr\n // fallthrough or scopeId, so the vnode here may not be the final vnode\n // that is mounted. Instead of caching it directly, we store the pending\n // key and cache `instance.subTree` (the normalized vnode) in\n // beforeMount/beforeUpdate hooks.\n pendingCacheKey = key;\n if (cachedVNode) {\n // copy over mounted state\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n // recursively update transition hooks on subTree\n setTransitionHooks(vnode, vnode.transition);\n }\n // avoid vnode being mounted as fresh\n vnode.shapeFlag |= 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;\n // make this key the freshest\n keys.delete(key);\n keys.add(key);\n }\n else {\n keys.add(key);\n // prune oldest entry\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n // avoid vnode being unmounted\n vnode.shapeFlag |= 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(pattern)) {\n return pattern.some((p) => matches(p, name));\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(pattern)) {\n return pattern.split(',').includes(name);\n }\n else if (pattern.test) {\n return pattern.test(name);\n }\n /* istanbul ignore next */\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\" /* LifecycleHooks.ACTIVATED */, target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\" /* LifecycleHooks.DEACTIVATED */, target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n // cache the deactivate branch check wrapper for injected hooks so the same\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\n // deactivation check\".\n const wrappedHook = hook.__wdc ||\n (hook.__wdc = () => {\n // only fire the hook if the target instance is NOT in a deactivated branch.\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n // In addition to registering it on the target instance, we walk up the parent\n // chain and register it on all ancestor instances that are keep-alive roots.\n // This avoids the need to walk the entire component tree when invoking these\n // hooks, and more importantly, avoids the need to track child components in\n // arrays.\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n // injectHook wraps the original for error handling, so make sure to remove\n // the wrapped version.\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\n onUnmounted(() => {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n let shapeFlag = vnode.shapeFlag;\n if (shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */) {\n shapeFlag -= 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;\n }\n if (shapeFlag & 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */) {\n shapeFlag -= 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;\n }\n vnode.shapeFlag = shapeFlag;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */ ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n // cache the error handling wrapper for injected hooks so the same hook\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\n // handling\".\n const wrappedHook = hook.__weh ||\n (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n // disable tracking inside all lifecycle hooks\n // since they can potentially be called inside effects.\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();\n // Set currentInstance during hook invocation.\n // This assumes the hook does not synchronously trigger other hooks, which\n // can only be false when the user does something really funky.\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n }\n else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n }\n else if ((true)) {\n const apiName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(ErrorTypeStrings[type].replace(/ hook$/, ''));\n warn(`${apiName} is called when there is no active component instance to be ` +\n `associated with. ` +\n `Lifecycle injection APIs can only be used during execution of setup().` +\n (` If you are using async setup(), make sure to register lifecycle ` +\n `hooks before the first await statement.`\n ));\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \n// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n(!isInSSRComponentSetup || lifecycle === \"sp\" /* LifecycleHooks.SERVER_PREFETCH */) &&\n injectHook(lifecycle, (...args) => hook(...args), target);\nconst onBeforeMount = createHook(\"bm\" /* LifecycleHooks.BEFORE_MOUNT */);\nconst onMounted = createHook(\"m\" /* LifecycleHooks.MOUNTED */);\nconst onBeforeUpdate = createHook(\"bu\" /* LifecycleHooks.BEFORE_UPDATE */);\nconst onUpdated = createHook(\"u\" /* LifecycleHooks.UPDATED */);\nconst onBeforeUnmount = createHook(\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */);\nconst onUnmounted = createHook(\"um\" /* LifecycleHooks.UNMOUNTED */);\nconst onServerPrefetch = createHook(\"sp\" /* LifecycleHooks.SERVER_PREFETCH */);\nconst onRenderTriggered = createHook(\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */);\nconst onRenderTracked = createHook(\"rtc\" /* LifecycleHooks.RENDER_TRACKED */);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\" /* LifecycleHooks.ERROR_CAPTURED */, hook, target);\n}\n\n/**\nRuntime helper for applying directives to a vnode. Example usage:\n\nconst comp = resolveComponent('comp')\nconst foo = resolveDirective('foo')\nconst bar = resolveDirective('bar')\n\nreturn withDirectives(h(comp), [\n [foo, this.x],\n [bar, this.y]\n])\n*/\nfunction validateDirectiveName(name) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isBuiltInDirective)(name)) {\n warn('Do not use built-in directive ids as custom directive id: ' + name);\n }\n}\n/**\n * Adds directives to a VNode.\n */\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n ( true) && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) ||\n internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ] = directives[i];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n // disable tracking inside all lifecycle hooks\n // since they can potentially be called inside effects.\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();\n callWithAsyncErrorHandling(hook, instance, 8 /* ErrorCodes.DIRECTIVE_HOOK */, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();\n }\n }\n}\n\nconst COMPONENTS = 'components';\nconst DIRECTIVES = 'directives';\n/**\n * @private\n */\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol();\n/**\n * @private\n */\nfunction resolveDynamicComponent(component) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n }\n else {\n // invalid types will fallthrough to createVNode and raise warning\n return (component || NULL_DYNAMIC_COMPONENT);\n }\n}\n/**\n * @private\n */\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\n// implementation\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n // explicit self name has highest priority\n if (type === COMPONENTS) {\n const selfName = getComponentName(Component, false /* do not include inferred name to avoid breaking existing code */);\n if (selfName &&\n (selfName === name ||\n selfName === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name) ||\n selfName === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name)))) {\n return Component;\n }\n }\n const res = \n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) ||\n // global registration\n resolve(instance.appContext[type], name);\n if (!res && maybeSelfReference) {\n // fallback to implicit self-reference\n return Component;\n }\n if (( true) && warnMissing && !res) {\n const extra = type === COMPONENTS\n ? `\\nIf this is a native custom element, make sure to exclude it from ` +\n `component resolution via compilerOptions.isCustomElement.`\n : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n }\n else if ((true)) {\n warn(`resolve${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)(type.slice(0, -1))} ` +\n `can only be used in render() or setup().`);\n }\n}\nfunction resolve(registry, name) {\n return (registry &&\n (registry[name] ||\n registry[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name)] ||\n registry[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name))]));\n}\n\n/**\n * Actual implementation\n */\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = (cache && cache[index]);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(source) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, undefined, cached && cached[i]);\n }\n }\n else if (typeof source === 'number') {\n if (( true) && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, undefined, cached && cached[i]);\n }\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(source, (item, i) => renderItem(item, i, undefined, cached && cached[i]));\n }\n else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n }\n else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\n/**\n * Compiler runtime helper for creating dynamic slots object\n * @private\n */\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n // array of dynamic slot generated by <template v-for=\"...\" #[...]>\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n }\n else if (slot) {\n // conditional single slot generated by <template v-if=\"...\" #foo>\n slots[slot.name] = slot.key\n ? (...args) => {\n const res = slot.fn(...args);\n // attach branch key so each conditional branch is considered a\n // different fragment\n if (res)\n res.key = slot.key;\n return res;\n }\n : slot.fn;\n }\n }\n return slots;\n}\n\n/**\n * Compiler runtime helper for rendering `<slot/>`\n * @private\n */\nfunction renderSlot(slots, name, props = {}, \n// this is not a user-facing function, so the fallback is always generated by\n// the compiler and guaranteed to be a function returning an array\nfallback, noSlotted) {\n if (currentRenderingInstance.isCE ||\n (currentRenderingInstance.parent &&\n isAsyncWrapper(currentRenderingInstance.parent) &&\n currentRenderingInstance.parent.isCE)) {\n return createVNode('slot', name === 'default' ? null : { name }, fallback && fallback());\n }\n let slot = slots[name];\n if (( true) && slot && slot.length > 1) {\n warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +\n `function. You need to mark this component with $dynamic-slots in the ` +\n `parent template.`);\n slot = () => [];\n }\n // a compiled slot disables block tracking by default to avoid manual\n // invocation interfering with template-based block tracking, but in\n // `renderSlot` we can be sure that it's template-based so we can force\n // enable it.\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(Fragment, {\n key: props.key ||\n // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n (validSlotContent && validSlotContent.key) ||\n `_${name}`\n }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* SlotFlags.STABLE */\n ? 64 /* PatchFlags.STABLE_FRAGMENT */\n : -2 /* PatchFlags.BAIL */);\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + '-s'];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some(child => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment &&\n !ensureValidVNode(child.children))\n return false;\n return true;\n })\n ? vnodes\n : null;\n}\n\n/**\n * For prefixing keys in v-on=\"obj\" with \"on\"\n * @private\n */\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key)\n ? `on:${key}`\n : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(key)] = obj[key];\n }\n return ret;\n}\n\n/**\n * #2437 In Vue 3, functional components do not have a public instance proxy but\n * they exist in the internal parent chain. For code that relies on traversing\n * public $parent chains, skip functional ones and go to the parent instead.\n */\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = \n// Move PURE marker to new line to workaround compiler discarding it\n// due to type annotation\n/*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(Object.create(null), {\n $: i => i,\n $el: i => i.vnode.el,\n $data: i => i.data,\n $props: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.props) : 0),\n $attrs: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.attrs) : 0),\n $slots: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.slots) : 0),\n $refs: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.refs) : 0),\n $parent: i => getPublicInstance(i.parent),\n $root: i => getPublicInstance(i.root),\n $emit: i => i.emit,\n $options: i => (__VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type),\n $forceUpdate: i => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: i => (__VUE_OPTIONS_API__ ? instanceWatch.bind(i) : _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP)\n});\nconst isReservedPrefix = (key) => key === '_' || key === '$';\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n // for internal formatters to know that this is a Vue instance\n if (( true) && key === '__isVue') {\n return true;\n }\n // prioritize <script setup> bindings during dev.\n // this allows even properties that start with _ or $ to be used - so that\n // it aligns with the production behavior where the render fn is inlined and\n // indeed has access to all declared variables.\n if (( true) &&\n setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ &&\n setupState.__isScriptSetup &&\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) {\n return setupState[key];\n }\n // data / props / ctx\n // This getter gets called for every property access on the render context\n // during render and is a major hotspot. The most expensive part of this\n // is the multiple hasOwn() calls. It's much faster to do a simple property\n // access on a plain object, so we use an accessCache object (with null\n // prototype) to memoize what access type a key corresponds to.\n let normalizedProps;\n if (key[0] !== '$') {\n const n = accessCache[key];\n if (n !== undefined) {\n switch (n) {\n case 1 /* AccessTypes.SETUP */:\n return setupState[key];\n case 2 /* AccessTypes.DATA */:\n return data[key];\n case 4 /* AccessTypes.CONTEXT */:\n return ctx[key];\n case 3 /* AccessTypes.PROPS */:\n return props[key];\n // default: just fallthrough\n }\n }\n else if (setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) {\n accessCache[key] = 1 /* AccessTypes.SETUP */;\n return setupState[key];\n }\n else if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {\n accessCache[key] = 2 /* AccessTypes.DATA */;\n return data[key];\n }\n else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) &&\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(normalizedProps, key)) {\n accessCache[key] = 3 /* AccessTypes.PROPS */;\n return props[key];\n }\n else if (ctx !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key)) {\n accessCache[key] = 4 /* AccessTypes.CONTEXT */;\n return ctx[key];\n }\n else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* AccessTypes.OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n // public $xxx properties\n if (publicGetter) {\n if (key === '$attrs') {\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.track)(instance, \"get\" /* TrackOpTypes.GET */, key);\n ( true) && markAttrsAccessed();\n }\n return publicGetter(instance);\n }\n else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) &&\n (cssModule = cssModule[key])) {\n return cssModule;\n }\n else if (ctx !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key)) {\n // user may set custom properties to `this` that start with `$`\n accessCache[key] = 4 /* AccessTypes.CONTEXT */;\n return ctx[key];\n }\n else if (\n // global properties\n ((globalProperties = appContext.config.globalProperties),\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(globalProperties, key))) {\n {\n return globalProperties[key];\n }\n }\n else if (( true) &&\n currentRenderingInstance &&\n (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(key) ||\n // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf('__v') !== 0)) {\n if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && isReservedPrefix(key[0]) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {\n warn(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +\n `character (\"$\" or \"_\") and is not proxied on the render context.`);\n }\n else if (instance === currentRenderingInstance) {\n warn(`Property ${JSON.stringify(key)} was accessed during render ` +\n `but is not defined on instance.`);\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) {\n setupState[key] = value;\n return true;\n }\n else if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {\n data[key] = value;\n return true;\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(instance.props, key)) {\n ( true) &&\n warn(`Attempting to mutate prop \"${key}\". Props are readonly.`, instance);\n return false;\n }\n if (key[0] === '$' && key.slice(1) in instance) {\n ( true) &&\n warn(`Attempting to mutate public property \"${key}\". ` +\n `Properties starting with $ are reserved and readonly.`, instance);\n return false;\n }\n else {\n if (( true) && key in instance.appContext.config.globalProperties) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n value\n });\n }\n else {\n ctx[key] = value;\n }\n }\n return true;\n },\n has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) {\n let normalizedProps;\n return (!!accessCache[key] ||\n (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) ||\n (setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) ||\n ((normalizedProps = propsOptions[0]) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(normalizedProps, key)) ||\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key) ||\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(publicPropertiesMap, key) ||\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(appContext.config.globalProperties, key));\n },\n defineProperty(target, key, descriptor) {\n if (descriptor.get != null) {\n // invalidate key cache of a getter based property #5417\n target._.accessCache[key] = 0;\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(descriptor, 'value')) {\n this.set(target, key, descriptor.value, null);\n }\n return Reflect.defineProperty(target, key, descriptor);\n }\n};\nif (true) {\n PublicInstanceProxyHandlers.ownKeys = (target) => {\n warn(`Avoid app logic that relies on enumerating keys on a component instance. ` +\n `The keys will be empty in production mode to avoid performance overhead.`);\n return Reflect.ownKeys(target);\n };\n}\nconst RuntimeCompiledPublicInstanceProxyHandlers = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, PublicInstanceProxyHandlers, {\n get(target, key) {\n // fast path for unscopables when using `with` block\n if (key === Symbol.unscopables) {\n return;\n }\n return PublicInstanceProxyHandlers.get(target, key, target);\n },\n has(_, key) {\n const has = key[0] !== '_' && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isGloballyWhitelisted)(key);\n if (( true) && !has && PublicInstanceProxyHandlers.has(_, key)) {\n warn(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);\n }\n return has;\n }\n});\n// dev only\n// In dev mode, the proxy target exposes the same properties as seen on `this`\n// for easier console inspection. In prod mode it will be an empty object so\n// these properties definitions can be skipped.\nfunction createDevRenderContext(instance) {\n const target = {};\n // expose internal instance for proxy handlers\n Object.defineProperty(target, `_`, {\n configurable: true,\n enumerable: false,\n get: () => instance\n });\n // expose public properties\n Object.keys(publicPropertiesMap).forEach(key => {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: false,\n get: () => publicPropertiesMap[key](instance),\n // intercepted by the proxy so no need for implementation,\n // but needed to prevent set errors\n set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP\n });\n });\n return target;\n}\n// dev only\nfunction exposePropsOnRenderContext(instance) {\n const { ctx, propsOptions: [propsOptions] } = instance;\n if (propsOptions) {\n Object.keys(propsOptions).forEach(key => {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => instance.props[key],\n set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP\n });\n });\n }\n}\n// dev only\nfunction exposeSetupStateOnRenderContext(instance) {\n const { ctx, setupState } = instance;\n Object.keys((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(setupState)).forEach(key => {\n if (!setupState.__isScriptSetup) {\n if (isReservedPrefix(key[0])) {\n warn(`setup() return property ${JSON.stringify(key)} should not start with \"$\" or \"_\" ` +\n `which are reserved prefixes for Vue internals.`);\n return;\n }\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => setupState[key],\n set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP\n });\n }\n });\n}\n\nfunction createDuplicateChecker() {\n const cache = Object.create(null);\n return (type, key) => {\n if (cache[key]) {\n warn(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\n }\n else {\n cache[key] = type;\n }\n };\n}\nlet shouldCacheAccess = true;\nfunction applyOptions(instance) {\n const options = resolveMergedOptions(instance);\n const publicThis = instance.proxy;\n const ctx = instance.ctx;\n // do not cache property access on public proxy during state initialization\n shouldCacheAccess = false;\n // call beforeCreate first before accessing other options since\n // the hook may mutate resolved options (#2791)\n if (options.beforeCreate) {\n callHook(options.beforeCreate, instance, \"bc\" /* LifecycleHooks.BEFORE_CREATE */);\n }\n const { \n // state\n data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, \n // lifecycle\n created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured, serverPrefetch, \n // public API\n expose, inheritAttrs, \n // assets\n components, directives, filters } = options;\n const checkDuplicateProperties = ( true) ? createDuplicateChecker() : 0;\n if ((true)) {\n const [propsOptions] = instance.propsOptions;\n if (propsOptions) {\n for (const key in propsOptions) {\n checkDuplicateProperties(\"Props\" /* OptionTypes.PROPS */, key);\n }\n }\n }\n // options initialization order (to be consistent with Vue 2):\n // - props (already done outside of this function)\n // - inject\n // - methods\n // - data (deferred since it relies on `this` access)\n // - computed\n // - watch (deferred since it relies on `this` access)\n if (injectOptions) {\n resolveInjections(injectOptions, ctx, checkDuplicateProperties, instance.appContext.config.unwrapInjectedRef);\n }\n if (methods) {\n for (const key in methods) {\n const methodHandler = methods[key];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(methodHandler)) {\n // In dev mode, we use the `createRenderContext` function to define\n // methods to the proxy target, and those are read-only but\n // reconfigurable, so it needs to be redefined here\n if ((true)) {\n Object.defineProperty(ctx, key, {\n value: methodHandler.bind(publicThis),\n configurable: true,\n enumerable: true,\n writable: true\n });\n }\n else {}\n if ((true)) {\n checkDuplicateProperties(\"Methods\" /* OptionTypes.METHODS */, key);\n }\n }\n else if ((true)) {\n warn(`Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. ` +\n `Did you reference the function correctly?`);\n }\n }\n }\n if (dataOptions) {\n if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(dataOptions)) {\n warn(`The data option must be a function. ` +\n `Plain object usage is no longer supported.`);\n }\n const data = dataOptions.call(publicThis, publicThis);\n if (( true) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPromise)(data)) {\n warn(`data() returned a Promise - note data() cannot be async; If you ` +\n `intend to perform data fetching before component renders, use ` +\n `async setup() + <Suspense>.`);\n }\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(data)) {\n ( true) && warn(`data() should return an object.`);\n }\n else {\n instance.data = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.reactive)(data);\n if ((true)) {\n for (const key in data) {\n checkDuplicateProperties(\"Data\" /* OptionTypes.DATA */, key);\n // expose data on ctx during dev\n if (!isReservedPrefix(key[0])) {\n Object.defineProperty(ctx, key, {\n configurable: true,\n enumerable: true,\n get: () => data[key],\n set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP\n });\n }\n }\n }\n }\n }\n // state initialization complete at this point - start caching access\n shouldCacheAccess = true;\n if (computedOptions) {\n for (const key in computedOptions) {\n const opt = computedOptions[key];\n const get = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt)\n ? opt.bind(publicThis, publicThis)\n : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt.get)\n ? opt.get.bind(publicThis, publicThis)\n : _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;\n if (( true) && get === _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP) {\n warn(`Computed property \"${key}\" has no getter.`);\n }\n const set = !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt.set)\n ? opt.set.bind(publicThis)\n : ( true)\n ? () => {\n warn(`Write operation failed: computed property \"${key}\" is readonly.`);\n }\n : 0;\n const c = computed({\n get,\n set\n });\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => c.value,\n set: v => (c.value = v)\n });\n if ((true)) {\n checkDuplicateProperties(\"Computed\" /* OptionTypes.COMPUTED */, key);\n }\n }\n }\n if (watchOptions) {\n for (const key in watchOptions) {\n createWatcher(watchOptions[key], ctx, publicThis, key);\n }\n }\n if (provideOptions) {\n const provides = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(provideOptions)\n ? provideOptions.call(publicThis)\n : provideOptions;\n Reflect.ownKeys(provides).forEach(key => {\n provide(key, provides[key]);\n });\n }\n if (created) {\n callHook(created, instance, \"c\" /* LifecycleHooks.CREATED */);\n }\n function registerLifecycleHook(register, hook) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)) {\n hook.forEach(_hook => register(_hook.bind(publicThis)));\n }\n else if (hook) {\n register(hook.bind(publicThis));\n }\n }\n registerLifecycleHook(onBeforeMount, beforeMount);\n registerLifecycleHook(onMounted, mounted);\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\n registerLifecycleHook(onUpdated, updated);\n registerLifecycleHook(onActivated, activated);\n registerLifecycleHook(onDeactivated, deactivated);\n registerLifecycleHook(onErrorCaptured, errorCaptured);\n registerLifecycleHook(onRenderTracked, renderTracked);\n registerLifecycleHook(onRenderTriggered, renderTriggered);\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\n registerLifecycleHook(onUnmounted, unmounted);\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(expose)) {\n if (expose.length) {\n const exposed = instance.exposed || (instance.exposed = {});\n expose.forEach(key => {\n Object.defineProperty(exposed, key, {\n get: () => publicThis[key],\n set: val => (publicThis[key] = val)\n });\n });\n }\n else if (!instance.exposed) {\n instance.exposed = {};\n }\n }\n // options that are handled when creating the instance but also need to be\n // applied from mixins\n if (render && instance.render === _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP) {\n instance.render = render;\n }\n if (inheritAttrs != null) {\n instance.inheritAttrs = inheritAttrs;\n }\n // asset options.\n if (components)\n instance.components = components;\n if (directives)\n instance.directives = directives;\n}\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP, unwrapRef = false) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(injectOptions)) {\n injectOptions = normalizeInject(injectOptions);\n }\n for (const key in injectOptions) {\n const opt = injectOptions[key];\n let injected;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(opt)) {\n if ('default' in opt) {\n injected = inject(opt.from || key, opt.default, true /* treat default function as factory */);\n }\n else {\n injected = inject(opt.from || key);\n }\n }\n else {\n injected = inject(opt);\n }\n if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(injected)) {\n // TODO remove the check in 3.3\n if (unwrapRef) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => injected.value,\n set: v => (injected.value = v)\n });\n }\n else {\n if ((true)) {\n warn(`injected property \"${key}\" is a ref and will be auto-unwrapped ` +\n `and no longer needs \\`.value\\` in the next minor release. ` +\n `To opt-in to the new behavior now, ` +\n `set \\`app.config.unwrapInjectedRef = true\\` (this config is ` +\n `temporary and will not be needed in the future.)`);\n }\n ctx[key] = injected;\n }\n }\n else {\n ctx[key] = injected;\n }\n if ((true)) {\n checkDuplicateProperties(\"Inject\" /* OptionTypes.INJECT */, key);\n }\n }\n}\nfunction callHook(hook, instance, type) {\n callWithAsyncErrorHandling((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)\n ? hook.map(h => h.bind(instance.proxy))\n : hook.bind(instance.proxy), instance, type);\n}\nfunction createWatcher(raw, ctx, publicThis, key) {\n const getter = key.includes('.')\n ? createPathGetter(publicThis, key)\n : () => publicThis[key];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(raw)) {\n const handler = ctx[raw];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(handler)) {\n watch(getter, handler);\n }\n else if ((true)) {\n warn(`Invalid watch handler specified by key \"${raw}\"`, handler);\n }\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(raw)) {\n watch(getter, raw.bind(publicThis));\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(raw)) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {\n raw.forEach(r => createWatcher(r, ctx, publicThis, key));\n }\n else {\n const handler = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(raw.handler)\n ? raw.handler.bind(publicThis)\n : ctx[raw.handler];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(handler)) {\n watch(getter, handler, raw);\n }\n else if ((true)) {\n warn(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\n }\n }\n }\n else if ((true)) {\n warn(`Invalid watch option: \"${key}\"`, raw);\n }\n}\n/**\n * Resolve merged options and cache it on the component.\n * This is done only once per-component since the merging does not involve\n * instances.\n */\nfunction resolveMergedOptions(instance) {\n const base = instance.type;\n const { mixins, extends: extendsOptions } = base;\n const { mixins: globalMixins, optionsCache: cache, config: { optionMergeStrategies } } = instance.appContext;\n const cached = cache.get(base);\n let resolved;\n if (cached) {\n resolved = cached;\n }\n else if (!globalMixins.length && !mixins && !extendsOptions) {\n {\n resolved = base;\n }\n }\n else {\n resolved = {};\n if (globalMixins.length) {\n globalMixins.forEach(m => mergeOptions(resolved, m, optionMergeStrategies, true));\n }\n mergeOptions(resolved, base, optionMergeStrategies);\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(base)) {\n cache.set(base, resolved);\n }\n return resolved;\n}\nfunction mergeOptions(to, from, strats, asMixin = false) {\n const { mixins, extends: extendsOptions } = from;\n if (extendsOptions) {\n mergeOptions(to, extendsOptions, strats, true);\n }\n if (mixins) {\n mixins.forEach((m) => mergeOptions(to, m, strats, true));\n }\n for (const key in from) {\n if (asMixin && key === 'expose') {\n ( true) &&\n warn(`\"expose\" option is ignored when declared in mixins or extends. ` +\n `It should only be declared in the base component itself.`);\n }\n else {\n const strat = internalOptionMergeStrats[key] || (strats && strats[key]);\n to[key] = strat ? strat(to[key], from[key]) : from[key];\n }\n }\n return to;\n}\nconst internalOptionMergeStrats = {\n data: mergeDataFn,\n props: mergeObjectOptions,\n emits: mergeObjectOptions,\n // objects\n methods: mergeObjectOptions,\n computed: mergeObjectOptions,\n // lifecycle\n beforeCreate: mergeAsArray,\n created: mergeAsArray,\n beforeMount: mergeAsArray,\n mounted: mergeAsArray,\n beforeUpdate: mergeAsArray,\n updated: mergeAsArray,\n beforeDestroy: mergeAsArray,\n beforeUnmount: mergeAsArray,\n destroyed: mergeAsArray,\n unmounted: mergeAsArray,\n activated: mergeAsArray,\n deactivated: mergeAsArray,\n errorCaptured: mergeAsArray,\n serverPrefetch: mergeAsArray,\n // assets\n components: mergeObjectOptions,\n directives: mergeObjectOptions,\n // watch\n watch: mergeWatchOptions,\n // provide / inject\n provide: mergeDataFn,\n inject: mergeInject\n};\nfunction mergeDataFn(to, from) {\n if (!from) {\n return to;\n }\n if (!to) {\n return from;\n }\n return function mergedDataFn() {\n return ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend))((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(to) ? to.call(this, this) : to, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(from) ? from.call(this, this) : from);\n };\n}\nfunction mergeInject(to, from) {\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\n}\nfunction normalizeInject(raw) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {\n const res = {};\n for (let i = 0; i < raw.length; i++) {\n res[raw[i]] = raw[i];\n }\n return res;\n }\n return raw;\n}\nfunction mergeAsArray(to, from) {\n return to ? [...new Set([].concat(to, from))] : from;\n}\nfunction mergeObjectOptions(to, from) {\n return to ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(Object.create(null), to), from) : from;\n}\nfunction mergeWatchOptions(to, from) {\n if (!to)\n return from;\n if (!from)\n return to;\n const merged = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(Object.create(null), to);\n for (const key in from) {\n merged[key] = mergeAsArray(to[key], from[key]);\n }\n return merged;\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\nisSSR = false) {\n const props = {};\n const attrs = {};\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.def)(attrs, InternalObjectKey, 1);\n instance.propsDefaults = Object.create(null);\n setFullProps(instance, rawProps, props, attrs);\n // ensure all declared prop keys are present\n for (const key in instance.propsOptions[0]) {\n if (!(key in props)) {\n props[key] = undefined;\n }\n }\n // validation\n if ((true)) {\n validateProps(rawProps || {}, props, instance);\n }\n if (isStateful) {\n // stateful\n instance.props = isSSR ? props : (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReactive)(props);\n }\n else {\n if (!instance.type.props) {\n // functional w/ optional props, props === attrs\n instance.props = attrs;\n }\n else {\n // functional w/ declared props\n instance.props = props;\n }\n }\n instance.attrs = attrs;\n}\nfunction isInHmrContext(instance) {\n while (instance) {\n if (instance.type.__hmrId)\n return true;\n instance = instance.parent;\n }\n}\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\n const { props, attrs, vnode: { patchFlag } } = instance;\n const rawCurrentProps = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);\n const [options] = instance.propsOptions;\n let hasAttrsChanged = false;\n if (\n // always force full diff in dev\n // - #1942 if hmr is enabled with sfc component\n // - vite#872 non-sfc component used by sfc component\n !(( true) && isInHmrContext(instance)) &&\n (optimized || patchFlag > 0) &&\n !(patchFlag & 16 /* PatchFlags.FULL_PROPS */)) {\n if (patchFlag & 8 /* PatchFlags.PROPS */) {\n // Compiler-generated props & no keys change, just set the updated\n // the props.\n const propsToUpdate = instance.vnode.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n let key = propsToUpdate[i];\n // skip if the prop key is a declared emit event listener\n if (isEmitListener(instance.emitsOptions, key)) {\n continue;\n }\n // PROPS flag guarantees rawProps to be non-null\n const value = rawProps[key];\n if (options) {\n // attr / props separation was done on init and will be consistent\n // in this code path, so just check if attrs have it.\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(attrs, key)) {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n else {\n const camelizedKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(key);\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false /* isAbsent */);\n }\n }\n else {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n }\n else {\n // full props update.\n if (setFullProps(instance, rawProps, props, attrs)) {\n hasAttrsChanged = true;\n }\n // in case of dynamic props, check if we need to delete keys from\n // the props object\n let kebabKey;\n for (const key in rawCurrentProps) {\n if (!rawProps ||\n // for camelCase\n (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, key) &&\n // it's possible the original props was passed in as kebab-case\n // and converted to camelCase (#955)\n ((kebabKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key)) === key || !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, kebabKey)))) {\n if (options) {\n if (rawPrevProps &&\n // for camelCase\n (rawPrevProps[key] !== undefined ||\n // for kebab-case\n rawPrevProps[kebabKey] !== undefined)) {\n props[key] = resolvePropValue(options, rawCurrentProps, key, undefined, instance, true /* isAbsent */);\n }\n }\n else {\n delete props[key];\n }\n }\n }\n // in the case of functional component w/o props declaration, props and\n // attrs point to the same object so it should already have been updated.\n if (attrs !== rawCurrentProps) {\n for (const key in attrs) {\n if (!rawProps ||\n (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, key) &&\n (!false ))) {\n delete attrs[key];\n hasAttrsChanged = true;\n }\n }\n }\n }\n // trigger updates for $attrs in case it's used in component slots\n if (hasAttrsChanged) {\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.trigger)(instance, \"set\" /* TriggerOpTypes.SET */, '$attrs');\n }\n if ((true)) {\n validateProps(rawProps || {}, props, instance);\n }\n}\nfunction setFullProps(instance, rawProps, props, attrs) {\n const [options, needCastKeys] = instance.propsOptions;\n let hasAttrsChanged = false;\n let rawCastValues;\n if (rawProps) {\n for (let key in rawProps) {\n // key, ref are reserved and never passed down\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key)) {\n continue;\n }\n const value = rawProps[key];\n // prop option names are camelized during normalization, so to support\n // kebab -> camel conversion here we need to camelize the key.\n let camelKey;\n if (options && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, (camelKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(key)))) {\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\n props[camelKey] = value;\n }\n else {\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\n }\n }\n else if (!isEmitListener(instance.emitsOptions, key)) {\n if (!(key in attrs) || value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (needCastKeys) {\n const rawCurrentProps = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);\n const castValues = rawCastValues || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n for (let i = 0; i < needCastKeys.length; i++) {\n const key = needCastKeys[i];\n props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(castValues, key));\n }\n }\n return hasAttrsChanged;\n}\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\n const opt = options[key];\n if (opt != null) {\n const hasDefault = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(opt, 'default');\n // default values\n if (hasDefault && value === undefined) {\n const defaultValue = opt.default;\n if (opt.type !== Function && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(defaultValue)) {\n const { propsDefaults } = instance;\n if (key in propsDefaults) {\n value = propsDefaults[key];\n }\n else {\n setCurrentInstance(instance);\n value = propsDefaults[key] = defaultValue.call(null, props);\n unsetCurrentInstance();\n }\n }\n else {\n value = defaultValue;\n }\n }\n // boolean casting\n if (opt[0 /* BooleanFlags.shouldCast */]) {\n if (isAbsent && !hasDefault) {\n value = false;\n }\n else if (opt[1 /* BooleanFlags.shouldCastTrue */] &&\n (value === '' || value === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key))) {\n value = true;\n }\n }\n }\n return value;\n}\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.propsCache;\n const cached = cache.get(comp);\n if (cached) {\n return cached;\n }\n const raw = comp.props;\n const normalized = {};\n const needCastKeys = [];\n // apply mixin/extends props\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {\n const extendProps = (raw) => {\n hasExtends = true;\n const [props, keys] = normalizePropsOptions(raw, appContext, true);\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, props);\n if (keys)\n needCastKeys.push(...keys);\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendProps);\n }\n if (comp.extends) {\n extendProps(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendProps);\n }\n }\n if (!raw && !hasExtends) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp)) {\n cache.set(comp, _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR);\n }\n return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {\n for (let i = 0; i < raw.length; i++) {\n if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(raw[i])) {\n warn(`props must be strings when using array syntax.`, raw[i]);\n }\n const normalizedKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(raw[i]);\n if (validatePropName(normalizedKey)) {\n normalized[normalizedKey] = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n }\n }\n }\n else if (raw) {\n if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(raw)) {\n warn(`invalid props options`, raw);\n }\n for (const key in raw) {\n const normalizedKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(key);\n if (validatePropName(normalizedKey)) {\n const opt = raw[key];\n const prop = (normalized[normalizedKey] =\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(opt) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt) ? { type: opt } : opt);\n if (prop) {\n const booleanIndex = getTypeIndex(Boolean, prop.type);\n const stringIndex = getTypeIndex(String, prop.type);\n prop[0 /* BooleanFlags.shouldCast */] = booleanIndex > -1;\n prop[1 /* BooleanFlags.shouldCastTrue */] =\n stringIndex < 0 || booleanIndex < stringIndex;\n // if the prop needs boolean casting or default value\n if (booleanIndex > -1 || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(prop, 'default')) {\n needCastKeys.push(normalizedKey);\n }\n }\n }\n }\n }\n const res = [normalized, needCastKeys];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp)) {\n cache.set(comp, res);\n }\n return res;\n}\nfunction validatePropName(key) {\n if (key[0] !== '$') {\n return true;\n }\n else if ((true)) {\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\n }\n return false;\n}\n// use function string name to check type constructors\n// so that it works across vms / iframes.\nfunction getType(ctor) {\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ctor === null ? 'null' : '';\n}\nfunction isSameType(a, b) {\n return getType(a) === getType(b);\n}\nfunction getTypeIndex(type, expectedTypes) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(expectedTypes)) {\n return expectedTypes.findIndex(t => isSameType(t, type));\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1;\n }\n return -1;\n}\n/**\n * dev only\n */\nfunction validateProps(rawProps, props, instance) {\n const resolvedValues = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);\n const options = instance.propsOptions[0];\n for (const key in options) {\n let opt = options[key];\n if (opt == null)\n continue;\n validateProp(key, resolvedValues[key], opt, !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, key) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key)));\n }\n}\n/**\n * dev only\n */\nfunction validateProp(name, value, prop, isAbsent) {\n const { type, required, validator } = prop;\n // required!\n if (required && isAbsent) {\n warn('Missing required prop: \"' + name + '\"');\n return;\n }\n // missing but optional\n if (value == null && !prop.required) {\n return;\n }\n // type check\n if (type != null && type !== true) {\n let isValid = false;\n const types = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(type) ? type : [type];\n const expectedTypes = [];\n // value is valid as long as one of the specified types match\n for (let i = 0; i < types.length && !isValid; i++) {\n const { valid, expectedType } = assertType(value, types[i]);\n expectedTypes.push(expectedType || '');\n isValid = valid;\n }\n if (!isValid) {\n warn(getInvalidTypeMessage(name, value, expectedTypes));\n return;\n }\n }\n // custom validator\n if (validator && !validator(value)) {\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\n }\n}\nconst isSimpleType = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)('String,Number,Boolean,Function,Symbol,BigInt');\n/**\n * dev only\n */\nfunction assertType(value, type) {\n let valid;\n const expectedType = getType(type);\n if (isSimpleType(expectedType)) {\n const t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n }\n else if (expectedType === 'Object') {\n valid = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(value);\n }\n else if (expectedType === 'Array') {\n valid = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value);\n }\n else if (expectedType === 'null') {\n valid = value === null;\n }\n else {\n valid = value instanceof type;\n }\n return {\n valid,\n expectedType\n };\n}\n/**\n * dev only\n */\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\n ` Expected ${expectedTypes.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize).join(' | ')}`;\n const expectedType = expectedTypes[0];\n const receivedType = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toRawType)(value);\n const expectedValue = styleValue(value, expectedType);\n const receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += ` with value ${expectedValue}`;\n }\n message += `, got ${receivedType} `;\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += `with value ${receivedValue}.`;\n }\n return message;\n}\n/**\n * dev only\n */\nfunction styleValue(value, type) {\n if (type === 'String') {\n return `\"${value}\"`;\n }\n else if (type === 'Number') {\n return `${Number(value)}`;\n }\n else {\n return `${value}`;\n }\n}\n/**\n * dev only\n */\nfunction isExplicable(type) {\n const explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(elem => type.toLowerCase() === elem);\n}\n/**\n * dev only\n */\nfunction isBoolean(...args) {\n return args.some(elem => elem.toLowerCase() === 'boolean');\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\nconst normalizeSlotValue = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)\n ? value.map(normalizeVNode)\n : [normalizeVNode(value)];\nconst normalizeSlot = (key, rawSlot, ctx) => {\n if (rawSlot._n) {\n // already normalized - #5353\n return rawSlot;\n }\n const normalized = withCtx((...args) => {\n if (( true) && currentInstance) {\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\n `this will not track dependencies used in the slot. ` +\n `Invoke the slot function inside the render function instead.`);\n }\n return normalizeSlotValue(rawSlot(...args));\n }, ctx);\n normalized._c = false;\n return normalized;\n};\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\n const ctx = rawSlots._ctx;\n for (const key in rawSlots) {\n if (isInternalKey(key))\n continue;\n const value = rawSlots[key];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {\n slots[key] = normalizeSlot(key, value, ctx);\n }\n else if (value != null) {\n if (true) {\n warn(`Non-function value encountered for slot \"${key}\". ` +\n `Prefer function slots for better performance.`);\n }\n const normalized = normalizeSlotValue(value);\n slots[key] = () => normalized;\n }\n }\n};\nconst normalizeVNodeSlots = (instance, children) => {\n if (( true) &&\n !isKeepAlive(instance.vnode) &&\n !(false )) {\n warn(`Non-function value encountered for default slot. ` +\n `Prefer function slots for better performance.`);\n }\n const normalized = normalizeSlotValue(children);\n instance.slots.default = () => normalized;\n};\nconst initSlots = (instance, children) => {\n if (instance.vnode.shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */) {\n const type = children._;\n if (type) {\n // users can get the shallow readonly version of the slots object through `this.$slots`,\n // we should avoid the proxy object polluting the slots of the internal instance\n instance.slots = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(children);\n // make compiler marker non-enumerable\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.def)(children, '_', type);\n }\n else {\n normalizeObjectSlots(children, (instance.slots = {}));\n }\n }\n else {\n instance.slots = {};\n if (children) {\n normalizeVNodeSlots(instance, children);\n }\n }\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.def)(instance.slots, InternalObjectKey, 1);\n};\nconst updateSlots = (instance, children, optimized) => {\n const { vnode, slots } = instance;\n let needDeletionCheck = true;\n let deletionComparisonTarget = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n if (vnode.shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */) {\n const type = children._;\n if (type) {\n // compiled slots.\n if (( true) && isHmrUpdating) {\n // Parent was HMR updated so slot content may have changed.\n // force update slots and mark instance for hmr as well\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(slots, children);\n }\n else if (optimized && type === 1 /* SlotFlags.STABLE */) {\n // compiled AND stable.\n // no need to update, and skip stale slots removal.\n needDeletionCheck = false;\n }\n else {\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\n // normalization.\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(slots, children);\n // #2893\n // when rendering the optimized slots by manually written render function,\n // we need to delete the `slots._` flag if necessary to make subsequent updates reliable,\n // i.e. let the `renderSlot` create the bailed Fragment\n if (!optimized && type === 1 /* SlotFlags.STABLE */) {\n delete slots._;\n }\n }\n }\n else {\n needDeletionCheck = !children.$stable;\n normalizeObjectSlots(children, slots);\n }\n deletionComparisonTarget = children;\n }\n else if (children) {\n // non slot object children (direct value) passed to a component\n normalizeVNodeSlots(instance, children);\n deletionComparisonTarget = { default: 1 };\n }\n // delete stale slots\n if (needDeletionCheck) {\n for (const key in slots) {\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\n delete slots[key];\n }\n }\n }\n};\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: undefined,\n warnHandler: undefined,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: Object.create(null),\n optionsCache: new WeakMap(),\n propsCache: new WeakMap(),\n emitsCache: new WeakMap()\n };\n}\nlet uid = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(rootComponent)) {\n rootComponent = Object.assign({}, rootComponent);\n }\n if (rootProps != null && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(rootProps)) {\n ( true) && warn(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = new Set();\n let isMounted = false;\n const app = (context.app = {\n _uid: uid++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if ((true)) {\n warn(`app.config cannot be replaced. Modify individual options instead.`);\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n ( true) && warn(`Plugin has already been applied to target app.`);\n }\n else if (plugin && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n }\n else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n }\n else if ((true)) {\n warn(`A plugin must either be a function or an object with an \"install\" ` +\n `function.`);\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n }\n else if ((true)) {\n warn('Mixin has already been applied to target app' +\n (mixin.name ? `: ${mixin.name}` : ''));\n }\n }\n else if ((true)) {\n warn('Mixins are only available in builds supporting Options API');\n }\n return app;\n },\n component(name, component) {\n if ((true)) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (( true) && context.components[name]) {\n warn(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if ((true)) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (( true) && context.directives[name]) {\n warn(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n mount(rootContainer, isHydrate, isSVG) {\n if (!isMounted) {\n // #5571\n if (( true) && rootContainer.__vue_app__) {\n warn(`There is already an app instance mounted on the host container.\\n` +\n ` If you want to mount another app on the same host container,` +\n ` you need to unmount the previous app by calling \\`app.unmount()\\` first.`);\n }\n const vnode = createVNode(rootComponent, rootProps);\n // store app context on the root VNode.\n // this will be set on the root instance on initial mount.\n vnode.appContext = context;\n // HMR root reload\n if ((true)) {\n context.reload = () => {\n render(cloneVNode(vnode), rootContainer, isSVG);\n };\n }\n if (isHydrate && hydrate) {\n hydrate(vnode, rootContainer);\n }\n else {\n render(vnode, rootContainer, isSVG);\n }\n isMounted = true;\n app._container = rootContainer;\n rootContainer.__vue_app__ = app;\n if (true) {\n app._instance = vnode.component;\n devtoolsInitApp(app, version);\n }\n return getExposeProxy(vnode.component) || vnode.component.proxy;\n }\n else if ((true)) {\n warn(`App has already been mounted.\\n` +\n `If you want to remount the same app, move your app creation logic ` +\n `into a factory function and create fresh app instances for each ` +\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\n }\n },\n unmount() {\n if (isMounted) {\n render(null, app._container);\n if (true) {\n app._instance = null;\n devtoolsUnmountApp(app);\n }\n delete app._container.__vue_app__;\n }\n else if ((true)) {\n warn(`Cannot unmount an app that is not mounted.`);\n }\n },\n provide(key, value) {\n if (( true) && key in context.provides) {\n warn(`App already provides property with key \"${String(key)}\". ` +\n `It will be overwritten with the new value.`);\n }\n context.provides[key] = value;\n return app;\n }\n });\n return app;\n };\n}\n\n/**\n * Function for handling a template ref\n */\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(rawRef)) {\n rawRef.forEach((r, i) => setRef(r, oldRawRef && ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount));\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n // when mounting async components, nothing needs to be done,\n // because the template ref is forwarded to inner component\n return;\n }\n const refValue = vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */\n ? getExposeProxy(vnode.component) || vnode.component.proxy\n : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (( true) && !owner) {\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\n `A vnode with ref must be created inside the render function.`);\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\n const setupState = owner.setupState;\n // dynamic ref changed. unset old ref\n if (oldRef != null && oldRef !== ref) {\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(oldRef)) {\n refs[oldRef] = null;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, oldRef)) {\n setupState[oldRef] = null;\n }\n }\n else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(oldRef)) {\n oldRef.value = null;\n }\n }\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(ref)) {\n callWithErrorHandling(ref, owner, 12 /* ErrorCodes.FUNCTION_REF */, [value, refs]);\n }\n else {\n const _isString = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(ref);\n const _isRef = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString\n ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, ref)\n ? setupState[ref]\n : refs[ref]\n : ref.value;\n if (isUnmount) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(existing) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(existing, refValue);\n }\n else {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, ref)) {\n setupState[ref] = refs[ref];\n }\n }\n else {\n ref.value = [refValue];\n if (rawRef.k)\n refs[rawRef.k] = ref.value;\n }\n }\n else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n }\n else if (_isString) {\n refs[ref] = value;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, ref)) {\n setupState[ref] = value;\n }\n }\n else if (_isRef) {\n ref.value = value;\n if (rawRef.k)\n refs[rawRef.k] = value;\n }\n else if ((true)) {\n warn('Invalid template ref type:', ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n }\n else {\n doSet();\n }\n }\n else if ((true)) {\n warn('Invalid template ref type:', ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasMismatch = false;\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\nconst isComment = (node) => node.nodeType === 8 /* DOMNodeTypes.COMMENT */;\n// Note: hydration is DOM-specific\n// But we have to place it in core due to tight coupling with core - splitting\n// it out creates a ton of unnecessary complexity.\n// Hydration also depends on some renderer internal logic which needs to be\n// passed in via arguments.\nfunction createHydrationFunctions(rendererInternals) {\n const { mt: mountComponent, p: patch, o: { patchProp, createText, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n ( true) &&\n warn(`Attempting to hydrate existing markup but container is empty. ` +\n `Performing full mount instead.`);\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hasMismatch = false;\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n if (hasMismatch && !false) {\n // this error should show up in production\n console.error(`Hydration completed but contains mismatches.`);\n }\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n const isFragmentStart = isComment(node) && node.data === '[';\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (patchFlag === -2 /* PatchFlags.BAIL */) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3 /* DOMNodeTypes.TEXT */) {\n // #5728 empty text node inside a slot can cause hydration failure\n // because the server rendered HTML won't contain a text node\n if (vnode.children === '') {\n insert((vnode.el = createText('')), parentNode(node), node);\n nextNode = node;\n }\n else {\n nextNode = onMismatch();\n }\n }\n else {\n if (node.data !== vnode.children) {\n hasMismatch = true;\n ( true) &&\n warn(`Hydration text mismatch:` +\n `\\n- Client: ${JSON.stringify(node.data)}` +\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (domType !== 8 /* DOMNodeTypes.COMMENT */ || isFragmentStart) {\n nextNode = onMismatch();\n }\n else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n // entire template is static but SSRed as a fragment\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 /* DOMNodeTypes.ELEMENT */ || domType === 3 /* DOMNodeTypes.TEXT */) {\n // determine anchor, adopt content\n nextNode = node;\n // if the static vnode has its content stripped during build,\n // adopt it from the server-rendered HTML.\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children +=\n nextNode.nodeType === 1 /* DOMNodeTypes.ELEMENT */\n ? nextNode.outerHTML\n : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n }\n else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n }\n else {\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\n }\n break;\n default:\n if (shapeFlag & 1 /* ShapeFlags.ELEMENT */) {\n if (domType !== 1 /* DOMNodeTypes.ELEMENT */ ||\n vnode.type.toLowerCase() !==\n node.tagName.toLowerCase()) {\n nextNode = onMismatch();\n }\n else {\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\n }\n }\n else if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {\n // when setting up the render effect, if the initial vnode already\n // has .el set, the component will perform hydration instead of mount\n // on its sub-tree.\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\n // component may be async, so in the case of fragments we cannot rely\n // on component's rendered output to determine the end of the fragment\n // instead, we do a lookahead to find the end anchor node.\n nextNode = isFragmentStart\n ? locateClosingAsyncAnchor(node)\n : nextSibling(node);\n // #4293 teleport as component root\n if (nextNode &&\n isComment(nextNode) &&\n nextNode.data === 'teleport end') {\n nextNode = nextSibling(nextNode);\n }\n // #3787\n // if component is async, it may get moved / unmounted before its\n // inner component is loaded, so we need to give it a placeholder\n // vnode that matches its adopted DOM.\n if (isAsyncWrapper(vnode)) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode\n ? nextNode.previousSibling\n : container.lastChild;\n }\n else {\n subTree =\n node.nodeType === 3 ? createTextVNode('') : createVNode('div');\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n }\n else if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {\n if (domType !== 8 /* DOMNodeTypes.COMMENT */) {\n nextNode = onMismatch();\n }\n else {\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);\n }\n }\n else if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);\n }\n else if ((true)) {\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs } = vnode;\n // #4006 for form elements with non-string v-model value bindings\n // e.g. <option :value=\"obj\">, <input type=\"checkbox\" :true-value=\"1\">\n const forcePatchValue = (type === 'input' && dirs) || type === 'option';\n // skip props & children if this is hoisted static nodes\n // #5405 in dev, always hydrate children for HMR\n if (true /* PatchFlags.HOISTED */) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, 'created');\n }\n // props\n if (props) {\n if (forcePatchValue ||\n !optimized ||\n patchFlag & (16 /* PatchFlags.FULL_PROPS */ | 32 /* PatchFlags.HYDRATE_EVENTS */)) {\n for (const key in props) {\n if ((forcePatchValue && key.endsWith('value')) ||\n ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key))) {\n patchProp(el, key, null, props[key], false, undefined, parentComponent);\n }\n }\n }\n else if (props.onClick) {\n // Fast path for click listeners (which is most often) to avoid\n // iterating through props.\n patchProp(el, 'onClick', null, props.onClick, false, undefined, parentComponent);\n }\n }\n // vnode / directive hooks\n let vnodeHooks;\n if ((vnodeHooks = props && props.onVnodeBeforeMount)) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');\n }, parentSuspense);\n }\n // children\n if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */ &&\n // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);\n let hasWarned = false;\n while (next) {\n hasMismatch = true;\n if (( true) && !hasWarned) {\n warn(`Hydration children mismatch in <${vnode.type}>: ` +\n `server rendered element contains more child nodes than client vdom.`);\n hasWarned = true;\n }\n // The SSRed DOM contains more nodes than it should. Remove them.\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n }\n else if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {\n if (el.textContent !== vnode.children) {\n hasMismatch = true;\n ( true) &&\n warn(`Hydration text content mismatch in <${vnode.type}>:\\n` +\n `- Client: ${el.textContent}\\n` +\n `- Server: ${vnode.children}`);\n el.textContent = vnode.children;\n }\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized\n ? children[i]\n : (children[i] = normalizeVNode(children[i]));\n if (node) {\n node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\n }\n else if (vnode.type === Text && !vnode.children) {\n continue;\n }\n else {\n hasMismatch = true;\n if (( true) && !hasWarned) {\n warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +\n `server rendered element contains fewer child nodes than client vdom.`);\n hasWarned = true;\n }\n // the SSRed DOM didn't contain enough nodes. Mount the missing ones.\n patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds\n ? slotScopeIds.concat(fragmentSlotScopeIds)\n : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);\n if (next && isComment(next) && next.data === ']') {\n return nextSibling((vnode.anchor = next));\n }\n else {\n // fragment didn't hydrate successfully, since we didn't get a end anchor\n // back. This should have led to node/children mismatch warnings.\n hasMismatch = true;\n // since the anchor is missing, we need to create one and insert it\n insert((vnode.anchor = createComment(`]`)), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n hasMismatch = true;\n ( true) &&\n warn(`Hydration node mismatch:\\n- Client vnode:`, vnode.type, `\\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */\n ? `(text)`\n : isComment(node) && node.data === '['\n ? `(start of fragment)`\n : ``);\n vnode.el = null;\n if (isFragment) {\n // remove excessive fragment nodes\n const end = locateClosingAsyncAnchor(node);\n while (true) {\n const next = nextSibling(node);\n if (next && next !== end) {\n remove(next);\n }\n else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);\n return next;\n };\n const locateClosingAsyncAnchor = (node) => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === '[')\n match++;\n if (node.data === ']') {\n if (match === 0) {\n return nextSibling(node);\n }\n else {\n match--;\n }\n }\n }\n }\n return node;\n };\n return [hydrate, hydrateNode];\n}\n\n/* eslint-disable no-restricted-globals */\nlet supported;\nlet perf;\nfunction startMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n perf.mark(`vue-${type}-${instance.uid}`);\n }\n if (true) {\n devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction endMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n const startTag = `vue-${type}-${instance.uid}`;\n const endTag = startTag + `:end`;\n perf.mark(endTag);\n perf.measure(`<${formatComponentName(instance, instance.type)}> ${type}`, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n }\n if (true) {\n devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction isSupported() {\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\n\n/**\n * This is only called in esm-bundler builds.\n * It is called when a renderer is created, in `baseCreateRenderer` so that\n * importing runtime-core is side-effects free.\n *\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n const needWarn = [];\n if (typeof __VUE_OPTIONS_API__ !== 'boolean') {\n ( true) && needWarn.push(`__VUE_OPTIONS_API__`);\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.getGlobalThis)().__VUE_OPTIONS_API__ = true;\n }\n if (typeof __VUE_PROD_DEVTOOLS__ !== 'boolean') {\n ( true) && needWarn.push(`__VUE_PROD_DEVTOOLS__`);\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.getGlobalThis)().__VUE_PROD_DEVTOOLS__ = false;\n }\n if (( true) && needWarn.length) {\n const multi = needWarn.length > 1;\n console.warn(`Feature flag${multi ? `s` : ``} ${needWarn.join(', ')} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, ` +\n `which expects these compile-time feature flags to be globally injected ` +\n `via the bundler config in order to get better tree-shaking in the ` +\n `production bundle.\\n\\n` +\n `For more details, see https://link.vuejs.org/feature-flags.`);\n }\n}\n\nconst queuePostRenderEffect = queueEffectWithSuspense\n ;\n/**\n * The createRenderer function accepts two generic arguments:\n * HostNode and HostElement, corresponding to Node and Element types in the\n * host environment. For example, for runtime-dom, HostNode would be the DOM\n * `Node` interface and HostElement would be the DOM `Element` interface.\n *\n * Custom renderers can pass in the platform specific types like this:\n *\n * ``` js\n * const { render, createApp } = createRenderer<Node, Element>({\n * patchProp,\n * ...nodeOps\n * })\n * ```\n */\nfunction createRenderer(options) {\n return baseCreateRenderer(options);\n}\n// Separate API for creating hydration-enabled renderer.\n// Hydration logic is only used when calling this function, making it\n// tree-shakable.\nfunction createHydrationRenderer(options) {\n return baseCreateRenderer(options, createHydrationFunctions);\n}\n// implementation\nfunction baseCreateRenderer(options, createHydrationFns) {\n // compile-time feature flags check\n {\n initFeatureFlags();\n }\n const target = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.getGlobalThis)();\n target.__VUE__ = true;\n if (true) {\n setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);\n }\n const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP, insertStaticContent: hostInsertStaticContent } = options;\n // Note: functions inside this closure should use `const xxx = () => {}`\n // style in order to prevent being inlined by minifiers.\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = ( true) && isHmrUpdating ? false : !!n2.dynamicChildren) => {\n if (n1 === n2) {\n return;\n }\n // patching & not same type, unmount old tree\n if (n1 && !isSameVNodeType(n1, n2)) {\n anchor = getNextHostNode(n1);\n unmount(n1, parentComponent, parentSuspense, true);\n n1 = null;\n }\n if (n2.patchFlag === -2 /* PatchFlags.BAIL */) {\n optimized = false;\n n2.dynamicChildren = null;\n }\n const { type, ref, shapeFlag } = n2;\n switch (type) {\n case Text:\n processText(n1, n2, container, anchor);\n break;\n case Comment:\n processCommentNode(n1, n2, container, anchor);\n break;\n case Static:\n if (n1 == null) {\n mountStaticNode(n2, container, anchor, isSVG);\n }\n else if ((true)) {\n patchStaticNode(n1, n2, container, isSVG);\n }\n break;\n case Fragment:\n processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n break;\n default:\n if (shapeFlag & 1 /* ShapeFlags.ELEMENT */) {\n processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {\n processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);\n }\n else if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);\n }\n else if ((true)) {\n warn('Invalid VNode type:', type, `(${typeof type})`);\n }\n }\n // set ref\n if (ref != null && parentComponent) {\n setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);\n }\n };\n const processText = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert((n2.el = hostCreateText(n2.children)), container, anchor);\n }\n else {\n const el = (n2.el = n1.el);\n if (n2.children !== n1.children) {\n hostSetText(el, n2.children);\n }\n }\n };\n const processCommentNode = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert((n2.el = hostCreateComment(n2.children || '')), container, anchor);\n }\n else {\n // there's no support for dynamic comments\n n2.el = n1.el;\n }\n };\n const mountStaticNode = (n2, container, anchor, isSVG) => {\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG, n2.el, n2.anchor);\n };\n /**\n * Dev / HMR only\n */\n const patchStaticNode = (n1, n2, container, isSVG) => {\n // static nodes are only patched during dev for HMR\n if (n2.children !== n1.children) {\n const anchor = hostNextSibling(n1.anchor);\n // remove existing\n removeStaticNode(n1);\n [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);\n }\n else {\n n2.el = n1.el;\n n2.anchor = n1.anchor;\n }\n };\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostInsert(el, container, nextSibling);\n el = next;\n }\n hostInsert(anchor, container, nextSibling);\n };\n const removeStaticNode = ({ el, anchor }) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostRemove(el);\n el = next;\n }\n hostRemove(anchor);\n };\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n isSVG = isSVG || n2.type === 'svg';\n if (n1 == null) {\n mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else {\n patchElement(n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n };\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n let el;\n let vnodeHook;\n const { type, props, shapeFlag, transition, dirs } = vnode;\n el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is, props);\n // mount children first, since some props may rely on child content\n // being already rendered, e.g. `<select value>`\n if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {\n hostSetElementText(el, vnode.children);\n }\n else if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n mountChildren(vnode.children, el, null, parentComponent, parentSuspense, isSVG && type !== 'foreignObject', slotScopeIds, optimized);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, 'created');\n }\n // props\n if (props) {\n for (const key in props) {\n if (key !== 'value' && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key)) {\n hostPatchProp(el, key, null, props[key], isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);\n }\n }\n /**\n * Special case for setting value on DOM elements:\n * - it can be order-sensitive (e.g. should be set *after* min/max, #2325, #4024)\n * - it needs to be forced (#1471)\n * #2353 proposes adding another renderer option to configure this, but\n * the properties affects are so finite it is worth special casing it\n * here to reduce the complexity. (Special casing it also should not\n * affect non-DOM renderers)\n */\n if ('value' in props) {\n hostPatchProp(el, 'value', null, props.value);\n }\n if ((vnodeHook = props.onVnodeBeforeMount)) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n }\n // scopeId\n setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);\n if (true) {\n Object.defineProperty(el, '__vnode', {\n value: vnode,\n enumerable: false\n });\n Object.defineProperty(el, '__vueParentComponent', {\n value: parentComponent,\n enumerable: false\n });\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');\n }\n // #1583 For inside suspense + suspense not resolved case, enter hook should call when suspense resolved\n // #1689 For inside suspense + suspense resolved case, just call it\n const needCallTransitionHooks = (!parentSuspense || (parentSuspense && !parentSuspense.pendingBranch)) &&\n transition &&\n !transition.persisted;\n if (needCallTransitionHooks) {\n transition.beforeEnter(el);\n }\n hostInsert(el, container, anchor);\n if ((vnodeHook = props && props.onVnodeMounted) ||\n needCallTransitionHooks ||\n dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');\n }, parentSuspense);\n }\n };\n const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {\n if (scopeId) {\n hostSetScopeId(el, scopeId);\n }\n if (slotScopeIds) {\n for (let i = 0; i < slotScopeIds.length; i++) {\n hostSetScopeId(el, slotScopeIds[i]);\n }\n }\n if (parentComponent) {\n let subTree = parentComponent.subTree;\n if (( true) &&\n subTree.patchFlag > 0 &&\n subTree.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n subTree =\n filterSingleRoot(subTree.children) || subTree;\n }\n if (vnode === subTree) {\n const parentVNode = parentComponent.vnode;\n setScopeId(el, parentVNode, parentVNode.scopeId, parentVNode.slotScopeIds, parentComponent.parent);\n }\n }\n };\n const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => {\n for (let i = start; i < children.length; i++) {\n const child = (children[i] = optimized\n ? cloneIfMounted(children[i])\n : normalizeVNode(children[i]));\n patch(null, child, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n };\n const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n const el = (n2.el = n1.el);\n let { patchFlag, dynamicChildren, dirs } = n2;\n // #1426 take the old vnode's patch flag into account since user may clone a\n // compiler-generated vnode, which de-opts to FULL_PROPS\n patchFlag |= n1.patchFlag & 16 /* PatchFlags.FULL_PROPS */;\n const oldProps = n1.props || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n const newProps = n2.props || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;\n let vnodeHook;\n // disable recurse in beforeUpdate hooks\n parentComponent && toggleRecurse(parentComponent, false);\n if ((vnodeHook = newProps.onVnodeBeforeUpdate)) {\n invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n }\n if (dirs) {\n invokeDirectiveHook(n2, n1, parentComponent, 'beforeUpdate');\n }\n parentComponent && toggleRecurse(parentComponent, true);\n if (( true) && isHmrUpdating) {\n // HMR updated, force full diff\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n const areChildrenSVG = isSVG && n2.type !== 'foreignObject';\n if (dynamicChildren) {\n patchBlockChildren(n1.dynamicChildren, dynamicChildren, el, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds);\n if (( true) && parentComponent && parentComponent.type.__hmrId) {\n traverseStaticChildren(n1, n2);\n }\n }\n else if (!optimized) {\n // full diff\n patchChildren(n1, n2, el, null, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds, false);\n }\n if (patchFlag > 0) {\n // the presence of a patchFlag means this element's render code was\n // generated by the compiler and can take the fast path.\n // in this path old node and new node are guaranteed to have the same shape\n // (i.e. at the exact same position in the source template)\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n // element props contain dynamic keys, full diff needed\n patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);\n }\n else {\n // class\n // this flag is matched when the element has dynamic class bindings.\n if (patchFlag & 2 /* PatchFlags.CLASS */) {\n if (oldProps.class !== newProps.class) {\n hostPatchProp(el, 'class', null, newProps.class, isSVG);\n }\n }\n // style\n // this flag is matched when the element has dynamic style bindings\n if (patchFlag & 4 /* PatchFlags.STYLE */) {\n hostPatchProp(el, 'style', oldProps.style, newProps.style, isSVG);\n }\n // props\n // This flag is matched when the element has dynamic prop/attr bindings\n // other than class and style. The keys of dynamic prop/attrs are saved for\n // faster iteration.\n // Note dynamic keys like :[foo]=\"bar\" will cause this optimization to\n // bail out and go through a full diff because we need to unset the old key\n if (patchFlag & 8 /* PatchFlags.PROPS */) {\n // if the flag is present then dynamicProps must be non-null\n const propsToUpdate = n2.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n const key = propsToUpdate[i];\n const prev = oldProps[key];\n const next = newProps[key];\n // #1471 force patch value\n if (next !== prev || key === 'value') {\n hostPatchProp(el, key, prev, next, isSVG, n1.children, parentComponent, parentSuspense, unmountChildren);\n }\n }\n }\n }\n // text\n // This flag is matched when the element has only dynamic text children.\n if (patchFlag & 1 /* PatchFlags.TEXT */) {\n if (n1.children !== n2.children) {\n hostSetElementText(el, n2.children);\n }\n }\n }\n else if (!optimized && dynamicChildren == null) {\n // unoptimized, full diff\n patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);\n }\n if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n dirs && invokeDirectiveHook(n2, n1, parentComponent, 'updated');\n }, parentSuspense);\n }\n };\n // The fast path for blocks.\n const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => {\n for (let i = 0; i < newChildren.length; i++) {\n const oldVNode = oldChildren[i];\n const newVNode = newChildren[i];\n // Determine the container (parent element) for the patch.\n const container = \n // oldVNode may be an errored async setup() component inside Suspense\n // which will not have a mounted element\n oldVNode.el &&\n // - In the case of a Fragment, we need to provide the actual parent\n // of the Fragment itself so it can move its children.\n (oldVNode.type === Fragment ||\n // - In the case of different nodes, there is going to be a replacement\n // which also requires the correct parent container\n !isSameVNodeType(oldVNode, newVNode) ||\n // - In the case of a component, it could contain anything.\n oldVNode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 64 /* ShapeFlags.TELEPORT */))\n ? hostParentNode(oldVNode.el)\n : // In other cases, the parent container is not actually used so we\n // just pass the block element here to avoid a DOM parentNode call.\n fallbackContainer;\n patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, true);\n }\n };\n const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {\n if (oldProps !== newProps) {\n if (oldProps !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ) {\n for (const key in oldProps) {\n if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key) && !(key in newProps)) {\n hostPatchProp(el, key, oldProps[key], null, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);\n }\n }\n }\n for (const key in newProps) {\n // empty string is not valid prop\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key))\n continue;\n const next = newProps[key];\n const prev = oldProps[key];\n // defer patching value\n if (next !== prev && key !== 'value') {\n hostPatchProp(el, key, prev, next, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);\n }\n }\n if ('value' in newProps) {\n hostPatchProp(el, 'value', oldProps.value, newProps.value);\n }\n }\n };\n const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n const fragmentStartAnchor = (n2.el = n1 ? n1.el : hostCreateText(''));\n const fragmentEndAnchor = (n2.anchor = n1 ? n1.anchor : hostCreateText(''));\n let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;\n if (( true) &&\n // #5523 dev root fragment may inherit directives\n (isHmrUpdating || patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */)) {\n // HMR updated / Dev root fragment (w/ comments), force full diff\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n // check if this is a slot fragment with :slotted scope ids\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds\n ? slotScopeIds.concat(fragmentSlotScopeIds)\n : fragmentSlotScopeIds;\n }\n if (n1 == null) {\n hostInsert(fragmentStartAnchor, container, anchor);\n hostInsert(fragmentEndAnchor, container, anchor);\n // a fragment can only have array children\n // since they are either generated by the compiler, or implicitly created\n // from arrays.\n mountChildren(n2.children, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else {\n if (patchFlag > 0 &&\n patchFlag & 64 /* PatchFlags.STABLE_FRAGMENT */ &&\n dynamicChildren &&\n // #2715 the previous fragment could've been a BAILed one as a result\n // of renderSlot() with no valid children\n n1.dynamicChildren) {\n // a stable fragment (template root or <template v-for>) doesn't need to\n // patch children order, but it may contain dynamicChildren.\n patchBlockChildren(n1.dynamicChildren, dynamicChildren, container, parentComponent, parentSuspense, isSVG, slotScopeIds);\n if (( true) && parentComponent && parentComponent.type.__hmrId) {\n traverseStaticChildren(n1, n2);\n }\n else if (\n // #2080 if the stable fragment has a key, it's a <template v-for> that may\n // get moved around. Make sure all root level vnodes inherit el.\n // #2134 or if it's a component root, it may also get moved around\n // as the component is being moved.\n n2.key != null ||\n (parentComponent && n2 === parentComponent.subTree)) {\n traverseStaticChildren(n1, n2, true /* shallow */);\n }\n }\n else {\n // keyed / unkeyed, or manual fragments.\n // for keyed & unkeyed, since they are compiler generated from v-for,\n // each child is guaranteed to be a block so the fragment will never\n // have dynamicChildren.\n patchChildren(n1, n2, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n }\n };\n const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n n2.slotScopeIds = slotScopeIds;\n if (n1 == null) {\n if (n2.shapeFlag & 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */) {\n parentComponent.ctx.activate(n2, container, anchor, isSVG, optimized);\n }\n else {\n mountComponent(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);\n }\n }\n else {\n updateComponent(n1, n2, optimized);\n }\n };\n const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\n const instance = (initialVNode.component = createComponentInstance(initialVNode, parentComponent, parentSuspense));\n if (( true) && instance.type.__hmrId) {\n registerHMR(instance);\n }\n if ((true)) {\n pushWarningContext(initialVNode);\n startMeasure(instance, `mount`);\n }\n // inject renderer internals for keepAlive\n if (isKeepAlive(initialVNode)) {\n instance.ctx.renderer = internals;\n }\n // resolve props and slots for setup context\n {\n if ((true)) {\n startMeasure(instance, `init`);\n }\n setupComponent(instance);\n if ((true)) {\n endMeasure(instance, `init`);\n }\n }\n // setup() is async. This component relies on async logic to be resolved\n // before proceeding\n if (instance.asyncDep) {\n parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);\n // Give it a placeholder if this is not hydration\n // TODO handle self-defined fallback\n if (!initialVNode.el) {\n const placeholder = (instance.subTree = createVNode(Comment));\n processCommentNode(null, placeholder, container, anchor);\n }\n return;\n }\n setupRenderEffect(instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized);\n if ((true)) {\n popWarningContext();\n endMeasure(instance, `mount`);\n }\n };\n const updateComponent = (n1, n2, optimized) => {\n const instance = (n2.component = n1.component);\n if (shouldUpdateComponent(n1, n2, optimized)) {\n if (instance.asyncDep &&\n !instance.asyncResolved) {\n // async & still pending - just update props and slots\n // since the component's reactive effect for render isn't set-up yet\n if ((true)) {\n pushWarningContext(n2);\n }\n updateComponentPreRender(instance, n2, optimized);\n if ((true)) {\n popWarningContext();\n }\n return;\n }\n else {\n // normal update\n instance.next = n2;\n // in case the child component is also queued, remove it to avoid\n // double updating the same child component in the same flush.\n invalidateJob(instance.update);\n // instance.update is the reactive effect.\n instance.update();\n }\n }\n else {\n // no update needed. just copy over properties\n n2.el = n1.el;\n instance.vnode = n2;\n }\n };\n const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {\n const componentUpdateFn = () => {\n if (!instance.isMounted) {\n let vnodeHook;\n const { el, props } = initialVNode;\n const { bm, m, parent } = instance;\n const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);\n toggleRecurse(instance, false);\n // beforeMount hook\n if (bm) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(bm);\n }\n // onVnodeBeforeMount\n if (!isAsyncWrapperVNode &&\n (vnodeHook = props && props.onVnodeBeforeMount)) {\n invokeVNodeHook(vnodeHook, parent, initialVNode);\n }\n toggleRecurse(instance, true);\n if (el && hydrateNode) {\n // vnode has adopted host node - perform hydration instead of mount.\n const hydrateSubTree = () => {\n if ((true)) {\n startMeasure(instance, `render`);\n }\n instance.subTree = renderComponentRoot(instance);\n if ((true)) {\n endMeasure(instance, `render`);\n }\n if ((true)) {\n startMeasure(instance, `hydrate`);\n }\n hydrateNode(el, instance.subTree, instance, parentSuspense, null);\n if ((true)) {\n endMeasure(instance, `hydrate`);\n }\n };\n if (isAsyncWrapperVNode) {\n initialVNode.type.__asyncLoader().then(\n // note: we are moving the render call into an async callback,\n // which means it won't track dependencies - but it's ok because\n // a server-rendered async wrapper is already in resolved state\n // and it will never need to change.\n () => !instance.isUnmounted && hydrateSubTree());\n }\n else {\n hydrateSubTree();\n }\n }\n else {\n if ((true)) {\n startMeasure(instance, `render`);\n }\n const subTree = (instance.subTree = renderComponentRoot(instance));\n if ((true)) {\n endMeasure(instance, `render`);\n }\n if ((true)) {\n startMeasure(instance, `patch`);\n }\n patch(null, subTree, container, anchor, instance, parentSuspense, isSVG);\n if ((true)) {\n endMeasure(instance, `patch`);\n }\n initialVNode.el = subTree.el;\n }\n // mounted hook\n if (m) {\n queuePostRenderEffect(m, parentSuspense);\n }\n // onVnodeMounted\n if (!isAsyncWrapperVNode &&\n (vnodeHook = props && props.onVnodeMounted)) {\n const scopedInitialVNode = initialVNode;\n queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), parentSuspense);\n }\n // activated hook for keep-alive roots.\n // #1742 activated hook must be accessed after first render\n // since the hook may be injected by a child keep-alive\n if (initialVNode.shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */ ||\n (parent &&\n isAsyncWrapper(parent.vnode) &&\n parent.vnode.shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */)) {\n instance.a && queuePostRenderEffect(instance.a, parentSuspense);\n }\n instance.isMounted = true;\n if (true) {\n devtoolsComponentAdded(instance);\n }\n // #2458: deference mount-only object parameters to prevent memleaks\n initialVNode = container = anchor = null;\n }\n else {\n // updateComponent\n // This is triggered by mutation of component's own state (next: null)\n // OR parent calling processComponent (next: VNode)\n let { next, bu, u, parent, vnode } = instance;\n let originNext = next;\n let vnodeHook;\n if ((true)) {\n pushWarningContext(next || instance.vnode);\n }\n // Disallow component effect recursion during pre-lifecycle hooks.\n toggleRecurse(instance, false);\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n }\n else {\n next = vnode;\n }\n // beforeUpdate hook\n if (bu) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(bu);\n }\n // onVnodeBeforeUpdate\n if ((vnodeHook = next.props && next.props.onVnodeBeforeUpdate)) {\n invokeVNodeHook(vnodeHook, parent, next, vnode);\n }\n toggleRecurse(instance, true);\n // render\n if ((true)) {\n startMeasure(instance, `render`);\n }\n const nextTree = renderComponentRoot(instance);\n if ((true)) {\n endMeasure(instance, `render`);\n }\n const prevTree = instance.subTree;\n instance.subTree = nextTree;\n if ((true)) {\n startMeasure(instance, `patch`);\n }\n patch(prevTree, nextTree, \n // parent may have changed if it's in a teleport\n hostParentNode(prevTree.el), \n // anchor may have changed if it's in a fragment\n getNextHostNode(prevTree), instance, parentSuspense, isSVG);\n if ((true)) {\n endMeasure(instance, `patch`);\n }\n next.el = nextTree.el;\n if (originNext === null) {\n // self-triggered update. In case of HOC, update parent component\n // vnode el. HOC is indicated by parent instance's subTree pointing\n // to child component's vnode\n updateHOCHostEl(instance, nextTree.el);\n }\n // updated hook\n if (u) {\n queuePostRenderEffect(u, parentSuspense);\n }\n // onVnodeUpdated\n if ((vnodeHook = next.props && next.props.onVnodeUpdated)) {\n queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), parentSuspense);\n }\n if (true) {\n devtoolsComponentUpdated(instance);\n }\n if ((true)) {\n popWarningContext();\n }\n }\n };\n // create reactive effect for rendering\n const effect = (instance.effect = new _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect(componentUpdateFn, () => queueJob(update), instance.scope // track it in component's effect scope\n ));\n const update = (instance.update = () => effect.run());\n update.id = instance.uid;\n // allowRecurse\n // #1801, #2043 component render effects should allow recursive updates\n toggleRecurse(instance, true);\n if ((true)) {\n effect.onTrack = instance.rtc\n ? e => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.rtc, e)\n : void 0;\n effect.onTrigger = instance.rtg\n ? e => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.rtg, e)\n : void 0;\n update.ownerInstance = instance;\n }\n update();\n };\n const updateComponentPreRender = (instance, nextVNode, optimized) => {\n nextVNode.component = instance;\n const prevProps = instance.vnode.props;\n instance.vnode = nextVNode;\n instance.next = null;\n updateProps(instance, nextVNode.props, prevProps, optimized);\n updateSlots(instance, nextVNode.children, optimized);\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();\n // props update may have triggered pre-flush watchers.\n // flush them before the render update.\n flushPreFlushCbs();\n (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();\n };\n const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {\n const c1 = n1 && n1.children;\n const prevShapeFlag = n1 ? n1.shapeFlag : 0;\n const c2 = n2.children;\n const { patchFlag, shapeFlag } = n2;\n // fast path\n if (patchFlag > 0) {\n if (patchFlag & 128 /* PatchFlags.KEYED_FRAGMENT */) {\n // this could be either fully-keyed or mixed (some keyed some not)\n // presence of patchFlag means children are guaranteed to be arrays\n patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n return;\n }\n else if (patchFlag & 256 /* PatchFlags.UNKEYED_FRAGMENT */) {\n // unkeyed\n patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n return;\n }\n }\n // children has 3 possibilities: text, array or no children.\n if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {\n // text children fast path\n if (prevShapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n unmountChildren(c1, parentComponent, parentSuspense);\n }\n if (c2 !== c1) {\n hostSetElementText(container, c2);\n }\n }\n else {\n if (prevShapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n // prev children was array\n if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n // two arrays, cannot assume anything, do full diff\n patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else {\n // no new children, just unmount old\n unmountChildren(c1, parentComponent, parentSuspense, true);\n }\n }\n else {\n // prev children was text OR null\n // new children is array OR null\n if (prevShapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {\n hostSetElementText(container, '');\n }\n // mount new if array\n if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n }\n }\n };\n const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n c1 = c1 || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;\n c2 = c2 || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;\n const oldLength = c1.length;\n const newLength = c2.length;\n const commonLength = Math.min(oldLength, newLength);\n let i;\n for (i = 0; i < commonLength; i++) {\n const nextChild = (c2[i] = optimized\n ? cloneIfMounted(c2[i])\n : normalizeVNode(c2[i]));\n patch(c1[i], nextChild, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n if (oldLength > newLength) {\n // remove old\n unmountChildren(c1, parentComponent, parentSuspense, true, false, commonLength);\n }\n else {\n // mount new\n mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, commonLength);\n }\n };\n // can be all-keyed or mixed\n const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n let i = 0;\n const l2 = c2.length;\n let e1 = c1.length - 1; // prev ending index\n let e2 = l2 - 1; // next ending index\n // 1. sync from start\n // (a b) c\n // (a b) d e\n while (i <= e1 && i <= e2) {\n const n1 = c1[i];\n const n2 = (c2[i] = optimized\n ? cloneIfMounted(c2[i])\n : normalizeVNode(c2[i]));\n if (isSameVNodeType(n1, n2)) {\n patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else {\n break;\n }\n i++;\n }\n // 2. sync from end\n // a (b c)\n // d e (b c)\n while (i <= e1 && i <= e2) {\n const n1 = c1[e1];\n const n2 = (c2[e2] = optimized\n ? cloneIfMounted(c2[e2])\n : normalizeVNode(c2[e2]));\n if (isSameVNodeType(n1, n2)) {\n patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else {\n break;\n }\n e1--;\n e2--;\n }\n // 3. common sequence + mount\n // (a b)\n // (a b) c\n // i = 2, e1 = 1, e2 = 2\n // (a b)\n // c (a b)\n // i = 0, e1 = -1, e2 = 0\n if (i > e1) {\n if (i <= e2) {\n const nextPos = e2 + 1;\n const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;\n while (i <= e2) {\n patch(null, (c2[i] = optimized\n ? cloneIfMounted(c2[i])\n : normalizeVNode(c2[i])), container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n i++;\n }\n }\n }\n // 4. common sequence + unmount\n // (a b) c\n // (a b)\n // i = 2, e1 = 2, e2 = 1\n // a (b c)\n // (b c)\n // i = 0, e1 = 0, e2 = -1\n else if (i > e2) {\n while (i <= e1) {\n unmount(c1[i], parentComponent, parentSuspense, true);\n i++;\n }\n }\n // 5. unknown sequence\n // [i ... e1 + 1]: a b [c d e] f g\n // [i ... e2 + 1]: a b [e d c h] f g\n // i = 2, e1 = 4, e2 = 5\n else {\n const s1 = i; // prev starting index\n const s2 = i; // next starting index\n // 5.1 build key:index map for newChildren\n const keyToNewIndexMap = new Map();\n for (i = s2; i <= e2; i++) {\n const nextChild = (c2[i] = optimized\n ? cloneIfMounted(c2[i])\n : normalizeVNode(c2[i]));\n if (nextChild.key != null) {\n if (( true) && keyToNewIndexMap.has(nextChild.key)) {\n warn(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);\n }\n keyToNewIndexMap.set(nextChild.key, i);\n }\n }\n // 5.2 loop through old children left to be patched and try to patch\n // matching nodes & remove nodes that are no longer present\n let j;\n let patched = 0;\n const toBePatched = e2 - s2 + 1;\n let moved = false;\n // used to track whether any node has moved\n let maxNewIndexSoFar = 0;\n // works as Map<newIndex, oldIndex>\n // Note that oldIndex is offset by +1\n // and oldIndex = 0 is a special value indicating the new node has\n // no corresponding old node.\n // used for determining longest stable subsequence\n const newIndexToOldIndexMap = new Array(toBePatched);\n for (i = 0; i < toBePatched; i++)\n newIndexToOldIndexMap[i] = 0;\n for (i = s1; i <= e1; i++) {\n const prevChild = c1[i];\n if (patched >= toBePatched) {\n // all new children have been patched so this can only be a removal\n unmount(prevChild, parentComponent, parentSuspense, true);\n continue;\n }\n let newIndex;\n if (prevChild.key != null) {\n newIndex = keyToNewIndexMap.get(prevChild.key);\n }\n else {\n // key-less node, try to locate a key-less node of the same type\n for (j = s2; j <= e2; j++) {\n if (newIndexToOldIndexMap[j - s2] === 0 &&\n isSameVNodeType(prevChild, c2[j])) {\n newIndex = j;\n break;\n }\n }\n }\n if (newIndex === undefined) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n }\n else {\n newIndexToOldIndexMap[newIndex - s2] = i + 1;\n if (newIndex >= maxNewIndexSoFar) {\n maxNewIndexSoFar = newIndex;\n }\n else {\n moved = true;\n }\n patch(prevChild, c2[newIndex], container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n patched++;\n }\n }\n // 5.3 move and mount\n // generate longest stable subsequence only when nodes have moved\n const increasingNewIndexSequence = moved\n ? getSequence(newIndexToOldIndexMap)\n : _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;\n j = increasingNewIndexSequence.length - 1;\n // looping backwards so that we can use last patched node as anchor\n for (i = toBePatched - 1; i >= 0; i--) {\n const nextIndex = s2 + i;\n const nextChild = c2[nextIndex];\n const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;\n if (newIndexToOldIndexMap[i] === 0) {\n // mount new\n patch(null, nextChild, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n else if (moved) {\n // move if:\n // There is no stable subsequence (e.g. a reverse)\n // OR current node is not among the stable sequence\n if (j < 0 || i !== increasingNewIndexSequence[j]) {\n move(nextChild, container, anchor, 2 /* MoveType.REORDER */);\n }\n else {\n j--;\n }\n }\n }\n }\n };\n const move = (vnode, container, anchor, moveType, parentSuspense = null) => {\n const { el, type, transition, children, shapeFlag } = vnode;\n if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {\n move(vnode.component.subTree, container, anchor, moveType);\n return;\n }\n if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.suspense.move(container, anchor, moveType);\n return;\n }\n if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {\n type.move(vnode, container, anchor, internals);\n return;\n }\n if (type === Fragment) {\n hostInsert(el, container, anchor);\n for (let i = 0; i < children.length; i++) {\n move(children[i], container, anchor, moveType);\n }\n hostInsert(vnode.anchor, container, anchor);\n return;\n }\n if (type === Static) {\n moveStaticNode(vnode, container, anchor);\n return;\n }\n // single nodes\n const needTransition = moveType !== 2 /* MoveType.REORDER */ &&\n shapeFlag & 1 /* ShapeFlags.ELEMENT */ &&\n transition;\n if (needTransition) {\n if (moveType === 0 /* MoveType.ENTER */) {\n transition.beforeEnter(el);\n hostInsert(el, container, anchor);\n queuePostRenderEffect(() => transition.enter(el), parentSuspense);\n }\n else {\n const { leave, delayLeave, afterLeave } = transition;\n const remove = () => hostInsert(el, container, anchor);\n const performLeave = () => {\n leave(el, () => {\n remove();\n afterLeave && afterLeave();\n });\n };\n if (delayLeave) {\n delayLeave(el, remove, performLeave);\n }\n else {\n performLeave();\n }\n }\n }\n else {\n hostInsert(el, container, anchor);\n }\n };\n const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {\n const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs } = vnode;\n // unset ref\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode, true);\n }\n if (shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */) {\n parentComponent.ctx.deactivate(vnode);\n return;\n }\n const shouldInvokeDirs = shapeFlag & 1 /* ShapeFlags.ELEMENT */ && dirs;\n const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);\n let vnodeHook;\n if (shouldInvokeVnodeHook &&\n (vnodeHook = props && props.onVnodeBeforeUnmount)) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {\n unmountComponent(vnode.component, parentSuspense, doRemove);\n }\n else {\n if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.suspense.unmount(parentSuspense, doRemove);\n return;\n }\n if (shouldInvokeDirs) {\n invokeDirectiveHook(vnode, null, parentComponent, 'beforeUnmount');\n }\n if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {\n vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove);\n }\n else if (dynamicChildren &&\n // #1153: fast path should not be taken for non-stable (v-for) fragments\n (type !== Fragment ||\n (patchFlag > 0 && patchFlag & 64 /* PatchFlags.STABLE_FRAGMENT */))) {\n // fast path for block nodes: only need to unmount dynamic children.\n unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);\n }\n else if ((type === Fragment &&\n patchFlag &\n (128 /* PatchFlags.KEYED_FRAGMENT */ | 256 /* PatchFlags.UNKEYED_FRAGMENT */)) ||\n (!optimized && shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */)) {\n unmountChildren(children, parentComponent, parentSuspense);\n }\n if (doRemove) {\n remove(vnode);\n }\n }\n if ((shouldInvokeVnodeHook &&\n (vnodeHook = props && props.onVnodeUnmounted)) ||\n shouldInvokeDirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n shouldInvokeDirs &&\n invokeDirectiveHook(vnode, null, parentComponent, 'unmounted');\n }, parentSuspense);\n }\n };\n const remove = vnode => {\n const { type, el, anchor, transition } = vnode;\n if (type === Fragment) {\n if (( true) &&\n vnode.patchFlag > 0 &&\n vnode.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */ &&\n transition &&\n !transition.persisted) {\n vnode.children.forEach(child => {\n if (child.type === Comment) {\n hostRemove(child.el);\n }\n else {\n remove(child);\n }\n });\n }\n else {\n removeFragment(el, anchor);\n }\n return;\n }\n if (type === Static) {\n removeStaticNode(vnode);\n return;\n }\n const performRemove = () => {\n hostRemove(el);\n if (transition && !transition.persisted && transition.afterLeave) {\n transition.afterLeave();\n }\n };\n if (vnode.shapeFlag & 1 /* ShapeFlags.ELEMENT */ &&\n transition &&\n !transition.persisted) {\n const { leave, delayLeave } = transition;\n const performLeave = () => leave(el, performRemove);\n if (delayLeave) {\n delayLeave(vnode.el, performRemove, performLeave);\n }\n else {\n performLeave();\n }\n }\n else {\n performRemove();\n }\n };\n const removeFragment = (cur, end) => {\n // For fragments, directly remove all contained DOM nodes.\n // (fragment child nodes cannot have transition)\n let next;\n while (cur !== end) {\n next = hostNextSibling(cur);\n hostRemove(cur);\n cur = next;\n }\n hostRemove(end);\n };\n const unmountComponent = (instance, parentSuspense, doRemove) => {\n if (( true) && instance.type.__hmrId) {\n unregisterHMR(instance);\n }\n const { bum, scope, update, subTree, um } = instance;\n // beforeUnmount hook\n if (bum) {\n (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(bum);\n }\n // stop effects in component scope\n scope.stop();\n // update may be null if a component is unmounted before its async\n // setup has resolved.\n if (update) {\n // so that scheduler will no longer invoke it\n update.active = false;\n unmount(subTree, instance, parentSuspense, doRemove);\n }\n // unmounted hook\n if (um) {\n queuePostRenderEffect(um, parentSuspense);\n }\n queuePostRenderEffect(() => {\n instance.isUnmounted = true;\n }, parentSuspense);\n // A component with async dep inside a pending suspense is unmounted before\n // its async dep resolves. This should remove the dep from the suspense, and\n // cause the suspense to resolve immediately if that was the last dep.\n if (parentSuspense &&\n parentSuspense.pendingBranch &&\n !parentSuspense.isUnmounted &&\n instance.asyncDep &&\n !instance.asyncResolved &&\n instance.suspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0) {\n parentSuspense.resolve();\n }\n }\n if (true) {\n devtoolsComponentRemoved(instance);\n }\n };\n const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {\n for (let i = start; i < children.length; i++) {\n unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);\n }\n };\n const getNextHostNode = vnode => {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */) {\n return getNextHostNode(vnode.component.subTree);\n }\n if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n return vnode.suspense.next();\n }\n return hostNextSibling((vnode.anchor || vnode.el));\n };\n const render = (vnode, container, isSVG) => {\n if (vnode == null) {\n if (container._vnode) {\n unmount(container._vnode, null, null, true);\n }\n }\n else {\n patch(container._vnode || null, vnode, container, null, null, null, isSVG);\n }\n flushPreFlushCbs();\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const internals = {\n p: patch,\n um: unmount,\n m: move,\n r: remove,\n mt: mountComponent,\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n n: getNextHostNode,\n o: options\n };\n let hydrate;\n let hydrateNode;\n if (createHydrationFns) {\n [hydrate, hydrateNode] = createHydrationFns(internals);\n }\n return {\n render,\n hydrate,\n createApp: createAppAPI(render, hydrate)\n };\n}\nfunction toggleRecurse({ effect, update }, allowed) {\n effect.allowRecurse = update.allowRecurse = allowed;\n}\n/**\n * #1156\n * When a component is HMR-enabled, we need to make sure that all static nodes\n * inside a block also inherit the DOM element from the previous tree so that\n * HMR updates (which are full updates) can retrieve the element for patching.\n *\n * #2080\n * Inside keyed `template` fragment static children, if a fragment is moved,\n * the children will always be moved. Therefore, in order to ensure correct move\n * position, el should be inherited from previous nodes.\n */\nfunction traverseStaticChildren(n1, n2, shallow = false) {\n const ch1 = n1.children;\n const ch2 = n2.children;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(ch1) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(ch2)) {\n for (let i = 0; i < ch1.length; i++) {\n // this is only called in the optimized path so array children are\n // guaranteed to be vnodes\n const c1 = ch1[i];\n let c2 = ch2[i];\n if (c2.shapeFlag & 1 /* ShapeFlags.ELEMENT */ && !c2.dynamicChildren) {\n if (c2.patchFlag <= 0 || c2.patchFlag === 32 /* PatchFlags.HYDRATE_EVENTS */) {\n c2 = ch2[i] = cloneIfMounted(ch2[i]);\n c2.el = c1.el;\n }\n if (!shallow)\n traverseStaticChildren(c1, c2);\n }\n // also inherit for comment nodes, but not placeholders (e.g. v-if which\n // would have received .el during block patch)\n if (( true) && c2.type === Comment && !c2.el) {\n c2.el = c1.el;\n }\n }\n }\n}\n// https://en.wikipedia.org/wiki/Longest_increasing_subsequence\nfunction getSequence(arr) {\n const p = arr.slice();\n const result = [0];\n let i, j, u, v, c;\n const len = arr.length;\n for (i = 0; i < len; i++) {\n const arrI = arr[i];\n if (arrI !== 0) {\n j = result[result.length - 1];\n if (arr[j] < arrI) {\n p[i] = j;\n result.push(i);\n continue;\n }\n u = 0;\n v = result.length - 1;\n while (u < v) {\n c = (u + v) >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n }\n else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = result.length;\n v = result[u - 1];\n while (u-- > 0) {\n result[u] = v;\n v = p[v];\n }\n return result;\n}\n\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === '');\nconst isTargetSVG = (target) => typeof SVGElement !== 'undefined' && target instanceof SVGElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(targetSelector)) {\n if (!select) {\n ( true) &&\n warn(`Current renderer does not support string target for Teleports. ` +\n `(missing querySelector renderer option)`);\n return null;\n }\n else {\n const target = select(targetSelector);\n if (!target) {\n ( true) &&\n warn(`Failed to locate Teleport target with selector \"${targetSelector}\". ` +\n `Note the target element must exist before the component is mounted - ` +\n `i.e. the target cannot be rendered by the component itself, and ` +\n `ideally should be outside of the entire Vue component tree.`);\n }\n return target;\n }\n }\n else {\n if (( true) && !targetSelector && !isTeleportDisabled(props)) {\n warn(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {\n const { mc: mountChildren, pc: patchChildren, pbc: patchBlockChildren, o: { insert, querySelector, createText, createComment } } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n // #3302\n // HMR updated, force full diff\n if (( true) && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n // insert anchors in the main view\n const placeholder = (n2.el = ( true)\n ? createComment('teleport start')\n : 0);\n const mainAnchor = (n2.anchor = ( true)\n ? createComment('teleport end')\n : 0);\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const target = (n2.target = resolveTarget(n2.props, querySelector));\n const targetAnchor = (n2.targetAnchor = createText(''));\n if (target) {\n insert(targetAnchor, target);\n // #2652 we could be teleporting from a non-SVG tree into an SVG tree\n isSVG = isSVG || isTargetSVG(target);\n }\n else if (( true) && !disabled) {\n warn('Invalid Teleport target on mount:', target, `(${typeof target})`);\n }\n const mount = (container, anchor) => {\n // Teleport *always* has Array children. This is enforced in both the\n // compiler and vnode children normalization.\n if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n mountChildren(children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n }\n else if (target) {\n mount(target, targetAnchor);\n }\n }\n else {\n // update content\n n2.el = n1.el;\n const mainAnchor = (n2.anchor = n1.anchor);\n const target = (n2.target = n1.target);\n const targetAnchor = (n2.targetAnchor = n1.targetAnchor);\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n isSVG = isSVG || isTargetSVG(target);\n if (dynamicChildren) {\n // fast path when the teleport happens to be a block root\n patchBlockChildren(n1.dynamicChildren, dynamicChildren, currentContainer, parentComponent, parentSuspense, isSVG, slotScopeIds);\n // even in block tree mode we need to make sure all root-level nodes\n // in the teleport inherit previous DOM references so that they can\n // be moved in future patches.\n traverseStaticChildren(n1, n2, true);\n }\n else if (!optimized) {\n patchChildren(n1, n2, currentContainer, currentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, false);\n }\n if (disabled) {\n if (!wasDisabled) {\n // enabled -> disabled\n // move into main container\n moveTeleport(n2, container, mainAnchor, internals, 1 /* TeleportMoveTypes.TOGGLE */);\n }\n }\n else {\n // target changed\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = (n2.target = resolveTarget(n2.props, querySelector));\n if (nextTarget) {\n moveTeleport(n2, nextTarget, null, internals, 0 /* TeleportMoveTypes.TARGET_CHANGE */);\n }\n else if ((true)) {\n warn('Invalid Teleport target on update:', target, `(${typeof target})`);\n }\n }\n else if (wasDisabled) {\n // disabled -> enabled\n // move into teleport target\n moveTeleport(n2, target, targetAnchor, internals, 1 /* TeleportMoveTypes.TOGGLE */);\n }\n }\n }\n },\n remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;\n if (target) {\n hostRemove(targetAnchor);\n }\n // an unmounted teleport should always remove its children if not disabled\n if (doRemove || !isTeleportDisabled(props)) {\n hostRemove(anchor);\n if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(child, parentComponent, parentSuspense, true, !!child.dynamicChildren);\n }\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2 /* TeleportMoveTypes.REORDER */) {\n // move target anchor if this is a target change.\n if (moveType === 0 /* TeleportMoveTypes.TARGET_CHANGE */) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2 /* TeleportMoveTypes.REORDER */;\n // move main view anchor if this is a re-order.\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n // if this is a re-order and teleport is enabled (content is in target)\n // do not move children. So the opposite is: only move children if this\n // is not a reorder, or the teleport is disabled\n if (!isReorder || isTeleportDisabled(props)) {\n // Teleport has either Array children or no children.\n if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n for (let i = 0; i < children.length; i++) {\n move(children[i], container, parentAnchor, 2 /* MoveType.REORDER */);\n }\n }\n }\n // move main view anchor if this is a re-order.\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector } }, hydrateChildren) {\n const target = (vnode.target = resolveTarget(vnode.props, querySelector));\n if (target) {\n // if multiple teleports rendered to the same target element, we need to\n // pick up from where the last teleport finished instead of the first node\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {\n if (isTeleportDisabled(vnode.props)) {\n vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);\n vnode.targetAnchor = targetNode;\n }\n else {\n vnode.anchor = nextSibling(node);\n // lookahead until we find the target anchor\n // we cannot rely on return value of hydrateChildren() because there\n // could be nested teleports\n let targetAnchor = targetNode;\n while (targetAnchor) {\n targetAnchor = nextSibling(targetAnchor);\n if (targetAnchor &&\n targetAnchor.nodeType === 8 &&\n targetAnchor.data === 'teleport anchor') {\n vnode.targetAnchor = targetAnchor;\n target._lpa =\n vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n hydrateChildren(targetNode, vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);\n }\n }\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\n// Force-casted public typing for h and TSX props inference\nconst Teleport = TeleportImpl;\n\nconst Fragment = Symbol(( true) ? 'Fragment' : 0);\nconst Text = Symbol(( true) ? 'Text' : 0);\nconst Comment = Symbol(( true) ? 'Comment' : 0);\nconst Static = Symbol(( true) ? 'Static' : 0);\n// Since v-if and v-for are the two possible ways node structure can dynamically\n// change, once we consider v-if branches and each v-for fragment a block, we\n// can divide a template into nested blocks, and within each block the node\n// structure would be stable. This allows us to skip most children diffing\n// and only worry about the dynamic nodes (indicated by patch flags).\nconst blockStack = [];\nlet currentBlock = null;\n/**\n * Open a block.\n * This must be called before `createBlock`. It cannot be part of `createBlock`\n * because the children of the block are evaluated before `createBlock` itself\n * is called. The generated code typically looks like this:\n *\n * ```js\n * function render() {\n * return (openBlock(),createBlock('div', null, [...]))\n * }\n * ```\n * disableTracking is true when creating a v-for fragment block, since a v-for\n * fragment always diffs its children.\n *\n * @private\n */\nfunction openBlock(disableTracking = false) {\n blockStack.push((currentBlock = disableTracking ? null : []));\n}\nfunction closeBlock() {\n blockStack.pop();\n currentBlock = blockStack[blockStack.length - 1] || null;\n}\n// Whether we should be tracking dynamic child nodes inside a block.\n// Only tracks when this value is > 0\n// We are not using a simple boolean because this value may need to be\n// incremented/decremented by nested usage of v-once (see below)\nlet isBlockTreeEnabled = 1;\n/**\n * Block tracking sometimes needs to be disabled, for example during the\n * creation of a tree that needs to be cached by v-once. The compiler generates\n * code like this:\n *\n * ``` js\n * _cache[1] || (\n * setBlockTracking(-1),\n * _cache[1] = createVNode(...),\n * setBlockTracking(1),\n * _cache[1]\n * )\n * ```\n *\n * @private\n */\nfunction setBlockTracking(value) {\n isBlockTreeEnabled += value;\n}\nfunction setupBlock(vnode) {\n // save current block children on the block vnode\n vnode.dynamicChildren =\n isBlockTreeEnabled > 0 ? currentBlock || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR : null;\n // close block\n closeBlock();\n // a block is always going to be patched, so track it as a child of its\n // parent block\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\n/**\n * @private\n */\nfunction createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {\n return setupBlock(createBaseVNode(type, props, children, patchFlag, dynamicProps, shapeFlag, true /* isBlock */));\n}\n/**\n * Create a block root vnode. Takes the same exact arguments as `createVNode`.\n * A block root keeps track of dynamic nodes within the block in the\n * `dynamicChildren` array.\n *\n * @private\n */\nfunction createBlock(type, props, children, patchFlag, dynamicProps) {\n return setupBlock(createVNode(type, props, children, patchFlag, dynamicProps, true /* isBlock: prevent a block from tracking itself */));\n}\nfunction isVNode(value) {\n return value ? value.__v_isVNode === true : false;\n}\nfunction isSameVNodeType(n1, n2) {\n if (( true) &&\n n2.shapeFlag & 6 /* ShapeFlags.COMPONENT */ &&\n hmrDirtyComponents.has(n2.type)) {\n // HMR only: if the component has been hot-updated, force a reload.\n return false;\n }\n return n1.type === n2.type && n1.key === n2.key;\n}\nlet vnodeArgsTransformer;\n/**\n * Internal API for registering an arguments transform for createVNode\n * used for creating stubs in the test-utils\n * It is *internal* but needs to be exposed for test-utils to pick up proper\n * typings\n */\nfunction transformVNodeArgs(transformer) {\n vnodeArgsTransformer = transformer;\n}\nconst createVNodeWithArgsTransform = (...args) => {\n return _createVNode(...(vnodeArgsTransformer\n ? vnodeArgsTransformer(args, currentRenderingInstance)\n : args));\n};\nconst InternalObjectKey = `__vInternal`;\nconst normalizeKey = ({ key }) => key != null ? key : null;\nconst normalizeRef = ({ ref, ref_key, ref_for }) => {\n return (ref != null\n ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(ref) || (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(ref) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(ref)\n ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for }\n : ref\n : null);\n};\nfunction createBaseVNode(type, p
|