Redux Framework - Version 4.1.15

Version Description

Download this release

Release Info

Developer dovyp
Plugin Icon 128x128 Redux Framework
Version 4.1.15
Comparing to
See all releases

Code changes from version 4.1.14 to 4.1.15

CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@
7
  * Fixed: Subsets now are full-width in typography when rendered after page load.
8
  * Fixed: for subsets loading when font-family is not specified.
9
  * Added: No opt-in to tracking when embedded. Google Fonts and panel notices are still there though.
 
 
 
 
 
 
 
 
10
 
11
  ## 4.1.14
12
  * Added: Shim for ReduxFramework->get_default_value()
7
  * Fixed: Subsets now are full-width in typography when rendered after page load.
8
  * Fixed: for subsets loading when font-family is not specified.
9
  * Added: No opt-in to tracking when embedded. Google Fonts and panel notices are still there though.
10
+ * Fixed: Is local checks conflicting with some servers.
11
+ * Fixed: WooCommerce race condition with their autoloader causing issues with some sites.
12
+ * Updated: Complete overhaul of WordPress data class.
13
+ * Fixed: Backtrace errors when blocked on servers.
14
+ * Fixed: Select2 and required fixes.
15
+ * Fixed: Customizer sidebar not showing in some cases.
16
+ * Added: Google Fonts now load ~20% faster!!!
17
+
18
 
19
  ## 4.1.14
20
  * Added: Shim for ReduxFramework->get_default_value()
class-redux-framework-plugin.php CHANGED
@@ -91,9 +91,13 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
91
 
92
  if ( ! self::$instance ) {
93
  self::$instance = new self();
94
- self::$instance->get_redux_options();
95
- self::$instance->includes();
96
- self::$instance->hooks();
 
 
 
 
97
  }
98
 
99
  return self::$instance;
@@ -192,6 +196,7 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
192
  * @return void
193
  */
194
  private function hooks() {
 
195
  add_action( 'wp_loaded', array( $this, 'options_toggle_check' ) );
196
 
197
  // Activate plugin when new blog is added.
@@ -202,8 +207,8 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
202
 
203
  // Edit plugin metalinks.
204
  add_filter( 'plugin_row_meta', array( $this, 'plugin_metalinks' ), null, 2 );
205
-
206
- add_action( 'activated_plugin', array( $this, 'load_first' ) );
207
 
208
  // phpcs:ignore WordPress.NamingConventions.ValidHookName
209
  do_action( 'redux/plugin/hooks', $this );
@@ -213,6 +218,10 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
213
  * Pushes Redux to top of plugin load list, so it initializes before any plugin that may use it.
214
  */
215
  public function load_first() {
 
 
 
 
216
  $plugin_dir = Redux_Functions_Ex::wp_normalize_path( WP_PLUGIN_DIR ) . '/';
217
  $self_file = Redux_Functions_Ex::wp_normalize_path( __FILE__ );
218
 
@@ -443,6 +452,90 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
443
  }
444
  }
445
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
446
  /**
447
  * Edit plugin metalinks
448
  *
@@ -457,6 +550,7 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
457
  public function plugin_metalinks( $links, $file ) {
458
  if ( strpos( $file, 'redux-framework.php' ) !== false && is_plugin_active( $file ) ) {
459
  $links[] = '<a href="' . esc_url( admin_url( add_query_arg( array( 'page' => 'redux-framework' ), 'tools.php' ) ) ) . '">' . esc_html__( 'What is this?', 'redux-framework' ) . '</a>';
 
460
  }
461
 
462
  return $links;
91
 
92
  if ( ! self::$instance ) {
93
  self::$instance = new self();
94
+ if ( class_exists( 'ReduxFramework' ) ) {
95
+ self::$instance->load_first();
96
+ } else {
97
+ self::$instance->get_redux_options();
98
+ self::$instance->includes();
99
+ self::$instance->hooks();
100
+ }
101
  }
102
 
103
  return self::$instance;
196
  * @return void
197
  */
198
  private function hooks() {
199
+ add_action( 'activated_plugin', array( $this, 'load_first' ) );
200
  add_action( 'wp_loaded', array( $this, 'options_toggle_check' ) );
201
 
202
  // Activate plugin when new blog is added.
207
 
208
  // Edit plugin metalinks.
209
  add_filter( 'plugin_row_meta', array( $this, 'plugin_metalinks' ), null, 2 );
210
+ add_filter( 'network_admin_plugin_action_links', array( $this, 'add_settings_link' ), 1, 2 );
211
+ add_filter( 'plugin_action_links', array( $this, 'add_settings_link' ), 1, 2 );
212
 
213
  // phpcs:ignore WordPress.NamingConventions.ValidHookName
214
  do_action( 'redux/plugin/hooks', $this );
218
  * Pushes Redux to top of plugin load list, so it initializes before any plugin that may use it.
219
  */
220
  public function load_first() {
221
+ if ( ! class_exists( 'Redux_Functions_Ex' ) ) {
222
+ require_once dirname( __FILE__ ) . '/redux-core/inc/classes/class-redux-functions-ex.php';
223
+ }
224
+
225
  $plugin_dir = Redux_Functions_Ex::wp_normalize_path( WP_PLUGIN_DIR ) . '/';
226
  $self_file = Redux_Functions_Ex::wp_normalize_path( __FILE__ );
227
 
452
  }
453
  }
454
 
455
+
456
+ /**
457
+ * Add a settings link to the Redux entry in the plugin overview screen
458
+ *
459
+ * @param array $links Links array.
460
+ * @param string $file Plugin filename/slug.
461
+ *
462
+ * @return array
463
+ * @see filter:plugin_action_links
464
+ * @since 1.0
465
+ */
466
+ public function add_settings_link( $links, $file ) {
467
+
468
+ if ( strpos( REDUX_PLUGIN_FILE, $file ) === false ) {
469
+ return $links;
470
+ }
471
+
472
+ if ( ! class_exists( 'Redux_Pro' ) ) {
473
+ $links[] = sprintf(
474
+ '<a href="%s" target="_blank">%s</a>',
475
+ esc_url( $this->get_site_utm_url( '', 'upgrade' ) ),
476
+ sprintf(
477
+ '<span style="font-weight: bold;">%s</span>',
478
+ __( 'Go Pro', 'redux-framework' )
479
+ )
480
+ );
481
+ }
482
+
483
+ return $links;
484
+ }
485
+
486
+ /**
487
+ * Get the url where the Admin Columns website is hosted
488
+ *
489
+ * @param string $path Path to add to url.
490
+ *
491
+ * @return string
492
+ */
493
+ private function get_site_url( $path = '' ) {
494
+ $url = 'https://redux.io';
495
+
496
+ if ( ! empty( $path ) ) {
497
+ $url .= '/' . trim( $path, '/' ) . '/';
498
+ }
499
+
500
+ return $url;
501
+ }
502
+
503
+ /**
504
+ * Url with utm tags
505
+ *
506
+ * @param string $path Path on site.
507
+ * @param string $utm_medium Medium var.
508
+ * @param string $utm_content Content var.
509
+ * @param bool $utm_campaign Campaign var.
510
+ *
511
+ * @return string
512
+ */
513
+ public function get_site_utm_url( $path, $utm_medium, $utm_content = null, $utm_campaign = false ) {
514
+ $url = self::get_site_url( $path );
515
+
516
+ if ( ! $utm_campaign ) {
517
+ $utm_campaign = 'plugin-installation';
518
+ }
519
+
520
+ $args = array(
521
+ // Referrer: plugin.
522
+ 'utm_source' => 'plugin-installation',
523
+
524
+ // Specific promotions or sales.
525
+ 'utm_campaign' => $utm_campaign,
526
+
527
+ // Marketing medium: banner, documentation or email.
528
+ 'utm_medium' => $utm_medium,
529
+
530
+ // Used for differentiation of medium.
531
+ 'utm_content' => $utm_content,
532
+ );
533
+
534
+ $args = array_map( 'sanitize_key', array_filter( $args ) );
535
+
536
+ return add_query_arg( $args, $url );
537
+ }
538
+
539
  /**
540
  * Edit plugin metalinks
541
  *
550
  public function plugin_metalinks( $links, $file ) {
551
  if ( strpos( $file, 'redux-framework.php' ) !== false && is_plugin_active( $file ) ) {
552
  $links[] = '<a href="' . esc_url( admin_url( add_query_arg( array( 'page' => 'redux-framework' ), 'tools.php' ) ) ) . '">' . esc_html__( 'What is this?', 'redux-framework' ) . '</a>';
553
+ $links[] = '<a href="' . esc_url( admin_url( add_query_arg( array( 'post_type' => 'page' ), 'post-new.php' ) ) ) . '#redux_templates=1">' . esc_html__( 'Template Library', 'redux-framework' ) . '</a>';
554
  }
555
 
556
  return $links;
readme.txt CHANGED
@@ -1,277 +1,292 @@
1
- === Gutenberg Blocks Library & Framework – Redux ===
2
- Contributors: dovyp, redux
3
- Donate link: https://paypal.me/ReduxFramework
4
- Tags: gutenberg, blocks, gutenberg blocks, editor, block, page builder, block editor, block library, editor, templates, library
5
- Requires at least: 4.0
6
- Requires PHP: 5.3
7
- Tested up to: 5.5
8
- Stable tag: 4.1.14
9
- License: GPL-2.0+
10
- License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
-
12
- Supercharge the Gutenberg editor with our ever-growing library of block-based templates!
13
-
14
- == Description ==
15
- <strong>Redux - Quickly create full pages in WordPress’ Gutenberg</strong>
16
-
17
- Supercharge the Gutenberg editor with our ever-growing library of WordPress Blocks and templates. Discover what's possible and implement any design on your website in virtually no time at all.
18
-
19
- Worried that our templates may not work with your theme? We've got you covered. With our custom <em>page templates</em> option you can override any theme. Missing a plugin a template needs? No worries, we’ll even help you install what you need, all from the Gutenberg editor.
20
-
21
- Don’t waste hours trying to recreate a template you love. With a click of a button it is own website where you can start customizing it for your needs.
22
-
23
- <h4>♥️ What the Plugin does?</h4>
24
- <ul>
25
- <li><strong>Browse 1,000+</strong> templates from your Gutenberg Editor that you can add to your site immediately.</li>
26
- <li><strong>Preview</strong> each Gutenberg block based template in the customizer preview.</li>
27
- <li><strong>Filter</strong> between the dependencies you want, and find exactly what you're looking for.</li>
28
- <li><strong>See instantly</strong> which Gutenberg templates you have everything for, or may need to install some dependencies.</li>
29
- <li><strong>Automated install</strong> of anything you may need to install any template.</li>
30
- <li><strong>Block Patterns library</strong> support built in.</li>
31
- <li>Make the Reusable Blocks visible in our library modal window. 😉</li>
32
- <li>The most trusted option framework in the industry.</li>
33
- <li>Developer friendly: clean code, inline documentation</li>
34
- </ul>
35
-
36
- <h4>🚀 TYPICAL USE CASE OF THIS PLUGIN</h4>
37
- You are building a **big site** with **lots of pages** and you just want it to look amazing. With Redux you can begin making pages with a variety of "starter blocks," or templates.
38
-
39
- You can browse through the categories, as well as collections of like-styled pages. When you find something you like, Redux makes sure you have everything you need. If a dependency (or required plugin) is missing, you are notified and can install the missing dependency. Worried that our templates may not work with your theme? No problem! With our custom `page templates` options you can transform any site into exactly what you want it to be no matter what them you are using.
40
-
41
- Don’t waste hours trying to recreate a design you love. With a click of a button, you have it on your own site and you can begin customizing your "starter block" for your needs.
42
-
43
- <h4>🎉 Supported Page Builders</h4>
44
- Currently Redux supports only the <a href="https://wordpress.org/plugins/gutenberg/"><strong>Gutenberg / Block Editor of WordPress 5.0+</strong></a>.
45
-
46
- <h4>🎨 Supported Themes</h4>
47
- Though Redux will work with any theme that uses Gutenberg, we have done extra work to ensure complete compatibility with these themes.
48
-
49
- <ul>
50
- <li><a href="https://wordpress.org/themes/astra/"><strong>Astra Theme</strong></a> with <strong>Astra Pro</strong> Add-On Plugin – <strong>Custom Layouts</strong> (for Layouts, Headers, Footers, Hooks)</li>
51
- <li><a href="https://wordpress.org/themes/generatepress/"><strong>GeneratePress Theme</strong></a> with <strong>GP Premium</strong> Add-On Plugin – <strong>Elements</strong> (for Layouts, Headers, Hooks)</li>
52
- <li><a href="https://wordpress.org/themes/oceanwp/"><strong>OceanWP Theme</strong></a> with <a href="https://wordpress.org/plugins/ocean-extra/"><strong>Ocean Extra</strong></a> free Add-On Plugin – <strong>My Library</strong> (for Layouts, Hooks etc.)</li>
53
- <li><strong>Kava Pro Theme/ CrocoBlock Service</strong> with JetThemeCore Plugin – <strong>My Library</strong> (for Layouts, Pages, Headers, Footers, Single, Archive)</li>
54
- <li><strong>Genesis Framework</strong> with Genesis Child Themes — via <strong>Blox Lite</strong> and <strong>Blox</strong> (Pro) Plugins – <strong>Global Content Blocks</strong> (for Sections, Hooks)</li>
55
- <li><strong>Page Builder Framework</strong> with <strong>WPBF Premium</strong> Add-On Plugin – <strong>Custom Section</strong> (for Sections, Layouts, Hooks etc.)</li>
56
- <li><strong>Customify</strong> with <strong>Customify Pro</strong> Add-On Plugin – <strong>Hooks</strong> (for Layouts, Sections, Hooks etc.)</li>
57
- <li><strong>Suki</strong> with <strong>Suki Pro</strong> Add-On Plugin – <strong>Custom Blocks</strong> (for Layouts, Sections, Hooks etc.)</li>
58
- <li><strong>Neve</strong> with <strong>Neve Pro</strong> Add-On Plugin – <strong>Custom Layouts</strong> (for Layouts, Sections, Hooks etc.)</li>
59
- <li><strong>Woostify</strong> with <strong>Woostify Pro</strong> Add-On Plugin – <strong>Header Footer Builder</strong> (for Elementor theming areas – Headers/ Footers)</li>
60
- <li><strong>Avada Theme</strong> with Avada Fusion Builder – <strong>Library</strong> (for Templates, Pages, Layouts, Columns, Rows)</li>
61
- <li><strong>Divi Theme</strong> with Divi Builder – <strong>Library</strong> (for Templates etc.)</li>
62
- <li><strong>Extra Theme</strong> with Divi Builder – <strong>Library</strong> (for Templates etc.) – <strong>Category Templates</strong> (for Layouts, Templates etc.)</li>
63
- </ul>
64
-
65
- <h4>📦 Supported Gutenberg-Specific Plugins (Block Editor)</h4>
66
- <ul>
67
- <li><a href="https://wordpress.org/plugins/gutenberg/"><strong>Gutenberg</strong></a> Plugin – <strong>Gutenberg</strong> (Bleeding-Edge development in Gutenberg and Gutenberg Blocks)</li>
68
- <li><a href="https://wordpress.org/plugins/acf-blocks/"><strong>ACF Blocks Suite</strong></a> Plugin – <strong>Blocks</strong> (Fields for Gutenberg Blocks)</li>
69
- <li><a href="https://wordpress.org/plugins/advanced-gutenberg-blocks/"><strong>Advanced Gutenberg Blocks</strong></a> Plugin – <strong>Blocks</strong> (Blocks and Tools for Gutenberg Blocks)</li>
70
- <li><a href="https://wordpress.org/plugins/atomic-blocks/"><strong>Atomic Blocks – Gutenberg Blocks Collection</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
71
- <li><a href="https://wordpress.org/plugins/block-options/"><strong>Gutenberg Page Building Toolkit – EditorsKit</strong></a> Plugin – <strong>Blocks</strong> (Templates &amp; Fields for Gutenberg Blocks)</li>
72
- <li><a href="https://wordpress.org/plugins/block-slider/"><strong>WordPress Slider Plugin – Block Slider</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
73
- <li><a href="https://wordpress.org/plugins/coblocks/"><strong>Page Builder Gutenberg Blocks – CoBlocks</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
74
- <li><a href="https://wordpress.org/plugins/editorskit/"><strong>Gutenberg Page Building Toolkit – EditorsKit</strong></a> Plugin – <strong>Blocks</strong> (Blocks tools to supercharge the Gutenberg editor)</li>
75
- <li><a href="https://wordpress.org/plugins/editorplus/"><strong>Gutenberg Page Builder Toolkit – EditorPlus</strong></a> Plugin – <strong>EditorPlus</strong> (Toolkit and blocks for Gutenberg Blocks)</li>
76
- <li><a href="https://wordpress.org/plugins/forms-gutenberg/"><strong>WordPress Form Builder Plugin – Gutenberg Forms</strong></a> Plugin – <strong>Blocks</strong> (Blocks &amp; Forms for Gutenberg Blocks)</li>
77
- <li><a href="https://wordpress.org/plugins/getwid/"><strong>Getwid – Gutenberg Blocks</strong></a> Plugin – <strong>Blocks</strong> (Templates &amp; Blocks for Gutenberg Blocks)</li>
78
- <li><a href="https://wordpress.org/plugins/gutentor/"><strong>Gutenberg Blocks – Gutentor Page Builder for Gutenberg Editor</strong></a> Plugin – <strong>Blocks</strong> (Gutenberg Blocks)</li>
79
- <li><a href="https://wordpress.org/plugins/kadence-blocks/"><strong>Kadence Blocks – Gutenberg Page Builder Toolkit</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
80
- <li><a href="https://wordpress.org/plugins/kioken-blocks/"><strong>Page Builder Gutenberg Blocks – Kioken Blocks</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Blocks for Gutenberg Blocks)</li>
81
- <li><a href="https://wordpress.org/plugins/otter-blocks/"><strong>Gutenberg Blocks and Template Library by Otter</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Blocks and Templates for Gutenberg Blocks)</li>
82
- <li><a href="https://wordpress.org/plugins/qubely/"><strong>Gutenberg Blocks and Page Builder – Qubely</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Templates &amp; Blocks for Gutenberg Blocks)</li>
83
- <li><a href="https://wordpress.org/plugins/qodeblock/"><strong>Gutenberg Blocks Collection – qodeblock</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
84
- <li><a href="https://wordpress.org/plugins/stackable-ultimate-gutenberg-blocks/"><strong>Stackable – Page Builder Gutenberg Blocks</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Templates &amp; Blocks for Gutenberg Blocks)</li>
85
- <li><a href="https://wordpress.org/plugins/ultimate-blocks/"><strong>Ultimate Blocks – Gutenberg Blocks Plugin</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
86
- <li><a href="https://wordpress.org/plugins/ultimate-addons-for-gutenberg/"><strong>Gutenberg Blocks – Ultimate Addons for Gutenberg</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
87
- </ul>
88
-
89
- <h4>☀️ Supported Gutenberg-Specific Services / Websites</h4>
90
- <ul>
91
- <li><a href="https://gutenberghub.com/"><strong>GutenbergHub.com</strong></a> – <strong>GutenbergHub</strong> GutenbergHub is a one-stop resource for you need to work with Gutenberg WordPress editor.</li>
92
- <li><a href="https://shareablock.com/"><strong>ShareABlock</strong></a> by EditorsKit – <strong>ShareABlock</strong> Community submitted free block designs and templates for Gutenberg</li>
93
- </ul>
94
-
95
- <h4>👍 BE A CONTRIBUTOR</h4>
96
- If you want to translate, <a href="https://translate.wordpress.org/projects/wp-plugins/starterblocks">go to the Translation Portal at translate.wordpress.org</a>.
97
-
98
- You can also contribute code-wise via our <a href="https://github.com/starterblocks/starterblocks/">GitHub Repository</a> – and see where you can help. Be sure to use our develop branch to submit pull requests.
99
-
100
- <h4>📝 Documentation and Support</h4>
101
- <ul>
102
- <li>For more information about features, FAQs and documentation, check out our website at <a href="https://starterblocks.io/" rel="nofollow ugc">Redux</a>.</li>
103
- <li>If you have any more questions, visit our support on the <a href="https://wordpress.org/support/plugin/starterblocks">Plugin's Forum</a>.</li>
104
- </ul>
105
-
106
- <h4>⚡ Like the Redux Plugin?</h4>
107
- <ul>
108
- <li>Follow us on <a href="https://www.facebook.com/reduxframework" rel="nofollow ugc">Facebook 💬</a></li>
109
- <li><strong>Rate us 5 ⭐ stars</strong> on <a href="https://wordpress.org/support/plugin/redux-framework/reviews/?filter=5/#new-post">WordPress.org</a></li>
110
- <li><a href="https://github.com/sponsors/dovy/" rel="nofollow ugc"><strong>Become a Sponsor</strong> 💜</a> and support ongoing development, maintenance and support of this plugin</li>
111
- <li>Follow us on Twitter 🐦: <a href="https://twitter.com/reduxframework" rel="nofollow ugc">@ReduxFramework</a> and <a href="https://twitter.com/dovyp" rel="nofollow ugc">@DovyP</a></li>
112
- </ul>
113
-
114
- <h4>🔐 Privacy</h4>
115
- Redux does not interact with end users on your website. Our templates will continue to work even if Redux is uninstalled. If a product is using Redux the option panel will cease to function without Redux.
116
-
117
- Redux utilizes [AppSero](https://appsero.com/) for account management as well as to enable our premium offerings. You can find their privacy policy here: [https://appsero.com/privacy-policy/](https://appsero.com/privacy-policy/). Activation of Redux is not necessary, but additional features such as Google Font Updates and increased access to the template library will be limited.
118
-
119
- The Redux plugin uses a custom API to fetch our content library and our Gutenberg templates. To improve the service and stability we store logs which may or may not contain the following:
120
- <ul>
121
- <li>browser type</li>
122
- <li>referring site</li>
123
- <li>date and time of request</li>
124
- <li>template ID requested</li>
125
- <li>date of cached version of the given API request</li>
126
- <li>supported block plugins installed (slug only, no versions)</li>
127
- <li>version of Redux installed</li>
128
- <li>Redux API keys</li>
129
- </ul>
130
-
131
- API requests are only made when a user clicks on the Library button, launches the Redux Challenge, or opts into Google Font updates.
132
-
133
- For more details on our privacy policy: [https://redux.io/privacy](https://redux.io/privacy)
134
- For more details on on our terms and conditions: [https://redux.io/terms](https://redux.io/terms)
135
-
136
- == Installation ==
137
- 1. Upload the entire plugin folder to the `/wp-content/plugins/` directory.
138
- 2. Activate the plugin through the 'Plugins' menu in WordPress.
139
-
140
- Once Installed and Activated you will be invited to Activate your Redux account. This is entirely voluntary and can easily be dismissed.
141
-
142
- If you want, you can use the [Gutenberg](https://wordpress.org/plugins/gutenberg/) plugin to get bleeding-edge experiments by the Gutenberg team.
143
-
144
- == Screenshots ==
145
-
146
- 1. With Redux you have access to hundreds of sections to help you create any type of page.
147
- 2. Take the Redux challenge to learn your way around the Redux Templates Library.
148
- 3. See instantly what required plugins each template requires on hover.
149
- 4. Preview each template instantly in your own website.
150
- 5. Template Kits give you full site templates, all grouped by a given style.
151
- 6. Within each template kit you can see the full page template types.
152
-
153
- == Changelog ==
154
-
155
- = 4.1.14 =
156
- * Added: Shim for ReduxFramework->get_default_value()
157
- * Fixed: Local issue with WP and strtolower. Sites that couldn't find classes should work now.
158
- * Fixed: Ajax for select boxes is now working again.
159
- * Fixed: Autoloading to bypass other embedded versions of Redux.
160
- * Fixed: Customizer interactions are MUCH faster now. Had a greedy CSS selector before.
161
- * Fixed: If opt_names had multiple dashes in them, JS errors occurred by a non-global replace.
162
- * Fixed: Fix for servers that disable output buffers.
163
- * Fixed: Ajax now does not load anything else, faster calls.
164
- * Fixed: .folds replace issue when opt_name selector wasn't properly found.
165
- * Release date: Aug 11, 2020
166
-
167
- = 4.1.13 =
168
- * Fixed: Major typography bug affecting saving in the panel as well as third-party extensions.
169
- * Fixed: Customizer issue with some external extensions.
170
- * Added: Removed `FS_METHOD` define completely.
171
- * Release date: Aug 5, 2020
172
-
173
- = 4.1.12 =
174
- * Fixed: Direct calls to ReduxFramework were causing unexpected errors.
175
- * Fixed: JS error on .replace because opt_name wasn't found.
176
- * Added: `FS_METHOD` define location, had to move lower in the stack.
177
- * Release date: Aug 5, 2020
178
-
179
- = 4.1.11 =
180
- * Fixed: Templates JS not loading and conflicting with other plugins. Need to namespace or something.
181
- * Added: `FS_METHOD` define method for environments where it is not properly defined.
182
- * Release date: Aug 4, 2020
183
-
184
- = 4.1.10 =
185
- * Fixed: Minified templates directory now loads.
186
- * Added: Shadow files from old repo to stop errors from previously included third-party developer includes.
187
- * Release date: Aug 4, 2020
188
-
189
- = 4.1.9 =
190
- * Fixed: Compatibility issue when developers made custom panel templates. The opt_name wasn't fetched and thus saving broke.
191
- * Release date: Aug 1, 2020
192
-
193
- = 4.1.8 =
194
- * Fixed: Map files are now all present.
195
- * Fixed: Path fix for how developers called the typography file directory.
196
- * Release date: Aug 1, 2020
197
-
198
- = 4.1.7 =
199
- * Fixed: Issue with sortable in text mode not properly passing the name attribute and thus not saving properly.
200
- * Fixed: Compatibility with old extension names to not crash other plugins.
201
- * Release date: July 31, 2020
202
-
203
- = 4.1.6 =
204
- * Fixed: Issue with customizer double loading the PHP classes and causing an exception.
205
- * Fixed: Chanced a class name as to not conflict with a 6+ year old version of Redux.
206
- * Release date: July 30, 2020
207
-
208
- = 4.1.5 =
209
- * Fixed: Google fonts not working when old configs used string vs an array for output.
210
- * Release date: July 30, 2020
211
-
212
- = 4.1.4 =
213
- * Fixed: Google fonts loading over non-secure breaks fonts. Forced all SSL for Google fonts. :)
214
- * Release date: July 30, 2020
215
-
216
- = 4.1.3 =
217
- * Fixed: Issue where theme devs tried to bypass the framework. Literally I made an empty file to fix their coding. :P
218
- * Release date: July 29, 2020
219
-
220
- = 4.1.2 =
221
- * Fixed: Don't try to set empty defaults when none are present.
222
- * Fixed: Issue where the WP Data argument was misused.
223
- * Release date: July 29, 2020
224
-
225
- = 4.1.1 =
226
- * Fixed: CSS decode when esc_attr replaces the HTML characters and CSS outputs are set with >'s.
227
- * Release date: July 29, 2020
228
-
229
- = 4.1.0 =
230
- * Fixed: Compatibility with certain themes using the deprecated $_is_plugin variable.
231
- * Release date: July 29, 2020
232
-
233
- = 4.0.9 =
234
- * Fixed: Complete compatibility fix for older Redux extensions.
235
- * Release date: July 28, 2020
236
-
237
- = 4.0.8 =
238
- * Fixed: Initial library load was failing on some server setups.
239
- * Release date: July 28, 2020
240
-
241
- = 4.0.7 =
242
- * Fixed: Race condition for PHP include for Redux_Typography causing blank white screens.
243
- * Release date: July 28, 2020
244
-
245
- = 4.0.5 =
246
- * Fixed: Issues where the site crashes because of varied ways Redux was called.
247
- * Fixed: Varied implementations of opt_names resulting in option panels not working as expected.
248
- * Release date: July 28, 2020
249
-
250
- = 4.0.4 =
251
- * Release date: July 24, 2020
252
-
253
- == Frequently Asked Questions ==
254
-
255
- = Who should use the Redux Block Library for Gutenberg? =
256
-
257
- The Redux Block Library for Gutenberg is a complete package of unique and creative templates that will help you build beautiful pages and posts on a website. It is of value for everyone and for all who love Gutenberg.
258
-
259
- = What are the requirements to use the Redux Library for Gutenberg? =
260
-
261
- You only need to have the latest version of WordPress on your website, to begin with. Redux is for Gutenberg is basically an addon for the default WordPress block editor. Therefore, the latest WordPress installation along with a theme should be enough, to begin with.
262
-
263
- = What themes does Redux Library for Gutenberg work with? =
264
-
265
- Redux is built to work wonderfully with all themes.
266
-
267
- = Can I use Redux for Gutenberg even while having another Page Builder? =
268
-
269
- The basic need or requirement for Redux for Gutenberg is the latest WordPress version. Should you need help, you can <a href="https://starterblocks.io/support/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme" target="_blank" rel="">get in touch with us.</a>
270
-
271
- = Can I use Redux for Gutenberg on client websites? =
272
-
273
- Yes! You can certainly use Redux on yours as well as your client's websites.
274
-
275
- = Will Redux slow down my website? =
276
-
277
- Absolutely not! The Redux Library for Gutenberg plugin is built with ease and performance in mind. Its module architecture and the clean code keep it extremely fast. Every performance issue that seems to be coming from Redux is actually the integration code of third-party developers. If you're having issues let us know and we'll try to help you out.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Redux - Gutenberg Blocks Library & Framework ===
2
+ Contributors: dovyp, redux
3
+ Donate link: https://paypal.me/ReduxFramework
4
+ Tags: gutenberg, blocks, gutenberg blocks, editor, block, page builder, block editor, block library, editor, templates, library
5
+ Requires at least: 4.0
6
+ Requires PHP: 5.3
7
+ Tested up to: 5.5
8
+ Stable tag: 4.1.15
9
+ License: GPL-2.0+
10
+ License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
+
12
+ Supercharge the Gutenberg editor with our ever-growing library of block-based templates!
13
+
14
+ == Description ==
15
+ <strong>Redux - Quickly create full pages in WordPress’ Gutenberg</strong>
16
+
17
+ Supercharge the Gutenberg editor with our ever-growing library of WordPress Blocks and templates. Discover what's possible and implement any design on your website in virtually no time at all.
18
+
19
+ Worried that our templates may not work with your theme? We've got you covered. With our custom <em>page templates</em> option you can override any theme. Missing a plugin a template needs? No worries, we’ll even help you install what you need, all from the Gutenberg editor.
20
+
21
+ Don’t waste hours trying to recreate a template you love. With a click of a button it is own website where you can start customizing it for your needs.
22
+
23
+ <h4>♥️ What the Plugin does?</h4>
24
+ <ul>
25
+ <li><strong>Browse 1,000+</strong> templates from your Gutenberg Editor that you can add to your site immediately.</li>
26
+ <li><strong>Preview</strong> each Gutenberg block based template in the customizer preview.</li>
27
+ <li><strong>Filter</strong> between the dependencies you want, and find exactly what you're looking for.</li>
28
+ <li><strong>See instantly</strong> which Gutenberg templates you have everything for, or may need to install some dependencies.</li>
29
+ <li><strong>Automated install</strong> of anything you may need to install any template.</li>
30
+ <li><strong>Block Patterns library</strong> support built in.</li>
31
+ <li>Make the Reusable Blocks visible in our library modal window. 😉</li>
32
+ <li>The most trusted option framework in the industry.</li>
33
+ <li>Developer friendly: clean code, inline documentation</li>
34
+ </ul>
35
+
36
+ <h4>🚀 TYPICAL USE CASE OF THIS PLUGIN</h4>
37
+ You are building a **big site** with **lots of pages** and you just want it to look amazing. With Redux you can begin making pages with a variety of "starter blocks," or templates.
38
+
39
+ You can browse through the categories, as well as collections of like-styled pages. When you find something you like, Redux makes sure you have everything you need. If a dependency (or required plugin) is missing, you are notified and can install the missing dependency. Worried that our templates may not work with your theme? No problem! With our custom `page templates` options you can transform any site into exactly what you want it to be no matter what them you are using.
40
+
41
+ Don’t waste hours trying to recreate a design you love. With a click of a button, you have it on your own site and you can begin customizing your "starter block" for your needs.
42
+
43
+ <h4>🎉 Supported Page Builders</h4>
44
+ Currently Redux supports only the <a href="https://wordpress.org/plugins/gutenberg/"><strong>Gutenberg / Block Editor of WordPress 5.0+</strong></a>.
45
+
46
+ <h4>🎨 Supported Themes</h4>
47
+ Though Redux will work with any theme that uses Gutenberg, we have done extra work to ensure complete compatibility with these themes.
48
+
49
+ <ul>
50
+ <li><a href="https://wordpress.org/themes/astra/"><strong>Astra Theme</strong></a> with <strong>Astra Pro</strong> Add-On Plugin – <strong>Custom Layouts</strong> (for Layouts, Headers, Footers, Hooks)</li>
51
+ <li><a href="https://wordpress.org/themes/generatepress/"><strong>GeneratePress Theme</strong></a> with <strong>GP Premium</strong> Add-On Plugin – <strong>Elements</strong> (for Layouts, Headers, Hooks)</li>
52
+ <li><a href="https://wordpress.org/themes/oceanwp/"><strong>OceanWP Theme</strong></a> with <a href="https://wordpress.org/plugins/ocean-extra/"><strong>Ocean Extra</strong></a> free Add-On Plugin – <strong>My Library</strong> (for Layouts, Hooks etc.)</li>
53
+ <li><strong>Kava Pro Theme/ CrocoBlock Service</strong> with JetThemeCore Plugin – <strong>My Library</strong> (for Layouts, Pages, Headers, Footers, Single, Archive)</li>
54
+ <li><strong>Genesis Framework</strong> with Genesis Child Themes — via <strong>Blox Lite</strong> and <strong>Blox</strong> (Pro) Plugins – <strong>Global Content Blocks</strong> (for Sections, Hooks)</li>
55
+ <li><strong>Page Builder Framework</strong> with <strong>WPBF Premium</strong> Add-On Plugin – <strong>Custom Section</strong> (for Sections, Layouts, Hooks etc.)</li>
56
+ <li><strong>Customify</strong> with <strong>Customify Pro</strong> Add-On Plugin – <strong>Hooks</strong> (for Layouts, Sections, Hooks etc.)</li>
57
+ <li><strong>Suki</strong> with <strong>Suki Pro</strong> Add-On Plugin – <strong>Custom Blocks</strong> (for Layouts, Sections, Hooks etc.)</li>
58
+ <li><strong>Neve</strong> with <strong>Neve Pro</strong> Add-On Plugin – <strong>Custom Layouts</strong> (for Layouts, Sections, Hooks etc.)</li>
59
+ <li><strong>Woostify</strong> with <strong>Woostify Pro</strong> Add-On Plugin – <strong>Header Footer Builder</strong> (for Elementor theming areas – Headers/ Footers)</li>
60
+ <li><strong>Avada Theme</strong> with Avada Fusion Builder – <strong>Library</strong> (for Templates, Pages, Layouts, Columns, Rows)</li>
61
+ <li><strong>Divi Theme</strong> with Divi Builder – <strong>Library</strong> (for Templates etc.)</li>
62
+ <li><strong>Extra Theme</strong> with Divi Builder – <strong>Library</strong> (for Templates etc.) – <strong>Category Templates</strong> (for Layouts, Templates etc.)</li>
63
+ </ul>
64
+
65
+ <h4>📦 Supported Gutenberg-Specific Plugins (Block Editor)</h4>
66
+ <ul>
67
+ <li><a href="https://wordpress.org/plugins/gutenberg/"><strong>Gutenberg</strong></a> Plugin – <strong>Gutenberg</strong> (Bleeding-Edge development in Gutenberg and Gutenberg Blocks)</li>
68
+ <li><a href="https://wordpress.org/plugins/acf-blocks/"><strong>ACF Blocks Suite</strong></a> Plugin – <strong>Blocks</strong> (Fields for Gutenberg Blocks)</li>
69
+ <li><a href="https://wordpress.org/plugins/advanced-gutenberg-blocks/"><strong>Advanced Gutenberg Blocks</strong></a> Plugin – <strong>Blocks</strong> (Blocks and Tools for Gutenberg Blocks)</li>
70
+ <li><a href="https://wordpress.org/plugins/atomic-blocks/"><strong>Atomic Blocks – Gutenberg Blocks Collection</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
71
+ <li><a href="https://wordpress.org/plugins/block-options/"><strong>Gutenberg Page Building Toolkit – EditorsKit</strong></a> Plugin – <strong>Blocks</strong> (Templates &amp; Fields for Gutenberg Blocks)</li>
72
+ <li><a href="https://wordpress.org/plugins/block-slider/"><strong>WordPress Slider Plugin – Block Slider</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
73
+ <li><a href="https://wordpress.org/plugins/coblocks/"><strong>Page Builder Gutenberg Blocks – CoBlocks</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
74
+ <li><a href="https://wordpress.org/plugins/editorskit/"><strong>Gutenberg Page Building Toolkit – EditorsKit</strong></a> Plugin – <strong>Blocks</strong> (Blocks tools to supercharge the Gutenberg editor)</li>
75
+ <li><a href="https://wordpress.org/plugins/editorplus/"><strong>Gutenberg Page Builder Toolkit – EditorPlus</strong></a> Plugin – <strong>EditorPlus</strong> (Toolkit and blocks for Gutenberg Blocks)</li>
76
+ <li><a href="https://wordpress.org/plugins/forms-gutenberg/"><strong>WordPress Form Builder Plugin – Gutenberg Forms</strong></a> Plugin – <strong>Blocks</strong> (Blocks &amp; Forms for Gutenberg Blocks)</li>
77
+ <li><a href="https://wordpress.org/plugins/getwid/"><strong>Getwid – Gutenberg Blocks</strong></a> Plugin – <strong>Blocks</strong> (Templates &amp; Blocks for Gutenberg Blocks)</li>
78
+ <li><a href="https://wordpress.org/plugins/gutentor/"><strong>Gutenberg Blocks – Gutentor Page Builder for Gutenberg Editor</strong></a> Plugin – <strong>Blocks</strong> (Gutenberg Blocks)</li>
79
+ <li><a href="https://wordpress.org/plugins/kadence-blocks/"><strong>Kadence Blocks – Gutenberg Page Builder Toolkit</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
80
+ <li><a href="https://wordpress.org/plugins/kioken-blocks/"><strong>Page Builder Gutenberg Blocks – Kioken Blocks</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Blocks for Gutenberg Blocks)</li>
81
+ <li><a href="https://wordpress.org/plugins/otter-blocks/"><strong>Gutenberg Blocks and Template Library by Otter</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Blocks and Templates for Gutenberg Blocks)</li>
82
+ <li><a href="https://wordpress.org/plugins/qubely/"><strong>Gutenberg Blocks and Page Builder – Qubely</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Templates &amp; Blocks for Gutenberg Blocks)</li>
83
+ <li><a href="https://wordpress.org/plugins/qodeblock/"><strong>Gutenberg Blocks Collection – qodeblock</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
84
+ <li><a href="https://wordpress.org/plugins/stackable-ultimate-gutenberg-blocks/"><strong>Stackable – Page Builder Gutenberg Blocks</strong></a> Plugin – <strong>Blocks &amp; Templates</strong> (Templates &amp; Blocks for Gutenberg Blocks)</li>
85
+ <li><a href="https://wordpress.org/plugins/ultimate-blocks/"><strong>Ultimate Blocks – Gutenberg Blocks Plugin</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
86
+ <li><a href="https://wordpress.org/plugins/ultimate-addons-for-gutenberg/"><strong>Gutenberg Blocks – Ultimate Addons for Gutenberg</strong></a> Plugin – <strong>Blocks</strong> (Blocks for Gutenberg Blocks)</li>
87
+ </ul>
88
+
89
+ <h4>☀️ Supported Gutenberg-Specific Services / Websites</h4>
90
+ <ul>
91
+ <li><a href="https://gutenberghub.com/"><strong>GutenbergHub.com</strong></a> – <strong>GutenbergHub</strong> GutenbergHub is a one-stop resource for you need to work with Gutenberg WordPress editor.</li>
92
+ <li><a href="https://shareablock.com/"><strong>ShareABlock</strong></a> by EditorsKit – <strong>ShareABlock</strong> Community submitted free block designs and templates for Gutenberg</li>
93
+ </ul>
94
+
95
+ <h4>👍 BE A CONTRIBUTOR</h4>
96
+ If you want to translate, <a href="https://translate.wordpress.org/projects/wp-plugins/redux-framework">go to the Translation Portal at translate.wordpress.org</a>.
97
+
98
+ You can also contribute code-wise via our <a href="https://github.com/reduxframework/redux-framework-4/">GitHub Repository</a> – and see where you can help. Be sure to use our develop branch to submit pull requests.
99
+
100
+ <h4>📝 Documentation and Support</h4>
101
+ <ul>
102
+ <li>For more information about features, FAQs and documentation, check out our website at <a href="https://docs.redux.io/" rel="nofollow ugc">Redux</a>.</li>
103
+ <li>If you have any more questions, visit our support on the <a href="https://wordpress.org/support/plugin/redux-framework">Plugin's Forum</a>.</li>
104
+ </ul>
105
+
106
+ <h4>⚡ Like the Redux Plugin?</h4>
107
+ <ul>
108
+ <li>Follow us on <a href="https://www.facebook.com/reduxframework" rel="nofollow ugc">Facebook 💬</a></li>
109
+ <li><strong>Rate us 5 ⭐ stars</strong> on <a href="https://wordpress.org/support/plugin/redux-framework/reviews/?filter=5/#new-post">WordPress.org</a></li>
110
+ <li><a href="https://github.com/sponsors/dovy/" rel="nofollow ugc"><strong>Become a Sponsor</strong> 💜</a> and support ongoing development, maintenance and support of this plugin</li>
111
+ <li>Follow us on Twitter 🐦: <a href="https://twitter.com/reduxframework" rel="nofollow ugc">@ReduxFramework</a> and <a href="https://twitter.com/dovyp" rel="nofollow ugc">@DovyP</a></li>
112
+ </ul>
113
+
114
+ <h4>🔐 Privacy</h4>
115
+ Redux does not interact with end users on your website. Our templates will continue to work even if Redux is uninstalled. If a product is using Redux the option panel will cease to function without Redux.
116
+
117
+ Redux utilizes [AppSero](https://appsero.com/) for account management as well as to enable our premium offerings. You can find their privacy policy here: [https://appsero.com/privacy-policy/](https://appsero.com/privacy-policy/). Activation of Redux is not necessary, but additional features such as Google Font Updates and increased access to the template library will be limited.
118
+
119
+ The Redux plugin uses a custom API to fetch our content library and our Gutenberg templates. To improve the service and stability we store logs which may or may not contain the following:
120
+ <ul>
121
+ <li>browser type</li>
122
+ <li>referring site</li>
123
+ <li>date and time of request</li>
124
+ <li>template ID requested</li>
125
+ <li>date of cached version of the given API request</li>
126
+ <li>supported block plugins installed (slug only, no versions)</li>
127
+ <li>version of Redux installed</li>
128
+ <li>Redux API keys</li>
129
+ </ul>
130
+
131
+ API requests are only made when a user clicks on the Library button, launches the Redux Challenge, or opts into Google Font updates.
132
+
133
+ For more details on our privacy policy: [https://redux.io/privacy](https://redux.io/privacy)
134
+ For more details on on our terms and conditions: [https://redux.io/terms](https://redux.io/terms)
135
+
136
+ == Installation ==
137
+ 1. Upload the entire plugin folder to the `/wp-content/plugins/` directory.
138
+ 2. Activate the plugin through the 'Plugins' menu in WordPress.
139
+
140
+ Once Installed and Activated you will be invited to Activate your Redux account. This is entirely voluntary and can easily be dismissed.
141
+
142
+ If you want, you can use the [Gutenberg](https://wordpress.org/plugins/gutenberg/) plugin to get bleeding-edge experiments by the Gutenberg team.
143
+
144
+ == Screenshots ==
145
+
146
+ 1. With Redux you have access to hundreds of sections to help you create any type of page.
147
+ 2. Take the Redux challenge to learn your way around the Redux Templates Library.
148
+ 3. See instantly what required plugins each template requires on hover.
149
+ 4. Preview each template instantly in your own website.
150
+ 5. Template Kits give you full site templates, all grouped by a given style.
151
+ 6. Within each template kit you can see the full page template types.
152
+
153
+ == Changelog ==
154
+
155
+ ## 4.1.15
156
+ * Fixed: Defaults were not saving in some situations.
157
+ * Added: Various fallback calls for JS when fetching opt_names.
158
+ * Fixed: Warnings with Rest API due to WP 5.5.
159
+ * Fixed: Subsets now are full-width in typography when rendered after page load.
160
+ * Fixed: for subsets loading when font-family is not specified.
161
+ * Added: No opt-in to tracking when embedded. Google Fonts and panel notices are still there though.
162
+ * Fixed: Is local checks conflicting with some servers.
163
+ * Fixed: WooCommerce race condition with their autoloader causing issues with some sites.
164
+ * Updated: Complete overhaul of WordPress data class.
165
+ * Fixed: Backtrace errors when blocked on servers.
166
+ * Fixed: Select2 and required fixes.
167
+ * Fixed: Customizer sidebar not showing in some cases.
168
+ * Added: Google Fonts now load ~20% faster!!!
169
+
170
+ = 4.1.14 =
171
+ * Added: Shim for ReduxFramework->get_default_value()
172
+ * Fixed: Local issue with WP and strtolower. Sites that couldn't find classes should work now.
173
+ * Fixed: Ajax for select boxes is now working again.
174
+ * Fixed: Autoloading to bypass other embedded versions of Redux.
175
+ * Fixed: Customizer interactions are MUCH faster now. Had a greedy CSS selector before.
176
+ * Fixed: If opt_names had multiple dashes in them, JS errors occurred by a non-global replace.
177
+ * Fixed: Fix for servers that disable output buffers.
178
+ * Fixed: Ajax now does not load anything else, faster calls.
179
+ * Fixed: .folds replace issue when opt_name selector wasn't properly found.
180
+ * Release date: Aug 11, 2020
181
+
182
+ = 4.1.13 =
183
+ * Fixed: Major typography bug affecting saving in the panel as well as third-party extensions.
184
+ * Fixed: Customizer issue with some external extensions.
185
+ * Added: Removed `FS_METHOD` define completely.
186
+ * Release date: Aug 5, 2020
187
+
188
+ = 4.1.12 =
189
+ * Fixed: Direct calls to ReduxFramework were causing unexpected errors.
190
+ * Fixed: JS error on .replace because opt_name wasn't found.
191
+ * Added: `FS_METHOD` define location, had to move lower in the stack.
192
+ * Release date: Aug 5, 2020
193
+
194
+ = 4.1.11 =
195
+ * Fixed: Templates JS not loading and conflicting with other plugins. Need to namespace or something.
196
+ * Added: `FS_METHOD` define method for environments where it is not properly defined.
197
+ * Release date: Aug 4, 2020
198
+
199
+ = 4.1.10 =
200
+ * Fixed: Minified templates directory now loads.
201
+ * Added: Shadow files from old repo to stop errors from previously included third-party developer includes.
202
+ * Release date: Aug 4, 2020
203
+
204
+ = 4.1.9 =
205
+ * Fixed: Compatibility issue when developers made custom panel templates. The opt_name wasn't fetched and thus saving broke.
206
+ * Release date: Aug 1, 2020
207
+
208
+ = 4.1.8 =
209
+ * Fixed: Map files are now all present.
210
+ * Fixed: Path fix for how developers called the typography file directory.
211
+ * Release date: Aug 1, 2020
212
+
213
+ = 4.1.7 =
214
+ * Fixed: Issue with sortable in text mode not properly passing the name attribute and thus not saving properly.
215
+ * Fixed: Compatibility with old extension names to not crash other plugins.
216
+ * Release date: July 31, 2020
217
+
218
+ = 4.1.6 =
219
+ * Fixed: Issue with customizer double loading the PHP classes and causing an exception.
220
+ * Fixed: Chanced a class name as to not conflict with a 6+ year old version of Redux.
221
+ * Release date: July 30, 2020
222
+
223
+ = 4.1.5 =
224
+ * Fixed: Google fonts not working when old configs used string vs an array for output.
225
+ * Release date: July 30, 2020
226
+
227
+ = 4.1.4 =
228
+ * Fixed: Google fonts loading over non-secure breaks fonts. Forced all SSL for Google fonts. :)
229
+ * Release date: July 30, 2020
230
+
231
+ = 4.1.3 =
232
+ * Fixed: Issue where theme devs tried to bypass the framework. Literally I made an empty file to fix their coding. :P
233
+ * Release date: July 29, 2020
234
+
235
+ = 4.1.2 =
236
+ * Fixed: Don't try to set empty defaults when none are present.
237
+ * Fixed: Issue where the WP Data argument was misused.
238
+ * Release date: July 29, 2020
239
+
240
+ = 4.1.1 =
241
+ * Fixed: CSS decode when esc_attr replaces the HTML characters and CSS outputs are set with >'s.
242
+ * Release date: July 29, 2020
243
+
244
+ = 4.1.0 =
245
+ * Fixed: Compatibility with certain themes using the deprecated $_is_plugin variable.
246
+ * Release date: July 29, 2020
247
+
248
+ = 4.0.9 =
249
+ * Fixed: Complete compatibility fix for older Redux extensions.
250
+ * Release date: July 28, 2020
251
+
252
+ = 4.0.8 =
253
+ * Fixed: Initial library load was failing on some server setups.
254
+ * Release date: July 28, 2020
255
+
256
+ = 4.0.7 =
257
+ * Fixed: Race condition for PHP include for Redux_Typography causing blank white screens.
258
+ * Release date: July 28, 2020
259
+
260
+ = 4.0.5 =
261
+ * Fixed: Issues where the site crashes because of varied ways Redux was called.
262
+ * Fixed: Varied implementations of opt_names resulting in option panels not working as expected.
263
+ * Release date: July 28, 2020
264
+
265
+ = 4.0.4 =
266
+ * Release date: July 24, 2020
267
+
268
+ == Frequently Asked Questions ==
269
+
270
+ = Who should use the Redux Block Library for Gutenberg? =
271
+
272
+ The Redux Block Library for Gutenberg is a complete package of unique and creative templates that will help you build beautiful pages and posts on a website. It is of value for everyone and for all who love Gutenberg.
273
+
274
+ = What are the requirements to use the Redux Library for Gutenberg? =
275
+
276
+ You only need to have the latest version of WordPress on your website, to begin with. Redux is for Gutenberg is basically an addon for the default WordPress block editor. Therefore, the latest WordPress installation along with a theme should be enough, to begin with.
277
+
278
+ = What themes does Redux Library for Gutenberg work with? =
279
+
280
+ Redux is built to work wonderfully with all themes.
281
+
282
+ = Can I use Redux for Gutenberg even while having another Page Builder? =
283
+
284
+ The basic need or requirement for Redux for Gutenberg is the latest WordPress version. Should you need help, you can <a href="https://redux.io/contact/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme" target="_blank" rel="">get in touch with us.</a>
285
+
286
+ = Can I use Redux for Gutenberg on client websites? =
287
+
288
+ Yes! You can certainly use Redux on yours as well as your client's websites.
289
+
290
+ = Will Redux slow down my website? =
291
+
292
+ Absolutely not! The Redux Library for Gutenberg plugin is built with ease and performance in mind. Its module architecture and the clean code keep it extremely fast. Every performance issue that seems to be coming from Redux is actually the integration code of third-party developers. If you're having issues let us know and we'll try to help you out.
redux-core/assets/css/redux-fields.min.css CHANGED
@@ -1,3 +1,3 @@
1
- .redux-container-ace_editor .ace-wrapper{position:static}.redux-container-ace_editor .ace_editor{height:200px;border-radius:3px}.redux-container-ace_editor .ace_gutter{z-index:1 !important}.redux-main .redux-container-background .redux-background-position,.redux-main .redux-container-background .redux-background-position select,.redux-main .redux-container-background .redux-background-attachment,.redux-main .redux-container-background .redux-background-attachment select,.redux-main .redux-container-background .redux-background-clip,.redux-main .redux-container-background .redux-background-clip select,.redux-main .redux-container-background .redux-background-origin,.redux-main .redux-container-background .redux-background-origin select,.redux-main .redux-container-background .redux-background-size,.redux-main .redux-container-background .redux-background-size select,.redux-main .redux-container-background .redux-background-repeat,.redux-main .redux-container-background .redux-background-repeat select{width:200px !important;margin-right:10px;margin-bottom:7px}.redux-main .redux-container-background .background-preview{display:block;width:100%;margin:5px 0 10px;border:1px dotted #d3d3d3}.redux-main .redux-container-background .select2-container{margin-right:10px;margin-bottom:10px}.redux-main .redux-container-background .wp-picker-container{margin-bottom:10px}.redux-main .redux-container-background .upload{width:100%;margin-bottom:8px}.redux-main .redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.wp-customizer .redux-container-background .redux-background-position,.wp-customizer .redux-container-background .redux-background-position select,.wp-customizer .redux-container-background .redux-background-attachment,.wp-customizer .redux-container-background .redux-background-attachment select,.wp-customizer .redux-container-background .redux-background-clip,.wp-customizer .redux-container-background .redux-background-clip select,.wp-customizer .redux-container-background .redux-background-origin,.wp-customizer .redux-container-background .redux-background-origin select,.wp-customizer .redux-container-background .redux-background-size,.wp-customizer .redux-container-background .redux-background-size select,.wp-customizer .redux-container-background .redux-background-repeat,.wp-customizer .redux-container-background .redux-background-repeat select{width:100% !important}.redux-container-border .select2-container{float:left;display:block;margin-right:10px}.redux-container-border .select_wrapper{float:left;width:inherit}.redux-container-border .select_wrapper select{width:80px;float:left}.redux-container-border .field-border-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-border .field-border-input input{display:inline-block !important;width:100px !important}.redux-container-border .field-border-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-border .select_wrapper{margin-top:6px}}.redux-container-checkbox label{vertical-align:top;width:100%}.redux-container-checkbox label .field-desc{margin-top:0;float:left;width:93%;clear:none}.redux-container-color_gradient .redux-gradient-preview{height:150px;margin-top:10px;border-radius:4px}.redux-container-color_gradient .colorGradient,.redux-container-color_gradient .redux-gradient-type{display:inline-block;margin-right:20px}.redux-container-color_gradient .colorGradient strong,.redux-container-color_gradient .redux-gradient-type strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;color:#999}@media screen and (max-width: 660px){.redux-container-color_gradient .colorGradient{display:block;text-align:center !important}}.sp-container{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer:focus,.sp-replacer:hover,.sp-replacer.focus,.sp-replacer.hover{background:#fafafa;border-color:#999;color:#222}.sp-replacer:focus,.sp-replacer.focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active,.sp-replacer.active:hover,.sp-replacer:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5)}#ui-datepicker-div{z-index:15 !important}.ui-datepicker-header{background-color:#00abef}.redux-main .divide{height:20px;line-height:20px;float:none;border-color:#e7e7e7;display:block;width:100%;height:35px !important;line-height:35px !important;position:relative;margin:15px 0 10px 0}.redux-main .divide .inner{width:42% !important;left:40% !important;margin-left:-6%;background-color:#fcfcfc;border-color:#e7e7e7;position:absolute;height:1px;top:50%;width:100%;margin-top:-1px;border-top-width:1px;border-top-style:solid}.redux-main .divide .inner span{background-color:#fcfcfc;border-color:#e7e7e7;height:5px;width:5px;border-width:2px;border-style:solid;display:block;position:absolute;left:50%;margin-left:-5px;margin-top:-5px}.wp-customizer .redux-container-divide .divide .inner{width:82% !important;left:18% !important;margin-left:-8%}.redux-dimensions-container select,.redux-dimensions-container .select_wrapper{width:80px !important;float:left}.redux-dimensions-container .field-dimensions-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-dimensions-container .field-dimensions-input input{display:inline-block !important;width:100px !important}.redux-dimensions-container .field-dimensions-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-dimensions-container .select_wrapper{margin-top:6px}}.redux-container-editor .mceLayout td{border-width:1px;margin:0;padding:1px}.redux-container-editor input,.redux-container-editor textarea{margin:inherit}.redux-container-editor textarea{border-style:none;border:0;border-width:0}.redux-container-editor .wp-editor-container{border-radius:3px}.redux-container-editor .wp-editor-container textarea{border-radius:0;border-style:inherit}.redux-container-editor .quicktags-toolbar input{margin:2px 1px 4px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial, Helvetica, sans-serif normal;color:#464646;border:1px solid #c3c3c3;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear, left bottom, left top, from(#e3e3e3), to(#fff));background-image:-webkit-linear-gradient(bottom, #e3e3e3, #fff);background-image:linear-gradient(to top, #e3e3e3, #fff)}.redux-container-image_select .redux-table-container{display:table;table-layout:fixed;width:100%}.redux-container-image_select .redux-image-select{margin:0 !important}.redux-container-image_select .redux-image-select .tiles{display:block;background-color:#fff;background-repeat:repeat;width:40px;height:40px}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select .tiles{border-color:#d9d9d9}.redux-container-image_select .redux-image-select li:last-child{margin-bottom:0}.redux-container-image_select .redux-image-select input[type="radio"]{display:none}.redux-container-image_select .redux-image-select-presets img{width:100%}.redux-container-image_select ul.redux-image-select li{margin:0 10px 3px 10px;display:inline-block;padding:2px 2px;padding-left:0}.redux-container-image_select .redux-image-select-selected{background-color:#f9f9f9}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select-selected img,.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-width:4px;border-style:solid}.redux-container-image_select .redux-image-select-selected .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-color:#7a7a7a}.redux-info-field{min-height:20px;padding:8px 19px;margin:10px 0;border:1px solid;border-radius:4px;border:1px solid;position:relative}.redux-info-field h1,.redux-info-field h2,.redux-info-field h3,.redux-info-field h4,.redux-info-field h5,.redux-info-field h6{border-bottom:0 !important}.redux-info-field h3{color:#777}.redux-info-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-info-field .redux-info-icon i{font-size:2em}.redux-info-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-info-field.redux-normal{background-color:#eee;border-color:#ccc;color:#666}.redux-info-field.redux-normal i{color:#c5c5c5}.redux-info-field.redux-warning{background-color:#fbeba4;border-color:#d7c281;color:#958234}.redux-info-field.redux-warning i{color:#dcca81}.redux-info-field.redux-success{background-color:#c4ee91;border-color:#71af5d;color:#4d7615}.redux-info-field.redux-success i{color:#a0ca6c}.redux-info-field.redux-critical{background-color:#fba1a3;border-color:#b84f5b;color:#981225}.redux-info-field.redux-critical i{color:#dd767d}.redux-info-field.redux-info{background-color:#d3e4f4;border-color:#a9b6c2;color:#5c80a1}.redux-info-field.redux-info i{color:#afc6da}.redux-notice-field{margin:15px 0 0;background-color:#fff;border:0;border-left:4px solid #f3f3f3;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px}.redux-notice-field h1,.redux-notice-field h2,.redux-notice-field h3,.redux-notice-field h4,.redux-notice-field h5,.redux-notice-field h6{border-bottom:0 !important}.redux-notice-field p{margin:0.5em 0;padding:2px}.redux-notice-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-notice-field .redux-info-icon i{font-size:2em}.redux-notice-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-notice-field.redux-info{border-left:4px solid #0099d5}.redux-notice-field.redux-success{border-left:4px solid #7ad03a}.redux-notice-field.redux-warning{border-left:4px solid #fbeba4}.redux-notice-field.redux-critical{border-left:4px solid #dd3d36}.redux-main .redux-field-container.redux-container-info{padding:0}.wp-customizer .hasIcon.redux-notice-field .redux-info-desc,.wp-customizer .hasIcon.redux-info-field .redux-info-desc{display:block;margin-left:43px}.wp-customizer .hasIcon.redux-notice-field .redux-info-icon,.wp-customizer .hasIcon.redux-info-field .redux-info-icon{float:left}.wp-customizer .redux-main .customize-control.customize-control-redux-info{border-bottom:0}.redux-container-link_color .linkColor{display:inline-block;padding-right:10px;padding-bottom:7px}.redux-container-link_color .linkColor strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;font-weight:normal;color:#999}.redux-container-multi_text ul.redux-multi-text{margin:0;padding:0}.redux-container-multi_text .redux-multi-text-add{clear:both;margin:5px 0}.redux-container-multi_text a.redux-multi-text-remove.deletion{color:#f00;padding:2px 4px;margin-left:5px}.redux-container-multi_text a.redux-multi-text-remove.deletion:hover{background:#ff0;color:#fff;text-decoration:none}@media screen and (max-width: 782px){.redux-container-multi_text input{clear:both}.redux-container-multi_text .redux-multi-text-remove{margin:0;float:right}}.wp-customizer .redux-container-multi_text .button{float:right}.wp-customizer .redux-container-multi_text .redux-multi-text-remove{float:right;margin-bottom:5px}.wp-customizer .redux-container-multi_text ul.redux-multi-text input{width:100% !important}.redux-main .redux-media-slider{width:40%;display:inline-block;margin-left:30px}.redux-main .redux-media-filter-container{padding-top:20px}.redux-main .redux-media-filter-container .container-label{margin-bottom:20px;padding-bottom:1px;border-bottom:1px solid #e7e7e7;font-weight:600;font-size:12px;color:#999}.redux-main .redux-media-filter-container .media-filter{display:inline-block;width:47%;margin-bottom:5px}.redux-main .redux-media-filter-container .media-filter label{display:inline-block;width:130px;color:#999}.redux-main .redux-media-filter-container .media-filter label.disabled .filter-value{color:#ccc}.redux-container-palette label{border:3px solid transparent;border-color:transparent !important;border-radius:0;width:100% !important;display:block}.redux-container-palette label.ui-button.ui-widget{width:95%;background:none;padding:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.redux-container-palette label.ui-button.ui-widget .ui-button-text span{padding:10px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:0;line-height:10px;color:rgba(0,0,0,0);-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;text-shadow:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text span:hover{-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;font-weight:bold;min-width:60px;font-size:12px;line-height:10px;color:#333;text-shadow:0 0 8px #fff, 0 0 8px #fff}.redux-container-palette label.ui-state-active{border:3px solid #333 !important}.wp-customizer .redux-main .redux-container-palette label{margin-bottom:3px}.redux-main .form-table-section-indented{width:95%;margin-left:5% !important}.redux-main .form-table-section tr:first-of-type th:first-of-type{padding:0px !important}.redux-main h3{margin-top:10px}.redux-main .form-table-section-indented>tbody>tr:first-child{display:none}.redux-main .form-table-section-indented>tbody>tr:nth-last-child(2){border-bottom:0}.redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.select2-search__field{width:none !important}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove,.select2-container--classic .select2-selection--single .select2-selection__clear{font-size:1.2em}.redux-container-select_image{margin-top:2px;margin-left:5px;width:100%;margin-bottom:0}.redux-preview-image{max-height:250px;max-width:250px;padding:5px;margin-top:10px;border:1px solid #e3e3e3;background:#f7f7f7;border-radius:3px}.redux-container-slider .redux-slider-container{margin-left:25px;margin-right:25px;width:200px;display:inline-block;vertical-align:middle}.redux-container-slider .redux-slider-input,.redux-container-slider .redux-slider-select-one,.redux-container-slider .redux-slider-select-two{width:100px !important;text-align:center}.redux-container-slider .redux-slider-label{position:absolute;margin-left:-5px}.redux-container-slider .redux-slider-label-one{position:absolute;margin-left:-22px}.redux-container-slider .redux-slider-label-two{position:absolute;margin-top:-21px;margin-left:245px}@media screen and (max-width: 782px){.redux-container-slider input{display:inline-block !important}}@media screen and (max-width: 570px){.redux-container-slider{text-align:center}.redux-container-slider input,.redux-container-slider select,.redux-container-slider .redux-slider-label,.redux-container-slider .select2-container{display:block !important;position:inherit;margin:10px auto}.redux-container-slider .redux-slider-container{margin-top:3px;width:80%}}.wp-customizer .redux-container-slider .redux-slider-label{float:left;position:inherit;width:25%;text-align:center;margin-left:0}.wp-customizer .redux-container-slider .redux-slider-input,.wp-customizer .redux-container-slider .redux-slider-select-one,.wp-customizer .redux-container-slider .redux-slider-select-two{width:25% !important}.wp-customizer .redux-container-slider .redux-slider-container{width:70%;margin-right:0;margin-left:5%}.redux-container-slides .redux-slides-list .select2-container{margin-bottom:10px;width:100%}.redux-container-slides .ui-accordion-header{margin-bottom:0}.redux-container-slides .full-text,.redux-container-slides .large-text{width:100%}.redux-container-slides .redux-slides-accordion-group{border:1px solid #dfdfdf !important;border-radius:3px !important;margin-top:0px !important;margin-bottom:10px;background:#f9f9f9;padding:5px}.redux-container-slides .redux-slides-accordion-group h3{border:1px solid #dfdfdf;cursor:move !important;font-weight:bold;padding:0 10px !important;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-slides #redux-slides-accordion .redux-slides-image{height:250px;padding:5px;margin-top:10px;margin-bottom:10px;border:1px solid #e3e3e3;background:#f7f7f7;border-radius:3px}.redux-container-slides .redux-slides-add{float:right;margin-right:10%;display:block;margin-bottom:10px}.redux-container-slides .redux-slides-remove{color:#ef521d !important;float:right;margin-top:5px}.redux-container-slides .redux-slides-header{font-weight:bold}.redux-container-slides .redux_slides_add_remove{margin-bottom:10px}.redux-container-slides input{width:100% !important}.wp-customizer .redux-container-slides .ui-accordion .ui-accordion-content{padding:10px}.redux-container-sortable i.el,.redux-container-sortable i.dashicons-menu{cursor:move;padding-top:5px}.redux-container-sortable label{margin-right:10px}.redux-container-sortable label.bugger{margin-bottom:0px !important;font-size:12px !important;color:#999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:100%}.redux-container-sortable .checkbox-container label{margin-bottom:2px !important;cursor:inherit}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable ul.checkbox li{padding:5px 10px;border:1px solid #333;background:#fff;margin-bottom:5px !important}.redux-container-sortable ul.checkbox li .dashicons.visibility{padding-top:4px;margin-right:10px;cursor:pointer}.redux-container-sortable ul.checkbox li.invisible{color:#aaa;border:1px dashed #aaa}.redux-container-sortable ul.checkbox li.invisible .dashicons.visibility{color:#aaa}.redux-container-sortable ul.labeled li{line-height:1.4em !important}.redux-container-sortable li{line-height:30px !important}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0}.wp-customizer .redux-sortable input[type="text"]{width:92%}.wp-customizer .redux-sortable i.el{margin-left:5px}.wp-customizer .redux-container-sortable .checkbox-container{width:inherit}.wp-customizer .redux-container-sortable .ui-draggable-handle{margin-left:3%}.redux-container-sorter{margin-right:-20px}.redux-container-sorter ul{background:#f9f9f9;border:1px solid #e3e3e3;min-height:40px;padding:10px 10px 0;width:145px;float:left;margin:0 15px 0 0}.redux-container-sorter ul.filled{opacity:0.7;filter:alpha(opacity=70);background:#efecec}.redux-container-sorter ul li{border:1px solid #dfdfdf;cursor:move;font-weight:bold;margin-bottom:10px !important;padding:0 10px;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-sorter ul li h3{margin:0 0 10px;text-align:center;color:#777;text-transform:capitalize;word-wrap:break-word}.redux-container-sorter ul li.placeholder{height:40px}.wp-customizer .redux-container-sorter ul{width:85%;margin:0 0 5px 0}.redux-container-spacing select,.redux-container-spacing .select_wrapper{width:80px !important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-spacing .field-spacing-input input{display:inline-block !important;width:70px !important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}}.redux-container-spinner .spinner-wrpr{position:relative;display:block;height:30px;overflow:hidden}.redux-container-spinner .spinner-wrpr .spinner-input{position:relative !important;z-index:1;width:75px !important;height:30px !important;background:#eee !important;border:1px solid #bfbfbf !important;border-right:0 !important;border-left:0 !important;border-radius:0 !important}.redux-container-spinner .ui-spinner{position:static;display:inline}.redux-container-spinner .ui-spinner-buttons{position:absolute;padding:0}.redux-container-spinner .ui-widget .ui-spinner-button{color:#fff;position:absolute;top:0;padding:0 0 30px;overflow:hidden;cursor:pointer;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#f3f3f3));background:-webkit-linear-gradient(#fff, #f3f3f3);background:linear-gradient(#fff, #f3f3f3);background-color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}.redux-container-spinner .ui-spinner-button:hover,.redux-container-spinner .ui-state-hover{background:-webkit-gradient(linear, left top, left bottom, from(#f3f3f3), to(#fff));background:-webkit-linear-gradient(#f3f3f3, #fff);background:linear-gradient(#f3f3f3, #fff);background-color:#f3f3f3}.redux-container-spinner .ui-corner-tr,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{border-radius:0 3px 3px 0}.redux-container-spinner .ui-corner-br,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{border-radius:3px 0 0 3px}.redux-container-spinner .ui-spinner-button .ui-icon{top:0;display:block;width:28px;height:28px;margin:0;border:1px solid #b7b7b7;background-image:initial;text-indent:0;text-align:center;font-size:18px;line-height:26px}.dp-numberPicker,.dp-numberPicker-add,.dp-numberPicker-sub,.dp-numberPicker-input{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-box-sizing:border-box;text-align:center;vertical-align:top;height:30px}.dp-numberPicker{border-radius:3px}.redux-container .redux-container-spinner .dp-numberPicker-add,.redux-container .redux-container-spinner .dp-numberPicker-sub{width:30px;font-size:21px;cursor:pointer;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;background-color:#33b5e5;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);height:29px !important}.redux-container .redux-container-spinner .dp-numberPicker-add.disabled,.redux-container .redux-container-spinner .dp-numberPicker-sub.disabled{background-color:#2c6a81}.dp-numberPicker-add{border-top-right-radius:3px;border-bottom-right-radius:3px}.dp-numberPicker-sub{border-top-left-radius:3px;border-bottom-left-radius:3px}.dp-numberPicker-input{width:70px;background-color:#eee;border:0;margin:0 !important;-webkit-box-shadow:inset 0px 1px 1px rgba(255,255,255,0.5),inset 0px -1px 1px rgba(0,0,0,0.5);box-shadow:inset 0px 1px 1px rgba(255,255,255,0.5),inset 0px -1px 1px rgba(0,0,0,0.5)}.dp-numberPicker-input:disabled{background-color:#eee}.redux-container-switch .switch-options{min-height:30px;margin-right:10px}.redux-container-switch .switch-options label{cursor:pointer}.redux-container-switch .switch-options input{display:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable{padding:0 10px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box}.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{line-height:30px;display:block;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable,.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{display:block;float:left}.redux-container-switch .cb-enable{border-right:0;border-radius:3px 0px 0px 3px;-moz-border-radius:3px 0px 0px 3px;-webkit-border-radius:3px 0px 0px 3px}.redux-container-switch .cb-enable.selected{color:#fff}.redux-container-switch .cb-disable{border-left:0;border-radius:0px 3px 3px 0px;-moz-border-radius:0px 3px 3px 0px;-webkit-border-radius:0px 3px 3px 0px}.redux-container-switch .cb-disable.selected{color:#fff}.redux-container-text label{display:block;position:relative;font-size:12px !important;text-align:left;color:#999;margin:4px 0 2px 0 !important;cursor:default;top:5px;width:100px}.redux-container-text input{clear:left}.redux-container-text .input_wrapper{display:block;position:relative;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:left;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.wp-customizer .redux-container-text .input_wrapper{width:100%;max-width:100%;height:auto}.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix::after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.redux-main .redux-typography-container input.wp-picker-default,.redux-main .redux-typography-container .redux-typography-color{-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0 14px !important;margin-top:0;margin-bottom:0;font-size:12px !important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48% !important;min-width:210px !important;max-width:324px !important;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper:nth-child(even){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px !important;display:block;float:left;height:28px !important;line-height:50px !important;padding:0 !important;width:100% !important;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;position:relative;margin:0;padding:0;width:100%;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{position:relative;font-size:12px !important;text-align:left;color:#999;width:100%;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted #d3d3d3;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0 none;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width: 540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0 !important;margin-right:0 !important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0 !important;margin-right:5px !important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px !important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}}@media screen and (max-width: 360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}}.wp-customizer .redux-typography-container .input_wrapper{width:40%;max-width:40%;min-width:20%}.wp-customizer .redux-typography-container .input_wrapper input.mini{width:70%}.wp-customizer .redux-typography-container .select_wrapper{width:100% !important}.wp-customizer .redux-container{overflow:visible}.wp-customizer .redux-container .redux-main input{margin:0 !important}.wp-customizer .redux-container .redux-main input.spinner-input{margin-right:30px !important;margin-left:30px !important;margin-top:0px !important}.wp-customizer .redux-section p.customize-section-description{margin-top:22px;word-break:break-word}.wp-customizer .redux-section p.customize-section-description.legacy{margin-top:7px}.wp-customizer .control-section-themes .accordion-section-title{margin:0}.wp-customizer #customize-controls .description{display:block}.wp-customizer #customize-controls .customize-info{margin-bottom:0}.wp-customizer #customize-controls .redux-section .accordion-section-content{background:#fcfcfc}.wp-customizer .redux-section .accordion-section-title i,.wp-customizer .redux-field .accordion-field-title i,.wp-customizer .redux-panel .accordion-section-title i{margin-right:5px}.wp-customizer .accordion-section.redux-main{background:inherit;margin-left:inherit;border-left:inherit;-moz-box-shadow:inherit;-webkit-box-shadow:inherit;padding:inherit;box-shadow:inherit}.wp-customizer .redux_field_th{padding:13px 0px 0px 0px}.wp-customizer .redux-main .redux-field-container{padding:10px 0}.wp-customizer .redux-main .select_wrapper{float:none;width:100%;display:inline-block}.wp-customizer .redux-main .select2-container{margin-right:0 !important;margin-bottom:5px !important;width:100% !important}.wp-customizer .redux-main .select_wrapper:nth-child(odd){margin-right:0}.wp-customizer .redux-main .redux-option-image{max-width:42% !important;margin-right:3%}.wp-customizer .redux-main .customize-control{border-bottom:1px solid #ddd;padding-bottom:4px}.wp-customizer .redux-main .customize-control:last-child{border-bottom:0;padding-bottom:0}.wp-customizer .redux-main .upload{width:100% !important}.wp-customizer .redux-main h3{margin-top:inherit}.wp-customizer .redux-main .redux-container-raw{margin-top:22px;word-break:break-word;padding:0 !important}.wp-customizer .redux-main .redux-container-password input{width:100%}.wp-customizer .select2-drop,.wp-customizer .select2-container{z-index:999999}.wp-customizer .customize-control-redux-raw{list-style:none}#redux-import-link-wrapper,#redux-import-code-wrapper{display:none}#redux-export-code,#redux-export-link-value{display:none}#redux-import-action span{color:#b94a48}#redux-object-browser{overflow:auto;word-wrap:break-word;max-height:600px;max-width:100%}
2
 
3
  /*# sourceMappingURL=redux-fields.min.css.map */
1
+ .redux-container-ace_editor .ace-wrapper{position:static}.redux-container-ace_editor .ace_editor{height:200px;border-radius:3px}.redux-container-ace_editor .ace_gutter{z-index:1 !important}.redux-main .redux-container-background .redux-background-position,.redux-main .redux-container-background .redux-background-position select,.redux-main .redux-container-background .redux-background-attachment,.redux-main .redux-container-background .redux-background-attachment select,.redux-main .redux-container-background .redux-background-clip,.redux-main .redux-container-background .redux-background-clip select,.redux-main .redux-container-background .redux-background-origin,.redux-main .redux-container-background .redux-background-origin select,.redux-main .redux-container-background .redux-background-size,.redux-main .redux-container-background .redux-background-size select,.redux-main .redux-container-background .redux-background-repeat,.redux-main .redux-container-background .redux-background-repeat select{width:200px !important;margin-right:10px;margin-bottom:7px}.redux-main .redux-container-background .background-preview{display:block;width:100%;margin:5px 0 10px;border:1px dotted #d3d3d3}.redux-main .redux-container-background .select2-container{margin-right:10px;margin-bottom:10px}.redux-main .redux-container-background .wp-picker-container{margin-bottom:10px}.redux-main .redux-container-background .upload{width:100%;margin-bottom:8px}.redux-main .redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.wp-customizer .redux-container-background .redux-background-position,.wp-customizer .redux-container-background .redux-background-position select,.wp-customizer .redux-container-background .redux-background-attachment,.wp-customizer .redux-container-background .redux-background-attachment select,.wp-customizer .redux-container-background .redux-background-clip,.wp-customizer .redux-container-background .redux-background-clip select,.wp-customizer .redux-container-background .redux-background-origin,.wp-customizer .redux-container-background .redux-background-origin select,.wp-customizer .redux-container-background .redux-background-size,.wp-customizer .redux-container-background .redux-background-size select,.wp-customizer .redux-container-background .redux-background-repeat,.wp-customizer .redux-container-background .redux-background-repeat select{width:100% !important}.redux-container-border .select2-container{float:left;display:block;margin-right:10px}.redux-container-border .select_wrapper{float:left;width:inherit}.redux-container-border .select_wrapper select{width:80px;float:left}.redux-container-border .field-border-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-border .field-border-input input{display:inline-block !important;width:100px !important}.redux-container-border .field-border-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-border .select_wrapper{margin-top:6px}}.redux-container-checkbox label{vertical-align:top;width:100%}.redux-container-checkbox label .field-desc{margin-top:0;float:left;width:93%;clear:none}.redux-container-color_gradient .redux-gradient-preview{height:150px;margin-top:10px;border-radius:4px}.redux-container-color_gradient .colorGradient,.redux-container-color_gradient .redux-gradient-type{display:inline-block;margin-right:20px}.redux-container-color_gradient .colorGradient strong,.redux-container-color_gradient .redux-gradient-type strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;color:#999}@media screen and (max-width: 660px){.redux-container-color_gradient .colorGradient{display:block;text-align:center !important}}.sp-container{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer:focus,.sp-replacer:hover,.sp-replacer.focus,.sp-replacer.hover{background:#fafafa;border-color:#999;color:#222}.sp-replacer:focus,.sp-replacer.focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active,.sp-replacer.active:hover,.sp-replacer:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5)}#ui-datepicker-div{z-index:15 !important}.ui-datepicker-header{background-color:#00abef}.redux-dimensions-container select,.redux-dimensions-container .select_wrapper{width:80px !important;float:left}.redux-dimensions-container .field-dimensions-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-dimensions-container .field-dimensions-input input{display:inline-block !important;width:100px !important}.redux-dimensions-container .field-dimensions-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-dimensions-container .select_wrapper{margin-top:6px}}.redux-main .divide{height:20px;line-height:20px;float:none;border-color:#e7e7e7;display:block;width:100%;height:35px !important;line-height:35px !important;position:relative;margin:15px 0 10px 0}.redux-main .divide .inner{width:42% !important;left:40% !important;margin-left:-6%;background-color:#fcfcfc;border-color:#e7e7e7;position:absolute;height:1px;top:50%;width:100%;margin-top:-1px;border-top-width:1px;border-top-style:solid}.redux-main .divide .inner span{background-color:#fcfcfc;border-color:#e7e7e7;height:5px;width:5px;border-width:2px;border-style:solid;display:block;position:absolute;left:50%;margin-left:-5px;margin-top:-5px}.wp-customizer .redux-container-divide .divide .inner{width:82% !important;left:18% !important;margin-left:-8%}.redux-container-editor .mceLayout td{border-width:1px;margin:0;padding:1px}.redux-container-editor input,.redux-container-editor textarea{margin:inherit}.redux-container-editor textarea{border-style:none;border:0;border-width:0}.redux-container-editor .wp-editor-container{border-radius:3px}.redux-container-editor .wp-editor-container textarea{border-radius:0;border-style:inherit}.redux-container-editor .quicktags-toolbar input{margin:2px 1px 4px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial, Helvetica, sans-serif normal;color:#464646;border:1px solid #c3c3c3;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear, left bottom, left top, from(#e3e3e3), to(#fff));background-image:-webkit-linear-gradient(bottom, #e3e3e3, #fff);background-image:linear-gradient(to top, #e3e3e3, #fff)}.redux-container-image_select .redux-table-container{display:table;table-layout:fixed;width:100%}.redux-container-image_select .redux-image-select{margin:0 !important}.redux-container-image_select .redux-image-select .tiles{display:block;background-color:#fff;background-repeat:repeat;width:40px;height:40px}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select .tiles{border-color:#d9d9d9}.redux-container-image_select .redux-image-select li:last-child{margin-bottom:0}.redux-container-image_select .redux-image-select input[type="radio"]{display:none}.redux-container-image_select .redux-image-select-presets img{width:100%}.redux-container-image_select ul.redux-image-select li{margin:0 10px 3px 10px;display:inline-block;padding:2px 2px;padding-left:0}.redux-container-image_select .redux-image-select-selected{background-color:#f9f9f9}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select-selected img,.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-width:4px;border-style:solid}.redux-container-image_select .redux-image-select-selected .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-color:#7a7a7a}.redux-info-field{min-height:20px;padding:8px 19px;margin:10px 0;border:1px solid;border-radius:4px;border:1px solid;position:relative}.redux-info-field h1,.redux-info-field h2,.redux-info-field h3,.redux-info-field h4,.redux-info-field h5,.redux-info-field h6{border-bottom:0 !important}.redux-info-field h3{color:#777}.redux-info-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-info-field .redux-info-icon i{font-size:2em}.redux-info-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-info-field.redux-normal{background-color:#eee;border-color:#ccc;color:#666}.redux-info-field.redux-normal i{color:#c5c5c5}.redux-info-field.redux-warning{background-color:#fbeba4;border-color:#d7c281;color:#958234}.redux-info-field.redux-warning i{color:#dcca81}.redux-info-field.redux-success{background-color:#c4ee91;border-color:#71af5d;color:#4d7615}.redux-info-field.redux-success i{color:#a0ca6c}.redux-info-field.redux-critical{background-color:#fba1a3;border-color:#b84f5b;color:#981225}.redux-info-field.redux-critical i{color:#dd767d}.redux-info-field.redux-info{background-color:#d3e4f4;border-color:#a9b6c2;color:#5c80a1}.redux-info-field.redux-info i{color:#afc6da}.redux-notice-field{margin:15px 0 0;background-color:#fff;border:0;border-left:4px solid #f3f3f3;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px}.redux-notice-field h1,.redux-notice-field h2,.redux-notice-field h3,.redux-notice-field h4,.redux-notice-field h5,.redux-notice-field h6{border-bottom:0 !important}.redux-notice-field p{margin:0.5em 0;padding:2px}.redux-notice-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-notice-field .redux-info-icon i{font-size:2em}.redux-notice-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-notice-field.redux-info{border-left:4px solid #0099d5}.redux-notice-field.redux-success{border-left:4px solid #7ad03a}.redux-notice-field.redux-warning{border-left:4px solid #fbeba4}.redux-notice-field.redux-critical{border-left:4px solid #dd3d36}.redux-main .redux-field-container.redux-container-info{padding:0}.wp-customizer .hasIcon.redux-notice-field .redux-info-desc,.wp-customizer .hasIcon.redux-info-field .redux-info-desc{display:block;margin-left:43px}.wp-customizer .hasIcon.redux-notice-field .redux-info-icon,.wp-customizer .hasIcon.redux-info-field .redux-info-icon{float:left}.wp-customizer .redux-main .customize-control.customize-control-redux-info{border-bottom:0}.redux-main .redux-media-slider{width:40%;display:inline-block;margin-left:30px}.redux-main .redux-media-filter-container{padding-top:20px}.redux-main .redux-media-filter-container .container-label{margin-bottom:20px;padding-bottom:1px;border-bottom:1px solid #e7e7e7;font-weight:600;font-size:12px;color:#999}.redux-main .redux-media-filter-container .media-filter{display:inline-block;width:47%;margin-bottom:5px}.redux-main .redux-media-filter-container .media-filter label{display:inline-block;width:130px;color:#999}.redux-main .redux-media-filter-container .media-filter label.disabled .filter-value{color:#ccc}.redux-container-link_color .linkColor{display:inline-block;padding-right:10px;padding-bottom:7px}.redux-container-link_color .linkColor strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;font-weight:normal;color:#999}.redux-container-multi_text ul.redux-multi-text{margin:0;padding:0}.redux-container-multi_text .redux-multi-text-add{clear:both;margin:5px 0}.redux-container-multi_text a.redux-multi-text-remove.deletion{color:#f00;padding:2px 4px;margin-left:5px}.redux-container-multi_text a.redux-multi-text-remove.deletion:hover{background:#ff0;color:#fff;text-decoration:none}@media screen and (max-width: 782px){.redux-container-multi_text input{clear:both}.redux-container-multi_text .redux-multi-text-remove{margin:0;float:right}}.wp-customizer .redux-container-multi_text .button{float:right}.wp-customizer .redux-container-multi_text .redux-multi-text-remove{float:right;margin-bottom:5px}.wp-customizer .redux-container-multi_text ul.redux-multi-text input{width:100% !important}.redux-container-palette label{border:3px solid transparent;border-color:transparent !important;border-radius:0;width:100% !important;display:block}.redux-container-palette label.ui-button.ui-widget{width:95%;background:none;padding:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.redux-container-palette label.ui-button.ui-widget .ui-button-text span{padding:10px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:0;line-height:10px;color:rgba(0,0,0,0);-webkit-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;text-shadow:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text span:hover{-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;font-weight:bold;min-width:60px;font-size:12px;line-height:10px;color:#333;text-shadow:0 0 8px #fff, 0 0 8px #fff}.redux-container-palette label.ui-state-active{border:3px solid #333 !important}.wp-customizer .redux-main .redux-container-palette label{margin-bottom:3px}.redux-main .form-table-section-indented{width:95%;margin-left:5% !important}.redux-main .form-table-section tr:first-of-type th:first-of-type{padding:0px !important}.redux-main h3{margin-top:10px}.redux-main .form-table-section-indented>tbody>tr:first-child{display:none}.redux-main .form-table-section-indented>tbody>tr:nth-last-child(2){border-bottom:0}.redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.select2-search__field{width:none !important}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove,.select2-container--classic .select2-selection--single .select2-selection__clear{font-size:1.2em}.redux-container-select_image{margin-top:2px;margin-left:5px;width:100%;margin-bottom:0}.redux-preview-image{max-height:250px;max-width:250px;padding:5px;margin-top:10px;border:1px solid #e3e3e3;background:#f7f7f7;border-radius:3px}.redux-container-slider .redux-slider-container{margin-left:25px;margin-right:25px;width:200px;display:inline-block;vertical-align:middle}.redux-container-slider .redux-slider-input,.redux-container-slider .redux-slider-select-one,.redux-container-slider .redux-slider-select-two{width:100px !important;text-align:center}.redux-container-slider .redux-slider-label{position:absolute;margin-left:-5px}.redux-container-slider .redux-slider-label-one{position:absolute;margin-left:-22px}.redux-container-slider .redux-slider-label-two{position:absolute;margin-top:-21px;margin-left:245px}@media screen and (max-width: 782px){.redux-container-slider input{display:inline-block !important}}@media screen and (max-width: 570px){.redux-container-slider{text-align:center}.redux-container-slider input,.redux-container-slider select,.redux-container-slider .redux-slider-label,.redux-container-slider .select2-container{display:block !important;position:inherit;margin:10px auto}.redux-container-slider .redux-slider-container{margin-top:3px;width:80%}}.wp-customizer .redux-container-slider .redux-slider-label{float:left;position:inherit;width:25%;text-align:center;margin-left:0}.wp-customizer .redux-container-slider .redux-slider-input,.wp-customizer .redux-container-slider .redux-slider-select-one,.wp-customizer .redux-container-slider .redux-slider-select-two{width:25% !important}.wp-customizer .redux-container-slider .redux-slider-container{width:70%;margin-right:0;margin-left:5%}.redux-container-sortable i.el,.redux-container-sortable i.dashicons-menu{cursor:move;padding-top:5px}.redux-container-sortable label{margin-right:10px}.redux-container-sortable label.bugger{margin-bottom:0px !important;font-size:12px !important;color:#999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:100%}.redux-container-sortable .checkbox-container label{margin-bottom:2px !important;cursor:inherit}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable ul.checkbox li{padding:5px 10px;border:1px solid #333;background:#fff;margin-bottom:5px !important}.redux-container-sortable ul.checkbox li .dashicons.visibility{padding-top:4px;margin-right:10px;cursor:pointer}.redux-container-sortable ul.checkbox li.invisible{color:#aaa;border:1px dashed #aaa}.redux-container-sortable ul.checkbox li.invisible .dashicons.visibility{color:#aaa}.redux-container-sortable ul.labeled li{line-height:1.4em !important}.redux-container-sortable li{line-height:30px !important}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0}.wp-customizer .redux-sortable input[type="text"]{width:92%}.wp-customizer .redux-sortable i.el{margin-left:5px}.wp-customizer .redux-container-sortable .checkbox-container{width:inherit}.wp-customizer .redux-container-sortable .ui-draggable-handle{margin-left:3%}.redux-container-slides .redux-slides-list .select2-container{margin-bottom:10px;width:100%}.redux-container-slides .ui-accordion-header{margin-bottom:0}.redux-container-slides .full-text,.redux-container-slides .large-text{width:100%}.redux-container-slides .redux-slides-accordion-group{border:1px solid #dfdfdf !important;border-radius:3px !important;margin-top:0px !important;margin-bottom:10px;background:#f9f9f9;padding:5px}.redux-container-slides .redux-slides-accordion-group h3{border:1px solid #dfdfdf;cursor:move !important;font-weight:bold;padding:0 10px !important;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-slides #redux-slides-accordion .redux-slides-image{height:250px;padding:5px;margin-top:10px;margin-bottom:10px;border:1px solid #e3e3e3;background:#f7f7f7;border-radius:3px}.redux-container-slides .redux-slides-add{float:right;margin-right:10%;display:block;margin-bottom:10px}.redux-container-slides .redux-slides-remove{color:#ef521d !important;float:right;margin-top:5px}.redux-container-slides .redux-slides-header{font-weight:bold}.redux-container-slides .redux_slides_add_remove{margin-bottom:10px}.redux-container-slides input{width:100% !important}.wp-customizer .redux-container-slides .ui-accordion .ui-accordion-content{padding:10px}.redux-container-sorter{margin-right:-20px}.redux-container-sorter ul{background:#f9f9f9;border:1px solid #e3e3e3;min-height:40px;padding:10px 10px 0;width:145px;float:left;margin:0 15px 0 0}.redux-container-sorter ul.filled{opacity:0.7;filter:alpha(opacity=70);background:#efecec}.redux-container-sorter ul li{border:1px solid #dfdfdf;cursor:move;font-weight:bold;margin-bottom:10px !important;padding:0 10px;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-sorter ul li h3{margin:0 0 10px;text-align:center;color:#777;text-transform:capitalize;word-wrap:break-word}.redux-container-sorter ul li.placeholder{height:40px}.wp-customizer .redux-container-sorter ul{width:85%;margin:0 0 5px 0}.redux-container-spacing select,.redux-container-spacing .select_wrapper{width:80px !important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-spacing .field-spacing-input input{display:inline-block !important;width:70px !important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}}.redux-container-spinner .spinner-wrpr{position:relative;display:block;height:30px;overflow:hidden}.redux-container-spinner .spinner-wrpr .spinner-input{position:relative !important;z-index:1;width:75px !important;height:30px !important;background:#eee !important;border:1px solid #bfbfbf !important;border-right:0 !important;border-left:0 !important;border-radius:0 !important}.redux-container-spinner .ui-spinner{position:static;display:inline}.redux-container-spinner .ui-spinner-buttons{position:absolute;padding:0}.redux-container-spinner .ui-widget .ui-spinner-button{color:#fff;position:absolute;top:0;padding:0 0 30px;overflow:hidden;cursor:pointer;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#f3f3f3));background:-webkit-linear-gradient(#fff, #f3f3f3);background:linear-gradient(#fff, #f3f3f3);background-color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none}.redux-container-spinner .ui-spinner-button:hover,.redux-container-spinner .ui-state-hover{background:-webkit-gradient(linear, left top, left bottom, from(#f3f3f3), to(#fff));background:-webkit-linear-gradient(#f3f3f3, #fff);background:linear-gradient(#f3f3f3, #fff);background-color:#f3f3f3}.redux-container-spinner .ui-corner-tr,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{border-radius:0 3px 3px 0}.redux-container-spinner .ui-corner-br,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{border-radius:3px 0 0 3px}.redux-container-spinner .ui-spinner-button .ui-icon{top:0;display:block;width:28px;height:28px;margin:0;border:1px solid #b7b7b7;background-image:initial;text-indent:0;text-align:center;font-size:18px;line-height:26px}.dp-numberPicker,.dp-numberPicker-add,.dp-numberPicker-sub,.dp-numberPicker-input{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-box-sizing:border-box;text-align:center;vertical-align:top;height:30px}.dp-numberPicker{border-radius:3px}.redux-container .redux-container-spinner .dp-numberPicker-add,.redux-container .redux-container-spinner .dp-numberPicker-sub{width:30px;font-size:21px;cursor:pointer;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;background-color:#33b5e5;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);height:29px !important}.redux-container .redux-container-spinner .dp-numberPicker-add.disabled,.redux-container .redux-container-spinner .dp-numberPicker-sub.disabled{background-color:#2c6a81}.dp-numberPicker-add{border-top-right-radius:3px;border-bottom-right-radius:3px}.dp-numberPicker-sub{border-top-left-radius:3px;border-bottom-left-radius:3px}.dp-numberPicker-input{width:70px;background-color:#eee;border:0;margin:0 !important;-webkit-box-shadow:inset 0px 1px 1px rgba(255,255,255,0.5),inset 0px -1px 1px rgba(0,0,0,0.5);box-shadow:inset 0px 1px 1px rgba(255,255,255,0.5),inset 0px -1px 1px rgba(0,0,0,0.5)}.dp-numberPicker-input:disabled{background-color:#eee}.redux-container-switch .switch-options{min-height:30px;margin-right:10px}.redux-container-switch .switch-options label{cursor:pointer}.redux-container-switch .switch-options input{display:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable{padding:0 10px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box}.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{line-height:30px;display:block;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable,.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{display:block;float:left}.redux-container-switch .cb-enable{border-right:0;border-radius:3px 0px 0px 3px;-moz-border-radius:3px 0px 0px 3px;-webkit-border-radius:3px 0px 0px 3px}.redux-container-switch .cb-enable.selected{color:#fff}.redux-container-switch .cb-disable{border-left:0;border-radius:0px 3px 3px 0px;-moz-border-radius:0px 3px 3px 0px;-webkit-border-radius:0px 3px 3px 0px}.redux-container-switch .cb-disable.selected{color:#fff}.redux-container-text label{display:block;position:relative;font-size:12px !important;text-align:left;color:#999;margin:4px 0 2px 0 !important;cursor:default;top:5px;width:100px}.redux-container-text input{clear:left}.redux-container-text .input_wrapper{display:block;position:relative;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:left;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.wp-customizer .redux-container-text .input_wrapper{width:100%;max-width:100%;height:auto}.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix::after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.redux-main .redux-typography-container input.wp-picker-default,.redux-main .redux-typography-container .redux-typography-color{-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0 14px !important;margin-top:0;margin-bottom:0;font-size:12px !important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48% !important;min-width:210px !important;max-width:324px !important;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper:nth-child(even){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px !important;display:block;float:left;height:28px !important;line-height:50px !important;padding:0 !important;width:100% !important;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;position:relative;margin:0;padding:0;width:100%;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{position:relative;font-size:12px !important;text-align:left;color:#999;width:100%;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted #d3d3d3;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0 none;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width: 540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0 !important;margin-right:0 !important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0 !important;margin-right:5px !important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px !important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}}@media screen and (max-width: 360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}}.wp-customizer .redux-typography-container .input_wrapper{width:40%;max-width:40%;min-width:20%}.wp-customizer .redux-typography-container .input_wrapper input.mini{width:70%}.wp-customizer .redux-typography-container .select_wrapper{width:100% !important}.wp-customizer .redux-container{overflow:visible}.wp-customizer .redux-container .redux-main input{margin:0 !important}.wp-customizer .redux-container .redux-main input.spinner-input{margin-right:30px !important;margin-left:30px !important;margin-top:0px !important}.wp-customizer .redux-section p.customize-section-description{margin-top:22px;word-break:break-word}.wp-customizer .redux-section p.customize-section-description.legacy{margin-top:7px}.wp-customizer .control-section-themes .accordion-section-title{margin:0}.wp-customizer #customize-controls .description{display:block}.wp-customizer #customize-controls .customize-info{margin-bottom:0}.wp-customizer #customize-controls .redux-section .accordion-section-content{background:#fcfcfc}.wp-customizer .redux-section .accordion-section-title i,.wp-customizer .redux-field .accordion-field-title i,.wp-customizer .redux-panel .accordion-section-title i{margin-right:5px}.wp-customizer .accordion-section.redux-main{background:inherit;margin-left:inherit;border-left:inherit;-moz-box-shadow:inherit;-webkit-box-shadow:inherit;padding:inherit;box-shadow:inherit}.wp-customizer .redux_field_th{padding:13px 0px 0px 0px}.wp-customizer .redux-main .redux-field-container{padding:10px 0}.wp-customizer .redux-main .select_wrapper{float:none;width:100%;display:inline-block}.wp-customizer .redux-main .select2-container{margin-right:0 !important;margin-bottom:5px !important;width:100% !important}.wp-customizer .redux-main .select_wrapper:nth-child(odd){margin-right:0}.wp-customizer .redux-main .redux-option-image{max-width:42% !important;margin-right:3%}.wp-customizer .redux-main .customize-control{border-bottom:1px solid #ddd;padding-bottom:4px}.wp-customizer .redux-main .customize-control:last-child{border-bottom:0;padding-bottom:0}.wp-customizer .redux-main .upload{width:100% !important}.wp-customizer .redux-main h3{margin-top:inherit}.wp-customizer .redux-main .redux-container-raw{margin-top:22px;word-break:break-word;padding:0 !important}.wp-customizer .redux-main .redux-container-password input{width:100%}.wp-customizer .select2-drop,.wp-customizer .select2-container{z-index:999999}.wp-customizer .customize-control-redux-raw{list-style:none}#redux-import-link-wrapper,#redux-import-code-wrapper{display:none}#redux-export-code,#redux-export-link-value{display:none}#redux-import-action span{color:#b94a48}#redux-object-browser{overflow:auto;word-wrap:break-word;max-height:600px;max-width:100%}
2
 
3
  /*# sourceMappingURL=redux-fields.min.css.map */
redux-core/assets/css/redux-fields.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["redux-fields.min.css"],"names":[],"mappings":"AAAA,yCAAyC,eAAe,CAAC,wCAAwC,YAAY,CAAkD,iBAAiB,CAAC,wCAAwC,oBAAoB,CAAC,0zBAA0zB,sBAAsB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,4DAA4D,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,2DAA2D,iBAAiB,CAAC,kBAAkB,CAAC,6DAA6D,kBAAkB,CAAC,gDAAgD,UAAU,CAAC,iBAAiB,CAAC,0DAA0D,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,81BAA81B,qBAAqB,CAAC,2CAA2C,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,wCAAwC,UAAU,CAAC,aAAa,CAAC,+CAA+C,UAAU,CAAC,UAAU,CAAC,4CAA4C,iBAAiB,CAAC,iBAAiB,CAAC,qCAAqC,kDAAkD,+BAA+B,CAAC,sBAAsB,CAAC,oDAAoD,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,wCAAwC,cAAc,CAAC,CAAC,gCAAgC,kBAAkB,CAAC,UAAU,CAAC,4CAA4C,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,wDAAwD,YAAY,CAAC,eAAe,CAAC,iBAAiB,CAAC,oGAAoG,oBAAoB,CAAC,iBAAiB,CAAC,kHAAkH,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,qCAAqC,+CAA+C,aAAa,CAAC,4BAA4B,CAAC,CAAC,cAAc,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,8DAA8D,CAAC,sDAAsD,CAAC,kBAAkB,CAAC,aAAa,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,8DAA8D,CAAC,sDAAsD,CAAC,kBAAkB,CAAC,4EAA4E,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,sCAAsC,qEAAqE,CAAC,6DAA6D,CAAC,0BAA0B,0GAA0G,CAAC,kGAAkG,CAAC,kEAAkE,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,uDAAuD,CAAC,+CAA+C,CAAC,mBAAmB,qBAAqB,CAAC,sBAAsB,wBAAwB,CAAC,oBAAoB,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,2BAA2B,oBAAoB,CAAC,mBAAmB,CAAC,eAAe,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,gCAAgC,wBAAwB,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,sDAAsD,oBAAoB,CAAC,mBAAmB,CAAC,eAAe,CAAC,+EAA+E,qBAAqB,CAAC,UAAU,CAAC,oDAAoD,iBAAiB,CAAC,iBAAiB,CAAC,qCAAqC,0DAA0D,+BAA+B,CAAC,sBAAsB,CAAC,4DAA4D,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,4CAA4C,cAAc,CAAC,CAAC,sCAAsC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,+DAA+D,cAAc,CAAC,iCAAiC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,6CAA8F,iBAAiB,CAAC,sDAAmG,eAAe,CAAC,oBAAoB,CAAC,iDAAiD,kBAAkB,CAAC,oBAAoB,CAAC,cAAc,CAAC,eAAe,CAAC,kDAAkD,CAAC,aAAa,CAAC,wBAAwB,CAA2B,iBAAiB,CAAC,eAAe,CAAC,yFAAyF,CAAC,+DAA+D,CAAyH,uDAAuD,CAAC,qDAAqD,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,kDAAkD,mBAAmB,CAAC,yDAAyD,aAAa,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,UAAU,CAAC,WAAW,CAAC,+GAA+G,oBAAoB,CAAC,gEAAgE,eAAe,CAAC,sEAAsE,YAAY,CAAC,8DAA8D,UAAU,CAAC,uDAAuD,sBAAsB,CAAC,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,2DAA2D,wBAAwB,CAAC,gPAAgP,gBAAgB,CAAC,kBAAkB,CAAC,oIAAoI,oBAAoB,CAAC,kBAAkB,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,8HAA8H,0BAA0B,CAAC,qBAAqB,UAAU,CAAC,mCAAmC,oBAAoB,CAAC,iBAAiB,CAAC,qCAAqC,aAAa,CAAC,mCAAmC,oBAAoB,CAAC,kBAAkB,CAAC,+BAA+B,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,iCAAiC,aAAa,CAAC,gCAAgC,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,kCAAkC,aAAa,CAAC,gCAAgC,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,kCAAkC,aAAa,CAAC,iCAAiC,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,mCAAmC,aAAa,CAAC,6BAA6B,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,+BAA+B,aAAa,CAAC,oBAAoB,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,8CAA8C,CAAC,sCAAsC,CAAC,gBAAgB,CAAC,0IAA0I,0BAA0B,CAAC,sBAAsB,cAAc,CAAC,WAAW,CAAC,qCAAqC,oBAAoB,CAAC,iBAAiB,CAAC,uCAAuC,aAAa,CAAC,qCAAqC,oBAAoB,CAAC,kBAAkB,CAAC,+BAA+B,6BAA6B,CAAC,kCAAkC,6BAA6B,CAAC,kCAAkC,6BAA6B,CAAC,mCAAmC,6BAA6B,CAAC,wDAAwD,SAAS,CAAC,sHAAsH,aAAa,CAAC,gBAAgB,CAAC,sHAAsH,UAAU,CAAC,2EAA2E,eAAe,CAAC,uCAAuC,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,8CAA8C,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,gDAAgD,QAAQ,CAAC,SAAS,CAAC,kDAAkD,UAAU,CAAC,YAAY,CAAC,+DAA+D,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,qEAAqE,eAAe,CAAC,UAAU,CAAC,oBAAoB,CAAC,qCAAqC,kCAAkC,UAAU,CAAC,qDAAqD,QAAQ,CAAC,WAAW,CAAC,CAAC,mDAAmD,WAAW,CAAC,oEAAoE,WAAW,CAAC,iBAAiB,CAAC,qEAAqE,qBAAqB,CAAC,gCAAgC,SAAS,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,0CAA0C,gBAAgB,CAAC,2DAA2D,kBAAkB,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,wDAAwD,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,CAAC,8DAA8D,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,qFAAqF,UAAU,CAAC,+BAA+B,4BAA4B,CAAC,mCAAmC,CAAC,eAAe,CAAC,qBAAqB,CAAC,aAAa,CAAC,mDAAmD,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,mEAAmE,mBAAW,CAAX,oBAAW,CAAX,mBAAW,CAAX,YAAY,CAAC,wEAAwE,YAAY,CAAC,kBAAW,CAAX,mBAAW,CAAX,mBAAW,CAAX,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,wCAAwC,CAAgH,gCAAgC,CAAC,aAAa,CAAC,8EAA8E,kBAAW,CAAX,mBAAW,CAAX,mBAAW,CAAX,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,sCAAsC,CAAC,+CAA+C,gCAAgC,CAAC,0DAA0D,iBAAiB,CAAC,yCAAyC,SAAS,CAAC,yBAAyB,CAAC,kEAAkE,sBAAsB,CAAC,eAAe,eAAe,CAAC,8DAA8D,YAAY,CAAC,oEAAoE,eAAe,CAAC,8CAA8C,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,uBAAuB,qBAAqB,CAAC,6KAA6K,eAAe,CAAC,8BAA8B,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,gBAAgB,CAAC,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,wBAAwB,CAAC,kBAAkB,CAA2E,iBAAiB,CAAC,gDAAgD,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,8IAA8I,sBAAsB,CAAC,iBAAiB,CAAC,4CAA4C,iBAAiB,CAAC,gBAAgB,CAAC,gDAAgD,iBAAiB,CAAC,iBAAiB,CAAC,gDAAgD,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,qCAAqC,8BAA8B,+BAA+B,CAAC,CAAC,qCAAqC,wBAAwB,iBAAiB,CAAC,oJAAoJ,wBAAwB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gDAAgD,cAAc,CAAC,SAAS,CAAC,CAAC,2DAA2D,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,2LAA2L,oBAAoB,CAAC,+DAA+D,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,8DAA8D,kBAAkB,CAAC,UAAU,CAAC,6CAA6C,eAAe,CAAC,uEAAuE,UAAU,CAAC,sDAAsD,mCAAmC,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,WAAW,CAAC,yDAAyD,wBAAwB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,WAAW,CAAC,2BAA2B,CAAC,wBAAwB,CAAqL,4FAA4F,CAAC,+DAA+D,CAAC,6DAA6D,CAAC,eAAe,CAAkD,iBAAiB,CAAoC,qCAAqC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,oEAAoE,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,kBAAkB,CAA2E,iBAAiB,CAAC,0CAA0C,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,CAAC,6CAA6C,wBAAwB,CAAC,WAAW,CAAC,cAAc,CAAC,6CAA6C,gBAAgB,CAAC,iDAAiD,kBAAkB,CAAC,8BAA8B,qBAAqB,CAAC,2EAA2E,YAAY,CAAC,0EAA0E,WAAW,CAAC,eAAe,CAAC,gCAAgC,iBAAiB,CAAC,uCAAuC,4BAA4B,CAAC,yBAAyB,CAAC,UAAU,CAAC,gCAAgC,iBAAiB,CAAC,8CAA8C,UAAU,CAAC,oDAAoD,4BAA4B,CAAC,cAAc,CAAC,oDAAoD,WAAW,CAAC,gBAAgB,CAAC,yCAAyC,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,CAAC,4BAA4B,CAAC,+DAA+D,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,mDAAmD,UAAU,CAAC,sBAAsB,CAAC,yEAAyE,UAAU,CAAC,wCAAwC,4BAA4B,CAAC,6BAA6B,2BAA2B,CAAC,gDAAgD,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,yCAAyC,WAAW,CAAC,aAAa,CAAC,kDAAkD,SAAS,CAAC,oCAAoC,eAAe,CAAC,6DAA6D,aAAa,CAAC,8DAA8D,cAAc,CAAC,wBAAwB,kBAAkB,CAAC,2BAA2B,kBAAkB,CAAC,wBAAwB,CAAC,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,kCAAkC,WAAW,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,8BAA8B,wBAAwB,CAAC,WAAW,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,cAAc,CAAC,WAAW,CAAC,2BAA2B,CAAC,wBAAwB,CAAqL,4FAA4F,CAAC,+DAA+D,CAAC,6DAA6D,CAAC,eAAe,CAAkD,iBAAiB,CAAoC,qCAAqC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,iCAAiC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,0CAA0C,WAAW,CAAC,0CAA0C,SAAS,CAAC,gBAAgB,CAAC,yEAAyE,qBAAqB,CAAC,UAAU,CAAC,8CAA8C,iBAAiB,CAAC,iBAAiB,CAAC,qCAAqC,oDAAoD,+BAA+B,CAAC,qBAAqB,CAAC,sDAAsD,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,yCAAyC,cAAc,CAAC,CAAC,uCAAuC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,sDAAsD,4BAA4B,CAAC,SAAS,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,mCAAmC,CAAC,yBAAyB,CAAC,wBAAwB,CAAoE,0BAA0B,CAAC,qCAAqC,eAAe,CAAC,cAAc,CAAC,6CAA6C,iBAAiB,CAAC,SAAS,CAAC,uDAAuD,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAA6F,mFAAmF,CAAC,iDAAyC,CAAzC,yCAAyC,CAAC,qBAAqB,CAAC,WAAW,CAAC,uBAAuB,CAAsB,eAAe,CAAC,2FAAuL,mFAAmF,CAAC,iDAAyC,CAAzC,yCAAyC,CAAC,wBAAwB,CAAC,yGAA0K,yBAAyB,CAAC,yGAA0K,yBAAyB,CAAC,qDAAqD,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,kFAAkF,oBAAoB,CAAC,6BAAqB,CAArB,qBAAqB,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,iBAAiB,iBAAiB,CAAC,8HAA8H,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,UAAU,CAAC,qCAAqC,CAAC,sBAAsB,CAAC,gJAAgJ,wBAAwB,CAAC,qBAAqB,2BAA2B,CAAC,8BAA8B,CAAC,qBAAqB,0BAA0B,CAAC,6BAA6B,CAAC,uBAAuB,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,6FAAoF,CAApF,qFAAqF,CAAC,gCAAgC,qBAAqB,CAAC,wCAAwC,eAAe,CAAC,iBAAiB,CAAC,8CAA8C,cAAc,CAAC,8CAA8C,YAAY,CAAC,uEAAuE,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,6BAA6B,CAA4B,qBAAqB,CAAC,iFAAiF,gBAAgB,CAAC,aAAa,CAAC,eAAe,CAAC,wBAAwB,CAAyB,qBAAqB,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,wJAAwJ,aAAa,CAAC,UAAU,CAAC,mCAAmC,cAAc,CAAC,6BAA6B,CAAC,kCAAkC,CAAC,qCAAqC,CAAC,4CAA4C,UAAU,CAAC,oCAAoC,aAAa,CAAC,6BAA6B,CAAC,kCAAkC,CAAC,qCAAqC,CAAC,6CAA6C,UAAU,CAAC,4BAA4B,aAAa,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,eAAe,CAAC,UAAU,CAAC,6BAA6B,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,4BAA4B,UAAU,CAAC,qCAAqC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,oDAAoD,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,wCAAwC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,kDAAkD,UAAU,CAAC,yDAAyD,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,gIAAgI,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,WAAW,CAAC,yBAAyB,CAAC,YAAY,CAAC,eAAe,CAAC,yBAAyB,CAAC,wDAAwD,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uEAAuE,4BAA4B,CAAC,wEAAwE,4BAA4B,CAAC,6FAA6F,UAAU,CAAC,0EAA0E,yBAAyB,CAAC,aAAa,CAAC,UAAU,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,6DAA6D,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAkD,iBAAiB,CAAC,uDAAuD,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,iEAAiE,aAAa,CAAC,kEAAkE,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,CAAkD,iBAAiB,CAAC,wDAAwD,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,8CAA8C,iBAAiB,CAAC,yBAAyB,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,4DAA4D,YAAY,CAAC,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,iBAAiB,CAAC,6BAA6B,CAA4B,qBAAqB,CAAC,eAAe,CAAC,0DAA0D,aAAa,CAAC,QAAQ,CAAC,oEAAoE,gBAAgB,CAAC,qCAAqC,oDAAoD,eAAe,CAAC,aAAa,CAAC,oEAAoE,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,mEAAmE,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,2BAA2B,CAAC,8EAA8E,SAAS,CAAC,0EAA0E,SAAS,CAAC,sBAAsB,CAAC,+EAA+E,cAAc,CAAC,CAAC,qCAAqC,kEAAkE,eAAe,CAAC,CAAC,0DAA0D,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,qEAAqE,SAAS,CAAC,2DAA2D,qBAAqB,CAAC,gCAAgC,gBAAgB,CAAC,kDAAkD,mBAAmB,CAAC,gEAAgE,4BAA4B,CAAC,2BAA2B,CAAC,yBAAyB,CAAC,8DAA8D,eAAe,CAAC,qBAAqB,CAAC,qEAAqE,cAAc,CAAC,gEAAgE,QAAQ,CAAC,gDAAgD,aAAa,CAAC,mDAAmD,eAAe,CAAC,6EAA6E,kBAAkB,CAAC,qKAAqK,gBAAgB,CAAC,6CAA6C,kBAAkB,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,eAAe,CAAC,kBAAkB,CAAC,+BAA+B,wBAAwB,CAAC,kDAAkD,cAAc,CAAC,2CAA2C,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,8CAA8C,yBAAyB,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,0DAA0D,cAAc,CAAC,+CAA+C,wBAAwB,CAAC,eAAe,CAAC,8CAA8C,4BAA4B,CAAC,kBAAkB,CAAC,yDAAyD,eAAe,CAAC,gBAAgB,CAAC,mCAAmC,qBAAqB,CAAC,8BAA8B,kBAAkB,CAAC,gDAAgD,eAAe,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,2DAA2D,UAAU,CAAC,+DAA+D,cAAc,CAAC,4CAA4C,eAAe,CAAC,sDAAsD,YAAY,CAAC,4CAA4C,YAAY,CAAC,0BAA0B,aAAa,CAAC,sBAAsB,aAAa,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,cAAc","file":"redux-fields.min.css","sourcesContent":[".redux-container-ace_editor .ace-wrapper{position:static}.redux-container-ace_editor .ace_editor{height:200px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-ace_editor .ace_gutter{z-index:1 !important}.redux-main .redux-container-background .redux-background-position,.redux-main .redux-container-background .redux-background-position select,.redux-main .redux-container-background .redux-background-attachment,.redux-main .redux-container-background .redux-background-attachment select,.redux-main .redux-container-background .redux-background-clip,.redux-main .redux-container-background .redux-background-clip select,.redux-main .redux-container-background .redux-background-origin,.redux-main .redux-container-background .redux-background-origin select,.redux-main .redux-container-background .redux-background-size,.redux-main .redux-container-background .redux-background-size select,.redux-main .redux-container-background .redux-background-repeat,.redux-main .redux-container-background .redux-background-repeat select{width:200px !important;margin-right:10px;margin-bottom:7px}.redux-main .redux-container-background .background-preview{display:block;width:100%;margin:5px 0 10px;border:1px dotted #d3d3d3}.redux-main .redux-container-background .select2-container{margin-right:10px;margin-bottom:10px}.redux-main .redux-container-background .wp-picker-container{margin-bottom:10px}.redux-main .redux-container-background .upload{width:100%;margin-bottom:8px}.redux-main .redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.wp-customizer .redux-container-background .redux-background-position,.wp-customizer .redux-container-background .redux-background-position select,.wp-customizer .redux-container-background .redux-background-attachment,.wp-customizer .redux-container-background .redux-background-attachment select,.wp-customizer .redux-container-background .redux-background-clip,.wp-customizer .redux-container-background .redux-background-clip select,.wp-customizer .redux-container-background .redux-background-origin,.wp-customizer .redux-container-background .redux-background-origin select,.wp-customizer .redux-container-background .redux-background-size,.wp-customizer .redux-container-background .redux-background-size select,.wp-customizer .redux-container-background .redux-background-repeat,.wp-customizer .redux-container-background .redux-background-repeat select{width:100% !important}.redux-container-border .select2-container{float:left;display:block;margin-right:10px}.redux-container-border .select_wrapper{float:left;width:inherit}.redux-container-border .select_wrapper select{width:80px;float:left}.redux-container-border .field-border-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-border .field-border-input input{display:inline-block !important;width:100px !important}.redux-container-border .field-border-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-border .select_wrapper{margin-top:6px}}.redux-container-checkbox label{vertical-align:top;width:100%}.redux-container-checkbox label .field-desc{margin-top:0;float:left;width:93%;clear:none}.redux-container-color_gradient .redux-gradient-preview{height:150px;margin-top:10px;border-radius:4px}.redux-container-color_gradient .colorGradient,.redux-container-color_gradient .redux-gradient-type{display:inline-block;margin-right:20px}.redux-container-color_gradient .colorGradient strong,.redux-container-color_gradient .redux-gradient-type strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;color:#999}@media screen and (max-width: 660px){.redux-container-color_gradient .colorGradient{display:block;text-align:center !important}}.sp-container{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer:focus,.sp-replacer:hover,.sp-replacer.focus,.sp-replacer.hover{background:#fafafa;border-color:#999;color:#222}.sp-replacer:focus,.sp-replacer.focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active,.sp-replacer.active:hover,.sp-replacer:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5)}#ui-datepicker-div{z-index:15 !important}.ui-datepicker-header{background-color:#00abef}.redux-main .divide{height:20px;line-height:20px;float:none;border-color:#e7e7e7;display:block;width:100%;height:35px !important;line-height:35px !important;position:relative;margin:15px 0 10px 0}.redux-main .divide .inner{width:42% !important;left:40% !important;margin-left:-6%;background-color:#fcfcfc;border-color:#e7e7e7;position:absolute;height:1px;top:50%;width:100%;margin-top:-1px;border-top-width:1px;border-top-style:solid}.redux-main .divide .inner span{background-color:#fcfcfc;border-color:#e7e7e7;height:5px;width:5px;border-width:2px;border-style:solid;display:block;position:absolute;left:50%;margin-left:-5px;margin-top:-5px}.wp-customizer .redux-container-divide .divide .inner{width:82% !important;left:18% !important;margin-left:-8%}.redux-dimensions-container select,.redux-dimensions-container .select_wrapper{width:80px !important;float:left}.redux-dimensions-container .field-dimensions-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-dimensions-container .field-dimensions-input input{display:inline-block !important;width:100px !important}.redux-dimensions-container .field-dimensions-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-dimensions-container .select_wrapper{margin-top:6px}}.redux-container-editor .mceLayout td{border-width:1px;margin:0;padding:1px}.redux-container-editor input,.redux-container-editor textarea{margin:inherit}.redux-container-editor textarea{border-style:none;border:0;border-width:0}.redux-container-editor .wp-editor-container{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-editor .wp-editor-container textarea{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-style:inherit}.redux-container-editor .quicktags-toolbar input{margin:2px 1px 4px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial, Helvetica, sans-serif normal;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear, left bottom, left top, from(#e3e3e3), to(#fff));background-image:-webkit-linear-gradient(bottom, #e3e3e3, #fff);background-image:-moz-linear-gradient(bottom, #e3e3e3, #fff);background-image:-o-linear-gradient(bottom, #e3e3e3, #fff);background-image:linear-gradient(to top, #e3e3e3, #fff)}.redux-container-image_select .redux-table-container{display:table;table-layout:fixed;width:100%}.redux-container-image_select .redux-image-select{margin:0 !important}.redux-container-image_select .redux-image-select .tiles{display:block;background-color:#fff;background-repeat:repeat;width:40px;height:40px}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select .tiles{border-color:#d9d9d9}.redux-container-image_select .redux-image-select li:last-child{margin-bottom:0}.redux-container-image_select .redux-image-select input[type=\"radio\"]{display:none}.redux-container-image_select .redux-image-select-presets img{width:100%}.redux-container-image_select ul.redux-image-select li{margin:0 10px 3px 10px;display:inline-block;padding:2px 2px;padding-left:0}.redux-container-image_select .redux-image-select-selected{background-color:#f9f9f9}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select-selected img,.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-width:4px;border-style:solid}.redux-container-image_select .redux-image-select-selected .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-color:#7a7a7a}.redux-info-field{min-height:20px;padding:8px 19px;margin:10px 0;border:1px solid;border-radius:4px;border:1px solid;position:relative}.redux-info-field h1,.redux-info-field h2,.redux-info-field h3,.redux-info-field h4,.redux-info-field h5,.redux-info-field h6{border-bottom:0 !important}.redux-info-field h3{color:#777}.redux-info-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-info-field .redux-info-icon i{font-size:2em}.redux-info-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-info-field.redux-normal{background-color:#eee;border-color:#ccc;color:#666}.redux-info-field.redux-normal i{color:#c5c5c5}.redux-info-field.redux-warning{background-color:#fbeba4;border-color:#d7c281;color:#958234}.redux-info-field.redux-warning i{color:#dcca81}.redux-info-field.redux-success{background-color:#c4ee91;border-color:#71af5d;color:#4d7615}.redux-info-field.redux-success i{color:#a0ca6c}.redux-info-field.redux-critical{background-color:#fba1a3;border-color:#b84f5b;color:#981225}.redux-info-field.redux-critical i{color:#dd767d}.redux-info-field.redux-info{background-color:#d3e4f4;border-color:#a9b6c2;color:#5c80a1}.redux-info-field.redux-info i{color:#afc6da}.redux-notice-field{margin:15px 0 0;background-color:#fff;border:0;border-left:4px solid #f3f3f3;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px}.redux-notice-field h1,.redux-notice-field h2,.redux-notice-field h3,.redux-notice-field h4,.redux-notice-field h5,.redux-notice-field h6{border-bottom:0 !important}.redux-notice-field p{margin:0.5em 0;padding:2px}.redux-notice-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-notice-field .redux-info-icon i{font-size:2em}.redux-notice-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-notice-field.redux-info{border-left:4px solid #0099d5}.redux-notice-field.redux-success{border-left:4px solid #7ad03a}.redux-notice-field.redux-warning{border-left:4px solid #fbeba4}.redux-notice-field.redux-critical{border-left:4px solid #dd3d36}.redux-main .redux-field-container.redux-container-info{padding:0}.wp-customizer .hasIcon.redux-notice-field .redux-info-desc,.wp-customizer .hasIcon.redux-info-field .redux-info-desc{display:block;margin-left:43px}.wp-customizer .hasIcon.redux-notice-field .redux-info-icon,.wp-customizer .hasIcon.redux-info-field .redux-info-icon{float:left}.wp-customizer .redux-main .customize-control.customize-control-redux-info{border-bottom:0}.redux-container-link_color .linkColor{display:inline-block;padding-right:10px;padding-bottom:7px}.redux-container-link_color .linkColor strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;font-weight:normal;color:#999}.redux-container-multi_text ul.redux-multi-text{margin:0;padding:0}.redux-container-multi_text .redux-multi-text-add{clear:both;margin:5px 0}.redux-container-multi_text a.redux-multi-text-remove.deletion{color:#f00;padding:2px 4px;margin-left:5px}.redux-container-multi_text a.redux-multi-text-remove.deletion:hover{background:#ff0;color:#fff;text-decoration:none}@media screen and (max-width: 782px){.redux-container-multi_text input{clear:both}.redux-container-multi_text .redux-multi-text-remove{margin:0;float:right}}.wp-customizer .redux-container-multi_text .button{float:right}.wp-customizer .redux-container-multi_text .redux-multi-text-remove{float:right;margin-bottom:5px}.wp-customizer .redux-container-multi_text ul.redux-multi-text input{width:100% !important}.redux-main .redux-media-slider{width:40%;display:inline-block;margin-left:30px}.redux-main .redux-media-filter-container{padding-top:20px}.redux-main .redux-media-filter-container .container-label{margin-bottom:20px;padding-bottom:1px;border-bottom:1px solid #e7e7e7;font-weight:600;font-size:12px;color:#999}.redux-main .redux-media-filter-container .media-filter{display:inline-block;width:47%;margin-bottom:5px}.redux-main .redux-media-filter-container .media-filter label{display:inline-block;width:130px;color:#999}.redux-main .redux-media-filter-container .media-filter label.disabled .filter-value{color:#ccc}.redux-container-palette label{border:3px solid transparent;border-color:transparent !important;border-radius:0;width:100% !important;display:block}.redux-container-palette label.ui-button.ui-widget{width:95%;background:none;padding:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text{display:flex}.redux-container-palette label.ui-button.ui-widget .ui-button-text span{padding:10px;flex-grow:1;font-size:0;line-height:10px;color:rgba(0,0,0,0);-webkit-transition:all 200ms ease-in-out;-moz-transition:all 200ms ease-in-out;-ms-transition:all 200ms ease-in-out;-o-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;text-shadow:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text span:hover{flex-grow:3;font-weight:bold;min-width:60px;font-size:12px;line-height:10px;color:#333;text-shadow:0 0 8px #fff, 0 0 8px #fff}.redux-container-palette label.ui-state-active{border:3px solid #333 !important}.wp-customizer .redux-main .redux-container-palette label{margin-bottom:3px}.redux-main .form-table-section-indented{width:95%;margin-left:5% !important}.redux-main .form-table-section tr:first-of-type th:first-of-type{padding:0px !important}.redux-main h3{margin-top:10px}.redux-main .form-table-section-indented>tbody>tr:first-child{display:none}.redux-main .form-table-section-indented>tbody>tr:nth-last-child(2){border-bottom:0}.redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.select2-search__field{width:none !important}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove,.select2-container--classic .select2-selection--single .select2-selection__clear{font-size:1.2em}.redux-container-select_image{margin-top:2px;margin-left:5px;width:100%;margin-bottom:0}.redux-preview-image{max-height:250px;max-width:250px;padding:5px;margin-top:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slider .redux-slider-container{margin-left:25px;margin-right:25px;width:200px;display:inline-block;vertical-align:middle}.redux-container-slider .redux-slider-input,.redux-container-slider .redux-slider-select-one,.redux-container-slider .redux-slider-select-two{width:100px !important;text-align:center}.redux-container-slider .redux-slider-label{position:absolute;margin-left:-5px}.redux-container-slider .redux-slider-label-one{position:absolute;margin-left:-22px}.redux-container-slider .redux-slider-label-two{position:absolute;margin-top:-21px;margin-left:245px}@media screen and (max-width: 782px){.redux-container-slider input{display:inline-block !important}}@media screen and (max-width: 570px){.redux-container-slider{text-align:center}.redux-container-slider input,.redux-container-slider select,.redux-container-slider .redux-slider-label,.redux-container-slider .select2-container{display:block !important;position:inherit;margin:10px auto}.redux-container-slider .redux-slider-container{margin-top:3px;width:80%}}.wp-customizer .redux-container-slider .redux-slider-label{float:left;position:inherit;width:25%;text-align:center;margin-left:0}.wp-customizer .redux-container-slider .redux-slider-input,.wp-customizer .redux-container-slider .redux-slider-select-one,.wp-customizer .redux-container-slider .redux-slider-select-two{width:25% !important}.wp-customizer .redux-container-slider .redux-slider-container{width:70%;margin-right:0;margin-left:5%}.redux-container-slides .redux-slides-list .select2-container{margin-bottom:10px;width:100%}.redux-container-slides .ui-accordion-header{margin-bottom:0}.redux-container-slides .full-text,.redux-container-slides .large-text{width:100%}.redux-container-slides .redux-slides-accordion-group{border:1px solid #dfdfdf !important;border-radius:3px !important;margin-top:0px !important;margin-bottom:10px;background:#f9f9f9;padding:5px}.redux-container-slides .redux-slides-accordion-group h3{border:1px solid #dfdfdf;cursor:move !important;font-weight:bold;padding:0 10px !important;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-ms-linear-gradient(top, #f9f9f9, #ececec);background-image:-moz-linear-gradient(top, #f9f9f9, #ececec);background-image:-o-linear-gradient(top, #f9f9f9, #ececec);background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-slides #redux-slides-accordion .redux-slides-image{height:250px;padding:5px;margin-top:10px;margin-bottom:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slides .redux-slides-add{float:right;margin-right:10%;display:block;margin-bottom:10px}.redux-container-slides .redux-slides-remove{color:#ef521d !important;float:right;margin-top:5px}.redux-container-slides .redux-slides-header{font-weight:bold}.redux-container-slides .redux_slides_add_remove{margin-bottom:10px}.redux-container-slides input{width:100% !important}.wp-customizer .redux-container-slides .ui-accordion .ui-accordion-content{padding:10px}.redux-container-sortable i.el,.redux-container-sortable i.dashicons-menu{cursor:move;padding-top:5px}.redux-container-sortable label{margin-right:10px}.redux-container-sortable label.bugger{margin-bottom:0px !important;font-size:12px !important;color:#999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:100%}.redux-container-sortable .checkbox-container label{margin-bottom:2px !important;cursor:inherit}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable ul.checkbox li{padding:5px 10px;border:1px solid #333;background:#fff;margin-bottom:5px !important}.redux-container-sortable ul.checkbox li .dashicons.visibility{padding-top:4px;margin-right:10px;cursor:pointer}.redux-container-sortable ul.checkbox li.invisible{color:#aaa;border:1px dashed #aaa}.redux-container-sortable ul.checkbox li.invisible .dashicons.visibility{color:#aaa}.redux-container-sortable ul.labeled li{line-height:1.4em !important}.redux-container-sortable li{line-height:30px !important}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0}.wp-customizer .redux-sortable input[type=\"text\"]{width:92%}.wp-customizer .redux-sortable i.el{margin-left:5px}.wp-customizer .redux-container-sortable .checkbox-container{width:inherit}.wp-customizer .redux-container-sortable .ui-draggable-handle{margin-left:3%}.redux-container-sorter{margin-right:-20px}.redux-container-sorter ul{background:#f9f9f9;border:1px solid #e3e3e3;min-height:40px;padding:10px 10px 0;width:145px;float:left;margin:0 15px 0 0}.redux-container-sorter ul.filled{opacity:0.7;filter:alpha(opacity=70);background:#efecec}.redux-container-sorter ul li{border:1px solid #dfdfdf;cursor:move;font-weight:bold;margin-bottom:10px !important;padding:0 10px;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-ms-linear-gradient(top, #f9f9f9, #ececec);background-image:-moz-linear-gradient(top, #f9f9f9, #ececec);background-image:-o-linear-gradient(top, #f9f9f9, #ececec);background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-sorter ul li h3{margin:0 0 10px;text-align:center;color:#777;text-transform:capitalize;word-wrap:break-word}.redux-container-sorter ul li.placeholder{height:40px}.wp-customizer .redux-container-sorter ul{width:85%;margin:0 0 5px 0}.redux-container-spacing select,.redux-container-spacing .select_wrapper{width:80px !important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-spacing .field-spacing-input input{display:inline-block !important;width:70px !important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}}.redux-container-spinner .spinner-wrpr{position:relative;display:block;height:30px;overflow:hidden}.redux-container-spinner .spinner-wrpr .spinner-input{position:relative !important;z-index:1;width:75px !important;height:30px !important;background:#eee !important;border:1px solid #bfbfbf !important;border-right:0 !important;border-left:0 !important;-webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important}.redux-container-spinner .ui-spinner{position:static;display:inline}.redux-container-spinner .ui-spinner-buttons{position:absolute;padding:0}.redux-container-spinner .ui-widget .ui-spinner-button{color:#fff;position:absolute;top:0;padding:0 0 30px;overflow:hidden;cursor:pointer;background:-moz-linear-gradient(#fff, #f3f3f3);background:-o-linear-gradient(#fff, #f3f3f3);background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#f3f3f3));background:linear-gradient(#fff, #f3f3f3);background-color:#fff;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.redux-container-spinner .ui-spinner-button:hover,.redux-container-spinner .ui-state-hover{background:-moz-linear-gradient(#f3f3f3, #fff);background:-o-linear-gradient(#f3f3f3, #fff);background:-webkit-gradient(linear, left top, left bottom, from(#f3f3f3), to(#fff));background:linear-gradient(#f3f3f3, #fff);background-color:#f3f3f3}.redux-container-spinner .ui-corner-tr,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{-webkit-border-radius:0 5px 5px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.redux-container-spinner .ui-corner-br,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{-webkit-border-radius:5px 0 0 5px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.redux-container-spinner .ui-spinner-button .ui-icon{top:0;display:block;width:28px;height:28px;margin:0;border:1px solid #b7b7b7;background-image:initial;text-indent:0;text-align:center;font-size:18px;line-height:26px}.dp-numberPicker,.dp-numberPicker-add,.dp-numberPicker-sub,.dp-numberPicker-input{display:inline-block;box-sizing:border-box;-moz-box-sizing:border-box;text-align:center;vertical-align:top;height:30px}.dp-numberPicker{border-radius:3px}.redux-container .redux-container-spinner .dp-numberPicker-add,.redux-container .redux-container-spinner .dp-numberPicker-sub{width:30px;font-size:21px;cursor:pointer;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;background-color:#33b5e5;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);height:29px !important}.redux-container .redux-container-spinner .dp-numberPicker-add.disabled,.redux-container .redux-container-spinner .dp-numberPicker-sub.disabled{background-color:#2c6a81}.dp-numberPicker-add{border-top-right-radius:3px;border-bottom-right-radius:3px}.dp-numberPicker-sub{border-top-left-radius:3px;border-bottom-left-radius:3px}.dp-numberPicker-input{width:70px;background-color:#eee;border:0;margin:0 !important;box-shadow:inset 0px 1px 1px rgba(255,255,255,0.5),inset 0px -1px 1px rgba(0,0,0,0.5)}.dp-numberPicker-input:disabled{background-color:#eee}.redux-container-switch .switch-options{min-height:30px;margin-right:10px}.redux-container-switch .switch-options label{cursor:pointer}.redux-container-switch .switch-options input{display:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable{padding:0 10px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{line-height:30px;display:block;font-weight:700;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable,.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{display:block;float:left}.redux-container-switch .cb-enable{border-right:0;border-radius:3px 0px 0px 3px;-moz-border-radius:3px 0px 0px 3px;-webkit-border-radius:3px 0px 0px 3px}.redux-container-switch .cb-enable.selected{color:#fff}.redux-container-switch .cb-disable{border-left:0;border-radius:0px 3px 3px 0px;-moz-border-radius:0px 3px 3px 0px;-webkit-border-radius:0px 3px 3px 0px}.redux-container-switch .cb-disable.selected{color:#fff}.redux-container-text label{display:block;position:relative;font-size:12px !important;text-align:left;color:#999;margin:4px 0 2px 0 !important;cursor:default;top:5px;width:100px}.redux-container-text input{clear:left}.redux-container-text .input_wrapper{display:block;position:relative;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:left;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.wp-customizer .redux-container-text .input_wrapper{width:100%;max-width:100%;height:auto}.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix::after{visibility:hidden;display:block;font-size:0;content:\" \";clear:both;height:0}.redux-main .redux-typography-container input.wp-picker-default,.redux-main .redux-typography-container .redux-typography-color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0 14px !important;margin-top:0;margin-bottom:0;font-size:12px !important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48% !important;min-width:210px !important;max-width:324px !important;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper:nth-child(even){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px !important;display:block;float:left;height:28px !important;line-height:50px !important;padding:0 !important;width:100% !important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;position:relative;margin:0;padding:0;width:100%;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{position:relative;font-size:12px !important;text-align:left;color:#999;width:100%;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted #d3d3d3;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0 none;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width: 540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0 !important;margin-right:0 !important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0 !important;margin-right:5px !important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px !important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}}@media screen and (max-width: 360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}}.wp-customizer .redux-typography-container .input_wrapper{width:40%;max-width:40%;min-width:20%}.wp-customizer .redux-typography-container .input_wrapper input.mini{width:70%}.wp-customizer .redux-typography-container .select_wrapper{width:100% !important}.wp-customizer .redux-container{overflow:visible}.wp-customizer .redux-container .redux-main input{margin:0 !important}.wp-customizer .redux-container .redux-main input.spinner-input{margin-right:30px !important;margin-left:30px !important;margin-top:0px !important}.wp-customizer .redux-section p.customize-section-description{margin-top:22px;word-break:break-word}.wp-customizer .redux-section p.customize-section-description.legacy{margin-top:7px}.wp-customizer .control-section-themes .accordion-section-title{margin:0}.wp-customizer #customize-controls .description{display:block}.wp-customizer #customize-controls .customize-info{margin-bottom:0}.wp-customizer #customize-controls .redux-section .accordion-section-content{background:#fcfcfc}.wp-customizer .redux-section .accordion-section-title i,.wp-customizer .redux-field .accordion-field-title i,.wp-customizer .redux-panel .accordion-section-title i{margin-right:5px}.wp-customizer .accordion-section.redux-main{background:inherit;margin-left:inherit;border-left:inherit;-moz-box-shadow:inherit;-webkit-box-shadow:inherit;padding:inherit;box-shadow:inherit}.wp-customizer .redux_field_th{padding:13px 0px 0px 0px}.wp-customizer .redux-main .redux-field-container{padding:10px 0}.wp-customizer .redux-main .select_wrapper{float:none;width:100%;display:inline-block}.wp-customizer .redux-main .select2-container{margin-right:0 !important;margin-bottom:5px !important;width:100% !important}.wp-customizer .redux-main .select_wrapper:nth-child(odd){margin-right:0}.wp-customizer .redux-main .redux-option-image{max-width:42% !important;margin-right:3%}.wp-customizer .redux-main .customize-control{border-bottom:1px solid #ddd;padding-bottom:4px}.wp-customizer .redux-main .customize-control:last-child{border-bottom:0;padding-bottom:0}.wp-customizer .redux-main .upload{width:100% !important}.wp-customizer .redux-main h3{margin-top:inherit}.wp-customizer .redux-main .redux-container-raw{margin-top:22px;word-break:break-word;padding:0 !important}.wp-customizer .redux-main .redux-container-password input{width:100%}.wp-customizer .select2-drop,.wp-customizer .select2-container{z-index:999999}.wp-customizer .customize-control-redux-raw{list-style:none}#redux-import-link-wrapper,#redux-import-code-wrapper{display:none}#redux-export-code,#redux-export-link-value{display:none}#redux-import-action span{color:#b94a48}#redux-object-browser{overflow:auto;word-wrap:break-word;max-height:600px;max-width:100%}\n"]}
1
+ {"version":3,"sources":["redux-fields.min.css"],"names":[],"mappings":"AAAA,yCAAyC,eAAe,CAAC,wCAAwC,YAAY,CAAkD,iBAAiB,CAAC,wCAAwC,oBAAoB,CAAC,0zBAA0zB,sBAAsB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,4DAA4D,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,2DAA2D,iBAAiB,CAAC,kBAAkB,CAAC,6DAA6D,kBAAkB,CAAC,gDAAgD,UAAU,CAAC,iBAAiB,CAAC,0DAA0D,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,81BAA81B,qBAAqB,CAAC,2CAA2C,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,wCAAwC,UAAU,CAAC,aAAa,CAAC,+CAA+C,UAAU,CAAC,UAAU,CAAC,4CAA4C,iBAAiB,CAAC,iBAAiB,CAAC,qCAAqC,kDAAkD,+BAA+B,CAAC,sBAAsB,CAAC,oDAAoD,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,wCAAwC,cAAc,CAAC,CAAC,gCAAgC,kBAAkB,CAAC,UAAU,CAAC,4CAA4C,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,wDAAwD,YAAY,CAAC,eAAe,CAAC,iBAAiB,CAAC,oGAAoG,oBAAoB,CAAC,iBAAiB,CAAC,kHAAkH,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,qCAAqC,+CAA+C,aAAa,CAAC,4BAA4B,CAAC,CAAC,cAAc,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,8DAA8D,CAAC,sDAAsD,CAAC,kBAAkB,CAAC,aAAa,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,8DAA8D,CAAC,sDAAsD,CAAC,kBAAkB,CAAC,4EAA4E,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,sCAAsC,qEAAqE,CAAC,6DAA6D,CAAC,0BAA0B,0GAA0G,CAAC,kGAAkG,CAAC,kEAAkE,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,uDAAuD,CAAC,+CAA+C,CAAC,mBAAmB,qBAAqB,CAAC,sBAAsB,wBAAwB,CAAC,+EAA+E,qBAAqB,CAAC,UAAU,CAAC,oDAAoD,iBAAiB,CAAC,iBAAiB,CAAC,qCAAqC,0DAA0D,+BAA+B,CAAC,sBAAsB,CAAC,4DAA4D,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,4CAA4C,cAAc,CAAC,CAAC,oBAAoB,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,2BAA2B,oBAAoB,CAAC,mBAAmB,CAAC,eAAe,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,gCAAgC,wBAAwB,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,sDAAsD,oBAAoB,CAAC,mBAAmB,CAAC,eAAe,CAAC,sCAAsC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,+DAA+D,cAAc,CAAC,iCAAiC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,6CAA8F,iBAAiB,CAAC,sDAAmG,eAAe,CAAC,oBAAoB,CAAC,iDAAiD,kBAAkB,CAAC,oBAAoB,CAAC,cAAc,CAAC,eAAe,CAAC,kDAAkD,CAAC,aAAa,CAAC,wBAAwB,CAA2B,iBAAiB,CAAC,eAAe,CAAC,yFAAyF,CAAC,+DAA+D,CAAyH,uDAAuD,CAAC,qDAAqD,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,kDAAkD,mBAAmB,CAAC,yDAAyD,aAAa,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,UAAU,CAAC,WAAW,CAAC,+GAA+G,oBAAoB,CAAC,gEAAgE,eAAe,CAAC,sEAAsE,YAAY,CAAC,8DAA8D,UAAU,CAAC,uDAAuD,sBAAsB,CAAC,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC,2DAA2D,wBAAwB,CAAC,gPAAgP,gBAAgB,CAAC,kBAAkB,CAAC,oIAAoI,oBAAoB,CAAC,kBAAkB,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,8HAA8H,0BAA0B,CAAC,qBAAqB,UAAU,CAAC,mCAAmC,oBAAoB,CAAC,iBAAiB,CAAC,qCAAqC,aAAa,CAAC,mCAAmC,oBAAoB,CAAC,kBAAkB,CAAC,+BAA+B,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,iCAAiC,aAAa,CAAC,gCAAgC,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,kCAAkC,aAAa,CAAC,gCAAgC,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,kCAAkC,aAAa,CAAC,iCAAiC,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,mCAAmC,aAAa,CAAC,6BAA6B,wBAAwB,CAAC,oBAAoB,CAAC,aAAa,CAAC,+BAA+B,aAAa,CAAC,oBAAoB,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,8CAA8C,CAAC,sCAAsC,CAAC,gBAAgB,CAAC,0IAA0I,0BAA0B,CAAC,sBAAsB,cAAc,CAAC,WAAW,CAAC,qCAAqC,oBAAoB,CAAC,iBAAiB,CAAC,uCAAuC,aAAa,CAAC,qCAAqC,oBAAoB,CAAC,kBAAkB,CAAC,+BAA+B,6BAA6B,CAAC,kCAAkC,6BAA6B,CAAC,kCAAkC,6BAA6B,CAAC,mCAAmC,6BAA6B,CAAC,wDAAwD,SAAS,CAAC,sHAAsH,aAAa,CAAC,gBAAgB,CAAC,sHAAsH,UAAU,CAAC,2EAA2E,eAAe,CAAC,gCAAgC,SAAS,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,0CAA0C,gBAAgB,CAAC,2DAA2D,kBAAkB,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,wDAAwD,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,CAAC,8DAA8D,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,qFAAqF,UAAU,CAAC,uCAAuC,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,8CAA8C,aAAa,CAAC,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,gDAAgD,QAAQ,CAAC,SAAS,CAAC,kDAAkD,UAAU,CAAC,YAAY,CAAC,+DAA+D,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,qEAAqE,eAAe,CAAC,UAAU,CAAC,oBAAoB,CAAC,qCAAqC,kCAAkC,UAAU,CAAC,qDAAqD,QAAQ,CAAC,WAAW,CAAC,CAAC,mDAAmD,WAAW,CAAC,oEAAoE,WAAW,CAAC,iBAAiB,CAAC,qEAAqE,qBAAqB,CAAC,+BAA+B,4BAA4B,CAAC,mCAAmC,CAAC,eAAe,CAAC,qBAAqB,CAAC,aAAa,CAAC,mDAAmD,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,mEAAmE,mBAAW,CAAX,oBAAW,CAAX,mBAAW,CAAX,YAAY,CAAC,wEAAwE,YAAY,CAAC,kBAAW,CAAX,mBAAW,CAAX,mBAAW,CAAX,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,wCAAwC,CAAgH,gCAAgC,CAAC,aAAa,CAAC,8EAA8E,kBAAW,CAAX,mBAAW,CAAX,mBAAW,CAAX,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,sCAAsC,CAAC,+CAA+C,gCAAgC,CAAC,0DAA0D,iBAAiB,CAAC,yCAAyC,SAAS,CAAC,yBAAyB,CAAC,kEAAkE,sBAAsB,CAAC,eAAe,eAAe,CAAC,8DAA8D,YAAY,CAAC,oEAAoE,eAAe,CAAC,8CAA8C,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,uBAAuB,qBAAqB,CAAC,6KAA6K,eAAe,CAAC,8BAA8B,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,gBAAgB,CAAC,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,wBAAwB,CAAC,kBAAkB,CAA2E,iBAAiB,CAAC,gDAAgD,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,8IAA8I,sBAAsB,CAAC,iBAAiB,CAAC,4CAA4C,iBAAiB,CAAC,gBAAgB,CAAC,gDAAgD,iBAAiB,CAAC,iBAAiB,CAAC,gDAAgD,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,qCAAqC,8BAA8B,+BAA+B,CAAC,CAAC,qCAAqC,wBAAwB,iBAAiB,CAAC,oJAAoJ,wBAAwB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,gDAAgD,cAAc,CAAC,SAAS,CAAC,CAAC,2DAA2D,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,2LAA2L,oBAAoB,CAAC,+DAA+D,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,0EAA0E,WAAW,CAAC,eAAe,CAAC,gCAAgC,iBAAiB,CAAC,uCAAuC,4BAA4B,CAAC,yBAAyB,CAAC,UAAU,CAAC,gCAAgC,iBAAiB,CAAC,8CAA8C,UAAU,CAAC,oDAAoD,4BAA4B,CAAC,cAAc,CAAC,oDAAoD,WAAW,CAAC,gBAAgB,CAAC,yCAAyC,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,CAAC,4BAA4B,CAAC,+DAA+D,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,mDAAmD,UAAU,CAAC,sBAAsB,CAAC,yEAAyE,UAAU,CAAC,wCAAwC,4BAA4B,CAAC,6BAA6B,2BAA2B,CAAC,gDAAgD,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,yCAAyC,WAAW,CAAC,aAAa,CAAC,kDAAkD,SAAS,CAAC,oCAAoC,eAAe,CAAC,6DAA6D,aAAa,CAAC,8DAA8D,cAAc,CAAC,8DAA8D,kBAAkB,CAAC,UAAU,CAAC,6CAA6C,eAAe,CAAC,uEAAuE,UAAU,CAAC,sDAAsD,mCAAmC,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,WAAW,CAAC,yDAAyD,wBAAwB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,WAAW,CAAC,2BAA2B,CAAC,wBAAwB,CAAqL,4FAA4F,CAAC,+DAA+D,CAAC,6DAA6D,CAAC,eAAe,CAAkD,iBAAiB,CAAoC,qCAAqC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,oEAAoE,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,kBAAkB,CAA2E,iBAAiB,CAAC,0CAA0C,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,CAAC,6CAA6C,wBAAwB,CAAC,WAAW,CAAC,cAAc,CAAC,6CAA6C,gBAAgB,CAAC,iDAAiD,kBAAkB,CAAC,8BAA8B,qBAAqB,CAAC,2EAA2E,YAAY,CAAC,wBAAwB,kBAAkB,CAAC,2BAA2B,kBAAkB,CAAC,wBAAwB,CAAC,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,kCAAkC,WAAW,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,8BAA8B,wBAAwB,CAAC,WAAW,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,cAAc,CAAC,WAAW,CAAC,2BAA2B,CAAC,wBAAwB,CAAqL,4FAA4F,CAAC,+DAA+D,CAAC,6DAA6D,CAAC,eAAe,CAAkD,iBAAiB,CAAoC,qCAAqC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,iCAAiC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,0CAA0C,WAAW,CAAC,0CAA0C,SAAS,CAAC,gBAAgB,CAAC,yEAAyE,qBAAqB,CAAC,UAAU,CAAC,8CAA8C,iBAAiB,CAAC,iBAAiB,CAAC,qCAAqC,oDAAoD,+BAA+B,CAAC,qBAAqB,CAAC,sDAAsD,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,yCAAyC,cAAc,CAAC,CAAC,uCAAuC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,sDAAsD,4BAA4B,CAAC,SAAS,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,mCAAmC,CAAC,yBAAyB,CAAC,wBAAwB,CAAoE,0BAA0B,CAAC,qCAAqC,eAAe,CAAC,cAAc,CAAC,6CAA6C,iBAAiB,CAAC,SAAS,CAAC,uDAAuD,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAA6F,mFAAmF,CAAC,iDAAyC,CAAzC,yCAAyC,CAAC,qBAAqB,CAAC,WAAW,CAAC,uBAAuB,CAAsB,eAAe,CAAC,2FAAuL,mFAAmF,CAAC,iDAAyC,CAAzC,yCAAyC,CAAC,wBAAwB,CAAC,yGAA0K,yBAAyB,CAAC,yGAA0K,yBAAyB,CAAC,qDAAqD,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,kFAAkF,oBAAoB,CAAC,6BAAqB,CAArB,qBAAqB,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,iBAAiB,iBAAiB,CAAC,8HAA8H,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,UAAU,CAAC,qCAAqC,CAAC,sBAAsB,CAAC,gJAAgJ,wBAAwB,CAAC,qBAAqB,2BAA2B,CAAC,8BAA8B,CAAC,qBAAqB,0BAA0B,CAAC,6BAA6B,CAAC,uBAAuB,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,6FAAoF,CAApF,qFAAqF,CAAC,gCAAgC,qBAAqB,CAAC,wCAAwC,eAAe,CAAC,iBAAiB,CAAC,8CAA8C,cAAc,CAAC,8CAA8C,YAAY,CAAC,uEAAuE,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,6BAA6B,CAA4B,qBAAqB,CAAC,iFAAiF,gBAAgB,CAAC,aAAa,CAAC,eAAe,CAAC,wBAAwB,CAAyB,qBAAqB,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,wJAAwJ,aAAa,CAAC,UAAU,CAAC,mCAAmC,cAAc,CAAC,6BAA6B,CAAC,kCAAkC,CAAC,qCAAqC,CAAC,4CAA4C,UAAU,CAAC,oCAAoC,aAAa,CAAC,6BAA6B,CAAC,kCAAkC,CAAC,qCAAqC,CAAC,6CAA6C,UAAU,CAAC,4BAA4B,aAAa,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,eAAe,CAAC,UAAU,CAAC,6BAA6B,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,4BAA4B,UAAU,CAAC,qCAAqC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,oDAAoD,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,wCAAwC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,kDAAkD,UAAU,CAAC,yDAAyD,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,gIAAgI,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,WAAW,CAAC,yBAAyB,CAAC,YAAY,CAAC,eAAe,CAAC,yBAAyB,CAAC,wDAAwD,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uEAAuE,4BAA4B,CAAC,wEAAwE,4BAA4B,CAAC,6FAA6F,UAAU,CAAC,0EAA0E,yBAAyB,CAAC,aAAa,CAAC,UAAU,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,6DAA6D,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAkD,iBAAiB,CAAC,uDAAuD,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,iEAAiE,aAAa,CAAC,kEAAkE,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,CAAkD,iBAAiB,CAAC,wDAAwD,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,6BAA6B,CAA4B,wBAAwB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,8CAA8C,iBAAiB,CAAC,yBAAyB,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,4DAA4D,YAAY,CAAC,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,iBAAiB,CAAC,6BAA6B,CAA4B,qBAAqB,CAAC,eAAe,CAAC,0DAA0D,aAAa,CAAC,QAAQ,CAAC,oEAAoE,gBAAgB,CAAC,qCAAqC,oDAAoD,eAAe,CAAC,aAAa,CAAC,oEAAoE,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,mEAAmE,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,2BAA2B,CAAC,8EAA8E,SAAS,CAAC,0EAA0E,SAAS,CAAC,sBAAsB,CAAC,+EAA+E,cAAc,CAAC,CAAC,qCAAqC,kEAAkE,eAAe,CAAC,CAAC,0DAA0D,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,qEAAqE,SAAS,CAAC,2DAA2D,qBAAqB,CAAC,gCAAgC,gBAAgB,CAAC,kDAAkD,mBAAmB,CAAC,gEAAgE,4BAA4B,CAAC,2BAA2B,CAAC,yBAAyB,CAAC,8DAA8D,eAAe,CAAC,qBAAqB,CAAC,qEAAqE,cAAc,CAAC,gEAAgE,QAAQ,CAAC,gDAAgD,aAAa,CAAC,mDAAmD,eAAe,CAAC,6EAA6E,kBAAkB,CAAC,qKAAqK,gBAAgB,CAAC,6CAA6C,kBAAkB,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,eAAe,CAAC,kBAAkB,CAAC,+BAA+B,wBAAwB,CAAC,kDAAkD,cAAc,CAAC,2CAA2C,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,8CAA8C,yBAAyB,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,0DAA0D,cAAc,CAAC,+CAA+C,wBAAwB,CAAC,eAAe,CAAC,8CAA8C,4BAA4B,CAAC,kBAAkB,CAAC,yDAAyD,eAAe,CAAC,gBAAgB,CAAC,mCAAmC,qBAAqB,CAAC,8BAA8B,kBAAkB,CAAC,gDAAgD,eAAe,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,2DAA2D,UAAU,CAAC,+DAA+D,cAAc,CAAC,4CAA4C,eAAe,CAAC,sDAAsD,YAAY,CAAC,4CAA4C,YAAY,CAAC,0BAA0B,aAAa,CAAC,sBAAsB,aAAa,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,cAAc","file":"redux-fields.min.css","sourcesContent":[".redux-container-ace_editor .ace-wrapper{position:static}.redux-container-ace_editor .ace_editor{height:200px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-ace_editor .ace_gutter{z-index:1 !important}.redux-main .redux-container-background .redux-background-position,.redux-main .redux-container-background .redux-background-position select,.redux-main .redux-container-background .redux-background-attachment,.redux-main .redux-container-background .redux-background-attachment select,.redux-main .redux-container-background .redux-background-clip,.redux-main .redux-container-background .redux-background-clip select,.redux-main .redux-container-background .redux-background-origin,.redux-main .redux-container-background .redux-background-origin select,.redux-main .redux-container-background .redux-background-size,.redux-main .redux-container-background .redux-background-size select,.redux-main .redux-container-background .redux-background-repeat,.redux-main .redux-container-background .redux-background-repeat select{width:200px !important;margin-right:10px;margin-bottom:7px}.redux-main .redux-container-background .background-preview{display:block;width:100%;margin:5px 0 10px;border:1px dotted #d3d3d3}.redux-main .redux-container-background .select2-container{margin-right:10px;margin-bottom:10px}.redux-main .redux-container-background .wp-picker-container{margin-bottom:10px}.redux-main .redux-container-background .upload{width:100%;margin-bottom:8px}.redux-main .redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.wp-customizer .redux-container-background .redux-background-position,.wp-customizer .redux-container-background .redux-background-position select,.wp-customizer .redux-container-background .redux-background-attachment,.wp-customizer .redux-container-background .redux-background-attachment select,.wp-customizer .redux-container-background .redux-background-clip,.wp-customizer .redux-container-background .redux-background-clip select,.wp-customizer .redux-container-background .redux-background-origin,.wp-customizer .redux-container-background .redux-background-origin select,.wp-customizer .redux-container-background .redux-background-size,.wp-customizer .redux-container-background .redux-background-size select,.wp-customizer .redux-container-background .redux-background-repeat,.wp-customizer .redux-container-background .redux-background-repeat select{width:100% !important}.redux-container-border .select2-container{float:left;display:block;margin-right:10px}.redux-container-border .select_wrapper{float:left;width:inherit}.redux-container-border .select_wrapper select{width:80px;float:left}.redux-container-border .field-border-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-border .field-border-input input{display:inline-block !important;width:100px !important}.redux-container-border .field-border-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-border .select_wrapper{margin-top:6px}}.redux-container-checkbox label{vertical-align:top;width:100%}.redux-container-checkbox label .field-desc{margin-top:0;float:left;width:93%;clear:none}.redux-container-color_gradient .redux-gradient-preview{height:150px;margin-top:10px;border-radius:4px}.redux-container-color_gradient .colorGradient,.redux-container-color_gradient .redux-gradient-type{display:inline-block;margin-right:20px}.redux-container-color_gradient .colorGradient strong,.redux-container-color_gradient .redux-gradient-type strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;color:#999}@media screen and (max-width: 660px){.redux-container-color_gradient .colorGradient{display:block;text-align:center !important}}.sp-container{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,0.08);vertical-align:top}.sp-replacer:focus,.sp-replacer:hover,.sp-replacer.focus,.sp-replacer.hover{background:#fafafa;border-color:#999;color:#222}.sp-replacer:focus,.sp-replacer.focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8)}.sp-replacer.active,.sp-replacer.active:hover,.sp-replacer:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5)}#ui-datepicker-div{z-index:15 !important}.ui-datepicker-header{background-color:#00abef}.redux-dimensions-container select,.redux-dimensions-container .select_wrapper{width:80px !important;float:left}.redux-dimensions-container .field-dimensions-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-dimensions-container .field-dimensions-input input{display:inline-block !important;width:100px !important}.redux-dimensions-container .field-dimensions-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-dimensions-container .select_wrapper{margin-top:6px}}.redux-main .divide{height:20px;line-height:20px;float:none;border-color:#e7e7e7;display:block;width:100%;height:35px !important;line-height:35px !important;position:relative;margin:15px 0 10px 0}.redux-main .divide .inner{width:42% !important;left:40% !important;margin-left:-6%;background-color:#fcfcfc;border-color:#e7e7e7;position:absolute;height:1px;top:50%;width:100%;margin-top:-1px;border-top-width:1px;border-top-style:solid}.redux-main .divide .inner span{background-color:#fcfcfc;border-color:#e7e7e7;height:5px;width:5px;border-width:2px;border-style:solid;display:block;position:absolute;left:50%;margin-left:-5px;margin-top:-5px}.wp-customizer .redux-container-divide .divide .inner{width:82% !important;left:18% !important;margin-left:-8%}.redux-container-editor .mceLayout td{border-width:1px;margin:0;padding:1px}.redux-container-editor input,.redux-container-editor textarea{margin:inherit}.redux-container-editor textarea{border-style:none;border:0;border-width:0}.redux-container-editor .wp-editor-container{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-editor .wp-editor-container textarea{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-style:inherit}.redux-container-editor .quicktags-toolbar input{margin:2px 1px 4px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial, Helvetica, sans-serif normal;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background-image:-webkit-gradient(linear, left bottom, left top, from(#e3e3e3), to(#fff));background-image:-webkit-linear-gradient(bottom, #e3e3e3, #fff);background-image:-moz-linear-gradient(bottom, #e3e3e3, #fff);background-image:-o-linear-gradient(bottom, #e3e3e3, #fff);background-image:linear-gradient(to top, #e3e3e3, #fff)}.redux-container-image_select .redux-table-container{display:table;table-layout:fixed;width:100%}.redux-container-image_select .redux-image-select{margin:0 !important}.redux-container-image_select .redux-image-select .tiles{display:block;background-color:#fff;background-repeat:repeat;width:40px;height:40px}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select .tiles{border-color:#d9d9d9}.redux-container-image_select .redux-image-select li:last-child{margin-bottom:0}.redux-container-image_select .redux-image-select input[type=\"radio\"]{display:none}.redux-container-image_select .redux-image-select-presets img{width:100%}.redux-container-image_select ul.redux-image-select li{margin:0 10px 3px 10px;display:inline-block;padding:2px 2px;padding-left:0}.redux-container-image_select .redux-image-select-selected{background-color:#f9f9f9}.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select-selected img,.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-width:4px;border-style:solid}.redux-container-image_select .redux-image-select-selected .tiles,.redux-container-image_select .redux-image-select-selected .tiles{border-color:#7a7a7a}.redux-info-field{min-height:20px;padding:8px 19px;margin:10px 0;border:1px solid;border-radius:4px;border:1px solid;position:relative}.redux-info-field h1,.redux-info-field h2,.redux-info-field h3,.redux-info-field h4,.redux-info-field h5,.redux-info-field h6{border-bottom:0 !important}.redux-info-field h3{color:#777}.redux-info-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-info-field .redux-info-icon i{font-size:2em}.redux-info-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-info-field.redux-normal{background-color:#eee;border-color:#ccc;color:#666}.redux-info-field.redux-normal i{color:#c5c5c5}.redux-info-field.redux-warning{background-color:#fbeba4;border-color:#d7c281;color:#958234}.redux-info-field.redux-warning i{color:#dcca81}.redux-info-field.redux-success{background-color:#c4ee91;border-color:#71af5d;color:#4d7615}.redux-info-field.redux-success i{color:#a0ca6c}.redux-info-field.redux-critical{background-color:#fba1a3;border-color:#b84f5b;color:#981225}.redux-info-field.redux-critical i{color:#dd767d}.redux-info-field.redux-info{background-color:#d3e4f4;border-color:#a9b6c2;color:#5c80a1}.redux-info-field.redux-info i{color:#afc6da}.redux-notice-field{margin:15px 0 0;background-color:#fff;border:0;border-left:4px solid #f3f3f3;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px}.redux-notice-field h1,.redux-notice-field h2,.redux-notice-field h3,.redux-notice-field h4,.redux-notice-field h5,.redux-notice-field h6{border-bottom:0 !important}.redux-notice-field p{margin:0.5em 0;padding:2px}.redux-notice-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-notice-field .redux-info-icon i{font-size:2em}.redux-notice-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-notice-field.redux-info{border-left:4px solid #0099d5}.redux-notice-field.redux-success{border-left:4px solid #7ad03a}.redux-notice-field.redux-warning{border-left:4px solid #fbeba4}.redux-notice-field.redux-critical{border-left:4px solid #dd3d36}.redux-main .redux-field-container.redux-container-info{padding:0}.wp-customizer .hasIcon.redux-notice-field .redux-info-desc,.wp-customizer .hasIcon.redux-info-field .redux-info-desc{display:block;margin-left:43px}.wp-customizer .hasIcon.redux-notice-field .redux-info-icon,.wp-customizer .hasIcon.redux-info-field .redux-info-icon{float:left}.wp-customizer .redux-main .customize-control.customize-control-redux-info{border-bottom:0}.redux-main .redux-media-slider{width:40%;display:inline-block;margin-left:30px}.redux-main .redux-media-filter-container{padding-top:20px}.redux-main .redux-media-filter-container .container-label{margin-bottom:20px;padding-bottom:1px;border-bottom:1px solid #e7e7e7;font-weight:600;font-size:12px;color:#999}.redux-main .redux-media-filter-container .media-filter{display:inline-block;width:47%;margin-bottom:5px}.redux-main .redux-media-filter-container .media-filter label{display:inline-block;width:130px;color:#999}.redux-main .redux-media-filter-container .media-filter label.disabled .filter-value{color:#ccc}.redux-container-link_color .linkColor{display:inline-block;padding-right:10px;padding-bottom:7px}.redux-container-link_color .linkColor strong{display:table;margin-bottom:5px;margin-left:3px;font-size:12px;font-weight:normal;color:#999}.redux-container-multi_text ul.redux-multi-text{margin:0;padding:0}.redux-container-multi_text .redux-multi-text-add{clear:both;margin:5px 0}.redux-container-multi_text a.redux-multi-text-remove.deletion{color:#f00;padding:2px 4px;margin-left:5px}.redux-container-multi_text a.redux-multi-text-remove.deletion:hover{background:#ff0;color:#fff;text-decoration:none}@media screen and (max-width: 782px){.redux-container-multi_text input{clear:both}.redux-container-multi_text .redux-multi-text-remove{margin:0;float:right}}.wp-customizer .redux-container-multi_text .button{float:right}.wp-customizer .redux-container-multi_text .redux-multi-text-remove{float:right;margin-bottom:5px}.wp-customizer .redux-container-multi_text ul.redux-multi-text input{width:100% !important}.redux-container-palette label{border:3px solid transparent;border-color:transparent !important;border-radius:0;width:100% !important;display:block}.redux-container-palette label.ui-button.ui-widget{width:95%;background:none;padding:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text{display:flex}.redux-container-palette label.ui-button.ui-widget .ui-button-text span{padding:10px;flex-grow:1;font-size:0;line-height:10px;color:rgba(0,0,0,0);-webkit-transition:all 200ms ease-in-out;-moz-transition:all 200ms ease-in-out;-ms-transition:all 200ms ease-in-out;-o-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out;text-shadow:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text span:hover{flex-grow:3;font-weight:bold;min-width:60px;font-size:12px;line-height:10px;color:#333;text-shadow:0 0 8px #fff, 0 0 8px #fff}.redux-container-palette label.ui-state-active{border:3px solid #333 !important}.wp-customizer .redux-main .redux-container-palette label{margin-bottom:3px}.redux-main .form-table-section-indented{width:95%;margin-left:5% !important}.redux-main .form-table-section tr:first-of-type th:first-of-type{padding:0px !important}.redux-main h3{margin-top:10px}.redux-main .form-table-section-indented>tbody>tr:first-child{display:none}.redux-main .form-table-section-indented>tbody>tr:nth-last-child(2){border-bottom:0}.redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.select2-search__field{width:none !important}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove,.select2-container--classic .select2-selection--single .select2-selection__clear{font-size:1.2em}.redux-container-select_image{margin-top:2px;margin-left:5px;width:100%;margin-bottom:0}.redux-preview-image{max-height:250px;max-width:250px;padding:5px;margin-top:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slider .redux-slider-container{margin-left:25px;margin-right:25px;width:200px;display:inline-block;vertical-align:middle}.redux-container-slider .redux-slider-input,.redux-container-slider .redux-slider-select-one,.redux-container-slider .redux-slider-select-two{width:100px !important;text-align:center}.redux-container-slider .redux-slider-label{position:absolute;margin-left:-5px}.redux-container-slider .redux-slider-label-one{position:absolute;margin-left:-22px}.redux-container-slider .redux-slider-label-two{position:absolute;margin-top:-21px;margin-left:245px}@media screen and (max-width: 782px){.redux-container-slider input{display:inline-block !important}}@media screen and (max-width: 570px){.redux-container-slider{text-align:center}.redux-container-slider input,.redux-container-slider select,.redux-container-slider .redux-slider-label,.redux-container-slider .select2-container{display:block !important;position:inherit;margin:10px auto}.redux-container-slider .redux-slider-container{margin-top:3px;width:80%}}.wp-customizer .redux-container-slider .redux-slider-label{float:left;position:inherit;width:25%;text-align:center;margin-left:0}.wp-customizer .redux-container-slider .redux-slider-input,.wp-customizer .redux-container-slider .redux-slider-select-one,.wp-customizer .redux-container-slider .redux-slider-select-two{width:25% !important}.wp-customizer .redux-container-slider .redux-slider-container{width:70%;margin-right:0;margin-left:5%}.redux-container-sortable i.el,.redux-container-sortable i.dashicons-menu{cursor:move;padding-top:5px}.redux-container-sortable label{margin-right:10px}.redux-container-sortable label.bugger{margin-bottom:0px !important;font-size:12px !important;color:#999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:100%}.redux-container-sortable .checkbox-container label{margin-bottom:2px !important;cursor:inherit}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable ul.checkbox li{padding:5px 10px;border:1px solid #333;background:#fff;margin-bottom:5px !important}.redux-container-sortable ul.checkbox li .dashicons.visibility{padding-top:4px;margin-right:10px;cursor:pointer}.redux-container-sortable ul.checkbox li.invisible{color:#aaa;border:1px dashed #aaa}.redux-container-sortable ul.checkbox li.invisible .dashicons.visibility{color:#aaa}.redux-container-sortable ul.labeled li{line-height:1.4em !important}.redux-container-sortable li{line-height:30px !important}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0}.wp-customizer .redux-sortable input[type=\"text\"]{width:92%}.wp-customizer .redux-sortable i.el{margin-left:5px}.wp-customizer .redux-container-sortable .checkbox-container{width:inherit}.wp-customizer .redux-container-sortable .ui-draggable-handle{margin-left:3%}.redux-container-slides .redux-slides-list .select2-container{margin-bottom:10px;width:100%}.redux-container-slides .ui-accordion-header{margin-bottom:0}.redux-container-slides .full-text,.redux-container-slides .large-text{width:100%}.redux-container-slides .redux-slides-accordion-group{border:1px solid #dfdfdf !important;border-radius:3px !important;margin-top:0px !important;margin-bottom:10px;background:#f9f9f9;padding:5px}.redux-container-slides .redux-slides-accordion-group h3{border:1px solid #dfdfdf;cursor:move !important;font-weight:bold;padding:0 10px !important;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-ms-linear-gradient(top, #f9f9f9, #ececec);background-image:-moz-linear-gradient(top, #f9f9f9, #ececec);background-image:-o-linear-gradient(top, #f9f9f9, #ececec);background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-slides #redux-slides-accordion .redux-slides-image{height:250px;padding:5px;margin-top:10px;margin-bottom:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slides .redux-slides-add{float:right;margin-right:10%;display:block;margin-bottom:10px}.redux-container-slides .redux-slides-remove{color:#ef521d !important;float:right;margin-top:5px}.redux-container-slides .redux-slides-header{font-weight:bold}.redux-container-slides .redux_slides_add_remove{margin-bottom:10px}.redux-container-slides input{width:100% !important}.wp-customizer .redux-container-slides .ui-accordion .ui-accordion-content{padding:10px}.redux-container-sorter{margin-right:-20px}.redux-container-sorter ul{background:#f9f9f9;border:1px solid #e3e3e3;min-height:40px;padding:10px 10px 0;width:145px;float:left;margin:0 15px 0 0}.redux-container-sorter ul.filled{opacity:0.7;filter:alpha(opacity=70);background:#efecec}.redux-container-sorter ul li{border:1px solid #dfdfdf;cursor:move;font-weight:bold;margin-bottom:10px !important;padding:0 10px;height:40px;line-height:40px !important;background-color:#f1f1f1;background-image:-ms-linear-gradient(top, #f9f9f9, #ececec);background-image:-moz-linear-gradient(top, #f9f9f9, #ececec);background-image:-o-linear-gradient(top, #f9f9f9, #ececec);background-image:-webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));background-image:-webkit-linear-gradient(top, #f9f9f9, #ececec);background-image:linear-gradient(to bottom, #f9f9f9, #ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-sorter ul li h3{margin:0 0 10px;text-align:center;color:#777;text-transform:capitalize;word-wrap:break-word}.redux-container-sorter ul li.placeholder{height:40px}.wp-customizer .redux-container-sorter ul{width:85%;margin:0 0 5px 0}.redux-container-spacing select,.redux-container-spacing .select_wrapper{width:80px !important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-spacing .field-spacing-input input{display:inline-block !important;width:70px !important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}}.redux-container-spinner .spinner-wrpr{position:relative;display:block;height:30px;overflow:hidden}.redux-container-spinner .spinner-wrpr .spinner-input{position:relative !important;z-index:1;width:75px !important;height:30px !important;background:#eee !important;border:1px solid #bfbfbf !important;border-right:0 !important;border-left:0 !important;-webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important}.redux-container-spinner .ui-spinner{position:static;display:inline}.redux-container-spinner .ui-spinner-buttons{position:absolute;padding:0}.redux-container-spinner .ui-widget .ui-spinner-button{color:#fff;position:absolute;top:0;padding:0 0 30px;overflow:hidden;cursor:pointer;background:-moz-linear-gradient(#fff, #f3f3f3);background:-o-linear-gradient(#fff, #f3f3f3);background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#f3f3f3));background:linear-gradient(#fff, #f3f3f3);background-color:#fff;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.redux-container-spinner .ui-spinner-button:hover,.redux-container-spinner .ui-state-hover{background:-moz-linear-gradient(#f3f3f3, #fff);background:-o-linear-gradient(#f3f3f3, #fff);background:-webkit-gradient(linear, left top, left bottom, from(#f3f3f3), to(#fff));background:linear-gradient(#f3f3f3, #fff);background-color:#f3f3f3}.redux-container-spinner .ui-corner-tr,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{-webkit-border-radius:0 5px 5px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.redux-container-spinner .ui-corner-br,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{-webkit-border-radius:5px 0 0 5px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.redux-container-spinner .ui-spinner-button .ui-icon{top:0;display:block;width:28px;height:28px;margin:0;border:1px solid #b7b7b7;background-image:initial;text-indent:0;text-align:center;font-size:18px;line-height:26px}.dp-numberPicker,.dp-numberPicker-add,.dp-numberPicker-sub,.dp-numberPicker-input{display:inline-block;box-sizing:border-box;-moz-box-sizing:border-box;text-align:center;vertical-align:top;height:30px}.dp-numberPicker{border-radius:3px}.redux-container .redux-container-spinner .dp-numberPicker-add,.redux-container .redux-container-spinner .dp-numberPicker-sub{width:30px;font-size:21px;cursor:pointer;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;background-color:#33b5e5;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);height:29px !important}.redux-container .redux-container-spinner .dp-numberPicker-add.disabled,.redux-container .redux-container-spinner .dp-numberPicker-sub.disabled{background-color:#2c6a81}.dp-numberPicker-add{border-top-right-radius:3px;border-bottom-right-radius:3px}.dp-numberPicker-sub{border-top-left-radius:3px;border-bottom-left-radius:3px}.dp-numberPicker-input{width:70px;background-color:#eee;border:0;margin:0 !important;box-shadow:inset 0px 1px 1px rgba(255,255,255,0.5),inset 0px -1px 1px rgba(0,0,0,0.5)}.dp-numberPicker-input:disabled{background-color:#eee}.redux-container-switch .switch-options{min-height:30px;margin-right:10px}.redux-container-switch .switch-options label{cursor:pointer}.redux-container-switch .switch-options input{display:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable{padding:0 10px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{line-height:30px;display:block;font-weight:700;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.redux-container-switch .cb-enable,.redux-container-switch .cb-disable,.redux-container-switch .cb-enable span,.redux-container-switch .cb-disable span{display:block;float:left}.redux-container-switch .cb-enable{border-right:0;border-radius:3px 0px 0px 3px;-moz-border-radius:3px 0px 0px 3px;-webkit-border-radius:3px 0px 0px 3px}.redux-container-switch .cb-enable.selected{color:#fff}.redux-container-switch .cb-disable{border-left:0;border-radius:0px 3px 3px 0px;-moz-border-radius:0px 3px 3px 0px;-webkit-border-radius:0px 3px 3px 0px}.redux-container-switch .cb-disable.selected{color:#fff}.redux-container-text label{display:block;position:relative;font-size:12px !important;text-align:left;color:#999;margin:4px 0 2px 0 !important;cursor:default;top:5px;width:100px}.redux-container-text input{clear:left}.redux-container-text .input_wrapper{display:block;position:relative;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:left;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.wp-customizer .redux-container-text .input_wrapper{width:100%;max-width:100%;height:auto}.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix::after{visibility:hidden;display:block;font-size:0;content:\" \";clear:both;height:0}.redux-main .redux-typography-container input.wp-picker-default,.redux-main .redux-typography-container .redux-typography-color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0 14px !important;margin-top:0;margin-bottom:0;font-size:12px !important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48% !important;min-width:210px !important;max-width:324px !important;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper:nth-child(even){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px !important;display:block;float:left;height:28px !important;line-height:50px !important;padding:0 !important;width:100% !important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;position:relative;margin:0;padding:0;width:100%;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{position:relative;font-size:12px !important;text-align:left;color:#999;width:100%;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted #d3d3d3;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0 none;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width: 540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0 !important;margin-right:0 !important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0 !important;margin-right:5px !important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px !important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}}@media screen and (max-width: 360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}}.wp-customizer .redux-typography-container .input_wrapper{width:40%;max-width:40%;min-width:20%}.wp-customizer .redux-typography-container .input_wrapper input.mini{width:70%}.wp-customizer .redux-typography-container .select_wrapper{width:100% !important}.wp-customizer .redux-container{overflow:visible}.wp-customizer .redux-container .redux-main input{margin:0 !important}.wp-customizer .redux-container .redux-main input.spinner-input{margin-right:30px !important;margin-left:30px !important;margin-top:0px !important}.wp-customizer .redux-section p.customize-section-description{margin-top:22px;word-break:break-word}.wp-customizer .redux-section p.customize-section-description.legacy{margin-top:7px}.wp-customizer .control-section-themes .accordion-section-title{margin:0}.wp-customizer #customize-controls .description{display:block}.wp-customizer #customize-controls .customize-info{margin-bottom:0}.wp-customizer #customize-controls .redux-section .accordion-section-content{background:#fcfcfc}.wp-customizer .redux-section .accordion-section-title i,.wp-customizer .redux-field .accordion-field-title i,.wp-customizer .redux-panel .accordion-section-title i{margin-right:5px}.wp-customizer .accordion-section.redux-main{background:inherit;margin-left:inherit;border-left:inherit;-moz-box-shadow:inherit;-webkit-box-shadow:inherit;padding:inherit;box-shadow:inherit}.wp-customizer .redux_field_th{padding:13px 0px 0px 0px}.wp-customizer .redux-main .redux-field-container{padding:10px 0}.wp-customizer .redux-main .select_wrapper{float:none;width:100%;display:inline-block}.wp-customizer .redux-main .select2-container{margin-right:0 !important;margin-bottom:5px !important;width:100% !important}.wp-customizer .redux-main .select_wrapper:nth-child(odd){margin-right:0}.wp-customizer .redux-main .redux-option-image{max-width:42% !important;margin-right:3%}.wp-customizer .redux-main .customize-control{border-bottom:1px solid #ddd;padding-bottom:4px}.wp-customizer .redux-main .customize-control:last-child{border-bottom:0;padding-bottom:0}.wp-customizer .redux-main .upload{width:100% !important}.wp-customizer .redux-main h3{margin-top:inherit}.wp-customizer .redux-main .redux-container-raw{margin-top:22px;word-break:break-word;padding:0 !important}.wp-customizer .redux-main .redux-container-password input{width:100%}.wp-customizer .select2-drop,.wp-customizer .select2-container{z-index:999999}.wp-customizer .customize-control-redux-raw{list-style:none}#redux-import-link-wrapper,#redux-import-code-wrapper{display:none}#redux-export-code,#redux-export-link-value{display:none}#redux-import-action span{color:#b94a48}#redux-object-browser{overflow:auto;word-wrap:break-word;max-height:600px;max-width:100%}\n"]}
redux-core/class-redux-core.php CHANGED
@@ -178,6 +178,24 @@ if ( ! class_exists( 'Redux_Core', false ) ) {
178
  * Class init.
179
  */
180
  private function init() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
  self::$dir = trailingslashit( wp_normalize_path( dirname( realpath( __FILE__ ) ) ) );
182
 
183
  Redux_Functions_Ex::generator();
178
  * Class init.
179
  */
180
  private function init() {
181
+
182
+ self::$server = array(
183
+ 'SERVER_SOFTWARE' => '',
184
+ 'REMOTE_ADDR' => Redux_Helpers::is_local_host() ? '127.0.0.1' : '',
185
+ 'HTTP_USER_AGENT' => '',
186
+ );
187
+ // phpcs:disable WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
188
+ if ( ! empty( $_SERVER['SERVER_SOFTWARE'] ) ) {
189
+ self::$server['SERVER_SOFTWARE'] = sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) );
190
+ }
191
+ if ( ! empty( $_SERVER['REMOTE_ADDR'] ) ) {
192
+ self::$server['REMOTE_ADDR'] = sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) );
193
+ }
194
+ if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
195
+ self::$server['HTTP_USER_AGENT'] = sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) );
196
+ }
197
+ // phpcs:enable
198
+
199
  self::$dir = trailingslashit( wp_normalize_path( dirname( realpath( __FILE__ ) ) ) );
200
 
201
  Redux_Functions_Ex::generator();
redux-core/framework.php CHANGED
@@ -23,9 +23,8 @@ defined( 'ABSPATH' ) || exit;
23
 
24
  require_once dirname( __FILE__ ) . '/class-redux-core.php';
25
 
26
- Redux_Core::$version = '4.1.14';
27
  Redux_Core::$redux_path = dirname( __FILE__ );
28
- Redux_Core::$server = filter_input_array( INPUT_SERVER, $_SERVER ); // phpcs:ignore WordPress.Security.EscapeOutput
29
  Redux_Core::instance();
30
 
31
  // Don't duplicate me!
@@ -413,6 +412,10 @@ if ( ! class_exists( 'ReduxFramework', false ) ) {
413
  return;
414
  }
415
 
 
 
 
 
416
  if ( ! isset( Redux::$init[ $args['opt_name'] ] ) ) {
417
  // Let's go back to the Redux API instead of having it run directly.
418
  Redux_Functions_Ex::record_caller( $args['opt_name'] );
@@ -426,10 +429,6 @@ if ( ! class_exists( 'ReduxFramework', false ) ) {
426
  Redux::$init[ $args['opt_name'] ] = 1;
427
  }
428
 
429
- if ( empty( $args ) ) {
430
- return;
431
- }
432
-
433
  $args = new Redux_Args( $this, $args );
434
  $this->args_class = $args;
435
  $this->args = $args->get;
@@ -738,7 +737,7 @@ if ( ! class_exists( 'ReduxFramework', false ) ) {
738
  * @return void
739
  */
740
  public function set( $opt_name = '', $values = array() ) {
741
- if ( ! empty( $opt_name ) ) {
742
  $this->options[ $opt_name ] = $values;
743
  $this->options_class->set( $values );
744
  }
23
 
24
  require_once dirname( __FILE__ ) . '/class-redux-core.php';
25
 
26
+ Redux_Core::$version = '4.1.15';
27
  Redux_Core::$redux_path = dirname( __FILE__ );
 
28
  Redux_Core::instance();
29
 
30
  // Don't duplicate me!
412
  return;
413
  }
414
 
415
+ if ( empty( $args ) || ! isset( $args['opt_name'] ) || ( isset( $args['opt_name'] ) && empty( $args['opt_name'] ) ) ) {
416
+ return;
417
+ }
418
+
419
  if ( ! isset( Redux::$init[ $args['opt_name'] ] ) ) {
420
  // Let's go back to the Redux API instead of having it run directly.
421
  Redux_Functions_Ex::record_caller( $args['opt_name'] );
429
  Redux::$init[ $args['opt_name'] ] = 1;
430
  }
431
 
 
 
 
 
432
  $args = new Redux_Args( $this, $args );
433
  $this->args_class = $args;
434
  $this->args = $args->get;
737
  * @return void
738
  */
739
  public function set( $opt_name = '', $values = array() ) {
740
+ if ( ! empty( $opt_name ) && is_array( $values ) && null !== $values ) {
741
  $this->options[ $opt_name ] = $values;
742
  $this->options_class->set( $values );
743
  }
redux-core/inc/classes/class-redux-ajax-select2.php CHANGED
@@ -45,13 +45,16 @@ if ( ! class_exists( 'Redux_AJAX_Select2', false ) ) {
45
  if ( isset( $_REQUEST['data'] ) ) {
46
 
47
  $args = isset( $_REQUEST['data_args'] ) ? json_decode( sanitize_text_field( wp_unslash( $_REQUEST['data_args'] ) ), true ) : array();
48
- $args = wp_parse_args( $args, array(
49
- 's' => isset( $_REQUEST['q'] ) && ! empty( $_REQUEST['q'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['q'] ) ) : ''
50
- ) );
 
 
 
51
 
52
  $criteria = '';
53
  if ( isset( $_REQUEST['q'] ) && ! empty( $_REQUEST['q'] ) ) {
54
- $criteria = sanitize_text_field( wp_unslash( $_REQUEST['q'] ) );
55
  $args['s'] = $criteria;
56
  }
57
 
45
  if ( isset( $_REQUEST['data'] ) ) {
46
 
47
  $args = isset( $_REQUEST['data_args'] ) ? json_decode( sanitize_text_field( wp_unslash( $_REQUEST['data_args'] ) ), true ) : array();
48
+ $args = wp_parse_args(
49
+ $args,
50
+ array(
51
+ 's' => isset( $_REQUEST['q'] ) && ! empty( $_REQUEST['q'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['q'] ) ) : '',
52
+ )
53
+ );
54
 
55
  $criteria = '';
56
  if ( isset( $_REQUEST['q'] ) && ! empty( $_REQUEST['q'] ) ) {
57
+ $criteria = sanitize_text_field( wp_unslash( $_REQUEST['q'] ) );
58
  $args['s'] = $criteria;
59
  }
60
 
redux-core/inc/classes/class-redux-api.php CHANGED
@@ -242,7 +242,7 @@ if ( ! class_exists( 'Redux', false ) ) {
242
  self::$extension_compatibility = true;
243
  $redux_framework->extensions[ $name ] = Redux_Functions_Ex::extension_compatibility( $redux_framework, $extension['path'], $ext_class, $new_class_name, $name );
244
  }
245
- } else {
246
  echo '<div id="message" class="error"><p>No class named <strong>' . esc_html( $extension['class'] ) . '</strong> exists. Please verify your extension path.</p></div>';
247
  }
248
  }
242
  self::$extension_compatibility = true;
243
  $redux_framework->extensions[ $name ] = Redux_Functions_Ex::extension_compatibility( $redux_framework, $extension['path'], $ext_class, $new_class_name, $name );
244
  }
245
+ } elseif ( is_admin() && true === $redux_framework->args['dev_mode'] ) {
246
  echo '<div id="message" class="error"><p>No class named <strong>' . esc_html( $extension['class'] ) . '</strong> exists. Please verify your extension path.</p></div>';
247
  }
248
  }
redux-core/inc/classes/class-redux-args.php CHANGED
@@ -158,6 +158,7 @@ if ( ! class_exists( 'Redux_Args', false ) ) {
158
  'admin_theme' => 'wp',
159
  'elusive_frontend' => false,
160
  'pro' => array(),
 
161
  );
162
 
163
  // phpcs:ignore WordPress.NamingConventions.ValidHookName
@@ -168,6 +169,13 @@ if ( ! class_exists( 'Redux_Args', false ) ) {
168
  $args = $this->args( $args );
169
  $args = $this->default_cleanup( $args );
170
 
 
 
 
 
 
 
 
171
  $this->get = $args;
172
 
173
  $this->parent->args = $args;
158
  'admin_theme' => 'wp',
159
  'elusive_frontend' => false,
160
  'pro' => array(),
161
+ 'font_display' => 'swap', // block|swap|fallback|optional.
162
  );
163
 
164
  // phpcs:ignore WordPress.NamingConventions.ValidHookName
169
  $args = $this->args( $args );
170
  $args = $this->default_cleanup( $args );
171
 
172
+ if ( ! in_array( $args['font_display'], array( 'block', 'swap', 'fallback', 'optional' ), true ) ) {
173
+ $args['font_display'] = 'swap';
174
+ }
175
+ if ( $args['async_typography'] ) { // TODO: Disable this for now. We'll rip it out completely shortly.
176
+ $args['async_typography'] = false;
177
+ }
178
+
179
  $this->get = $args;
180
 
181
  $this->parent->args = $args;
redux-core/inc/classes/class-redux-connection-banner.php CHANGED
@@ -473,8 +473,7 @@ if ( ! class_exists( 'Redux_Connection_Banner', false ) ) {
473
  public static function tos_blurb($campaign = "options_panel") {
474
  return sprintf(
475
  __( 'By clicking the <strong>Register</strong> button, you agree to our <a href="%1$s" target="_blank">terms of service</a>, to create an account, and to share details of your usage metrics with Redux.io.', 'redux-framework' ),
476
- esc_url( 'https://redux.io/terms?utm_source=plugin&utm_medium=appsero&utm_campaign=' . $campaign ),
477
- esc_url( 'https://redux.io/share-details?utm_source=plugin&utm_medium=appsero&utm_campaign=' . $campaign )
478
  );
479
  }
480
 
473
  public static function tos_blurb($campaign = "options_panel") {
474
  return sprintf(
475
  __( 'By clicking the <strong>Register</strong> button, you agree to our <a href="%1$s" target="_blank">terms of service</a>, to create an account, and to share details of your usage metrics with Redux.io.', 'redux-framework' ),
476
+ Redux_Functions_Ex::get_site_utm_url( 'terms', 'appsero', 'activate', $campaign )
 
477
  );
478
  }
479
 
redux-core/inc/classes/class-redux-filesystem.php CHANGED
@@ -532,6 +532,10 @@ if ( ! class_exists( 'Redux_Filesystem', false ) ) {
532
  */
533
  public function put_contents( $abs_path, $contents, $perms = null ) {
534
 
 
 
 
 
535
  // phpcs:ignore WordPress.PHP.NoSilencedErrors
536
  // @codingStandardsIgnoreStart
537
  $return = @file_put_contents( $abs_path, $contents );
@@ -613,9 +617,12 @@ if ( ! class_exists( 'Redux_Filesystem', false ) ) {
613
  * @return string
614
  */
615
  public function get_local_file_contents( $abs_path ) {
 
616
  try {
617
  ob_start();
618
- require_once $abs_path;
 
 
619
  $contents = ob_get_clean();
620
  } catch ( Exception $e ) {
621
  // This means that ob_start has been disabled on the system. Let's fallback to good old file_get_contents.
@@ -670,6 +677,9 @@ if ( ! class_exists( 'Redux_Filesystem', false ) ) {
670
  * @return bool
671
  */
672
  public function chmod( $abs_path, $perms = null ) {
 
 
 
673
  if ( is_null( $perms ) ) {
674
  $perms = $this->is_file( $abs_path ) ? $this->chmod_file : $this->chmod_dir;
675
  }
@@ -957,6 +967,10 @@ if ( ! class_exists( 'Redux_Filesystem', false ) ) {
957
  if ( ! $overwrite && $this->file_exists( $destination_abs_path ) ) {
958
  return false;
959
  }
 
 
 
 
960
  // phpcs:ignore WordPress.PHP.NoSilencedErrors
961
  $return = @copy( $source_abs_path, $destination_abs_path );
962
  if ( $perms && $return ) {
532
  */
533
  public function put_contents( $abs_path, $contents, $perms = null ) {
534
 
535
+ if ( ! $this->is_dir( dirname( $abs_path ) ) ) {
536
+ $this->mkdir( dirname( $abs_path ) );
537
+ }
538
+
539
  // phpcs:ignore WordPress.PHP.NoSilencedErrors
540
  // @codingStandardsIgnoreStart
541
  $return = @file_put_contents( $abs_path, $contents );
617
  * @return string
618
  */
619
  public function get_local_file_contents( $abs_path ) {
620
+
621
  try {
622
  ob_start();
623
+ if ( $this->file_exists( $abs_path ) ) {
624
+ require_once $abs_path;
625
+ }
626
  $contents = ob_get_clean();
627
  } catch ( Exception $e ) {
628
  // This means that ob_start has been disabled on the system. Let's fallback to good old file_get_contents.
677
  * @return bool
678
  */
679
  public function chmod( $abs_path, $perms = null ) {
680
+ if ( ! $this->file_exists( $abs_path ) ) {
681
+ return false;
682
+ }
683
  if ( is_null( $perms ) ) {
684
  $perms = $this->is_file( $abs_path ) ? $this->chmod_file : $this->chmod_dir;
685
  }
967
  if ( ! $overwrite && $this->file_exists( $destination_abs_path ) ) {
968
  return false;
969
  }
970
+ if ( ! $this->is_dir( dirname( $destination_abs_path ) ) ) {
971
+ $this->mkdir( dirname( $destination_abs_path ) );
972
+ }
973
+
974
  // phpcs:ignore WordPress.PHP.NoSilencedErrors
975
  $return = @copy( $source_abs_path, $destination_abs_path );
976
  if ( $perms && $return ) {
redux-core/inc/classes/class-redux-functions-ex.php CHANGED
@@ -433,11 +433,64 @@ if ( ! class_exists( 'Redux_Functions_Ex', false ) ) {
433
  */
434
  public static function string_ends_with( $haystack, $needle ) {
435
  $length = strlen( $needle );
436
- if( !$length ) {
437
  return true;
438
  }
439
  return substr( $haystack, -$length ) === $needle;
440
  }
441
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
442
  }
443
  }
433
  */
434
  public static function string_ends_with( $haystack, $needle ) {
435
  $length = strlen( $needle );
436
+ if ( ! $length ) {
437
  return true;
438
  }
439
  return substr( $haystack, -$length ) === $needle;
440
  }
441
 
442
+ /**
443
+ * Get the url where the Admin Columns website is hosted
444
+ *
445
+ * @param string $path Path to add to url.
446
+ *
447
+ * @return string
448
+ */
449
+ private static function get_site_url( $path = '' ) {
450
+ $url = 'https://redux.io';
451
+
452
+ if ( ! empty( $path ) ) {
453
+ $url .= '/' . trim( $path, '/' ) . '/';
454
+ }
455
+
456
+ return $url;
457
+ }
458
+
459
+ /**
460
+ * Url with utm tags
461
+ *
462
+ * @param string $path Path on site.
463
+ * @param string $utm_medium Medium var.
464
+ * @param string $utm_content Content var.
465
+ * @param bool $utm_campaign Campaign var.
466
+ *
467
+ * @return string
468
+ */
469
+ public static function get_site_utm_url( $path, $utm_medium, $utm_content = null, $utm_campaign = false ) {
470
+ $url = self::get_site_url( $path );
471
+
472
+ if ( ! $utm_campaign ) {
473
+ $utm_campaign = 'plugin-installation';
474
+ }
475
+
476
+ $args = array(
477
+ // Referrer: plugin.
478
+ 'utm_source' => 'plugin-installation',
479
+
480
+ // Specific promotions or sales.
481
+ 'utm_campaign' => $utm_campaign,
482
+
483
+ // Marketing medium: banner, documentation or email.
484
+ 'utm_medium' => $utm_medium,
485
+
486
+ // Used for differentiation of medium.
487
+ 'utm_content' => $utm_content,
488
+ );
489
+
490
+ $args = array_map( 'sanitize_key', array_filter( $args ) );
491
+
492
+ return add_query_arg( $args, $url );
493
+ }
494
+
495
  }
496
  }
redux-core/inc/classes/class-redux-helpers.php CHANGED
@@ -220,7 +220,48 @@ if ( ! class_exists( 'Redux_Helpers', false ) ) {
220
  * @return bool
221
  */
222
  public static function is_local_host() {
223
- return ( isset( Redux_Core::$server['REMOTE_ADDR'] ) && ( '127.0.0.1' === Redux_Core::$server['REMOTE_ADDR'] || 'localhost' === Redux_Core::$server['REMOTE_ADDR'] || isset( Redux_Core::$server['SERVER_ADDR'] ) && '::1' === Redux_Core::$server['SERVER_ADDR'] ) ) ? true : false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  }
225
 
226
  /**
@@ -353,7 +394,7 @@ if ( ! class_exists( 'Redux_Helpers', false ) ) {
353
  'lang' => get_locale(),
354
  'wp_debug' => ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? true : false : false ),
355
  'memory' => WP_MEMORY_LIMIT,
356
- 'localhost' => ( '127.0.0.1' === Redux_Core::$server['REMOTE_ADDR'] ) ? 1 : 0,
357
  'php' => PHP_VERSION,
358
  'posts' => $pts,
359
  'comments' => array(
220
  * @return bool
221
  */
222
  public static function is_local_host() {
223
+ $is_local = false;
224
+
225
+ $domains_to_check = array_unique(
226
+ array(
227
+ 'siteurl' => wp_parse_url( get_site_url(), PHP_URL_HOST ),
228
+ 'homeurl' => wp_parse_url( get_home_url(), PHP_URL_HOST ),
229
+ )
230
+ );
231
+
232
+ $forbidden_domains = array(
233
+ 'wordpress.com',
234
+ 'localhost',
235
+ 'localhost.localdomain',
236
+ '127.0.0.1',
237
+ '::1',
238
+ 'local.wordpress.test', // VVV pattern.
239
+ 'local.wordpress-trunk.test', // VVV pattern.
240
+ 'src.wordpress-develop.test', // VVV pattern.
241
+ 'build.wordpress-develop.test', // VVV pattern.
242
+ );
243
+
244
+ foreach ( $domains_to_check as $domain ) {
245
+ // If it's empty, just fail out.
246
+ if ( ! $domain ) {
247
+ $is_local = true;
248
+ break;
249
+ }
250
+
251
+ // None of the explicit localhosts.
252
+ if ( in_array( $domain, $forbidden_domains, true ) ) {
253
+ $is_local = true;
254
+ break;
255
+ }
256
+
257
+ // No .test or .local domains.
258
+ if ( preg_match( '#\.(test|local)$#i', $domain ) ) {
259
+ $is_local = true;
260
+ break;
261
+ }
262
+ }
263
+
264
+ return $is_local;
265
  }
266
 
267
  /**
394
  'lang' => get_locale(),
395
  'wp_debug' => ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? true : false : false ),
396
  'memory' => WP_MEMORY_LIMIT,
397
+ 'localhost' => Redux_Helpers::is_local_host(),
398
  'php' => PHP_VERSION,
399
  'posts' => $pts,
400
  'comments' => array(
redux-core/inc/classes/class-redux-options-defaults.php CHANGED
@@ -51,7 +51,7 @@ if ( ! class_exists( 'Redux_Options_Defaults', false ) ) {
51
  }
52
  }
53
 
54
- if ( ! is_null( $sections ) ) {
55
 
56
  // Fill the cache.
57
  foreach ( $sections as $sk => $section ) {
51
  }
52
  }
53
 
54
+ if ( ! is_null( $sections ) && ! empty( $sections ) ) {
55
 
56
  // Fill the cache.
57
  foreach ( $sections as $sk => $section ) {
redux-core/inc/classes/class-redux-output.php CHANGED
@@ -209,11 +209,63 @@ if ( ! class_exists( 'Redux_Output', false ) ) {
209
  </script>
210
  <?php
211
  } elseif ( ! $core->args['disable_google_fonts_link'] ) {
 
 
212
  wp_enqueue_style( 'redux-google-fonts-' . $core->args['opt_name'], $typography->make_google_web_font_link( $core->typography ), array(), $version, 'all' );
 
 
213
  }
214
  }
215
  }
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  /**
218
  * Function to output output_variables to the dynamic output.
219
  *
209
  </script>
210
  <?php
211
  } elseif ( ! $core->args['disable_google_fonts_link'] ) {
212
+ $url = $typography->make_google_web_font_link( $core->typography );
213
+ $url = 'https://fonts.googleapis.com/css?family=Montserrat:600,400|Lato:700|Cormorant+Garamond:400|Playfair+Display:800Playfair+Display&subset=800&ver=1597669755';
214
  wp_enqueue_style( 'redux-google-fonts-' . $core->args['opt_name'], $typography->make_google_web_font_link( $core->typography ), array(), $version, 'all' );
215
+ add_filter( 'style_loader_tag', array( $this, 'add_style_attributes' ), 10, 4 );
216
+ add_filter( 'wp_resource_hints', array( $this, 'google_fonts_preconnect' ), 10, 2 );
217
  }
218
  }
219
  }
220
 
221
+ /**
222
+ * Add Google Fonts preconnect link.
223
+ *
224
+ * @param array $urls HTML to be added.
225
+ * @param string $relationship_type Handle name.
226
+ *
227
+ * @return array
228
+ * @since 4.1.15
229
+ * @access public
230
+ */
231
+ public function google_fonts_preconnect( $urls, $relationship_type ) {
232
+ if ( 'preconnect' !== $relationship_type ) {
233
+ return $urls;
234
+ }
235
+ $urls[] = array(
236
+ 'rel' => 'preconnect',
237
+ 'href' => 'https://fonts.gstatic.com',
238
+ 'crossorigin',
239
+ );
240
+ return $urls;
241
+ }
242
+
243
+ /**
244
+ * Filter to enhance the google fonts enqueue.
245
+ *
246
+ * @param string $html HTML to be added.
247
+ * @param string $handle Handle name.
248
+ * @param string $href HREF URL of script.
249
+ * @param string $media Media type.
250
+ *
251
+ * @return string
252
+ * @since 4.1.15
253
+ * @access public
254
+ */
255
+ public function add_style_attributes( $html = '', $handle = '', $href = '', $media = '' ) {
256
+ if ( Redux_Functions_Ex::string_starts_with( $handle, 'redux-google-fonts-' ) ) {
257
+ // Revamp thanks to Harry: https://csswizardry.com/2020/05/the-fastest-google-fonts/.
258
+ $href = urldecode( $href );
259
+ $new_html = '';
260
+ $new_html .= '<link rel="preload" as="style" href="' . esc_attr( $href ) . '" />';
261
+ $new_html .= '<link rel="stylesheet" href="' . esc_attr( $href ) . '" media="print" onload="this.media=\'all\'">'; // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet
262
+ $new_html .= '<noscript><link rel="stylesheet" href="' . esc_attr( $href ) . '" /></noscript>'; // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet
263
+ $html = $new_html;
264
+ }
265
+
266
+ return $html;
267
+ }
268
+
269
  /**
270
  * Function to output output_variables to the dynamic output.
271
  *
redux-core/inc/classes/class-redux-rest-api-builder.php CHANGED
@@ -54,39 +54,39 @@ class Redux_Rest_Api_Builder {
54
  $this->get_namespace(),
55
  '/fields',
56
  array(
57
- 'methods' => WP_REST_Server::READABLE,
58
- 'callback' => array( $this, 'list_fields' ),
59
- 'permission_callback' => '__return_true'
60
  )
61
  );
62
  register_rest_route(
63
  $this->get_namespace(),
64
  '/field/(?P<type>[a-z0-9-_]+)',
65
  array(
66
- 'args' => array(
67
  'type' => array(
68
  'description' => __( 'The field type', 'redux-framework' ),
69
  'type' => 'string',
70
  ),
71
  ),
72
- 'methods' => WP_REST_Server::READABLE,
73
- 'callback' => array( $this, 'get_field' ),
74
- 'permission_callback' => '__return_true'
75
  )
76
  );
77
  register_rest_route(
78
  $this->get_namespace(),
79
  '/field/(?P<type>[a-z0-9-_]+)/render',
80
  array(
81
- 'args' => array(
82
  'name' => array(
83
  'description' => __( 'The field type', 'redux-framework' ),
84
  'type' => 'string',
85
  ),
86
  ),
87
- 'methods' => WP_REST_Server::ALLMETHODS,
88
- 'callback' => array( $this, 'render_field' ),
89
- 'permission_callback' => '__return_true'
90
  )
91
  );
92
  }
54
  $this->get_namespace(),
55
  '/fields',
56
  array(
57
+ 'methods' => WP_REST_Server::READABLE,
58
+ 'callback' => array( $this, 'list_fields' ),
59
+ 'permission_callback' => '__return_true',
60
  )
61
  );
62
  register_rest_route(
63
  $this->get_namespace(),
64
  '/field/(?P<type>[a-z0-9-_]+)',
65
  array(
66
+ 'args' => array(
67
  'type' => array(
68
  'description' => __( 'The field type', 'redux-framework' ),
69
  'type' => 'string',
70
  ),
71
  ),
72
+ 'methods' => WP_REST_Server::READABLE,
73
+ 'callback' => array( $this, 'get_field' ),
74
+ 'permission_callback' => '__return_true',
75
  )
76
  );
77
  register_rest_route(
78
  $this->get_namespace(),
79
  '/field/(?P<type>[a-z0-9-_]+)/render',
80
  array(
81
+ 'args' => array(
82
  'name' => array(
83
  'description' => __( 'The field type', 'redux-framework' ),
84
  'type' => 'string',
85
  ),
86
  ),
87
+ 'methods' => WP_REST_Server::ALLMETHODS,
88
+ 'callback' => array( $this, 'render_field' ),
89
+ 'permission_callback' => '__return_true',
90
  )
91
  );
92
  }
redux-core/inc/classes/class-redux-wordpress-data.php CHANGED
@@ -307,7 +307,10 @@ if ( ! class_exists( 'Redux_WordPress_Data', false ) ) {
307
  $site = (array) $site;
308
  $k = $site['blog_id'];
309
  $v = $site['domain'] . $site['path'];
310
-
 
 
 
311
  $results[ $k ] = $v;
312
  }
313
  $data = $this->process_results( $results, '', '', $display_keys, $secondary_key );
@@ -575,14 +578,8 @@ if ( ! class_exists( 'Redux_WordPress_Data', false ) ) {
575
  break;
576
  case 'post':
577
  case 'posts':
578
- if ( ! is_array( $current_value ) && ! empty( $current_value ) ) {
579
- $current_value = array( $current_value );
580
  $args['post__in'] = $current_value;
581
- // Add post_type any to get all posts IDs.
582
- $args['post_type'] = 'any';
583
- } elseif ( is_array( $current_value ) && ! empty( $current_value ) ) {
584
- $args['post__in'] = $current_value;
585
- $args['post_type'] = 'any';
586
  }
587
  break;
588
 
307
  $site = (array) $site;
308
  $k = $site['blog_id'];
309
  $v = $site['domain'] . $site['path'];
310
+ $name = get_blog_option( $k, 'blogname' );
311
+ if ( ! empty( $name ) ) {
312
+ $v .= ' - [' . $name . ']';
313
+ }
314
  $results[ $k ] = $v;
315
  }
316
  $data = $this->process_results( $results, '', '', $display_keys, $secondary_key );
578
  break;
579
  case 'post':
580
  case 'posts':
581
+ if ( ! empty( $current_value ) ) {
 
582
  $args['post__in'] = $current_value;
 
 
 
 
 
583
  }
584
  break;
585
 
redux-core/inc/extensions/customizer/redux-extension-customizer.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["redux-extension-customizer.scss","redux-extension-customizer.css"],"names":[],"mappings":"AAAA,kCAAA,iBACI,EAAA;;AADJ,oDCKgB,oBAAoB,EAAA;;ADLpC,kECSgB,6BAA6B,EDiBzC,4BAAwB,ECfZ,0BAA0B,EAAA;;ADX1C,gEAAA,gBA0CI,ECvBQ,sBAAsB,EAAA;;ADnBlC,uECqBgB,eAAe,EAAA;;ADrB/B,kEC2BQ,SAAS,EAAA;;AD3BjB,kDAAA,cA8De,EAAA;;AA9Df,qDCmCY,gBAAgB,EAAA;;ADnC5B,+EAAA,mBA2FQ,EAAA;;AA3FR,yKC6CQ,iBAAiB,EAAA;;AD7CzB,+CCiDQ,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EAAA;;ADvD3B,iCC2DQ,yBAAyB,EAAA;;AD3DjC,oDCgEY,eAAe,EAAA;;ADhE3B,6CCmEY,WAAW,EACX,WAAW,EACX,qBAAqB,EAAA;;ADrEjC,gDCwEY,0BAA0B,EAC1B,6BAA6B,EAC7B,sBAAsB,EAAA;;AD1ElC,4DC6EY,eAAe,EAAA;;AD7E3B,iDCgFY,yBAAyB,EACzB,gBAAgB,EAAA;;ADjF5B,gDCoFY,6BAA6B,EAC7B,mBAAmB,EAAA;;ADrF/B,2DCwFY,gBAAgB,EAChB,iBAAiB,EAAA;;ADzF7B,qCC4FY,sBAAsB,EAAA;;AD5FlC,gCC+FY,mBAAmB,EAAA;;AD/F/B,kDCkGY,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EAAA;;ADpGjC,6DCuGY,WAAW,EAAA;;ADvGvB,kEC6GQ,eAAe,EAAA;;AD7GvB,8CCiHQ,gBAAgB,EAAA;;AA/DxB,i2GAAi2G","file":"redux-extension-customizer.css","sourcesContent":[".wp-customizer {\n .redux-container {\n overflow: visible;\n .redux-main {\n input {\n margin: 0 !important;\n }\n\n input.spinner-input {\n margin-right: 30px !important;\n margin-left: 30px !important;\n margin-top: 0px !important;\n }\n }\n }\n\n .redux-section {\n p.customize-section-description {\n margin-top: 22px;\n word-break: break-word;\n &.legacy {\n margin-top: 7px;\n }\n }\n }\n\n .control-section-themes .accordion-section-title {\n margin: 0;\n }\n\n #customize-controls {\n .description {\n display: block;\n }\n .customize-info {\n margin-bottom: 0;\n }\n .redux-section .accordion-section-content {\n background: #fcfcfc;\n }\n }\n\n .redux-section .accordion-section-title i,\n .redux-field .accordion-field-title i,\n .redux-panel .accordion-section-title i {\n margin-right: 5px;\n }\n\n .accordion-section.redux-main {\n background: inherit;\n margin-left: inherit;\n border-left: inherit;\n -moz-box-shadow: inherit;\n -webkit-box-shadow: inherit;\n padding: inherit;\n box-shadow: inherit;\n }\n\n .redux_field_th {\n padding: 13px 0px 0px 0px;\n }\n\n .redux-main {\n .redux-field-container {\n padding: 10px 0;\n }\n .select_wrapper {\n float: none;\n width: 100%;\n display: inline-block;\n }\n .select2-container {\n margin-right: 0 !important;\n margin-bottom: 5px !important;\n width: 100% !important;\n }\n .select_wrapper:nth-child(odd) {\n margin-right: 0;\n }\n .redux-option-image {\n max-width: 42% !important;\n margin-right: 3%;\n }\n .customize-control {\n border-bottom: 1px solid #ddd;\n padding-bottom: 4px;\n }\n .customize-control:last-child {\n border-bottom: 0;\n padding-bottom: 0;\n }\n .upload {\n width: 100% !important;\n }\n h3 {\n margin-top: inherit;\n }\n .redux-container-raw {\n margin-top: 22px;\n word-break: break-word;\n padding: 0 !important;\n }\n .redux-container-password input {\n width: 100%;\n }\n }\n\n .select2-drop,\n .select2-container {\n z-index: 999999;\n }\n\n .customize-control-redux-raw {\n list-style: none;\n }\n}\n",".wp-customizer .redux-container .redux-main input { margin: 0 !important; }\n\n.wp-customizer .redux-container .redux-main input.spinner-input { margin-right: 30px !important; margin-left: 30px !important; margin-top: 0px !important; }\n\n.wp-customizer .redux-section p.customize-section-description { margin-top: 22px; word-break: break-word; }\n\n.wp-customizer .redux-section p.customize-section-description.legacy { margin-top: 7px; }\n\n.wp-customizer .control-section-themes .accordion-section-title { margin: 0; }\n\n.wp-customizer #customize-controls .description { display: block; }\n\n.wp-customizer #customize-controls .customize-info { margin-bottom: 0; }\n\n.wp-customizer #customize-controls .redux-section .accordion-section-content { background: #fcfcfc; }\n\n.wp-customizer .redux-section .accordion-section-title i, .wp-customizer .redux-field .accordion-field-title i, .wp-customizer .redux-panel .accordion-section-title i { margin-right: 5px; }\n\n.wp-customizer .accordion-section.redux-main { background: inherit; margin-left: inherit; border-left: inherit; -moz-box-shadow: inherit; -webkit-box-shadow: inherit; padding: inherit; box-shadow: inherit; }\n\n.wp-customizer .redux_field_th { padding: 13px 0px 0px 0px; }\n\n.wp-customizer .redux-main .redux-field-container { padding: 10px 0; }\n\n.wp-customizer .redux-main .select_wrapper { float: none; width: 100%; display: inline-block; }\n\n.wp-customizer .redux-main .select2-container { margin-right: 0 !important; margin-bottom: 5px !important; width: 100% !important; }\n\n.wp-customizer .redux-main .select_wrapper:nth-child(odd) { margin-right: 0; }\n\n.wp-customizer .redux-main .redux-option-image { max-width: 42% !important; margin-right: 3%; }\n\n.wp-customizer .redux-main .customize-control { border-bottom: 1px solid #ddd; padding-bottom: 4px; }\n\n.wp-customizer .redux-main .customize-control:last-child { border-bottom: 0; padding-bottom: 0; }\n\n.wp-customizer .redux-main .upload { width: 100% !important; }\n\n.wp-customizer .redux-main h3 { margin-top: inherit; }\n\n.wp-customizer .redux-main .redux-container-raw { margin-top: 22px; word-break: break-word; padding: 0 !important; }\n\n.wp-customizer .redux-main .redux-container-password input { width: 100%; }\n\n.wp-customizer .select2-drop, .wp-customizer .select2-container { z-index: 999999; }\n\n.wp-customizer .customize-control-redux-raw { list-style: none; }\n\n/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdXgtZXh0ZW5zaW9uLWN1c3RvbWl6ZXIuY3NzIiwic291cmNlcyI6WyJyZWR1eC1leHRlbnNpb24tY3VzdG9taXplci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBR1ksY0FIRSxDQUNWLGdCQUFnQixDQUNaLFdBQVcsQ0FDUCxLQUFLLENBQUMsRUFDRixNQUFNLEVBQUUsWUFBWSxHQUN2Qjs7QUFMYixBQU9ZLGNBUEUsQ0FDVixnQkFBZ0IsQ0FDWixXQUFXLENBS1AsS0FBSyxBQUFBLGNBQWMsQ0FBQyxFQUNoQixZQUFZLEVBQUUsZUFBZSxFQUM3QixXQUFXLEVBQUUsZUFBZSxFQUM1QixVQUFVLEVBQUUsY0FBYyxHQUM3Qjs7QUFYYixBQWdCUSxjQWhCTSxDQWVWLGNBQWMsQ0FDVixDQUFDLEFBQUEsOEJBQThCLENBQUMsRUFDNUIsVUFBVSxFQUFFLElBQUksRUFDaEIsVUFBVSxFQUFFLFVBQVUsR0FJekI7O0FBdEJULEFBbUJZLGNBbkJFLENBZVYsY0FBYyxDQUNWLENBQUMsQUFBQSw4QkFBOEIsQUFHMUIsT0FBTyxDQUFDLEVBQ0wsVUFBVSxFQUFFLEdBQUcsR0FDbEI7O0FBckJiLEFBeUJJLGNBekJVLENBeUJWLHVCQUF1QixDQUFDLHdCQUF3QixDQUFDLEVBQzdDLE1BQU0sRUFBRSxDQUFDLEdBQ1o7O0FBM0JMLEFBOEJRLGNBOUJNLENBNkJWLG1CQUFtQixDQUNmLFlBQVksQ0FBQyxFQUNULE9BQU8sRUFBRSxLQUFLLEdBQ2pCOztBQWhDVCxBQWlDUSxjQWpDTSxDQTZCVixtQkFBbUIsQ0FJZixlQUFlLENBQUMsRUFDWixhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFuQ1QsQUFvQ1EsY0FwQ00sQ0E2QlYsbUJBQW1CLENBT2YsY0FBYyxDQUFDLDBCQUEwQixDQUFDLEVBQ3RDLFVBQVUsRUFBRSxPQUFPLEdBQ3RCOztBQXRDVCxBQXlDSSxjQXpDVSxDQXlDVixjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxFQXpDN0MsY0FBYyxDQTBDVixZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQTFDekMsY0FBYyxDQTJDVixZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLFlBQVksRUFBRSxHQUFHLEdBQ3BCOztBQTdDTCxBQStDSSxjQS9DVSxDQStDVixrQkFBa0IsQUFBQSxXQUFXLENBQUMsRUFDMUIsVUFBVSxFQUFFLE9BQU8sRUFDbkIsV0FBVyxFQUFFLE9BQU8sRUFDcEIsV0FBVyxFQUFFLE9BQU8sRUFDcEIsZUFBZSxFQUFFLE9BQU8sRUFDeEIsa0JBQWtCLEVBQUUsT0FBTyxFQUMzQixPQUFPLEVBQUUsT0FBTyxFQUNoQixVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUF2REwsQUF5REksY0F6RFUsQ0F5RFYsZUFBZSxDQUFDLEVBQ1osT0FBTyxFQUFFLGdCQUFnQixHQUM1Qjs7QUEzREwsQUE4RFEsY0E5RE0sQ0E2RFYsV0FBVyxDQUNQLHNCQUFzQixDQUFDLEVBQ25CLE9BQU8sRUFBRSxNQUFNLEdBQ2xCOztBQWhFVCxBQWlFUSxjQWpFTSxDQTZEVixXQUFXLENBSVAsZUFBZSxDQUFDLEVBQ1osS0FBSyxFQUFFLElBQUksRUFDWCxLQUFLLEVBQUUsSUFBSSxFQUNYLE9BQU8sRUFBRSxZQUFZLEdBQ3hCOztBQXJFVCxBQXNFUSxjQXRFTSxDQTZEVixXQUFXLENBU1Asa0JBQWtCLENBQUMsRUFDZixZQUFZLEVBQUUsWUFBWSxFQUMxQixhQUFhLEVBQUUsY0FBYyxFQUM3QixLQUFLLEVBQUUsZUFBZSxHQUN6Qjs7QUExRVQsQUEyRVEsY0EzRU0sQ0E2RFYsV0FBVyxDQWNQLGVBQWUsQUFBQSxVQUFXLENBQUEsR0FBRyxFQUFFLEVBQzNCLFlBQVksRUFBRSxDQUFDLEdBQ2xCOztBQTdFVCxBQThFUSxjQTlFTSxDQTZEVixXQUFXLENBaUJQLG1CQUFtQixDQUFDLEVBQ2hCLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLFlBQVksRUFBRSxFQUFFLEdBQ25COztBQWpGVCxBQWtGUSxjQWxGTSxDQTZEVixXQUFXLENBcUJQLGtCQUFrQixDQUFDLEVBQ2YsYUFBYSxFQUFFLGNBQWMsRUFDN0IsY0FBYyxFQUFFLEdBQUcsR0FDdEI7O0FBckZULEFBc0ZRLGNBdEZNLENBNkRWLFdBQVcsQ0F5QlAsa0JBQWtCLEFBQUEsV0FBVyxDQUFDLEVBQzFCLGFBQWEsRUFBRSxDQUFDLEVBQ2hCLGNBQWMsRUFBRSxDQUFDLEdBQ3BCOztBQXpGVCxBQTBGUSxjQTFGTSxDQTZEVixXQUFXLENBNkJQLE9BQU8sQ0FBQyxFQUNKLEtBQUssRUFBRSxlQUFlLEdBQ3pCOztBQTVGVCxBQTZGUSxjQTdGTSxDQTZEVixXQUFXLENBZ0NQLEVBQUUsQ0FBQyxFQUNDLFVBQVUsRUFBRSxPQUFPLEdBQ3RCOztBQS9GVCxBQWdHUSxjQWhHTSxDQTZEVixXQUFXLENBbUNQLG9CQUFvQixDQUFDLEVBQ2pCLFVBQVUsRUFBRSxJQUFJLEVBQ2hCLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLE9BQU8sRUFBRSxZQUFZLEdBQ3hCOztBQXBHVCxBQXFHUSxjQXJHTSxDQTZEVixXQUFXLENBd0NQLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUM1QixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQXZHVCxBQTBHSSxjQTFHVSxDQTBHVixhQUFhLEVBMUdqQixjQUFjLENBMkdWLGtCQUFrQixDQUFDLEVBQ2YsT0FBTyxFQUFFLE1BQU0sR0FDbEI7O0FBN0dMLEFBK0dJLGNBL0dVLENBK0dWLDRCQUE0QixDQUFDLEVBQ3pCLFVBQVUsRUFBRSxJQUFJLEdBQ25CIn0= */\n\n/*# sourceMappingURL=redux-extension-customizer.css.map */\n"]}
1
+ {"version":3,"sources":["redux-extension-customizer.scss","redux-extension-customizer.css"],"names":[],"mappings":"AAAA,kCAAA,iBACI,EAAA;;AADJ,oDCKgB,oBAAoB,EAAA;;ADLpC,kECSgB,6BAA6B,EDiBzC,4BAAwB,ECfZ,0BAA0B,EAAA;;ADX1C,gEAAA,gBA0CI,ECvBQ,sBAAsB,EAAA;;ADnBlC,uECqBgB,eAAe,EAAA;;ADrB/B,kEC2BQ,SAAS,EAAA;;AD3BjB,kDAAA,cA8De,EAAA;;AA9Df,qDCmCY,gBAAgB,EAAA;;ADnC5B,+EAAA,mBA2FQ,EAAA;;AA3FR,yKC6CQ,iBAAiB,EAAA;;AD7CzB,+CCiDQ,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EAAA;;ADvD3B,iCC2DQ,yBAAyB,EAAA;;AD3DjC,oDCgEY,eAAe,EAAA;;ADhE3B,6CCmEY,WAAW,EACX,WAAW,EACX,qBAAqB,EAAA;;ADrEjC,gDCwEY,0BAA0B,EAC1B,6BAA6B,EAC7B,sBAAsB,EAAA;;AD1ElC,4DC6EY,eAAe,EAAA;;AD7E3B,iDCgFY,yBAAyB,EACzB,gBAAgB,EAAA;;ADjF5B,gDCoFY,6BAA6B,EAC7B,mBAAmB,EAAA;;ADrF/B,2DCwFY,gBAAgB,EAChB,iBAAiB,EAAA;;ADzF7B,qCC4FY,sBAAsB,EAAA;;AD5FlC,gCC+FY,mBAAmB,EAAA;;AD/F/B,kDCkGY,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EAAA;;ADpGjC,6DCuGY,WAAW,EAAA;;ADvGvB,kEC6GQ,eAAe,EAAA;;AD7GvB,8CCiHQ,gBAAgB,EAAA;;AA/DxB,i2GAAi2G","file":"redux-extension-customizer.css","sourcesContent":[".wp-customizer {\n .redux-container {\n overflow: visible;\n .redux-main {\n input {\n margin: 0 !important;\n }\n\n input.spinner-input {\n margin-right: 30px !important;\n margin-left: 30px !important;\n margin-top: 0px !important;\n }\n }\n }\n\n .redux-section {\n p.customize-section-description {\n margin-top: 22px;\n word-break: break-word;\n &.legacy {\n margin-top: 7px;\n }\n }\n }\n\n .control-section-themes .accordion-section-title {\n margin: 0;\n }\n\n #customize-controls {\n .description {\n display: block;\n }\n .customize-info {\n margin-bottom: 0;\n }\n .redux-section .accordion-section-content {\n background: #fcfcfc;\n }\n }\n\n .redux-section .accordion-section-title i,\n .redux-field .accordion-field-title i,\n .redux-panel .accordion-section-title i {\n margin-right: 5px;\n }\n\n .accordion-section.redux-main {\n background: inherit;\n margin-left: inherit;\n border-left: inherit;\n -moz-box-shadow: inherit;\n -webkit-box-shadow: inherit;\n padding: inherit;\n box-shadow: inherit;\n }\n\n .redux_field_th {\n padding: 13px 0px 0px 0px;\n }\n\n .redux-main {\n .redux-field-container {\n padding: 10px 0;\n }\n .select_wrapper {\n float: none;\n width: 100%;\n display: inline-block;\n }\n .select2-container {\n margin-right: 0 !important;\n margin-bottom: 5px !important;\n width: 100% !important;\n }\n .select_wrapper:nth-child(odd) {\n margin-right: 0;\n }\n .redux-option-image {\n max-width: 42% !important;\n margin-right: 3%;\n }\n .customize-control {\n border-bottom: 1px solid #ddd;\n padding-bottom: 4px;\n }\n .customize-control:last-child {\n border-bottom: 0;\n padding-bottom: 0;\n }\n .upload {\n width: 100% !important;\n }\n h3 {\n margin-top: inherit;\n }\n .redux-container-raw {\n margin-top: 22px;\n word-break: break-word;\n padding: 0 !important;\n }\n .redux-container-password input {\n width: 100%;\n }\n }\n\n .select2-drop,\n .select2-container {\n z-index: 999999;\n }\n\n .customize-control-redux-raw {\n list-style: none;\n }\n}\n",".wp-customizer .redux-container { overflow: visible; }\n\n.wp-customizer .redux-container .redux-main input { margin: 0 !important; }\n\n.wp-customizer .redux-container .redux-main input.spinner-input { margin-right: 30px !important; margin-left: 30px !important; margin-top: 0px !important; }\n\n.wp-customizer .redux-section p.customize-section-description { margin-top: 22px; word-break: break-word; }\n\n.wp-customizer .redux-section p.customize-section-description.legacy { margin-top: 7px; }\n\n.wp-customizer .control-section-themes .accordion-section-title { margin: 0; }\n\n.wp-customizer #customize-controls .description { display: block; }\n\n.wp-customizer #customize-controls .customize-info { margin-bottom: 0; }\n\n.wp-customizer #customize-controls .redux-section .accordion-section-content { background: #fcfcfc; }\n\n.wp-customizer .redux-section .accordion-section-title i, .wp-customizer .redux-field .accordion-field-title i, .wp-customizer .redux-panel .accordion-section-title i { margin-right: 5px; }\n\n.wp-customizer .accordion-section.redux-main { background: inherit; margin-left: inherit; border-left: inherit; -moz-box-shadow: inherit; -webkit-box-shadow: inherit; padding: inherit; box-shadow: inherit; }\n\n.wp-customizer .redux_field_th { padding: 13px 0px 0px 0px; }\n\n.wp-customizer .redux-main .redux-field-container { padding: 10px 0; }\n\n.wp-customizer .redux-main .select_wrapper { float: none; width: 100%; display: inline-block; }\n\n.wp-customizer .redux-main .select2-container { margin-right: 0 !important; margin-bottom: 5px !important; width: 100% !important; }\n\n.wp-customizer .redux-main .select_wrapper:nth-child(odd) { margin-right: 0; }\n\n.wp-customizer .redux-main .redux-option-image { max-width: 42% !important; margin-right: 3%; }\n\n.wp-customizer .redux-main .customize-control { border-bottom: 1px solid #ddd; padding-bottom: 4px; }\n\n.wp-customizer .redux-main .customize-control:last-child { border-bottom: 0; padding-bottom: 0; }\n\n.wp-customizer .redux-main .upload { width: 100% !important; }\n\n.wp-customizer .redux-main h3 { margin-top: inherit; }\n\n.wp-customizer .redux-main .redux-container-raw { margin-top: 22px; word-break: break-word; padding: 0 !important; }\n\n.wp-customizer .redux-main .redux-container-password input { width: 100%; }\n\n.wp-customizer .select2-drop, .wp-customizer .select2-container { z-index: 999999; }\n\n.wp-customizer .customize-control-redux-raw { list-style: none; }\n\n/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdXgtZXh0ZW5zaW9uLWN1c3RvbWl6ZXIuY3NzIiwic291cmNlcyI6WyJyZWR1eC1leHRlbnNpb24tY3VzdG9taXplci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQ0ksY0FEVSxDQUNWLGdCQUFnQixDQUFDLEVBQ2IsUUFBUSxFQUFFLE9BQU8sR0FZcEI7O0FBZEwsQUFJWSxjQUpFLENBQ1YsZ0JBQWdCLENBRVosV0FBVyxDQUNQLEtBQUssQ0FBQyxFQUNGLE1BQU0sRUFBRSxZQUFZLEdBQ3ZCOztBQU5iLEFBUVksY0FSRSxDQUNWLGdCQUFnQixDQUVaLFdBQVcsQ0FLUCxLQUFLLEFBQUEsY0FBYyxDQUFDLEVBQ2hCLFlBQVksRUFBRSxlQUFlLEVBQzdCLFdBQVcsRUFBRSxlQUFlLEVBQzVCLFVBQVUsRUFBRSxjQUFjLEdBQzdCOztBQVpiLEFBaUJRLGNBakJNLENBZ0JWLGNBQWMsQ0FDVixDQUFDLEFBQUEsOEJBQThCLENBQUMsRUFDNUIsVUFBVSxFQUFFLElBQUksRUFDaEIsVUFBVSxFQUFFLFVBQVUsR0FJekI7O0FBdkJULEFBb0JZLGNBcEJFLENBZ0JWLGNBQWMsQ0FDVixDQUFDLEFBQUEsOEJBQThCLEFBRzFCLE9BQU8sQ0FBQyxFQUNMLFVBQVUsRUFBRSxHQUFHLEdBQ2xCOztBQXRCYixBQTBCSSxjQTFCVSxDQTBCVix1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUM3QyxNQUFNLEVBQUUsQ0FBQyxHQUNaOztBQTVCTCxBQStCUSxjQS9CTSxDQThCVixtQkFBbUIsQ0FDZixZQUFZLENBQUMsRUFDVCxPQUFPLEVBQUUsS0FBSyxHQUNqQjs7QUFqQ1QsQUFrQ1EsY0FsQ00sQ0E4QlYsbUJBQW1CLENBSWYsZUFBZSxDQUFDLEVBQ1osYUFBYSxFQUFFLENBQUMsR0FDbkI7O0FBcENULEFBcUNRLGNBckNNLENBOEJWLG1CQUFtQixDQU9mLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxFQUN0QyxVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUF2Q1QsQUEwQ0ksY0ExQ1UsQ0EwQ1YsY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsRUExQzdDLGNBQWMsQ0EyQ1YsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUEzQ3pDLGNBQWMsQ0E0Q1YsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxFQUNwQyxZQUFZLEVBQUUsR0FBRyxHQUNwQjs7QUE5Q0wsQUFnREksY0FoRFUsQ0FnRFYsa0JBQWtCLEFBQUEsV0FBVyxDQUFDLEVBQzFCLFVBQVUsRUFBRSxPQUFPLEVBQ25CLFdBQVcsRUFBRSxPQUFPLEVBQ3BCLFdBQVcsRUFBRSxPQUFPLEVBQ3BCLGVBQWUsRUFBRSxPQUFPLEVBQ3hCLGtCQUFrQixFQUFFLE9BQU8sRUFDM0IsT0FBTyxFQUFFLE9BQU8sRUFDaEIsVUFBVSxFQUFFLE9BQU8sR0FDdEI7O0FBeERMLEFBMERJLGNBMURVLENBMERWLGVBQWUsQ0FBQyxFQUNaLE9BQU8sRUFBRSxnQkFBZ0IsR0FDNUI7O0FBNURMLEFBK0RRLGNBL0RNLENBOERWLFdBQVcsQ0FDUCxzQkFBc0IsQ0FBQyxFQUNuQixPQUFPLEVBQUUsTUFBTSxHQUNsQjs7QUFqRVQsQUFrRVEsY0FsRU0sQ0E4RFYsV0FBVyxDQUlQLGVBQWUsQ0FBQyxFQUNaLEtBQUssRUFBRSxJQUFJLEVBQ1gsS0FBSyxFQUFFLElBQUksRUFDWCxPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUF0RVQsQUF1RVEsY0F2RU0sQ0E4RFYsV0FBVyxDQVNQLGtCQUFrQixDQUFDLEVBQ2YsWUFBWSxFQUFFLFlBQVksRUFDMUIsYUFBYSxFQUFFLGNBQWMsRUFDN0IsS0FBSyxFQUFFLGVBQWUsR0FDekI7O0FBM0VULEFBNEVRLGNBNUVNLENBOERWLFdBQVcsQ0FjUCxlQUFlLEFBQUEsVUFBVyxDQUFBLEdBQUcsRUFBRSxFQUMzQixZQUFZLEVBQUUsQ0FBQyxHQUNsQjs7QUE5RVQsQUErRVEsY0EvRU0sQ0E4RFYsV0FBVyxDQWlCUCxtQkFBbUIsQ0FBQyxFQUNoQixTQUFTLEVBQUUsY0FBYyxFQUN6QixZQUFZLEVBQUUsRUFBRSxHQUNuQjs7QUFsRlQsQUFtRlEsY0FuRk0sQ0E4RFYsV0FBVyxDQXFCUCxrQkFBa0IsQ0FBQyxFQUNmLGFBQWEsRUFBRSxjQUFjLEVBQzdCLGNBQWMsRUFBRSxHQUFHLEdBQ3RCOztBQXRGVCxBQXVGUSxjQXZGTSxDQThEVixXQUFXLENBeUJQLGtCQUFrQixBQUFBLFdBQVcsQ0FBQyxFQUMxQixhQUFhLEVBQUUsQ0FBQyxFQUNoQixjQUFjLEVBQUUsQ0FBQyxHQUNwQjs7QUExRlQsQUEyRlEsY0EzRk0sQ0E4RFYsV0FBVyxDQTZCUCxPQUFPLENBQUMsRUFDSixLQUFLLEVBQUUsZUFBZSxHQUN6Qjs7QUE3RlQsQUE4RlEsY0E5Rk0sQ0E4RFYsV0FBVyxDQWdDUCxFQUFFLENBQUMsRUFDQyxVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUFoR1QsQUFpR1EsY0FqR00sQ0E4RFYsV0FBVyxDQW1DUCxvQkFBb0IsQ0FBQyxFQUNqQixVQUFVLEVBQUUsSUFBSSxFQUNoQixVQUFVLEVBQUUsVUFBVSxFQUN0QixPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFyR1QsQUFzR1EsY0F0R00sQ0E4RFYsV0FBVyxDQXdDUCx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsRUFDNUIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUF4R1QsQUEyR0ksY0EzR1UsQ0EyR1YsYUFBYSxFQTNHakIsY0FBYyxDQTRHVixrQkFBa0IsQ0FBQyxFQUNmLE9BQU8sRUFBRSxNQUFNLEdBQ2xCOztBQTlHTCxBQWdISSxjQWhIVSxDQWdIViw0QkFBNEIsQ0FBQyxFQUN6QixVQUFVLEVBQUUsSUFBSSxHQUNuQiJ9 */\n\n/*# sourceMappingURL=redux-extension-customizer.css.map */\n"]}
redux-core/inc/fields/image_select/class-redux-image-select.php CHANGED
@@ -128,7 +128,7 @@ if ( ! class_exists( 'Redux_Image_Select', false ) ) {
128
 
129
  $v['presets']['redux-backup'] = 1;
130
 
131
- $presets = ' data-presets="' . htmlspecialchars( wp_json_encode( $v['presets'] ), ENT_QUOTES, 'UTF-8' ) . '"';
132
  $is_preset = true;
133
 
134
  $this->field['class'] = trim( $this->field['class'] ) . ' redux-presets';
@@ -139,13 +139,13 @@ if ( ! class_exists( 'Redux_Image_Select', false ) ) {
139
  $merge = '';
140
  if ( isset( $v['merge'] ) && false !== $v['merge'] ) {
141
  $merge = is_array( $v['merge'] ) ? implode( '|', $v['merge'] ) : 'true';
142
- $merge = ' data-merge="' . htmlspecialchars( $merge, ENT_QUOTES, 'UTF-8' ) . '"';
143
  }
144
 
145
  echo '<li class="redux-image-select">';
146
  echo '<label class="' . esc_attr( $selected ) . ' redux-image-select' . esc_attr( $is_preset_class ) . esc_attr( $this->field['id'] . '_' . $x ) . '" for="' . esc_attr( $this->field['id'] . '_' . ( array_search( $k, array_keys( $this->field['options'] ), true ) + 1 ) ) . '">';
147
-
148
- echo '<input type="radio" class="' . esc_attr( $this->field['class'] ) . '" id="' . esc_attr( $this->field['id'] . '_' . ( array_search( $k, array_keys( $this->field['options'] ), true ) + 1 ) ) . '" name="' . esc_attr( $this->field['name'] . $this->field['name_suffix'] ) . '" value="' . esc_attr( $the_value ) . '" ' . checked( $this->value, $the_value, false ) . esc_attr( $presets ) . esc_attr( $merge ) . '/>';
149
  if ( ! empty( $this->field['tiles'] ) && true === $this->field['tiles'] ) {
150
  echo '<span class="tiles ' . esc_attr( $v['class'] ) . '" style="background-image: url(' . esc_url( $v['img'] ) . ');" rel="' . esc_url( $v['img'] ) . '"">&nbsp;</span>';
151
  } else {
128
 
129
  $v['presets']['redux-backup'] = 1;
130
 
131
+ $presets = ' data-presets="' . esc_attr( htmlspecialchars( wp_json_encode( $v['presets'] ), ENT_QUOTES, 'UTF-8' ) ) . '"';
132
  $is_preset = true;
133
 
134
  $this->field['class'] = trim( $this->field['class'] ) . ' redux-presets';
139
  $merge = '';
140
  if ( isset( $v['merge'] ) && false !== $v['merge'] ) {
141
  $merge = is_array( $v['merge'] ) ? implode( '|', $v['merge'] ) : 'true';
142
+ $merge = ' data-merge="' . esc_attr( htmlspecialchars( $merge, ENT_QUOTES, 'UTF-8' ) ) . '"';
143
  }
144
 
145
  echo '<li class="redux-image-select">';
146
  echo '<label class="' . esc_attr( $selected ) . ' redux-image-select' . esc_attr( $is_preset_class ) . esc_attr( $this->field['id'] . '_' . $x ) . '" for="' . esc_attr( $this->field['id'] . '_' . ( array_search( $k, array_keys( $this->field['options'] ), true ) + 1 ) ) . '">';
147
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
148
+ echo '<input type="radio" class="' . esc_attr( $this->field['class'] ) . '" id="' . esc_attr( $this->field['id'] . '_' . ( array_search( $k, array_keys( $this->field['options'] ), true ) + 1 ) ) . '" name="' . esc_attr( $this->field['name'] . $this->field['name_suffix'] ) . '" value="' . esc_attr( $the_value ) . '" ' . checked( $this->value, $the_value, false ) . $presets . $merge . '/>';
149
  if ( ! empty( $this->field['tiles'] ) && true === $this->field['tiles'] ) {
150
  echo '<span class="tiles ' . esc_attr( $v['class'] ) . '" style="background-image: url(' . esc_url( $v['img'] ) . ');" rel="' . esc_url( $v['img'] ) . '"">&nbsp;</span>';
151
  } else {
redux-core/inc/fields/image_select/redux-image-select.js CHANGED
@@ -72,7 +72,7 @@
72
  el.find( 'label[for="' + id + '"]' ).addClass( 'redux-image-select-selected' ).find( 'input[type="radio"]' ).attr( 'checked', true );
73
  window.onbeforeunload = null;
74
 
75
- importCodeValue = $( '#import-code-value' );
76
 
77
  if ( 0 === importCodeValue.length ) {
78
  $( this ).append( '<textarea id="import-code-value" style="display:none;" name="' + redux.optName.args.opt_name + '[import_code]">' + JSON.stringify( data ) + '</textarea>' );
72
  el.find( 'label[for="' + id + '"]' ).addClass( 'redux-image-select-selected' ).find( 'input[type="radio"]' ).attr( 'checked', true );
73
  window.onbeforeunload = null;
74
 
75
+ importCodeValue = $( 'textarea[name="' + redux.optName.args.opt_name + '[import_code]"' );
76
 
77
  if ( 0 === importCodeValue.length ) {
78
  $( this ).append( '<textarea id="import-code-value" style="display:none;" name="' + redux.optName.args.opt_name + '[import_code]">' + JSON.stringify( data ) + '</textarea>' );
redux-core/inc/fields/typography/class-redux-typography.php CHANGED
@@ -30,23 +30,23 @@ if ( ! class_exists( 'Redux_Typography', false ) ) {
30
  * @var array $std_fonts
31
  */
32
  private $std_fonts = array(
33
- 'Arial, Helvetica, sans-serif' => 'Arial, Helvetica, sans-serif',
34
- '"Arial Black", Gadget, sans-serif' => '"Arial Black", Gadget, sans-serif',
35
- "'Bookman Old Style', serif" => '"Bookman Old Style", serif',
36
- '"Comic Sans MS", cursive' => '"Comic Sans MS", cursive',
37
- 'Courier, monospace' => 'Courier, monospace',
38
- 'Garamond, serif' => 'Garamond, serif',
39
- 'Georgia, serif' => 'Georgia, serif',
40
- 'Impact, Charcoal, sans-serif' => 'Impact, Charcoal, sans-serif',
41
- '"Lucida Console", Monaco, monospace' => '"Lucida Console", Monaco, monospace',
42
- '"Lucida Sans Unicode", "Lucida Grande", sans-serif' => '"Lucida Sans Unicode", "Lucida Grande", sans-serif',
43
- '"MS Sans Serif", Geneva, sans-serif' => '"MS Sans Serif", Geneva, sans-serif',
44
- '"MS Serif", "New York", sans-serif' => '"MS Serif", "New York", sans-serif',
45
- '"Palatino Linotype", "Book Antiqua", Palatino, serif' => '"Palatino Linotype", "Book Antiqua", Palatino, serif',
46
- 'Tahoma,Geneva, sans-serif' => 'Tahoma, Geneva, sans-serif',
47
- '"Times New Roman", Times,serif' => '"Times New Roman", Times, serif',
48
- '"Trebuchet MS", Helvetica, sans-serif' => '"Trebuchet MS", Helvetica, sans-serif',
49
- 'Verdana, Geneva, sans-serif' => 'Verdana, Geneva, sans-serif',
50
  );
51
 
52
  /**
@@ -106,8 +106,8 @@ if ( ! class_exists( 'Redux_Typography', false ) ) {
106
  'preview' => true,
107
  'line-height' => true,
108
  'multi' => array(
109
- 'subset' => false,
110
- 'weight' => false,
111
  ),
112
  'word-spacing' => false,
113
  'letter-spacing' => false,
@@ -393,7 +393,7 @@ if ( ! class_exists( 'Redux_Typography', false ) ) {
393
  data-id="' . esc_attr( $this->field['id'] ) . '" /> ';
394
 
395
  echo '<label>' . esc_html__( 'Font Subsets', 'redux-framework' ) . '</label>';
396
- $multi = ( isset( $this->field['multi']['subset'] ) && $this->field['multi']['subset'] ) ? ' multiple="multiple"' : '';
397
  echo '<select' . esc_html( $multi ) . '
398
  data-placeholder="' . esc_html__( 'Subsets', 'redux-framework' ) . '"
399
  class="redux-typography redux-typography-subsets ' . esc_attr( $this->field['class'] ) . '"
@@ -829,6 +829,7 @@ if ( ! class_exists( 'Redux_Typography', false ) ) {
829
  if ( ! empty( $subsets ) ) {
830
  $link .= '&subset=' . implode( ',', $subsets );
831
  }
 
832
 
833
  return 'https://fonts.googleapis.com/css?family=' . $link;
834
  }
@@ -865,13 +866,13 @@ if ( ! class_exists( 'Redux_Typography', false ) ) {
865
  if ( ! empty( $font['subset'] ) || ! empty( $font['all-subsets'] ) ) {
866
  if ( ! empty( $font['all-subsets'] ) ) {
867
  foreach ( $font['all-subsets'] as $subset ) {
868
- if ( ! in_array( $subset, $subsets, true ) ) {
869
  array_push( $subsets, $subset );
870
  }
871
  }
872
  } elseif ( ! empty( $font['subset'] ) ) {
873
  foreach ( $font['subset'] as $subset ) {
874
- if ( ! in_array( $subset, $subsets, true ) ) {
875
  array_push( $subsets, $subset );
876
  }
877
  }
@@ -989,6 +990,8 @@ if ( ! class_exists( 'Redux_Typography', false ) ) {
989
 
990
  if ( isset( $this->parent->args['async_typography'] ) && $this->parent->args['async_typography'] ) {
991
  $style .= 'opacity: 1;visibility: visible;-webkit-transition: opacity 0.24s ease-in-out;-moz-transition: opacity 0.24s ease-in-out;transition: opacity 0.24s ease-in-out;';
 
 
992
  }
993
  }
994
 
30
  * @var array $std_fonts
31
  */
32
  private $std_fonts = array(
33
+ 'Arial, Helvetica, sans-serif' => 'Arial, Helvetica, sans-serif',
34
+ '\'Arial Black\', Gadget, sans-serif' => '\'Arial Black\', Gadget, sans-serif',
35
+ '\'Bookman Old Style\', serif' => '\'Bookman Old Style\', serif',
36
+ '\'Comic Sans MS\', cursive' => '\'Comic Sans MS\', cursive',
37
+ 'Courier, monospace' => 'Courier, monospace',
38
+ 'Garamond, serif' => 'Garamond, serif',
39
+ 'Georgia, serif' => 'Georgia, serif',
40
+ 'Impact, Charcoal, sans-serif' => 'Impact, Charcoal, sans-serif',
41
+ '\'Lucida Console\', Monaco, monospace' => '\'Lucida Console\', Monaco, monospace',
42
+ '\'Lucida Sans Unicode\', \'Lucida Grande\', sans-serif' => '\'Lucida Sans Unicode\', \'Lucida Grande\', sans-serif',
43
+ '\'MS Sans Serif\', Geneva, sans-serif' => '\'MS Sans Serif\', Geneva, sans-serif',
44
+ '\'MS Serif\', \'New York\', sans-serif' => '\'MS Serif\', \'New York\', sans-serif',
45
+ '\'Palatino Linotype\', \'Book Antiqua\', Palatino, serif' => '\'Palatino Linotype\', \'Book Antiqua\', Palatino, serif',
46
+ 'Tahoma,Geneva, sans-serif' => 'Tahoma, Geneva, sans-serif',
47
+ '\'Times New Roman\', Times,serif' => '\'Times New Roman\', Times, serif',
48
+ '\'Trebuchet MS\', Helvetica, sans-serif' => '\'Trebuchet MS\', Helvetica, sans-serif',
49
+ 'Verdana, Geneva, sans-serif' => 'Verdana, Geneva, sans-serif',
50
  );
51
 
52
  /**
106
  'preview' => true,
107
  'line-height' => true,
108
  'multi' => array(
109
+ 'subsets' => false,
110
+ 'weight' => false,
111
  ),
112
  'word-spacing' => false,
113
  'letter-spacing' => false,
393
  data-id="' . esc_attr( $this->field['id'] ) . '" /> ';
394
 
395
  echo '<label>' . esc_html__( 'Font Subsets', 'redux-framework' ) . '</label>';
396
+ $multi = ( isset( $this->field['multi']['subsets'] ) && $this->field['multi']['subsets'] ) ? ' multiple="multiple"' : '';
397
  echo '<select' . esc_html( $multi ) . '
398
  data-placeholder="' . esc_html__( 'Subsets', 'redux-framework' ) . '"
399
  class="redux-typography redux-typography-subsets ' . esc_attr( $this->field['class'] ) . '"
829
  if ( ! empty( $subsets ) ) {
830
  $link .= '&subset=' . implode( ',', $subsets );
831
  }
832
+ $link .= '&display=' . $this->parent->args['font_display'];
833
 
834
  return 'https://fonts.googleapis.com/css?family=' . $link;
835
  }
866
  if ( ! empty( $font['subset'] ) || ! empty( $font['all-subsets'] ) ) {
867
  if ( ! empty( $font['all-subsets'] ) ) {
868
  foreach ( $font['all-subsets'] as $subset ) {
869
+ if ( ! in_array( $subset, $subsets, true ) && ! is_numeric( $subset ) ) {
870
  array_push( $subsets, $subset );
871
  }
872
  }
873
  } elseif ( ! empty( $font['subset'] ) ) {
874
  foreach ( $font['subset'] as $subset ) {
875
+ if ( ! in_array( $subset, $subsets, true ) && ! is_numeric( $subset ) ) {
876
  array_push( $subsets, $subset );
877
  }
878
  }
990
 
991
  if ( isset( $this->parent->args['async_typography'] ) && $this->parent->args['async_typography'] ) {
992
  $style .= 'opacity: 1;visibility: visible;-webkit-transition: opacity 0.24s ease-in-out;-moz-transition: opacity 0.24s ease-in-out;transition: opacity 0.24s ease-in-out;';
993
+ } else {
994
+ $style .= 'font-display:' . $this->parent->args['font_display'] . ';';
995
  }
996
  }
997
 
redux-framework.php CHANGED
@@ -4,13 +4,13 @@
4
  * for WordPress themes and plugins. Developed with WordPress coding
5
  * standards and PHP best practices in mind.
6
  *
7
- * Plugin Name: Redux Lite
8
  * Plugin URI: http://wordpress.org/plugins/redux-framework
9
  * Github URI: reduxframework/redux-framework
10
  * Description: Build better sites in WordPress fast
11
  * Author: Redux.io + Dovy Paukstys
12
  * Author URI: http://redux.io
13
- * Version: 4.1.14
14
  * Text Domain: redux-framework
15
  * License: GPLv3 or later
16
  * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -39,7 +39,3 @@ register_deactivation_hook( __FILE__, array( 'Redux_Framework_Plugin', 'deactiva
39
  // Get plugin instance.
40
  Redux_Framework_Plugin::instance();
41
 
42
- if ( ! defined( 'REDUXTEMPLATES_VERSION' ) ) {
43
- require_once plugin_dir_path( __FILE__ ) . 'redux-templates/redux-templates.php';
44
- }
45
-
4
  * for WordPress themes and plugins. Developed with WordPress coding
5
  * standards and PHP best practices in mind.
6
  *
7
+ * Plugin Name: Redux
8
  * Plugin URI: http://wordpress.org/plugins/redux-framework
9
  * Github URI: reduxframework/redux-framework
10
  * Description: Build better sites in WordPress fast
11
  * Author: Redux.io + Dovy Paukstys
12
  * Author URI: http://redux.io
13
+ * Version: 4.1.15
14
  * Text Domain: redux-framework
15
  * License: GPLv3 or later
16
  * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
39
  // Get plugin instance.
40
  Redux_Framework_Plugin::instance();
41
 
 
 
 
 
redux-templates/assets/js/redux-templates.js CHANGED
@@ -164,7 +164,7 @@
164
 
165
  exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
166
  // Module
167
- exports.push([module.i, ".redux-template-library-block .components-placeholder__label svg {\n margin-right: 8px; }\n\n.redux-template-library-block button.components-button {\n height: auto;\n font-weight: 600;\n text-transform: uppercase;\n font-size: 13px;\n padding: 11px 20px;\n background: #fff; }\n\n.redux-templates-insert-library-button {\n margin-left: 10px;\n margin-right: 10px; }\n .redux-templates-insert-library-button svg {\n width: 20px;\n height: 20px; }\n\n.redux-insert-library-button {\n margin-left: 10px;\n margin-right: 10px; }\n", ""]);
168
 
169
 
170
 
@@ -374,7 +374,7 @@ exports.push([module.i, ".redux-templates-single-section-item {\n box-shadow: 0
374
 
375
  exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
376
  // Module
377
- exports.push([module.i, ".redux-templates-template-filters .is-active {\n background: #fff;\n color: #191e23;\n box-shadow: inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff; }\n\n.redux-templates-template-filters .components-button:focus:not(:disabled):not(.is-active) {\n background: transparent;\n box-shadow: none;\n color: #555d66; }\n\n.refresh-library {\n margin-right: 10px; }\n\n.tour-icon {\n font-size: 18px; }\n", ""]);
378
 
379
 
380
 
@@ -3438,7 +3438,7 @@ function FabWrapper() {
3438
  style: actionButtonStyles,
3439
  text: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Visit our Website', redux_templates.i18n),
3440
  onClick: e => {
3441
- window.open('https://redux.io?utm_source=plugin&utm_medium=modal&utm_campaign=tinyfab', '_blank');
3442
  }
3443
  }, wp.element.createElement("i", {
3444
  className: "fas fa-external-link-alt"
@@ -3448,7 +3448,7 @@ function FabWrapper() {
3448
  },
3449
  text: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Upgrade to Redux Pro', redux_templates.i18n),
3450
  onClick: e => {
3451
- window.open(redux_templates.u, '_blank');
3452
  }
3453
  }, wp.element.createElement("i", {
3454
  className: "fa fa-star"
@@ -4310,8 +4310,9 @@ __webpack_require__.r(__webpack_exports__);
4310
  /* harmony import */ var _images_view_many_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./images/view-many.svg */ "./redux-templates/src/components/template-list-subheader/images/view-many.svg");
4311
  /* harmony import */ var _images_view_normal_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./images/view-normal.svg */ "./redux-templates/src/components/template-list-subheader/images/view-normal.svg");
4312
  /* harmony import */ var _redux_templates_stores_actionHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ~redux-templates/stores/actionHelper */ "./redux-templates/src/stores/actionHelper.js");
4313
- /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style.scss */ "./redux-templates/src/components/template-list-subheader/style.scss");
4314
- /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_6__);
 
4315
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4316
 
4317
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -4324,7 +4325,9 @@ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(
4324
 
4325
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
4326
 
4327
- const __ = wp.i18n.__;
 
 
4328
  const compose = wp.compose.compose;
4329
  const _wp$data = wp.data,
4330
  withDispatch = _wp$data.withDispatch,
@@ -4340,6 +4343,7 @@ const _wp$element = wp.element,
4340
 
4341
 
4342
 
 
4343
  function TemplateListSubHeader(props) {
4344
  const itemType = props.itemType,
4345
  sortBy = props.sortBy,
@@ -4382,7 +4386,28 @@ function TemplateListSubHeader(props) {
4382
  step: 3
4383
  })), wp.element.createElement("div", {
4384
  className: "redux-templates-template-filters"
4385
- }, wp.element.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Button"], {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4386
  icon: wp.element.createElement("i", {
4387
  className: triggerTourClassname
4388
  }),
@@ -7258,8 +7283,8 @@ function ReduxTemplatesPremiumBox(props) {
7258
  className: "redux-templates-modal-body"
7259
  }, wp.element.createElement("div", {
7260
  className: "section-box premium-box"
7261
- }, wp.element.createElement("h3", null, __('Upgrade to Redux Pro', redux_templates.i18n)), wp.element.createElement("p", null, __('Upgrade to unlock 1,000+ designs to build your pages quick!', redux_templates.i18n)), wp.element.createElement("ul", null, wp.element.createElement("li", null, wp.element.createElement("strong", null, __('Unlimited', redux_templates.i18n)), " ", __('access to the Library', redux_templates.i18n)), wp.element.createElement("li", null, wp.element.createElement("strong", null, __('Google Fonts', redux_templates.i18n)), " ", __('always up to date.', redux_templates.i18n)), wp.element.createElement("li", null, wp.element.createElement("strong", null, __('Advanced Customizer', redux_templates.i18n)), " ", __('for settings.', redux_templates.i18n)), wp.element.createElement("li", null, wp.element.createElement("strong", null, __('And so much more!', redux_templates.i18n)))), wp.element.createElement("p", null, wp.element.createElement("a", {
7262
- href: redux_templates.u,
7263
  className: "redux-templates-upgrade-button",
7264
  title: "{__('Redux Pro', redux_templates.i18n)}",
7265
  target: "_blank"
@@ -7372,7 +7397,8 @@ function ImportWizard(props) {
7372
  const leftTry = isNaN(redux_templates.left) === false ? parseInt(redux_templates.left) : 0;
7373
 
7374
  if (redux_templates.mokama !== '1' && leftTry < 1) {
7375
- setCurrentStep(REDUX_ACTIVATE_STEP);
 
7376
  return;
7377
  }
7378
  /* Redux pro check */
@@ -12172,6 +12198,12 @@ const reducer = (state = initialState, action) => {
12172
  const parsedSection = Object(_helper__WEBPACK_IMPORTED_MODULE_0__["parseSectionData"])(action.library.sections);
12173
  const parsedPage = Object(_helper__WEBPACK_IMPORTED_MODULE_0__["parsePageData"])(action.library.pages);
12174
  const parsedCollection = Object(_helper__WEBPACK_IMPORTED_MODULE_0__["parseCollectionData"])(action.library);
 
 
 
 
 
 
12175
  return _objectSpread(_objectSpread({}, state), {}, {
12176
  loading: false,
12177
  library: action.library,
164
 
165
  exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
166
  // Module
167
+ exports.push([module.i, ".redux-template-library-block .components-placeholder__label svg {\n margin-right: 8px; }\n\n.redux-template-library-block button.components-button {\n height: auto;\n font-weight: 600;\n text-transform: uppercase;\n font-size: 13px;\n padding: 11px 20px;\n background: #fff; }\n\n.components-button.has-icon.redux-templates-insert-library-button {\n height: 100%; }\n\n.redux-templates-insert-library-button {\n margin-left: 10px;\n margin-right: 10px; }\n .redux-templates-insert-library-button svg {\n width: 20px;\n height: 20px; }\n\n.redux-insert-library-button {\n margin-left: 10px;\n margin-right: 10px; }\n", ""]);
168
 
169
 
170
 
374
 
375
  exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
376
  // Module
377
+ exports.push([module.i, ".redux-templates-template-filters .is-active {\n background: #fff;\n color: #191e23;\n box-shadow: inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff; }\n\n.redux-templates-template-filters .components-button:focus:not(:disabled):not(.is-active) {\n background: transparent;\n box-shadow: none;\n color: #555d66; }\n\n.refresh-library {\n margin-right: 10px; }\n\n.tour-icon {\n font-size: 18px; }\n\n.trial_notice * {\n vertical-align: middle; }\n\n.trial_notice .components-notice__content {\n margin-right: 0; }\n", ""]);
378
 
379
 
380
 
3438
  style: actionButtonStyles,
3439
  text: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Visit our Website', redux_templates.i18n),
3440
  onClick: e => {
3441
+ window.open(redux_templates.u + 'tinyfab', '_blank');
3442
  }
3443
  }, wp.element.createElement("i", {
3444
  className: "fas fa-external-link-alt"
3448
  },
3449
  text: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Upgrade to Redux Pro', redux_templates.i18n),
3450
  onClick: e => {
3451
+ window.open(redux_templates.u + 'help_bubble', '_blank');
3452
  }
3453
  }, wp.element.createElement("i", {
3454
  className: "fa fa-star"
4310
  /* harmony import */ var _images_view_many_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./images/view-many.svg */ "./redux-templates/src/components/template-list-subheader/images/view-many.svg");
4311
  /* harmony import */ var _images_view_normal_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./images/view-normal.svg */ "./redux-templates/src/components/template-list-subheader/images/view-normal.svg");
4312
  /* harmony import */ var _redux_templates_stores_actionHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ~redux-templates/stores/actionHelper */ "./redux-templates/src/stores/actionHelper.js");
4313
+ /* harmony import */ var _redux_templates_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ~redux-templates/icons */ "./redux-templates/src/icons/index.js");
4314
+ /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./style.scss */ "./redux-templates/src/components/template-list-subheader/style.scss");
4315
+ /* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_7__);
4316
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4317
 
4318
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4325
 
4326
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
4327
 
4328
+ const _wp$i18n = wp.i18n,
4329
+ __ = _wp$i18n.__,
4330
+ sprintf = _wp$i18n.sprintf;
4331
  const compose = wp.compose.compose;
4332
  const _wp$data = wp.data,
4333
  withDispatch = _wp$data.withDispatch,
4343
 
4344
 
4345
 
4346
+
4347
  function TemplateListSubHeader(props) {
4348
  const itemType = props.itemType,
4349
  sortBy = props.sortBy,
4386
  step: 3
4387
  })), wp.element.createElement("div", {
4388
  className: "redux-templates-template-filters"
4389
+ }, wp.element.createElement("div", {
4390
+ className: "trial_notice"
4391
+ }, !redux_templates.mokama && wp.element.createElement("div", {
4392
+ style: {
4393
+ verticalAlign: 'middle'
4394
+ }
4395
+ }, wp.element.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Notice"], {
4396
+ status: "info",
4397
+ isDismissible: false
4398
+ }, wp.element.createElement("strong", {
4399
+ style: {
4400
+ display: 'inline-block',
4401
+ marginRight: '10px',
4402
+ verticalAlign: 'middle'
4403
+ }
4404
+ }, '0' === redux_templates.left && wp.element.createElement(React.Fragment, null, sprintf(__('You\'ve imported %d/%d Templates', redux_templates.i18n), 5 - redux_templates.left, 5)), '0' !== redux_templates.left && wp.element.createElement(React.Fragment, null, sprintf(__('Trial: %d/%d Imports Remaining', redux_templates.i18n), redux_templates.left, 5))), wp.element.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Button"], {
4405
+ isPrimary: true,
4406
+ isSmall: true,
4407
+ icon: _redux_templates_icons__WEBPACK_IMPORTED_MODULE_6__["redux"],
4408
+ label: __('Upgrade to Redux Pro', redux_templates.i18n),
4409
+ onClick: () => window.open(redux_templates.u + 'subheader', '_blank')
4410
+ }, "Get Pro")))), wp.element.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Button"], {
4411
  icon: wp.element.createElement("i", {
4412
  className: triggerTourClassname
4413
  }),
7283
  className: "redux-templates-modal-body"
7284
  }, wp.element.createElement("div", {
7285
  className: "section-box premium-box"
7286
+ }, wp.element.createElement("h3", null, __('Upgrade to Redux Pro', redux_templates.i18n)), wp.element.createElement("p", null, __('Thanks for giving our library a try! Upgrade to Redux Pro to unlock even more designs and to continue using our library.', redux_templates.i18n)), wp.element.createElement("ul", null, wp.element.createElement("li", null, wp.element.createElement("strong", null, redux_templates.stats.sections), " ", __('Section Templates', redux_templates.i18n)), wp.element.createElement("li", null, wp.element.createElement("strong", null, redux_templates.stats.pages), " ", __('Full Page Templates', redux_templates.i18n)), wp.element.createElement("li", null, wp.element.createElement("strong", null, redux_templates.stats.collections), " ", __('Template Kits', redux_templates.i18n)), wp.element.createElement("li", null, wp.element.createElement("strong", null, __('And so much more!', redux_templates.i18n)))), wp.element.createElement("p", null, wp.element.createElement("a", {
7287
+ href: redux_templates.u + 'import_wizard',
7288
  className: "redux-templates-upgrade-button",
7289
  title: "{__('Redux Pro', redux_templates.i18n)}",
7290
  target: "_blank"
7397
  const leftTry = isNaN(redux_templates.left) === false ? parseInt(redux_templates.left) : 0;
7398
 
7399
  if (redux_templates.mokama !== '1' && leftTry < 1) {
7400
+ //setCurrentStep(REDUX_ACTIVATE_STEP);
7401
+ setCurrentStep(REDUX_PRO_STEP);
7402
  return;
7403
  }
7404
  /* Redux pro check */
12198
  const parsedSection = Object(_helper__WEBPACK_IMPORTED_MODULE_0__["parseSectionData"])(action.library.sections);
12199
  const parsedPage = Object(_helper__WEBPACK_IMPORTED_MODULE_0__["parsePageData"])(action.library.pages);
12200
  const parsedCollection = Object(_helper__WEBPACK_IMPORTED_MODULE_0__["parseCollectionData"])(action.library);
12201
+ redux_templates.stats = {
12202
+ 'dependencies': Object.keys(action.library.dependencies).length,
12203
+ 'pages': Object.keys(action.library.pages).length,
12204
+ 'sections': Object.keys(action.library.sections).length,
12205
+ 'collections': Object.keys(action.library.collections).length
12206
+ };
12207
  return _objectSpread(_objectSpread({}, state), {}, {
12208
  loading: false,
12209
  library: action.library,
redux-templates/assets/js/redux-templates.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"redux-templates.js","sources":["webpack:///webpack/bootstrap","webpack:///./redux-templates/src/blocks/library/style.scss","webpack:///./redux-templates/src/challenge/challenge-list-block/style.scss","webpack:///./redux-templates/src/challenge/challenge-timer/style.scss","webpack:///./redux-templates/src/challenge/final-templates/style.scss","webpack:///./redux-templates/src/challenge/style.scss","webpack:///./redux-templates/src/components/background-image/style.scss","webpack:///./redux-templates/src/components/button-group/style.scss","webpack:///./redux-templates/src/components/dependent-plugins/style.scss","webpack:///./redux-templates/src/components/error-notice/style.scss","webpack:///./redux-templates/src/components/fab-wrapper/styles.scss","webpack:///./redux-templates/src/components/multiple-item/style.scss","webpack:///./redux-templates/src/components/pagination/style.scss","webpack:///./redux-templates/src/components/preview-import-button/style.scss","webpack:///./redux-templates/src/components/single-item/style.scss","webpack:///./redux-templates/src/components/template-list-subheader/style.scss","webpack:///./redux-templates/src/custom-css/style.scss","webpack:///./redux-templates/src/editor.scss","webpack:///./redux-templates/src/modal-import-wizard/style.scss","webpack:///./redux-templates/src/modal-library/sidebar/style.scss","webpack:///./redux-templates/src/modal-library/style.scss","webpack:///./redux-templates/src/modal-library/view-collection/style.scss","webpack:///./redux-templates/src/modal-library/view-saved/style.scss","webpack:///./redux-templates/src/modal-library/view-template-list/style.scss","webpack:///./redux-templates/src/modal-preview/style.scss","webpack:///./redux-templates/src/modals.scss","webpack:///./redux-templates/assets/img/icon-color.svg","webpack:///./redux-templates/assets/img/icon.svg","webpack:///./redux-templates/src/blocks/blocks.js","webpack:///./redux-templates/src/blocks/import/components/edit.js","webpack:///./redux-templates/src/blocks/import/icon.js","webpack:///./redux-templates/src/blocks/import/index.js","webpack:///./redux-templates/src/blocks/import/transforms.js","webpack:///./redux-templates/src/blocks/import/utils/file.js","webpack:///./redux-templates/src/blocks/import/utils/import.js","webpack:///./redux-templates/src/blocks/import/utils/insert.js","webpack:///./redux-templates/src/blocks/library/edit.js","webpack:///./redux-templates/src/blocks/library/index.js","webpack:///./redux-templates/src/blocks/library/insert-library-button.js","webpack:///./redux-templates/src/blocks/library/style.scss?eec2","webpack:///./redux-templates/src/challenge/challenge-list-block/ChallengeStepItem.js","webpack:///./redux-templates/src/challenge/challenge-list-block/ProgressBar.js","webpack:///./redux-templates/src/challenge/challenge-list-block/index.js","webpack:///./redux-templates/src/challenge/challenge-list-block/style.scss?9f45","webpack:///./redux-templates/src/challenge/challenge-timer/index.js","webpack:///./redux-templates/src/challenge/challenge-timer/style.scss?1c53","webpack:///./redux-templates/src/challenge/config.js","webpack:///./redux-templates/src/challenge/final-templates/congrats.js","webpack:///./redux-templates/src/challenge/final-templates/contact.js","webpack:///./redux-templates/src/challenge/final-templates/index.js","webpack:///./redux-templates/src/challenge/final-templates/style.scss?54b2","webpack:///./redux-templates/src/challenge/helper.js","webpack:///./redux-templates/src/challenge/index.js","webpack:///./redux-templates/src/challenge/style.scss?5d1a","webpack:///./redux-templates/src/challenge/tooltip/ChallengeDot.js","webpack:///./redux-templates/src/challenge/tooltip/TooltipBox.js","webpack:///./redux-templates/src/components/background-image/index.js","webpack:///./redux-templates/src/components/background-image/style.scss?1987","webpack:///./redux-templates/src/components/button-group/index.js","webpack:///./redux-templates/src/components/button-group/style.scss?5c67","webpack:///./redux-templates/src/components/dependent-plugins/index.js","webpack:///./redux-templates/src/components/dependent-plugins/style.scss?77c8","webpack:///./redux-templates/src/components/error-notice/index.js","webpack:///./redux-templates/src/components/error-notice/style.scss?3b1b","webpack:///./redux-templates/src/components/fab-wrapper/config.js","webpack:///./redux-templates/src/components/fab-wrapper/index.js","webpack:///./redux-templates/src/components/fab-wrapper/styles.scss?0dab","webpack:///./redux-templates/src/components/multiple-item/index.js","webpack:///./redux-templates/src/components/multiple-item/style.scss?3037","webpack:///./redux-templates/src/components/pagination/index.js","webpack:///./redux-templates/src/components/pagination/style.scss?7abf","webpack:///./redux-templates/src/components/preview-import-button/index.js","webpack:///./redux-templates/src/components/preview-import-button/style.scss?db94","webpack:///./redux-templates/src/components/safe-image-load/index.js","webpack:///./redux-templates/src/components/single-item/index.js","webpack:///./redux-templates/src/components/single-item/style.scss?1c09","webpack:///./redux-templates/src/components/tab-header/index.js","webpack:///./redux-templates/src/components/template-list-subheader/images/view-few.svg","webpack:///./redux-templates/src/components/template-list-subheader/images/view-many.svg","webpack:///./redux-templates/src/components/template-list-subheader/images/view-normal.svg","webpack:///./redux-templates/src/components/template-list-subheader/index.js","webpack:///./redux-templates/src/components/template-list-subheader/style.scss?349f","webpack:///./redux-templates/src/custom-css/editor.js","webpack:///./redux-templates/src/custom-css/index.js","webpack:///./redux-templates/src/custom-css/inject-css.js","webpack:///./redux-templates/src/custom-css/style.scss?7049","webpack:///./redux-templates/src/editor.scss?b1ec","webpack:///./redux-templates/src/icons/images/acf-blocks.svg","webpack:///./redux-templates/src/icons/images/advanced-custom-fields.svg","webpack:///./redux-templates/src/icons/images/advanced-gutenberg-blocks.svg","webpack:///./redux-templates/src/icons/images/atomic-blocks.svg","webpack:///./redux-templates/src/icons/images/block-options.svg","webpack:///./redux-templates/src/icons/images/block-slider.svg","webpack:///./redux-templates/src/icons/images/coblocks.svg","webpack:///./redux-templates/src/icons/images/creative-blocks.svg","webpack:///./redux-templates/src/icons/images/editorplus.svg","webpack:///./redux-templates/src/icons/images/elegant-blocks.svg","webpack:///./redux-templates/src/icons/images/enhanced-blocks.svg","webpack:///./redux-templates/src/icons/images/essential-blocks.svg","webpack:///./redux-templates/src/icons/images/forms-gutenberg.svg","webpack:///./redux-templates/src/icons/images/getwid.svg","webpack:///./redux-templates/src/icons/images/ghostkit.svg","webpack:///./redux-templates/src/icons/images/guteblock.svg","webpack:///./redux-templates/src/icons/images/gutentor.svg","webpack:///./redux-templates/src/icons/images/kadence-blocks.svg","webpack:///./redux-templates/src/icons/images/kioken-blocks.svg","webpack:///./redux-templates/src/icons/images/otter-blocks.svg","webpack:///./redux-templates/src/icons/images/qodeblock.svg","webpack:///./redux-templates/src/icons/images/qubely.svg","webpack:///./redux-templates/src/icons/images/snow-monkey-blocks.svg","webpack:///./redux-templates/src/icons/images/stackable-ultimate-gutenberg-blocks.svg","webpack:///./redux-templates/src/icons/images/ultimate-addons-for-gutenberg.svg","webpack:///./redux-templates/src/icons/images/ultimate-blocks.svg","webpack:///./redux-templates/src/icons/images/ultimate-post.svg","webpack:///./redux-templates/src/icons/images/wordpress.svg","webpack:///./redux-templates/src/icons/index.js","webpack:///./redux-templates/src/index.js","webpack:///./redux-templates/src/modal-feedback/index.js","webpack:///./redux-templates/src/modal-import-wizard/ImportingStep.js","webpack:///./redux-templates/src/modal-import-wizard/InstallPluginStep.js","webpack:///./redux-templates/src/modal-import-wizard/OptionStep.js","webpack:///./redux-templates/src/modal-import-wizard/ProPluginsStep.js","webpack:///./redux-templates/src/modal-import-wizard/ReduxTeamplatesActivateBox.js","webpack:///./redux-templates/src/modal-import-wizard/ReduxTemplatesPremiumBox.js","webpack:///./redux-templates/src/modal-import-wizard/index.js","webpack:///./redux-templates/src/modal-import-wizard/style.scss?9a4a","webpack:///./redux-templates/src/modal-library/index.js","webpack:///./redux-templates/src/modal-library/layout-with-sidebar/index.js","webpack:///./redux-templates/src/modal-library/sidebar/categoryFilter.js","webpack:///./redux-templates/src/modal-library/sidebar/dependencyFilter.js","webpack:///./redux-templates/src/modal-library/sidebar/dependencyFilterRow.js","webpack:///./redux-templates/src/modal-library/sidebar/index.js","webpack:///./redux-templates/src/modal-library/sidebar/priceFilter.js","webpack:///./redux-templates/src/modal-library/sidebar/style.scss?e89b","webpack:///./redux-templates/src/modal-library/style.scss?f8e2","webpack:///./redux-templates/src/modal-library/view-collection/index.js","webpack:///./redux-templates/src/modal-library/view-collection/style.scss?bea7","webpack:///./redux-templates/src/modal-library/view-saved/index.js","webpack:///./redux-templates/src/modal-library/view-saved/style.scss?fe19","webpack:///./redux-templates/src/modal-library/view-template-list/index.js","webpack:///./redux-templates/src/modal-library/view-template-list/style.scss?32ed","webpack:///./redux-templates/src/modal-manager/index.js","webpack:///./redux-templates/src/modal-preview/FullyOverlayFooter.js","webpack:///./redux-templates/src/modal-preview/FullyOverlayHeader.js","webpack:///./redux-templates/src/modal-preview/SidebarContent.js","webpack:///./redux-templates/src/modal-preview/SitePreviewSidebar.js","webpack:///./redux-templates/src/modal-preview/index.js","webpack:///./redux-templates/src/modal-preview/style.scss?ef64","webpack:///./redux-templates/src/modals.scss?6210","webpack:///./redux-templates/src/plugins/export-page-menu-item/index.js","webpack:///./redux-templates/src/plugins/export/export-block-menu-item.js","webpack:///./redux-templates/src/plugins/export/file.js","webpack:///./redux-templates/src/plugins/export/index.js","webpack:///./redux-templates/src/plugins/export/reusable.js","webpack:///./redux-templates/src/plugins/library-context-menu-item/index.js","webpack:///./redux-templates/src/plugins/share-block-btn/buttons.js","webpack:///./redux-templates/src/plugins/share-block-btn/index.js","webpack:///./redux-templates/src/plugins/sidebar-share/index.js","webpack:///./redux-templates/src/plugins/sidebar-share/sidebar.js","webpack:///./redux-templates/src/stores/actionHelper.js","webpack:///./redux-templates/src/stores/actions.js","webpack:///./redux-templates/src/stores/dependencyHelper.js","webpack:///./redux-templates/src/stores/filters.js","webpack:///./redux-templates/src/stores/helper.js","webpack:///./redux-templates/src/stores/index.js","webpack:///./redux-templates/src/stores/reducer.js","webpack:///external \"wp.blockEditor\"","webpack:///external \"wp.blocks\"","webpack:///external \"wp.components\"","webpack:///external \"wp.compose\"","webpack:///external \"wp.data\"","webpack:///external \"wp.editPost\"","webpack:///external \"wp.element\"","webpack:///external \"wp.hooks\"","webpack:///external \"wp.i18n\"","webpack:///external \"lodash\"","webpack:///external \"React\"","webpack:///external \"ReactDOM\""],"sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"redux-templates\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./redux-templates/src/index.js\",\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-template-library-block .components-placeholder__label svg {\\n margin-right: 8px; }\\n\\n.redux-template-library-block button.components-button {\\n height: auto;\\n font-weight: 600;\\n text-transform: uppercase;\\n font-size: 13px;\\n padding: 11px 20px;\\n background: #fff; }\\n\\n.redux-templates-insert-library-button {\\n margin-left: 10px;\\n margin-right: 10px; }\\n .redux-templates-insert-library-button svg {\\n width: 20px;\\n height: 20px; }\\n\\n.redux-insert-library-button {\\n margin-left: 10px;\\n margin-right: 10px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".challenge-list-block {\\n padding: 15px 20px 20px;\\n margin-bottom: 15px;\\n background-color: #fff;\\n overflow: hidden;\\n border-radius: 4px;\\n box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -moz-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2); }\\n\\n.challenge-bar {\\n border-radius: 20px;\\n background-color: #eee; }\\n\\n.challenge-bar div {\\n width: 0;\\n height: 20px;\\n border-radius: 20px;\\n background-color: #2576a4; }\\n\\n.challenge-list {\\n list-style: none;\\n margin: 17px 0 20px;\\n font-size: 13px; }\\n .challenge-list li {\\n margin-bottom: 17px; }\\n .challenge-list li i {\\n display: inline-block;\\n font-size: 18px;\\n color: #d6d6d6;\\n margin-right: 8px;\\n line-height: 15px;\\n vertical-align: bottom;\\n border-radius: 50%; }\\n .challenge-list li.challenge-item-current {\\n font-weight: bold; }\\n .challenge-list li.challenge-item-current i {\\n color: #df7739;\\n font-size: 17.5px;\\n line-height: 1;\\n text-indent: 0.5px; }\\n .challenge-list li.challenge-item-completed {\\n font-weight: initial;\\n text-decoration: line-through; }\\n .challenge-list li.challenge-item-completed i {\\n color: #6ab255;\\n font-size: 18px;\\n background-color: #fff; }\\n .challenge-list li .dashicons-yes {\\n display: none;\\n vertical-align: middle; }\\n\\n/* /.challenge-list */\\nbutton.btn-challenge-start {\\n font-size: 12px;\\n padding: 6px 15px;\\n border: 1px solid #00a7e5;\\n background-color: #24b0a6;\\n border-radius: 3px;\\n color: #fff;\\n cursor: pointer; }\\n button.btn-challenge-start:hover {\\n background-color: #19837c; }\\n\\n.btn-challenge-cancel,\\n.btn-challenge-skip {\\n margin: 6px 0;\\n border: 0;\\n text-decoration: underline; }\\n\\n.btn-challenge-cancel,\\n.btn-challenge-skip {\\n align-self: flex-end;\\n color: #909090;\\n font-size: 12px;\\n font-weight: normal;\\n background: none; }\\n\\n.wpforms-btn-md {\\n min-height: initial; }\\n\\n.challenge-button-row {\\n display: flex;\\n justify-content: space-between; }\\n .challenge-button-row button {\\n cursor: pointer; }\\n\\n.started.challenge-button-row {\\n align-content: space-between;\\n flex-direction: column; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".block-timer {\\n padding: 5px;\\n background-color: #2d2d2d;\\n border-radius: 500px;\\n width: 277px;\\n box-sizing: border-box;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -moz-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n padding-left: 50px; }\\n .block-timer img {\\n width: 50px;\\n height: 50px;\\n border-radius: 50%; }\\n .block-timer h3 {\\n font-size: 14px;\\n font-weight: 500;\\n color: #fff;\\n margin: 0; }\\n .block-timer p {\\n font-size: 14px;\\n font-weight: 100;\\n color: #ababab;\\n margin: 0; }\\n .block-timer .caret-icon {\\n border: 2px solid;\\n border-radius: 50%;\\n color: #6c6c6c;\\n margin: 0 15px;\\n width: 23px;\\n height: 23px;\\n font-size: 20px;\\n cursor: pointer; }\\n .block-timer .caret-icon .fa {\\n width: 100%;\\n text-align: center;\\n -webkit-transition: 400ms;\\n -o-transition: 400ms;\\n transition: 400ms; }\\n .block-timer .caret-icon.closed .fa {\\n -webkit-transform: rotate(180deg) translateY(1px);\\n -ms-transform: rotate(180deg) translateY(1px);\\n transform: rotate(180deg) translateY(1px); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".challenge-popup-wrapper {\\n height: 500px;\\n border-radius: 10px; }\\n\\n.challenge-popup-header {\\n width: 100%;\\n height: 212px;\\n border-top-left-radius: 8px;\\n border-top-right-radius: 8px; }\\n\\n.challenge-popup-header-congrats {\\n background-position: center;\\n background-size: cover; }\\n\\n.challenge-popup-header-contact {\\n background-position: center;\\n background-size: auto 75%;\\n background-color: #eee;\\n background-repeat: no-repeat; }\\n\\n.challenge-popup-content {\\n padding: 30px 40px;\\n -webkit-font-smoothing: antialiased; }\\n\\n.challenge-popup-content h3 {\\n color: #24b0a6;\\n margin: 0 0 20px;\\n font-size: 24px;\\n font-family: \\\"Helvetica Neue\\\";\\n font-weight: 500; }\\n\\n.challenge-popup-content p {\\n font-size: 16px;\\n margin: 0 0 22px; }\\n\\n.challenge-popup-content b {\\n font-weight: 500; }\\n\\n.challenge-popup-content .challenge-contact-message {\\n box-shadow: none;\\n resize: none;\\n margin-bottom: 21px;\\n width: 100%;\\n min-height: 175px; }\\n\\n.challenge-popup-content label {\\n font-size: 13.8px;\\n display: block;\\n margin-bottom: 23px; }\\n\\n.challenge-popup-content input[type=\\\"checkbox\\\"] {\\n margin-right: 8px; }\\n\\n.challenge-popup-content .rating-stars {\\n color: #fdb72c;\\n font-size: 18px;\\n font-weight: bold; }\\n\\n.challenge-popup-close .fa-times {\\n font-size: 20px;\\n color: #777;\\n float: right;\\n margin: 15px;\\n border-radius: 50%;\\n cursor: pointer; }\\n\\n.challenge-popup-btn {\\n display: inline-block;\\n border-radius: 2px;\\n cursor: pointer;\\n text-decoration: none;\\n text-align: center;\\n vertical-align: middle;\\n white-space: nowrap;\\n box-shadow: none;\\n font-size: 15px;\\n font-weight: 600;\\n padding: 14px 25px;\\n border: 1px solid #00a7e5;\\n background-color: #24b0a6;\\n color: #fff; }\\n .challenge-popup-btn:hover {\\n border: 1px solid #19837c;\\n background-color: #19837c;\\n color: #fff; }\\n .challenge-popup-btn .dashicons-external {\\n margin-left: 6px; }\\n\\n.challenge-popup-content.challenge-contact p {\\n font-size: 14px; }\\n\\n.challenge-popup-content.challenge-contact textarea {\\n margin-bottom: 10px; }\\n\\n.challenge-popup-content.challenge-contact label {\\n font-size: 13px;\\n margin-bottom: 15px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-challenge {\\n display: block;\\n position: fixed;\\n right: 1em;\\n bottom: 55px;\\n max-width: 277px;\\n z-index: 9999; }\\n .redux-templates-challenge p {\\n font-size: 14px;\\n line-height: 1.4;\\n margin-top: 0;\\n color: #23282c; }\\n .redux-templates-challenge b {\\n font-weight: 500; }\\n .redux-templates-challenge.challenge-start {\\n display: initial; }\\n\\n@media all and (max-height: 900px) {\\n #challenge-contact-popup {\\n margin: 50px 0 20px; } }\\n\\n.challenge-tooltip.tooltipster-sidetip {\\n z-index: 100100 !important; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-box {\\n margin-bottom: 18px; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {\\n bottom: 8px; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {\\n top: 0; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-right .tooltipster-box {\\n margin-right: 18px; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {\\n left: 8px; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box {\\n background: #fff;\\n border: none;\\n border-radius: 4px;\\n box-shadow: 0 10px 35px 0 rgba(0, 0, 0, 0.25);\\n -webkit-box-shadow: 0 10px 35px 0 rgba(0, 0, 0, 0.25);\\n -moz-box-shadow: 0 10px 35px 0 rgba(0, 0, 0, 0.25); }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .tooltipster-content {\\n color: #444;\\n padding: 16px 20px 18px; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .tooltipster-content h3 {\\n font-size: 15px;\\n margin: 0; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .tooltipster-content p {\\n margin: 10px 0 0; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .challenge-done-btn {\\n border-radius: 3px;\\n cursor: pointer;\\n text-decoration: none;\\n text-align: center;\\n vertical-align: middle;\\n white-space: nowrap;\\n box-shadow: none;\\n font-size: 13px;\\n font-weight: 600;\\n padding: 7px 18px;\\n border: 1px solid #00a7e5;\\n background-color: #24b0a6;\\n color: #fff;\\n display: block;\\n margin: 15px auto 0;\\n outline: none; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .challenge-done-btn:hover {\\n border: 1px solid #19837c;\\n background-color: #19837c; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-arrow-border {\\n border: none; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {\\n border-bottom-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background {\\n border-right-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {\\n border-top-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {\\n border-left-color: #fff; }\\n\\n.block-editor-page .edit-post-layout .components-notice-list > div {\\n padding-left: 50px; }\\n\\n.block-editor-page span.wpforms-challenge-dot-step5 {\\n margin: 22px 18px;\\n z-index: 9999; }\\n\\n.block-editor-page .wpforms-challenge-tooltip.wpforms-challenge-tooltip-step5 {\\n max-width: 233px;\\n z-index: 99980 !important; }\\n\\n.challenge-wrapper {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 600000; }\\n\\n.challenge-tooltip-holder {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 600000; }\\n .challenge-tooltip-holder .tooltipster-box {\\n position: absolute;\\n box-shadow: 0 -10px 35px 0 rgba(0, 0, 0, 0.25);\\n z-index: 10000;\\n background: #fff;\\n padding: 15px 20px; }\\n\\n.challenge-dot {\\n display: inline-block;\\n width: 16px;\\n height: 16px;\\n background: #24b0a6;\\n box-shadow: 0 0 0 4px rgba(25, 131, 124, 0.15);\\n border-radius: 50%;\\n border: 0;\\n padding: 0; }\\n\\n.tooltipster-sidetip .tooltipster-arrow {\\n position: absolute;\\n width: 20px;\\n height: 10px;\\n z-index: 10000; }\\n\\n.tooltipster-sidetip .tooltipster-arrow-uncropped {\\n position: relative; }\\n\\n.tooltipster-sidetip .tooltipster-arrow-border {\\n left: 0;\\n top: 0;\\n border: none;\\n width: 0;\\n height: 0;\\n position: absolute; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-arrow-background {\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 0;\\n position: absolute;\\n border: 10px solid transparent; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top {\\n border-top-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-bottom {\\n border-bottom-color: #fff; }\\n\\n.block-timer .caret-icon .fa {\\n -webkit-transition: 400ms;\\n -o-transition: 400ms;\\n transition: 400ms;\\n line-height: 23px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-single-section-item .block-editor-block-preview__container {\\n margin: 0 auto;\\n min-height: 130px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-import-button-group {\\n text-align: center; }\\n .redux-templates-import-button-group.disabled span a {\\n cursor: default;\\n opacity: 0.8; }\\n\\n.redux-templates-single-section-item {\\n margin-bottom: 15px; }\\n .redux-templates-single-section-item .redux-templates-import-button-group {\\n margin-top: 10%; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-button-display-dependencies {\\n display: flex;\\n justify-content: center;\\n margin: 10px; }\\n .redux-templates-button-display-dependencies span svg {\\n margin-right: 5px;\\n cursor: pointer; }\\n .redux-templates-button-display-dependencies span svg * {\\n fill: #f7f7f7; }\\n .redux-templates-button-display-dependencies span.missing-dependency svg * {\\n fill: rgba(247, 247, 247, 0.5); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-error-notice .components-notice {\\n display: flex;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 13px;\\n background-color: #e5f5fa;\\n border-left: 4px solid #00a0d2;\\n margin: 5px 15px 2px;\\n padding: 8px 12px;\\n align-items: center;\\n position: absolute;\\n height: 50px;\\n z-index: 9999;\\n width: 50%;\\n right: 0;\\n top: 70px;\\n transition: opacity 2s linear; }\\n .redux-templates-error-notice .components-notice.is-dismissible {\\n padding-right: 0; }\\n .redux-templates-error-notice .components-notice.is-success {\\n border-left-color: #4ab866;\\n background-color: rgba(74, 184, 102, 0.95); }\\n .redux-templates-error-notice .components-notice.is-warning {\\n border-left-color: #f0b849;\\n background-color: rgba(254, 248, 238, 0.95); }\\n .redux-templates-error-notice .components-notice.is-error {\\n border-left-color: #d94f4f;\\n background-color: rgba(249, 226, 226, 0.95); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".rtf {\\n box-sizing: border-box;\\n margin: 25px;\\n position: fixed;\\n white-space: nowrap;\\n z-index: 9998;\\n padding-left: 0;\\n list-style: none; }\\n .rtf.open .rtf--mb > * {\\n transform-origin: center center;\\n transform: none;\\n transition: ease-in-out transform 0.2s; }\\n .rtf.open .rtf--mb > ul {\\n list-style: none;\\n margin: 0;\\n padding: 0; }\\n .rtf.open .rtf--ab__c:hover > span {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf.open .rtf--ab__c > span.always-show {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf.open .rtf--ab__c:nth-child(1) {\\n transform: translateY(-60px) scale(1);\\n transition-delay: 0.03s; }\\n .rtf.open .rtf--ab__c:nth-child(1).top {\\n transform: translateY(60px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(2) {\\n transform: translateY(-120px) scale(1);\\n transition-delay: 0.09s; }\\n .rtf.open .rtf--ab__c:nth-child(2).top {\\n transform: translateY(120px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(3) {\\n transform: translateY(-180px) scale(1);\\n transition-delay: 0.12s; }\\n .rtf.open .rtf--ab__c:nth-child(3).top {\\n transform: translateY(180px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(4) {\\n transform: translateY(-240px) scale(1);\\n transition-delay: 0.15s; }\\n .rtf.open .rtf--ab__c:nth-child(4).top {\\n transform: translateY(240px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(5) {\\n transform: translateY(-300px) scale(1);\\n transition-delay: 0.18s; }\\n .rtf.open .rtf--ab__c:nth-child(5).top {\\n transform: translateY(300px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(6) {\\n transform: translateY(-360px) scale(1);\\n transition-delay: 0.21s; }\\n .rtf.open .rtf--ab__c:nth-child(6).top {\\n transform: translateY(360px) scale(1); }\\n\\n.rtf--mb__c {\\n padding: 25px;\\n margin: -25px; }\\n .rtf--mb__c *:last-child {\\n margin-bottom: 0; }\\n .rtf--mb__c:hover > span {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf--mb__c > span.always-show {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf--mb__c > span {\\n opacity: 0;\\n transition: ease-in-out opacity 0.2s;\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n margin-right: 6px;\\n margin-left: 4px;\\n background: rgba(0, 0, 0, 0.75);\\n padding: 2px 4px;\\n border-radius: 2px;\\n color: #fff;\\n font-size: 13px;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28); }\\n .rtf--mb__c > span.right {\\n right: 100%; }\\n\\n.rtf--mb {\\n height: 56px;\\n width: 56px;\\n z-index: 9999;\\n background-color: #666;\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n position: relative;\\n border: none;\\n border-radius: 50%;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28);\\n cursor: pointer;\\n outline: none;\\n padding: 0;\\n -webkit-user-drag: none;\\n font-weight: bold;\\n color: #f1f1f1;\\n font-size: 18px; }\\n .rtf--mb > * {\\n transition: ease-in-out transform 0.2s; }\\n\\n.rtf--ab__c {\\n display: block;\\n position: absolute;\\n top: 0;\\n right: 1px;\\n padding: 10px 0;\\n margin: -10px 0;\\n transition: ease-in-out transform 0.2s; }\\n .rtf--ab__c > span {\\n opacity: 0;\\n transition: ease-in-out opacity 0.2s;\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n margin-right: 6px;\\n background: rgba(0, 0, 0, 0.75);\\n padding: 2px 4px;\\n border-radius: 2px;\\n color: #fff;\\n font-size: 13px;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28); }\\n .rtf--ab__c > span.right {\\n right: 100%; }\\n .rtf--ab__c:nth-child(1) {\\n transform: translateY(-60px) scale(0);\\n transition-delay: 0.21s; }\\n .rtf--ab__c:nth-child(1).top {\\n transform: translateY(60px) scale(0); }\\n .rtf--ab__c:nth-child(2) {\\n transform: translateY(-120px) scale(0);\\n transition-delay: 0.18s; }\\n .rtf--ab__c:nth-child(2).top {\\n transform: translateY(120px) scale(0); }\\n .rtf--ab__c:nth-child(3) {\\n transform: translateY(-180px) scale(0);\\n transition-delay: 0.15s; }\\n .rtf--ab__c:nth-child(3).top {\\n transform: translateY(180px) scale(0); }\\n .rtf--ab__c:nth-child(4) {\\n transform: translateY(-240px) scale(0);\\n transition-delay: 0.12s; }\\n .rtf--ab__c:nth-child(4).top {\\n transform: translateY(240px) scale(0); }\\n .rtf--ab__c:nth-child(5) {\\n transform: translateY(-300px) scale(0);\\n transition-delay: 0.09s; }\\n .rtf--ab__c:nth-child(5).top {\\n transform: translateY(300px) scale(0); }\\n .rtf--ab__c:nth-child(6) {\\n transform: translateY(-360px) scale(0);\\n transition-delay: 0.03s; }\\n .rtf--ab__c:nth-child(6).top {\\n transform: translateY(360px) scale(0); }\\n\\n.rtf--ab {\\n height: 48px;\\n width: 48px;\\n background-color: #aaa;\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n position: relative;\\n border: none;\\n border-radius: 50%;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28);\\n cursor: pointer;\\n outline: none;\\n padding: 0;\\n -webkit-user-drag: none;\\n font-weight: bold;\\n color: #f1f1f1;\\n margin-right: 4px;\\n font-size: 16px;\\n z-index: 10000; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"/*multiple box*/\\n.redux-templates-multiple-template-box {\\n margin-bottom: 25px;\\n position: relative;\\n transition: all 0.05s ease-in-out; }\\n .redux-templates-multiple-template-box img {\\n transition: all 0.05s ease-in-out; }\\n .redux-templates-multiple-template-box .redux-templates-box-shadow {\\n transition: all 0.05s ease-in-out;\\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1); }\\n .redux-templates-multiple-template-box .redux-templates-default-template-image .imageloader-loaded {\\n overflow: hidden; }\\n .redux-templates-multiple-template-box .multiple-template-view {\\n background: #fff;\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05), 0 10px 0 -5px #fff, 0 10px 1px -4px rgba(0, 0, 0, 0.08), 0 20px 0 -10px #fff, 0 20px 1px -9px rgba(0, 0, 0, 0.08);\\n cursor: pointer;\\n min-height: 100px; }\\n .redux-templates-multiple-template-box .redux-templates-import-button-group {\\n margin-top: 15%; }\\n .redux-templates-multiple-template-box .redux-templates-tmpl-info {\\n padding: 10px 12px;\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n background: rgba(255, 255, 255, 0.95);\\n border-top: 1px solid #f2f4f7;\\n transition: all 0.2s ease-in-out; }\\n .redux-templates-multiple-template-box .redux-templates-tmpl-info h5 {\\n margin: 0;\\n font-size: 14px;\\n color: #23282d;\\n line-height: 19px; }\\n .redux-templates-multiple-template-box .redux-templates-tmpl-info h5 span {\\n font-size: 13px;\\n color: #cdcfd1;\\n line-height: 18px; }\\n .redux-templates-multiple-template-box .redux-templates-button-overlay {\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n border-radius: 0px;\\n opacity: 0;\\n -webkit-transition: opacity 0.2s ease-in-out;\\n transition: opacity 0.2s ease-in-out;\\n box-sizing: border-box; }\\n .redux-templates-multiple-template-box::before {\\n z-index: 2; }\\n .redux-templates-multiple-template-box::after {\\n z-index: 1; }\\n .redux-templates-multiple-template-box .redux-templates-button-overlay {\\n background: rgba(0, 0, 0, 0.5);\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n opacity: 0; }\\n .redux-templates-multiple-template-box:hover .redux-templates-box-shadow {\\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.3); }\\n .redux-templates-multiple-template-box:hover .multiple-template-view {\\n border-color: transparent; }\\n .redux-templates-multiple-template-box:hover .redux-templates-tmpl-info {\\n border-top-color: transparent;\\n background: #fff; }\\n .redux-templates-multiple-template-box:hover .redux-templates-button-overlay {\\n opacity: 1; }\\n .redux-templates-multiple-template-box:hover img {\\n filter: blur(2px); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".tablenav-pages {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-bottom: 20px; }\\n .tablenav-pages span.displaying-num {\\n margin-right: 20px; }\\n .tablenav-pages #table-paging {\\n margin-left: 10px;\\n margin-right: 10px; }\\n .tablenav-pages #table-paging span {\\n line-height: 30px; }\\n .tablenav-pages span.tablenav-pages-navspan.button {\\n cursor: pointer;\\n margin: 0 2px; }\\n .tablenav-pages span.tablenav-pages-navspan.button.disabled {\\n cursor: default; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".action-buttons span,\\n.action-buttons a {\\n display: inline-block;\\n padding: 0 12px 2px;\\n margin: 2px;\\n height: 33px;\\n line-height: 32px;\\n font-size: 13px;\\n color: #353535;\\n border: 1px solid #f7f7f7;\\n background: #f7f7f7;\\n box-shadow: 0 1px 2px #ddd;\\n vertical-align: top;\\n border-radius: 3px;\\n text-decoration: none;\\n cursor: pointer;\\n -webkit-transition: all 0.2s ease-in-out;\\n transition: all 0.2s ease-in-out; }\\n .action-buttons span:hover,\\n .action-buttons a:hover {\\n box-shadow: 0 1px 2px #ccc;\\n background: #f1f1f1; }\\n\\n.action-buttons span i,\\n.action-buttons a i {\\n font-size: 10px;\\n margin-right: 4px; }\\n\\n.action-buttons span {\\n background: #0085ba;\\n border-color: #006a95 #00648c #00648c;\\n box-shadow: inset 0 -1px 0 #00648c;\\n color: #fff;\\n text-decoration: none;\\n text-shadow: 0 -1px 1px #005d82, 1px 0 1px #005d82, 0 1px 1px #005d82, -1px 0 1px #005d82; }\\n\\n.action-buttons a.redux-templates-button-download {\\n border: 1px solid #f5a623;\\n background: #f5a623;\\n box-shadow: 0 1px 0 #165cb4;\\n color: #fff; }\\n\\n.action-buttons .redux-templates-button-download {\\n margin-left: 5px; }\\n\\n.action-buttons i.challenge-dot {\\n margin-top: 10px;\\n margin-left: 5px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-single-section-item {\\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2);\\n margin-bottom: 30px;\\n transition: all 0.05s ease-in-out; }\\n .redux-templates-single-section-item .redux-templates-tmpl-title {\\n background: rgba(255, 255, 255, 0.95);\\n border-top: 1px solid #f2f4f7;\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n margin: 0;\\n color: #23282d;\\n padding: 13px 15px;\\n font-size: 15px; }\\n .redux-templates-single-section-item .redux-templates-single-item-inner {\\n position: relative;\\n overflow: hidden;\\n background: #999; }\\n .redux-templates-single-section-item .redux-templates-single-item-inner .warn_notice {\\n color: #fbbc0e;\\n font-weight: bold;\\n margin-bottom: 15px;\\n font-size: 14px;\\n opacity: 0;\\n text-align: center; }\\n .redux-templates-single-section-item .redux-templates-single-item-inner .redux-templates-default-template-image {\\n max-height: 350px;\\n min-height: 100px;\\n transition: 300ms; }\\n\\n#collections-sections-list.large > div {\\n width: 50%; }\\n\\n#collections-sections-list.small > div {\\n width: 25%; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-template-filters .is-active {\\n background: #fff;\\n color: #191e23;\\n box-shadow: inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff; }\\n\\n.redux-templates-template-filters .components-button:focus:not(:disabled):not(.is-active) {\\n background: transparent;\\n box-shadow: none;\\n color: #555d66; }\\n\\n.refresh-library {\\n margin-right: 10px; }\\n\\n.tour-icon {\\n font-size: 18px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-css-editor {\\n border: 1px solid #e2e4e7;\\n margin-bottom: 20px; }\\n\\n.redux-css-editor-help {\\n background: #f7f7f7;\\n padding: 20px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"#redux-templatesImportCollectionBtn {\\n vertical-align: middle;\\n display: inline-flex;\\n align-items: center;\\n text-decoration: none;\\n border: 1px solid #bababa;\\n border-radius: 3px;\\n white-space: nowrap;\\n color: #555d66;\\n font-size: 13px;\\n margin: 0 15px 0 15px;\\n padding: 9px 12px;\\n background: transparent;\\n cursor: pointer;\\n -webkit-appearance: none;\\n transition: 400ms; }\\n #redux-templatesImportCollectionBtn svg {\\n height: 16px;\\n width: 16px;\\n margin-right: 8px; }\\n #redux-templatesImportCollectionBtn svg * {\\n stroke: #555d66;\\n fill: #555d66;\\n stroke-width: 0; }\\n #redux-templatesImportCollectionBtn:hover, #redux-templatesImportCollectionBtn:focus, #redux-templatesImportCollectionBtn:active {\\n text-decoration: none;\\n border: 1px solid #191e23;\\n color: #191e23; }\\n #redux-templatesImportCollectionBtn:hover svg *, #redux-templatesImportCollectionBtn:focus svg *, #redux-templatesImportCollectionBtn:active svg * {\\n stroke: #191e23 !important;\\n fill: #191e23 !important;\\n stroke-width: 0; }\\n\\n.redux-templates-editor-btn {\\n background: none;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n padding: 0;\\n -webkit-appearance: button;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none; }\\n .redux-templates-editor-btn::-moz-focus-inner {\\n border: 0;\\n padding: 0; }\\n\\n.d-flex {\\n display: flex; }\\n\\n.justify-content-center {\\n justify-content: center; }\\n\\n.redux-css-editor {\\n border: 1px solid #e2e4e7;\\n margin-bottom: 20px; }\\n\\n.redux-css-editor-help {\\n background: #f7f7f7;\\n padding: 20px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-modal-wrapper {\\n /* ReduxTemplatesPremiumBox */ }\\n .redux-templates-modal-wrapper .redux-templates-modal-body {\\n flex: 1 1 auto;\\n padding-left: 30px;\\n padding-right: 30px;\\n box-sizing: border-box;\\n background: #fff; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body h5 {\\n font-size: 1.1em;\\n font-weight: 600; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body ul {\\n list-style-position: inside;\\n list-style-type: disc; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body ul.redux-templates-import-wizard-missing-dependency li {\\n line-height: 1.8; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error {\\n color: #f00; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error i {\\n color: inherit; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error.installError {\\n text-align: center; }\\n .redux-templates-modal-wrapper .redux-templates-import-wizard-spinner-wrapper {\\n position: absolute;\\n width: calc(100% - 60px);\\n height: 100%;\\n flex: 1 1 auto;\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n flex-direction: column; }\\n .redux-templates-modal-wrapper .redux-templates-import-wizard-spinner-wrapper .text-transition {\\n text-align: center;\\n font-size: 18px;\\n color: #555d66;\\n margin-bottom: 20px; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress {\\n font-size: 1.1em;\\n text-align: center; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li {\\n list-style: none; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li.success i {\\n color: #46b450; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li.info i {\\n color: #00a0d2; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress {\\n width: 50%;\\n margin: 10px auto; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li {\\n display: flex;\\n justify-content: space-between; }\\n .redux-templates-modal-wrapper .section-box.premium-box {\\n margin: 35px auto;\\n text-align: center; }\\n .redux-templates-modal-wrapper .section-box.premium-box h3 {\\n font-size: 1.5em;\\n line-height: 1.1em;\\n margin-top: 0px; }\\n .redux-templates-modal-wrapper .section-box.premium-box p {\\n font-size: calc(13px + 0.2vw); }\\n .redux-templates-modal-wrapper .section-box.premium-box ul {\\n width: 50%;\\n margin: 0 auto;\\n text-align: left;\\n list-style-type: disc;\\n list-style-position: inside; }\\n .redux-templates-modal-wrapper .section-box.premium-box .redux-templates-upgrade-button {\\n border: none;\\n border-radius: 4px;\\n cursor: pointer;\\n opacity: 1;\\n background: #24b0a6;\\n transition: opacity 0.2s ease-in-out;\\n box-shadow: none !important;\\n color: #fff;\\n text-decoration: none;\\n padding: 0.75em 1.25em;\\n display: block;\\n margin: 30px auto 0 auto;\\n max-width: 200px;\\n text-align: center;\\n font-size: 1em; }\\n .redux-templates-modal-wrapper .section-box.premium-box .redux-templates-upgrade-button:hover {\\n color: #fff;\\n opacity: 0.85;\\n box-shadow: none !important;\\n background: #19837c; }\\n .redux-templates-modal-wrapper .redux-templates-importmodal-content {\\n flex: 1;\\n display: flex;\\n flex-direction: column; }\\n\\n.text-transition {\\n width: 100% !important;\\n text-align: center; }\\n .text-transition .text-transition_inner > div {\\n font-size: 1.1rem; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-collection-modal-sidebar {\\n min-width: 270px;\\n background: #fff;\\n color: #32373c;\\n /* $secondaryColor;*/\\n border-right: 1px solid #e2e4e7;\\n overflow-y: auto; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group {\\n margin: 10px 0;\\n border-bottom: 1px solid #e2e4e7;\\n width: 100%;\\n display: inline-flex; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button {\\n font-weight: 500;\\n flex-grow: 1;\\n min-width: 30%;\\n line-height: 20px;\\n padding: 8px 0 10px 15px;\\n align-items: center;\\n text-align: left;\\n background: none;\\n position: relative;\\n margin-bottom: -1px;\\n border-width: 0;\\n z-index: 1;\\n cursor: pointer;\\n outline: none;\\n border-color: transparent;\\n box-shadow: none;\\n border-bottom: unset; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button::after {\\n content: attr(data-label);\\n display: block;\\n height: 0;\\n overflow: hidden;\\n speak: none;\\n visibility: hidden; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button:hover {\\n color: #007cba;\\n color: var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button:focus {\\n box-shadow: inset 0 0 0 1.5px #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.active {\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.active::before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n bottom: 1px;\\n right: 0;\\n left: 0;\\n border-bottom: 4px solid transparent; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.active:focus {\\n box-shadow: inset 0 0 0 1.5px #007cba, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color), inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.disabled {\\n opacity: 0.4; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button img {\\n display: inline-block;\\n width: auto;\\n height: 14px;\\n margin-right: 4px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button:last-child img {\\n margin-bottom: -2px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content {\\n padding: 0 15px 15px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content h3 {\\n margin: 5px 12px 10px 0;\\n color: #757575;\\n text-transform: uppercase;\\n font-size: 11px;\\n font-weight: 500; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul {\\n list-style: unset;\\n -webkit-touch-callout: none;\\n /* iOS Safari */\\n -webkit-user-select: none;\\n /* Safari */\\n -khtml-user-select: none;\\n /* Konqueror HTML */\\n -moz-user-select: none;\\n /* Old versions of Firefox */\\n -ms-user-select: none;\\n /* Internet Explorer/Edge */\\n user-select: none;\\n /* Non-prefixed version, currently\\n supported by Chrome, Edge, Opera and Firefox */\\n margin: 0 15px 15px 15px;\\n padding: 0; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li {\\n display: block;\\n font-size: 13px;\\n cursor: pointer;\\n height: auto;\\n -webkit-transition: height 0.5s linear;\\n -moz-transition: height 0.5s linear;\\n -ms-transition: height 0.5s linear;\\n -o-transition: height 0.5s linear;\\n transition: height 0.5s linear; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li .redux-icon-wrapper {\\n margin-left: 10px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li:not(.disabled):hover {\\n color: #007cba;\\n color: var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.active {\\n color: #007cba;\\n color: var(--wp-admin-theme-color);\\n text-shadow: 0 0 0.5px #007cba;\\n text-shadow: 0 0 0.5px var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.disabled {\\n display: none;\\n height: 0px;\\n -webkit-transition: height 0.5s linear;\\n -moz-transition: height 0.5s linear;\\n -ms-transition: height 0.5s linear;\\n -o-transition: height 0.5s linear;\\n transition: height 0.5s linear; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li span {\\n float: right; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.missing-dependency i.fa-exclamation-triangle {\\n color: #b27823; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.missing-dependency:hover i.fa-exclamation-triangle {\\n color: #f5a623; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.missing-dependency.active i.fa-exclamation-triangle {\\n color: #f5a623; }\\n .redux-templates-collection-modal-sidebar ul.redux-templates-sidebar-dependencies li .components-base-control {\\n display: inline-block;\\n margin-bottom: 0 !important; }\\n .redux-templates-collection-modal-sidebar ul.redux-templates-sidebar-dependencies li .components-base-control .components-base-control__field {\\n margin-bottom: 3px; }\\n .redux-templates-collection-modal-sidebar ul.redux-templates-sidebar-dependencies li .components-base-control span {\\n float: none; }\\n .redux-templates-collection-modal-sidebar .redux-templates-select-actions {\\n margin: 0 0 10px 15px;\\n display: inline-flex; }\\n .redux-templates-collection-modal-sidebar .redux-templates-select-actions i.challenge-dot {\\n margin-left: 10px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-select-actions.disabled a {\\n pointer-events: none;\\n cursor: default;\\n text-decoration: none;\\n opacity: 0.6; }\\n .redux-templates-collection-modal-sidebar .redux-templates-sidebar-dependencies li a {\\n display: inline-block;\\n margin-left: 10px; }\\n .redux-templates-collection-modal-sidebar #redux-templates-filter-dependencies h3 {\\n margin-top: 0;\\n padding-top: 3px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-collections-modal-body {\\n display: flex;\\n flex: 1;\\n overflow-y: auto; }\\n\\n.redux-templates-builder-modal {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 9999;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n pointer-events: none; }\\n .redux-templates-builder-modal.hidden {\\n display: none; }\\n .redux-templates-builder-modal .wp-full-overlay-sidebar .wp-core-ui .button-group.button-hero .button,\\n .redux-templates-builder-modal .wp-full-overlay-sidebar .wp-core-ui .button.button-hero {\\n text-align: center !important; }\\n .redux-templates-builder-modal * {\\n box-sizing: border-box;\\n pointer-events: all; }\\n .redux-templates-builder-modal .redux-templates-pagelist-modal-overlay {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n background: #f00;\\n left: 0;\\n top: 0;\\n z-index: -1;\\n background: rgba(3, 8, 15, 0.75); }\\n .redux-templates-builder-modal .components-base-control__field {\\n display: flex; }\\n .redux-templates-builder-modal textarea {\\n width: 100%;\\n height: 80px; }\\n .redux-templates-builder-modal .redux-icon-wrapper {\\n display: inline-block; }\\n .redux-templates-builder-modal button.components-button {\\n z-index: unset; }\\n\\n.redux-templates-builder-modal-header {\\n display: flex;\\n border-bottom: 1px solid #e2e4e7;\\n background: #fff; }\\n .redux-templates-builder-modal-header .template-search-box {\\n position: relative;\\n width: 270px; }\\n .redux-templates-builder-modal-header .template-search-box > div {\\n padding: 10px; }\\n .redux-templates-builder-modal-header .template-search-box i {\\n font-size: 13px;\\n color: #757575;\\n position: absolute;\\n top: 50%;\\n right: 30px;\\n transform: translateY(-50%); }\\n .redux-templates-builder-modal-header .template-search-box i.challenge-dot {\\n right: 20px;\\n left: auto; }\\n .redux-templates-builder-modal-header .template-search-box i.clear-search {\\n right: 20px;\\n left: auto;\\n color: #fff;\\n font-size: 12px;\\n display: none;\\n cursor: pointer;\\n padding: 5px; }\\n .redux-templates-builder-modal-header .template-search-box input {\\n display: block;\\n width: 100%;\\n box-shadow: 0 0 0 transparent;\\n transition: box-shadow 0.1s linear;\\n border-radius: 2px;\\n line-height: normal;\\n display: block;\\n padding: 16px 48px 16px 16px;\\n background: #f3f4f5;\\n border: none;\\n width: 100%;\\n height: 40px;\\n font-size: 13px; }\\n .redux-templates-builder-modal-header .template-search-box input::-webkit-input-placeholder {\\n /* WebKit browsers */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input:-moz-placeholder {\\n /* Mozilla Firefox 4 to 18 */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input::-moz-placeholder {\\n /* Mozilla Firefox 19+ */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input:-ms-input-placeholder {\\n /* Internet Explorer 10+ */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input:focus {\\n border-color: #007cba;\\n border-color: var(--wp-admin-theme-color);\\n background: #fff;\\n box-shadow: 0 0 0 1.5px #007cba;\\n box-shadow: 0 0 0 1.5px var(--wp-admin-theme-color);\\n outline: 2px solid transparent; }\\n .redux-templates-builder-modal-header .template-search-box:hover .clear-search {\\n display: block; }\\n\\n.redux-templates-pagelist-modal-inner {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n background: #f1f1f1;\\n width: 85.9375%;\\n height: 89.537037%;\\n max-width: 1650px;\\n max-height: 967px;\\n box-shadow: 0 0 45px 10px rgba(3, 8, 15, 0.2);\\n animation: components-modal__appear-animation 0.1s ease-out;\\n animation-fill-mode: forwards; }\\n .redux-templates-pagelist-modal-inner .redux-templates-collection-modal-content-area {\\n flex-grow: 1;\\n max-height: 100%;\\n overflow-y: auto;\\n position: relative; }\\n\\n.redux-templates-template-list-header {\\n text-align: center;\\n position: relative;\\n flex-grow: 1;\\n padding-right: 50px; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal) {\\n flex-grow: 1;\\n line-height: 28px;\\n margin-top: 6px;\\n padding: 14px 15px 13px 15px;\\n text-align: left;\\n font-weight: 600;\\n width: 150px;\\n align-items: center;\\n background: none;\\n position: relative;\\n margin-bottom: -1px;\\n border-width: 0;\\n z-index: 1;\\n cursor: pointer;\\n outline: none;\\n border-color: transparent;\\n box-shadow: none;\\n border-bottom: unset; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal)::after {\\n content: attr(data-label);\\n display: block;\\n height: 0;\\n overflow: hidden;\\n speak: none;\\n visibility: hidden; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal):hover {\\n color: #007cba;\\n color: var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal):focus {\\n box-shadow: inset 0 0 0 1.5px #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).active {\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).active::before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n bottom: 1px;\\n right: 0;\\n left: 0;\\n border-bottom: 4px solid transparent; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).active:focus {\\n box-shadow: inset 0 0 0 1.5px #007cba, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color), inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).disabled {\\n opacity: 0.5; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal {\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 60px;\\n height: 60px;\\n margin: 0;\\n padding: 0;\\n border: 1px solid transparent;\\n background: none;\\n font-size: 15px;\\n cursor: pointer;\\n outline: none;\\n transition: color 0.1s ease-in-out, background 0.1s ease-in-out; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal i {\\n -webkit-text-stroke: 1.2px #fff; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal svg {\\n margin-top: 4px; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal:hover, .redux-templates-template-list-header .redux-templates-builder-close-modal:active {\\n color: #00a0d2; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal:focus {\\n color: #00a0d2;\\n border-color: #5b9dd9;\\n box-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\\n /* Only visible in Windows High Contrast mode */\\n outline: 2px solid transparent; }\\n\\n.redux-templates-template-list-sub-header {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 23px 25px 0; }\\n .redux-templates-template-list-sub-header h4 {\\n font-size: 21px;\\n color: #0e2244;\\n font-weight: 500;\\n margin: 0; }\\n .redux-templates-template-list-sub-header h4 i.challenge-dot {\\n margin-left: 10px; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filters {\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group {\\n background: #f8fafb;\\n display: inline-flex;\\n border: 1px solid #d8d8d8;\\n border-radius: 4px;\\n margin-left: 10px; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button {\\n display: inline-flex;\\n line-height: 28px;\\n padding: 5px 18px;\\n align-items: center;\\n background: none;\\n border: none;\\n color: #587e97;\\n position: relative;\\n z-index: 1;\\n cursor: pointer; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button:focus {\\n outline: none;\\n box-shadow: 0 0 0 1.5px #007cba;\\n box-shadow: 0 0 0 1.5px var(--wp-admin-theme-color);\\n outline: 1px solid transparent; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button:last-child {\\n color: #f5a623; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.active {\\n background: #f5a623;\\n color: #fff; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.disabled {\\n opacity: 0.5; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button img {\\n display: inline-block;\\n width: auto;\\n height: 14px;\\n margin-right: 4px; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button:not(:last-child)::after {\\n content: \\\"\\\";\\n height: 13px;\\n background-color: #c4cbcf;\\n width: 1px;\\n right: 0px;\\n top: 50%;\\n position: absolute;\\n transform: translateY(-50%); }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.active::after {\\n display: none; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button::before {\\n content: \\\"\\\";\\n position: absolute;\\n background: #f5a623;\\n height: calc(100% + 4px);\\n width: calc(100% + 4px);\\n left: -2px;\\n top: -2px;\\n z-index: -1;\\n border-radius: 4px;\\n box-shadow: 0 0 4px rgba(33, 32, 249, 0.3);\\n opacity: 0; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.active::before {\\n opacity: 1; }\\n\\n.redux-templates-modal-loader {\\n display: inline-block;\\n position: absolute;\\n width: 80px;\\n height: 80px;\\n line-height: 80px;\\n text-align: center;\\n left: 50%;\\n margin-left: -50px;\\n top: 50%;\\n margin-top: -50px;\\n font-size: 24px;\\n color: #1e7ed8; }\\n\\n.redux-templates-modal-loader img {\\n height: 80px;\\n width: 80px; }\\n\\n/*block style*/\\n.redux-templates-builder-template-found-empty {\\n text-align: center;\\n border-color: transparent !important; }\\n .redux-templates-builder-template-found-empty .redux-templates-builder-empty-title {\\n display: block;\\n width: 100%; }\\n\\n.redux-templates-pro-badge {\\n position: absolute;\\n background: rgba(255, 0, 0, 0.75);\\n cursor: pointer;\\n padding: 5px 6px;\\n border-radius: 3px;\\n color: #fff;\\n font-size: 10px;\\n right: 20px;\\n top: 20px;\\n line-height: 1;\\n transition: background 0.1s linear; }\\n\\n.redux-templates-missing-badge {\\n position: absolute;\\n cursor: pointer;\\n background: rgba(242, 168, 72, 0.75);\\n border-radius: 3px;\\n color: #fff;\\n font-size: 10px;\\n right: 20px;\\n top: 20px;\\n line-height: 1;\\n transition: background 0.1s linear; }\\n .redux-templates-missing-badge i {\\n margin: 5px; }\\n\\n.redux-templates-button-overlay .redux-templates-pro-badge {\\n background: rgba(255, 0, 0, 0.85); }\\n\\n.redux-templates-button-overlay .redux-templates-missing-badge {\\n background: rgba(242, 168, 72, 0.85); }\\n\\n.redux-templates-default-template-image {\\n /* background-image: url('/img/redux-templates-medium.jpg');\\n background-size: cover; */\\n background: #888;\\n transition: 300ms; }\\n .redux-templates-default-template-image .imageloader-loaded {\\n max-height: 285px; }\\n .redux-templates-default-template-image img {\\n width: 100%;\\n display: block; }\\n\\n.redux-templates-item-wrapper {\\n position: relative; }\\n .redux-templates-item-wrapper .redux-templates-button-overlay {\\n position: absolute;\\n width: 100%;\\n opacity: 0;\\n background: rgba(0, 0, 0, 0.5);\\n height: 100%;\\n top: 0;\\n left: 0;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n transition: 300ms; }\\n .redux-templates-item-wrapper .redux-templates-button-overlay .redux-templates-tmpl-title {\\n margin: 0 0 15px;\\n color: #fff;\\n font-size: 19px;\\n font-weight: 400; }\\n .redux-templates-item-wrapper.focused .redux-templates-button-overlay, .redux-templates-item-wrapper:hover .redux-templates-button-overlay {\\n opacity: 1; }\\n .redux-templates-item-wrapper.focused .redux-templates-default-template-image, .redux-templates-item-wrapper:hover .redux-templates-default-template-image {\\n filter: blur(3px); }\\n .redux-templates-item-wrapper.missing_requirements .warn_notice {\\n opacity: 1; }\\n .redux-templates-item-wrapper.missing_requirements .redux-templates-button-download {\\n background-color: #fdbb05;\\n background-image: none;\\n border-color: #ffc107; }\\n\\n.redux-templates-template-option-header {\\n padding: 20px 20px 0; }\\n .redux-templates-template-option-header .redux-templates-template-back {\\n cursor: pointer; }\\n .redux-templates-template-option-header .redux-templates-template-back .dashicons {\\n vertical-align: text-bottom; }\\n\\n#wpwrap .edit-post-visual-editor .import-collection-btn-container {\\n text-align: center;\\n margin-top: 20px; }\\n\\n#wpwrap .edit-post-visual-editor .import-collection-btn-container #importCollectionBtn {\\n color: #fff;\\n font-size: 13px; }\\n\\n.redux-templates-template-back {\\n cursor: pointer; }\\n .redux-templates-template-back .dashicons {\\n vertical-align: text-bottom; }\\n\\n.spinner-wrapper {\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.5); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-collection-details-view {\\n padding: 40px 22.5px 60px;\\n width: 100%;\\n justify-content: center;\\n position: relative;\\n display: flex; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left {\\n width: 600px;\\n margin: 0 37px 0 17px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-back {\\n height: 32px;\\n line-height: 20px;\\n color: #818a91;\\n font-size: 15px;\\n font-weight: 600;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n cursor: pointer;\\n margin-bottom: 20px;\\n -webkit-transition: color 0.1s ease;\\n transition: color 0.1s ease; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-preview {\\n background-position: center top;\\n background-size: contain;\\n width: 100%;\\n background-repeat: no-repeat;\\n transition: background 1.5s ease;\\n height: 84.71%; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-preview.has_full {\\n transition: background-position 1.5s linear;\\n background-position: center top;\\n background-size: cover;\\n width: 100%;\\n background-repeat: no-repeat;\\n -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1); }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-preview.has_full:hover {\\n background-position: center bottom;\\n background-size: cover; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right {\\n width: 520px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-title {\\n height: 30px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding: 2px 25px 0 10px;\\n margin-bottom: 20px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-title h3 {\\n color: rgba(3, 8, 15, 0.92);\\n font-size: 28px;\\n font-weight: 600;\\n line-height: 34px;\\n margin: 0; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-title span {\\n color: #818a91;\\n font-size: 13px;\\n font-weight: 600;\\n line-height: 16px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-list {\\n height: 84.71%; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-list .details-inner {\\n height: 100%;\\n overflow-y: auto; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select {\\n width: 150px;\\n height: 150px;\\n overflow: hidden;\\n margin: 0 8px 15px;\\n -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n position: relative;\\n display: inline-block;\\n cursor: pointer;\\n -webkit-transition: all 0.1s ease-in-out;\\n transition: all 0.1s ease-in-out; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::before, .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::after {\\n content: \\\"\\\";\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n pointer-events: none;\\n opacity: 0;\\n box-sizing: border-box; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::before {\\n opacity: 0.7;\\n z-index: 2; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::after {\\n opacity: 0.7;\\n z-index: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image {\\n width: 100%;\\n height: 150px;\\n background-repeat: no-repeat;\\n background-size: cover;\\n border: 1px solid #ececec;\\n position: relative; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .pro,\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .install {\\n position: absolute;\\n background: #f00;\\n padding: 2px 3px;\\n border-radius: 3px;\\n color: #fff;\\n font-size: 9px;\\n right: 5px;\\n top: 5px;\\n text-transform: uppercase;\\n line-height: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .pro {\\n background: #f00; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .install {\\n background: #f2a848; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-label {\\n border-top: 1px solid #f2f4f7;\\n width: 100%;\\n height: 30px;\\n opacity: 1;\\n background-color: rgba(255, 255, 255, 0.9);\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n color: #23282d;\\n font-family: pn, \\\"Open Sans\\\", Arial, sans-serif;\\n font-size: 13px;\\n font-weight: 600;\\n line-height: 30px;\\n padding-left: 10px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select:hover {\\n -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select:hover::before, .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select:hover::after {\\n opacity: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active {\\n -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active::before, .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active::after,\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active .detail-label {\\n opacity: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active::before {\\n border: 3px solid #24b0a6; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer {\\n width: 100%;\\n height: 60px;\\n background: #fff;\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n z-index: 2; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer .footer-grid {\\n width: 100%;\\n padding: 0 10px;\\n height: 100%;\\n margin: auto;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer .import-button {\\n margin-left: 11.5px;\\n background-color: #3dbfe8;\\n color: #fff;\\n font-family: pn, \\\"Open Sans\\\", Arial, sans-serif;\\n font-size: 15px;\\n font-weight: 600;\\n line-height: 18px;\\n padding: 9px 32px;\\n border-radius: 3px;\\n cursor: pointer;\\n -webkit-transition: background-color 150ms linear;\\n transition: background-color 150ms linear; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer .import-button:hover {\\n background: rgba(61, 191, 232, 0.8); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-two-sections {\\n position: absolute;\\n width: 85.9375%;\\n height: 89.537037%;\\n max-width: 1650px;\\n max-height: 967px;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n border-radius: 5px;\\n overflow: hidden;\\n -webkit-box-shadow: 0 45px 10px rgba(3, 8, 15, 0.2);\\n box-shadow: 0 0 45px 10px rgba(3, 8, 15, 0.2); }\\n\\n.redux-templates-two-sections__grid {\\n width: 100%;\\n height: 100%;\\n padding: 40px 22.5px;\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.redux-templates-two-sections__grid__column {\\n width: 100%; }\\n\\n.redux-templates-two-sections__grid-clear {\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n height: 100%; }\\n\\n.redux-templates-two-sections__grid-clear-text {\\n opacity: 0.9;\\n color: #818a91;\\n font-family: pn, \\\"Open Sans\\\", Arial, sans-serif;\\n font-size: 14px;\\n font-weight: 600;\\n line-height: 17px;\\n margin: 0 0 20px; }\\n\\n.redux-templates-two-sections__grid-clear-image-saved {\\n width: 322px;\\n height: 145px;\\n margin-top: -21px;\\n pointer-events: none; }\\n\\n.redux-templates-two-sections__grid-clear-image-global {\\n width: 524px;\\n height: 207px;\\n margin-top: -28px;\\n pointer-events: none; }\\n\\n.redux-templates-two-section {\\n position: relative;\\n margin: 0 17.5px 35px;\\n cursor: pointer;\\n outline: 3px solid transparent;\\n -webkit-transition: outline 0.3s ease-in-out;\\n transition: outline 0.3s ease-in-out;\\n -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n border-radius: 3px; }\\n .redux-templates-two-section:last-child {\\n margin-bottom: 0; }\\n .redux-templates-two-section .redux-templates-two-section-remove {\\n position: absolute;\\n z-index: 4;\\n top: -7px;\\n right: -7px;\\n opacity: 0;\\n -webkit-transform: scale(0.7);\\n transform: scale(0.7);\\n -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n width: 28px;\\n height: 28px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n font-size: 12px;\\n border-radius: 28px;\\n background-color: #fff;\\n color: #03080f;\\n -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);\\n box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);\\n cursor: pointer; }\\n .redux-templates-two-section:hover .redux-templates-two-section-remove {\\n opacity: 1;\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }\\n .redux-templates-two-section:hover .redux-templates-two-section-remove:hover {\\n color: #f00; }\\n .redux-templates-two-section:hover .redux-templates-two-section-item::before {\\n border-color: #3dbfe8; }\\n .redux-templates-two-section:hover .redux-templates-two-section-item::after {\\n border-color: #ececec; }\\n\\n.redux-templates-two-section .preview-image-wrapper {\\n transition: all 0.05s ease-in-out;\\n width: 100%;\\n min-height: 130px;\\n max-height: 300px;\\n overflow: hidden; }\\n .redux-templates-two-section .preview-image-wrapper img {\\n animation-name: fadeIn;\\n animation-fill-mode: both;\\n animation-delay: 200ms;\\n animation-duration: 200ms;\\n width: 100%;\\n height: auto; }\\n\\n.redux-templates-two-section .saved-section-title {\\n border-top: 1px solid #f2f4f7;\\n background: rgba(255, 255, 255, 0.9);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n margin: 0;\\n color: #23282d;\\n padding: 13px 15px;\\n font-size: 15px;\\n text-align: center;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n\\n.no-section {\\n display: flex;\\n width: 100%;\\n align-items: center;\\n justify-content: center;\\n font-size: 16px; }\\n\\n.preview-image-wrapper .block-editor-block-preview__container {\\n transition: all 0.05s ease-in-out;\\n background: #fff;\\n margin: 0 auto;\\n min-height: 130px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"#collections-sections-list {\\n width: 100%;\\n display: flex;\\n flex-wrap: wrap;\\n padding: 10px 10px 0 10px; }\\n #collections-sections-list > div {\\n width: 33.3333%;\\n padding: 15px;\\n position: relative; }\\n @media (max-width: 1199px) {\\n #collections-sections-list > div {\\n width: 50%; } }\\n #collections-sections-list > div.redux-templates-builder-template-found-empty {\\n width: 100%;\\n text-align: center;\\n opacity: 0.5;\\n border: none !important;\\n padding-top: 70px !important; }\\n #collections-sections-list.redux-templates-frontend-section-list {\\n display: block;\\n padding-bottom: 10px;\\n padding-top: 0px; }\\n #collections-sections-list.redux-templates-frontend-section-list > div {\\n width: 100%;\\n display: flex;\\n flex-wrap: nowrap;\\n border-bottom: 1px solid #e2e4e7;\\n font-weight: 600;\\n padding: 12px 0 12px 15px;\\n margin-bottom: 0;\\n align-items: center; }\\n #collections-sections-list.redux-templates-frontend-section-list > div.redux-templates-reusable-list-title {\\n color: #adafb2; }\\n #collections-sections-list.redux-templates-frontend-section-list > div:first-child {\\n border-top: 1px solid #e2e4e7; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-content {\\n flex-grow: 1; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-info {\\n flex-grow: 1;\\n max-width: 165px;\\n display: flex;\\n flex-wrap: nowrap; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button {\\n margin-left: 30px; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button {\\n display: inline-block;\\n padding: 0;\\n border: none;\\n transition: 300ms;\\n cursor: pointer;\\n background-color: transparent; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button:not(:last-child) {\\n margin-right: 10px; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button i {\\n font-size: 16px;\\n color: #cdcfd1; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button:hover i {\\n color: #007cba; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button:last-child:hover i {\\n color: #f00; }\\n #collections-sections-list .redux-templates-pagelist-column.loading {\\n height: 100px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".wp-full-overlay {\\n margin-left: 300px; }\\n\\n@media screen and (min-width: 1667px) {\\n .wp-full-overlay {\\n margin-left: 18%; } }\\n\\nbutton {\\n box-sizing: border-box;\\n pointer-events: all; }\\n\\n.wp-full-overlay.hide {\\n display: none; }\\n\\n.theme-screenshot-wrap {\\n overflow: hidden;\\n position: relative;\\n max-height: 300px;\\n margin: 15px 0;\\n border: 1px solid #ccc; }\\n\\n.install-theme-info {\\n padding-bottom: 0px; }\\n .install-theme-info h3 a {\\n float: right;\\n opacity: 0.6; }\\n .install-theme-info h3 a:hover {\\n opacity: 1; }\\n\\n.install-theme-info .theme-screenshot {\\n width: 100% !important;\\n border: none !important;\\n margin: 0 !important;\\n display: block; }\\n\\n.expanded .wp-full-overlay-footer {\\n height: 111px !important;\\n left: initial; }\\n .expanded .wp-full-overlay-footer .button-hero {\\n text-align: center; }\\n\\n.wp-full-overlay .wp-full-overlay-sidebar-content {\\n bottom: 100px; }\\n .wp-full-overlay .wp-full-overlay-sidebar-content .redux-templates-dependencies-list {\\n border-top: 1px solid #eee;\\n color: #82878c;\\n font-size: 13px;\\n font-weight: 400;\\n margin: 30px 0 0 0; }\\n .wp-full-overlay .wp-full-overlay-sidebar-content .redux-templates-dependencies-list h4 {\\n color: #23282d;\\n font-size: 1.1em;\\n text-align: center; }\\n .wp-full-overlay .wp-full-overlay-sidebar-content .redux-templates-dependencies-list .redux-templates-dependency-blocks .redux-templates-dependency-name {\\n color: #444;\\n font-weight: 600;\\n margin-right: 5px; }\\n\\n.footer-import-button-wrap {\\n padding: 10px 20px;\\n display: flex;\\n justify-content: center; }\\n\\n.wp-full-overlay-footer .view-site,\\n.wp-full-overlay-footer .go-pro,\\n.wp-full-overlay-footer .redux-templates-import {\\n width: 100%; }\\n\\n.redux-templates-button-download {\\n border: 1px solid #3dbfe8;\\n background: #3dbfe8;\\n box-shadow: 0 1px 0 #165cb4;\\n color: #fff; }\\n\\n.wp-full-overlay-main {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n height: 100%;\\n -webkit-transition: background-color 1000ms linear;\\n -ms-transition: background-color 1000ms linear;\\n transition: background-color 1000ms linear;\\n background-color: unset; }\\n .wp-full-overlay-main.loaded::before {\\n display: none !important; }\\n .wp-full-overlay-main.loaded iframe {\\n background-color: #fff; }\\n .wp-full-overlay-main .components-spinner {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translateX(-50%) translateY(-50%); }\\n\\n.theme-install-overlay iframe {\\n height: 100%;\\n width: 100%;\\n z-index: 20;\\n transition: opacity 0.3s; }\\n\\n.redux-templates-dependency-blocks {\\n display: flex; }\\n .redux-templates-dependency-blocks .block-head {\\n text-align: center;\\n width: 60px;\\n margin-right: 10px; }\\n\\n.requirements-list {\\n width: 100%; }\\n .requirements-list ul {\\n margin: 0;\\n padding: 0;\\n list-style: none; }\\n .requirements-list ul li {\\n cursor: pointer;\\n line-height: 20px;\\n padding-bottom: 25px;\\n clear: left;\\n transition: 300ms; }\\n .requirements-list ul li svg {\\n margin-right: 5px; }\\n .requirements-list ul li svg * {\\n fill: #9a9a9a; }\\n .requirements-list ul li svg,\\n .requirements-list ul li span,\\n .requirements-list ul li div {\\n float: left; }\\n .requirements-list ul li .redux-icon-wrapper {\\n display: inline; }\\n .requirements-list ul li span.pluginURL {\\n float: right; }\\n .requirements-list ul li i {\\n font-size: 1.1em; }\\n .requirements-list ul li .redux-icon-wrapper {\\n padding-left: 5px; }\\n .requirements-list ul li i.fa-exclamation-triangle {\\n font-size: 0.9em;\\n line-height: 1.5em;\\n color: #b27823; }\\n .requirements-list ul li:hover svg * {\\n fill: dimgray; }\\n .requirements-list ul li:hover i.fa-exclamation-triangle {\\n color: #f5a623; }\\n\\n.redux-block-pills ul {\\n margin: 0;\\n padding: 0; }\\n .redux-block-pills ul li {\\n margin: 0px 5px 10px 0;\\n float: left; }\\n .redux-block-pills ul li span {\\n --bg-opacity: 1 !important;\\n background-color: #edf2f7 !important;\\n background-color: rgba(237, 242, 247, var(--bg-opacity)) !important;\\n border-radius: 9999px !important;\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n padding-left: 0.75rem !important;\\n padding-right: 0.75rem !important;\\n --text-opacity: 1 !important;\\n color: #4a5568 !important;\\n color: rgba(74, 85, 104, var(--text-opacity)) !important; }\\n\\n.redux-templates-modal-preview-box {\\n background: #f1f1f1; }\\n .redux-templates-modal-preview-box img {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translateX(-50%) translateY(-50%);\\n max-width: 100%;\\n max-height: 100%; }\\n\\n.theme-hash {\\n text-align: center;\\n font-size: 14px;\\n position: relative; }\\n .theme-hash i {\\n cursor: pointer;\\n margin-right: 5px;\\n margin-left: 5px; }\\n .theme-hash .copied {\\n color: #656a6f;\\n position: absolute;\\n line-height: 75%;\\n margin-left: 10px;\\n opacity: 0.6; }\\n .theme-hash .the-copy {\\n border-bottom-right-radius: 0 !important;\\n border-top-right-radius: 0 !important; }\\n .theme-hash .the-hash {\\n border-bottom-left-radius: 0 !important;\\n border-top-left-radius: 0 !important;\\n border-left: 0 !important; }\\n .theme-hash .hideMe {\\n -webkit-animation: cssAnimation 3s forwards;\\n animation: cssAnimation 3s forwards; }\\n\\n@keyframes cssAnimation {\\n 0% {\\n opacity: 1; }\\n 90% {\\n opacity: 1; }\\n 100% {\\n opacity: 0; } }\\n\\n@-webkit-keyframes cssAnimation {\\n 0% {\\n opacity: 1; }\\n 90% {\\n opacity: 1; }\\n 100% {\\n opacity: 0; } }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-modal-overlay {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: rgba(255, 255, 255, 0.6);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n z-index: 600000; }\\n\\n.redux-templates-modal-wrapper {\\n width: 550px;\\n height: 400px;\\n background: #fcfcfc;\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-direction: column;\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7); }\\n .redux-templates-modal-wrapper div {\\n width: 100%; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header {\\n border-bottom: 1px solid #ddd;\\n flex: 0 0 60px;\\n padding: 10px 15px;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header h3 {\\n margin: 0;\\n font-size: 1.2rem; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header button {\\n border: none;\\n cursor: pointer; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header .redux-templates-modal-close {\\n font-size: 20px;\\n background: transparent;\\n color: #9b9b9b; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body {\\n flex: 1 1 auto;\\n padding-left: 30px;\\n padding-right: 30px;\\n box-sizing: border-box;\\n background: #fff;\\n position: relative; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body h5 {\\n font-size: 1.1em;\\n font-weight: 600; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body ul {\\n list-style-position: inside;\\n list-style-type: disc; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error {\\n color: #f00; }\\n .redux-templates-modal-wrapper .redux-templates-modal-footer {\\n border-top: 1px solid #ddd;\\n flex: 0 0 60px;\\n align-items: center;\\n display: flex;\\n padding: 0 20px;\\n box-sizing: border-box; }\\n .redux-templates-modal-wrapper .redux-templates-modal-footer .button {\\n margin-right: 20px;\\n cursor: pointer; }\\n .redux-templates-modal-wrapper .redux-templates-modal-footer i.fas {\\n margin-right: 3px; }\\n .redux-templates-modal-wrapper .redux-templates-modal-spinner-wrapper {\\n flex: 1 1 auto;\\n align-items: center;\\n justify-content: center;\\n display: flex; }\\n\", \"\"]);\n\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9 17.7H7.4l-.9-1.5 2.1-2.4 2.3 3.9zm-5.3-1.6l-1.5 1.6h-4L4 13.3l1.6 2.8z\",\n fill: \"#011627\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00a7e5\",\n d: \"M6.1 15.6L.4 5.9h3.5l2.7 4.5 8-9.1h4.3L6.1 15.6z\"\n});\n\nvar SvgIconColor = function SvgIconColor(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 19 19\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgIconColor;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9 17.7H7.4l-.9-1.5 2.1-2.4 2.3 3.9zm-5.3-1.6l-1.5 1.6h-4L4 13.3l1.6 2.8zM6.1 15.6L.4 5.9h3.5l2.7 4.5 8-9.1h4.3L6.1 15.6z\"\n});\n\nvar SvgIcon = function SvgIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 19 19\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgIcon;","import {__} from '@wordpress/i18n';\n\nconst { registerBlockType } = wp.blocks;\nimport * as importBlock from './import';\nimport * as libraryBlock from './library';\n\nexport function registerBlocks() {\n\n registerBlockType( `redux/${ libraryBlock.name }`, { ...libraryBlock.settings } );\n\tregisterBlockType( `redux/${ importBlock.name }`, { ...importBlock.settings } );\n\n}\nregisterBlocks();\n","/**\n * Internal dependencies\n */\nimport importReusableBlock from '../utils/import';\nimport insertImportedBlocks from '../utils/insert';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { withInstanceId } = wp.compose;\nconst { Fragment, Component } = wp.element;\nconst { MediaUploadCheck } = wp.blockEditor;\nconst { DropZone, FormFileUpload, Placeholder, Notice } = wp.components;\n\nconst ALLOWED_BG_MEDIA_TYPES = [ 'json' ];\n\n/**\n * Block edit function\n */\nclass Edit extends Component {\n constructor() {\n super( ...arguments );\n\n this.state = {\n isLoading: false,\n error: null,\n };\n\n this.isStillMounted = true;\n this.addFile = this.addFile.bind( this );\n }\n\n componentDidMount() {\n const { file } = this.props.attributes;\n\n if ( file ) {\n this.setState( { isLoading: true } );\n this.addFile( file );\n }\n }\n\n componentWillUnmount() {\n this.isStillMounted = false;\n }\n\n addFile( files ) {\n let file = files[ 0 ];\n\n if ( files.target ) {\n file = event.target.files[ 0 ];\n }\n\n if ( ! file ) {\n return;\n }\n this.setState( { isLoading: true } );\n\n importReusableBlock( file )\n .then( ( reusableBlock ) => {\n if ( ! this.isStillMounted ) {\n return;\n }\n\n this.setState( { isLoading: false } );\n insertImportedBlocks( this.props.clientId, reusableBlock, this.props.onClose );\n } )\n .catch( ( error ) => {\n if ( ! this.isStillMounted ) {\n return;\n }\n\n let uiMessage;\n switch ( error.message ) {\n case 'Invalid JSON file':\n uiMessage = __( 'Invalid JSON file', redux_templates.i18n );\n break;\n case 'Invalid Reusable Block JSON file':\n uiMessage = __( 'Invalid Reusable Block JSON file', redux_templates.i18n );\n break;\n default:\n uiMessage = __( 'Unknown error', redux_templates.i18n );\n }\n\n this.setState( { isLoading: false, error: uiMessage } );\n } );\n }\n\n render() {\n const { isLoading, error } = this.state;\n\n return (\n <Placeholder\n icon=\"download\"\n label={ __( 'Import a Template from JSON - Redux', redux_templates.i18n ) }\n instructions={ __( 'Drag a file or upload a new one from your device.', redux_templates.i18n ) }\n className=\"editor-media-placeholder\"\n notices={ error && (\n <Notice status=\"error\">\n { error }\n </Notice>\n ) }\n >\n <Fragment>\n <MediaUploadCheck>\n <DropZone\n onFilesDrop={ this.addFile }\n label={ __( 'Import from JSON', redux_templates.i18n ) }\n />\n <FormFileUpload\n isLarge\n className=\"editor-media-placeholder__button button button-primary\"\n onChange={ this.addFile }\n accept={ ALLOWED_BG_MEDIA_TYPES }\n isBusy={ isLoading }\n disabled={ isLoading }\n multiple={ false }\n >\n { __( 'Upload', redux_templates.i18n ) }\n </FormFileUpload>\n </MediaUploadCheck>\n </Fragment>\n </Placeholder>\n );\n }\n}\n\nexport default withInstanceId( Edit );\n","/**\n * WordPress dependencies\n */\nconst { SVG } = wp.components;\n\nexport default <SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\" /><path d=\"M9.17 6l2 2H20v10H4V6h5.17M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z\" /></SVG>;\n","/**\n * Internal dependencies\n */\nimport edit from './components/edit';\nimport icon from './icon';\nimport transforms from './transforms';\nimport { colorizeIcon } from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\n/**\n * Block constants\n */\nconst name = 'import';\n\nconst category = 'common';\nconst schema = {\n\tfile: {\n\t\ttype: 'object',\n\t},\n};\n\nconst title = __( 'Template Import', redux_templates.i18n );\n\nconst keywords = [\n __( 'import', redux_templates.i18n ),\n __( 'download', redux_templates.i18n ),\n __( 'migrate', redux_templates.i18n ),\n];\n\n\n\nconst settings = {\n\ttitle: title,\n description: __( 'Import blocks exported using Redux plugin.', redux_templates.i18n ),\n\n\tcategory: category,\n\tkeywords: keywords,\n\n attributes: schema,\n\n supports: {\n align: true,\n alignWide: false,\n alignFull: false,\n customClassName: false,\n className: false,\n html: false,\n },\n\n transforms: transforms,\n edit: edit,\n save() {\n return null;\n },\n};\n\nexport { name, title, category, icon, settings };\n","/**\n * WordPress dependencies\n */\nconst { createBlock } = wp.blocks;\n\nconst transforms = {\n from: [\n {\n type: 'files',\n isMatch( files ) {\n return files[ 0 ].type === 'application/json';\n },\n // We define a lower priorty (higher number) than the default of 10. This\n // ensures that the Import block is only created as a fallback.\n priority: 13,\n transform: ( files ) => {\n const blocks = [];\n\n blocks.push( createBlock( 'redux/import', {\n file: files,\n } ) );\n\n return blocks;\n },\n },\n ],\n};\n\nexport default transforms;\n","/**\n * Reads the textual content of the given file.\n *\n * @param {File} file File.\n * @return {Promise<string>} Content of the file.\n */\nexport function readTextFile( file ) {\n const reader = new window.FileReader();\n return new Promise( ( resolve ) => {\n reader.onload = function() {\n resolve( reader.result );\n };\n reader.readAsText( file );\n } );\n}\n","/**\n * External dependencies\n */\nimport { isString } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { readTextFile } from './file';\nconst { dispatch, select } = wp.data;\nconst { editPost } = dispatch('core/editor');\n\n/**\n * Import a reusable block from a JSON file.\n *\n * @param {File} file File.\n * @return {Promise} Promise returning the imported reusable block.\n */\nasync function importReusableBlock( file ) {\n const fileContent = await readTextFile( file );\n let parsedContent;\n try {\n parsedContent = JSON.parse(JSON.parse(JSON.stringify(fileContent)));\n } catch ( e ) {\n throw new Error( 'Invalid JSON file' );\n }\n\n if ( parsedContent.__file === 'redux_template' ) {\n\t\teditPost( { 'template': 'redux-templates_full_width' } );\n return parsedContent.content;\n }\n\n if (\n parsedContent.__file !== 'wp_block' ||\n ! parsedContent.title ||\n ! parsedContent.content ||\n ! isString( parsedContent.title ) ||\n ! isString( parsedContent.content )\n ) {\n\t if ( '' === select( 'core/editor' ).getEditedPostAttribute( 'template' ) ) {\n\t\t editPost({'template': 'redux-templates_contained'});\n\t }\n return importCoreBlocks( parsedContent );\n }\n\n const postType = await wp.apiFetch( { path: '/wp/v2/types/wp_block' } );\n const reusableBlock = await wp.apiFetch( {\n path: `/wp/v2/${ postType.rest_base }`,\n data: {\n title: parsedContent.title,\n content: parsedContent.content,\n status: 'publish',\n },\n method: 'POST',\n } );\n\n if ( reusableBlock.id ) {\n return '<!-- wp:block {\"ref\":' + reusableBlock.id + '} /-->';\n }\n throw new Error( 'Invalid Reusable Block JSON file contents' );\n}\n\nfunction importCoreBlocks( parsedContent ) {\n if (\n parsedContent.__file !== 'core_block' ||\n ! parsedContent.content ||\n ! isString( parsedContent.content )\n ) {\n throw new Error( 'Invalid JSON file' );\n }\n\n return parsedContent.content;\n}\n\nexport default importReusableBlock;\n","/**\n * WordPress dependencies\n */\nconst { select, dispatch } = wp.data;\nconst { parse, createBlock } = wp.blocks;\n\nexport default function insertImportedBlocks( clientId, blocks, onClose ) {\n blocks = parse( blocks );\n const toSelect = [];\n const blockIndex = select( 'core/block-editor' ).getBlockInsertionPoint();\n if ( blocks.length > 0 ) {\n for ( const block in blocks ) {\n const created = createBlock( blocks[ block ].name, blocks[ block ].attributes, blocks[ block ].innerBlocks );\n dispatch( 'core/block-editor' ).insertBlocks( created, parseInt( blockIndex.index ) + parseInt( block ) );\n\n if ( typeof created !== 'undefined' ) {\n toSelect.push( created.clientId );\n }\n }\n\n //remove insertion point if empty\n dispatch( 'core/block-editor' ).removeBlock( clientId );\n\n //select inserted blocks\n if ( toSelect.length > 0 ) {\n dispatch( 'core/block-editor' ).multiSelect( toSelect[ 0 ], toSelect.reverse()[ 0 ] );\n }\n }\n\n onClose();\n}\n","/**\n * External dependencies.\n */\nimport { ReduxTemplatesIcon } from '~redux-templates/icons'\n// import { ModalDesignLibrary } from '~stackable/components'\nimport {ModalManager} from '../../modal-manager';\nimport LibraryModal from '../../modal-library';\n\n/**\n * WordPress dependencies.\n */\nimport {\n\tButton, Placeholder,\n} from '@wordpress/components'\nimport { compose } from '@wordpress/compose'\nimport { createBlock, parse } from '@wordpress/blocks'\nimport { withDispatch } from '@wordpress/data'\nimport { useState } from '@wordpress/element'\nimport { __ } from '@wordpress/i18n'\nimport { applyFilters } from '@wordpress/hooks'\n\nconst edit = ( { removeLibraryBlock, preview } ) => {\n\tif (preview) {\n\t\talert('here i am');\n\t}\n\n\treturn (\n\t\t<div className=\"redux-template-library-block\">\n\t\t\t<Placeholder\n\t\t\t\ticon={ <ReduxTemplatesIcon /> }\n\t\t\t\tlabel={ __( 'Redux Template Library', redux_templates.i18n ) }\n\t\t\t\tinstructions={ __( 'Open the Design Library and select a pre-designed block or layout.', redux_templates.i18n ) }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\tisSecondary\n\t\t\t\t\tisLarge\n\t\t\t\t\thasIcon\n\t\t\t\t\tclassName=\"redux-template-library-block__button\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tModalManager.open(<LibraryModal />);\n\t\t\t\t\t\tremoveLibraryBlock()\n\t\t\t\t\t} }\n\t\t\t\t>{ __( 'Open Design Library', redux_templates.i18n ) }</Button>\n\t\t\t</Placeholder>\n\t\t</div>\n\t)\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch, {\n\t\tclientId,\n\t} ) => {\n\t\tconst { removeBlocks } = dispatch( 'core/block-editor' )\n\t\treturn {\n\t\t\tremoveLibraryBlock: serializedBlock => {\n\t\t\t\tremoveBlocks( clientId );\n\t\t\t},\n\t\t}\n\t} ),\n] )( edit )\n","/**\n * BLOCK: Design Library\n */\n/**\n * External dependencies\n */\nimport { ReduxTemplatesIcon } from '~redux-templates/icons'\n\n/**\n * Internal dependencies\n */\nimport edit from './edit'\nimport InsertLibraryButton from './insert-library-button'\nconst { registerBlockType } = wp.blocks;\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n'\nimport domReady from '@wordpress/dom-ready'\nimport { render } from '@wordpress/element'\nimport { ReduxTemplatesIconColor } from '../../icons';\n\n\n\nconst name = 'library';\nconst icon = InsertLibraryButton\n\nconst category = 'common';\nconst schema = {}\n\nconst title = __( 'Template Library', redux_templates.i18n );\nconst description = __( 'Choose a section, template, or template kit from the Redux Template Library.', redux_templates.i18n );\n\nconst keywords = [\n\t__( 'Template Library', redux_templates.i18n ),\n\t__( 'Design Library', redux_templates.i18n ),\n\t__( 'Element Layouts', redux_templates.i18n ),\n\t__( 'Redux', redux_templates.i18n ),\n];\n\nconst blockAttributes = {\n\tfile: {\n\t\ttype: 'object',\n\t},\n};\n\nconst settings = {\n\ttitle: title,\n\tdescription: description,\n\ticon: ReduxTemplatesIconColor,\n\tcategory: 'layout',\n\tkeywords: keywords,\n\tattributes: schema,\n\tsupports: {\n\t\tcustomClassName: false,\n\t\t// inserter: ! disabledBlocks.includes( name ), // Hide if disabled.\n\t},\n\n\texample: {\n\t\tattributes: {\n\t\t\t// backgroundColor: '#000000',\n\t\t\t// opacity: 0.8,\n\n\t\t\t// padding: 30,\n\t\t\t// textColor: '#FFFFFF',\n\t\t\t// radius: 10,\n\t\t\t// title: __( 'I am a slide title', 'wp-presenter-pro' ),\n\t\t},\n\t},\n\n\tedit: edit,\n\n\tsave() {\n\t\treturn null;\n\t},\n};\n\nconst renderButton = function(toolbar) {\n\n\tconst buttonDiv = document.createElement( 'div' )\n\ttoolbar.appendChild( buttonDiv )\n\n\trender( <InsertLibraryButton />, buttonDiv )\n}\n\ndomReady( () => {\n\tlet toolbar = document.querySelector( '.edit-post-header__toolbar' );\n\tif ( ! toolbar ) {\n\t\ttoolbar = document.querySelector( '.edit-post-header__toolbar' );\n\t}\n\tif ( ! toolbar ) {\n\t\tsetTimeout(function(){\n\t\t\tlet toolbar = document.querySelector( '.edit-post-header__toolbar' );\n\t\t\tif ( toolbar ) {\n\t\t\t\trenderButton( toolbar );\n\t\t\t}\n\t\t}, 500);\n\t\treturn;\n\t}\n\trenderButton(toolbar);\n} )\n\nexport { name, title, category, icon, settings };\n","/**\n * External dependencies\n */\nimport { ReduxTemplatesIcon, ReduxTemplatesIconColorize } from '~redux-templates/icons'\n\n/**\n * WordPress dependencies\n */\nimport {Button, Tooltip} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {ModalManager} from '../../modal-manager';\nimport LibraryModal from '../../modal-library';\nimport './style.scss'\n\nconst InsertLibraryButton = () => {\n\treturn (\n\t\t<Tooltip text={__( 'Redux Templates Library', redux_templates.i18n )} position={'bottom'}>\n\t\t\t<Button data-tut=\"tour__library_button\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tModalManager.open(<LibraryModal />);\n\t\t\t\t\t} }\n\t\t\t\t\tclassName=\"redux-templates-insert-library-button\"\n\t\t\t\t\tlabel={ __( 'Open Library', redux_templates.i18n ) }\n\t\t\t\t\ticon={ <ReduxTemplatesIcon /> }\n\t\t\t>{ __( 'Templates', redux_templates.i18n ) }</Button>\n\t\t</Tooltip>\n\t)\n}\n\nexport default InsertLibraryButton\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport CONFIG from '../config';\nimport './style.scss'\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\n// currentStep : indicates where the step is\n// step: 1~8 etc\nexport default function ChallengeStepItem(props) {\n const {currentStep, step, caption, finalStatus} = props;\n const [iconClassname, setIconClassname] = useState('fa circle');\n const [itemClassname, setItemClassname] = useState('challenge-item');\n useEffect(() => {\n if (currentStep < step) { // not completed step\n setItemClassname('challenge-item');\n setIconClassname('far fa-circle');\n }\n if (currentStep === step) { // current step\n setItemClassname('challenge-item challenge-item-current');\n setIconClassname('fas fa-circle');\n } \n if (currentStep > step || finalStatus) {\n setItemClassname('challenge-item challenge-item-completed');\n setIconClassname('fas fa-check-circle');\n }\n }, [step, currentStep, finalStatus]);\n \n return <li className={itemClassname}><i className={iconClassname} />{caption}</li>;\n}","const {useState, useEffect, memo} = wp.element;\nimport CONFIG from '../config';\nexport default memo(function ProgressBar({currentStep}){\n const [width, setWidth] = useState(0);\n useEffect(() => {\n setWidth( currentStep <= 0 ? 0 : (currentStep / CONFIG.totalStep * 100) );\n }, [currentStep])\n return (\n <div className='challenge-bar'>\n <div style={{width: width + '%'}}></div>\n </div>\n );\n});","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport ChallengeStepItem from './ChallengeStepItem';\nimport ProgressBar from './ProgressBar';\nimport CONFIG from '../config';\nimport './style.scss'\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\nfunction ChallengeListBlock(props) {\n const {started, onStarted} = props;\n const {challengeStep, finalStatus, setChallengeOpen, setChallengeStep} = props;\n const [buttonRowClassname, setButtonRowClassname] = useState('challenge-button-row');\n useEffect(() => {\n setButtonRowClassname(challengeStep !== CONFIG.beginningStep ? 'challenge-button-row started' : 'challenge-button-row');\n }, [challengeStep])\n \n const onCancelChallenge = () => {\n setChallengeOpen(false);\n setChallengeStep(-1);\n }\n\n return (\n <div className='challenge-list-block'>\n <p>{__('Complete the challenge and get up and running within 5 minutes', redux_templates.i18n)}</p>\n <ProgressBar currentStep={finalStatus === 'success' ? CONFIG.totalStep : challengeStep} />\n <ul className='challenge-list'>\n {\n CONFIG.list.map((item, i) => {\n return (<ChallengeStepItem key={i} step={i} currentStep={challengeStep} finalStatus={finalStatus} caption={item.caption} />);\n })\n }\n </ul>\n { finalStatus === '' &&\n <div className={buttonRowClassname}>\n {challengeStep === CONFIG.beginningStep && \n <button className='btn-challenge-start' onClick={onStarted}>{__('Start Challenge', redux_templates.i18n)}</button>}\n {challengeStep === CONFIG.beginningStep && <button className='btn-challenge-skip' onClick={onCancelChallenge}>{__('Skip Challenge', redux_templates.i18n)}</button>}\n {challengeStep !== CONFIG.beginningStep && <button className='btn-challenge-cancel' onClick={onCancelChallenge}>{__('Cancel Challenge', redux_templates.i18n)}</button>}\n </div>\n }\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeOpen, setChallengeStep} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeOpen,\n setChallengeStep\n };\n }),\n\n withSelect((select) => {\n const {getChallengeStep, getChallengeFinalStatus} = select('redux-templates/sectionslist');\n return {\n challengeStep: getChallengeStep(),\n finalStatus: getChallengeFinalStatus()\n };\n })\n])(ChallengeListBlock);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport './style.scss'\nimport config from '../config';\nimport helper from '../helper';\nimport classnames from 'classnames';\nconst {compose} = wp.compose;\nconst {withSelect, withDispatch} = wp.data;\nconst {useState, useEffect, useRef} = wp.element;\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nfunction ChallengeTimer(props) {\n const {started, expanded, setChallengeListExpanded, isChallengeOpen, finalStatus} = props;\n const [secondsLeft, setSecondsLeft] = useState(helper.getSecondsLeft());\n const [paused, setPaused] = useState(false);\n\n // only timer\n useEffect(() => {\n window.addEventListener('focus', resume);\n window.addEventListener('blur', pause);\n return () => {\n window.removeEventListener('focus', resume);\n window.removeEventListener('blur', pause);\n };\n });\n\n // setup timer\n useEffect(() => {\n setSecondsLeft(helper.getSecondsLeft());\n if (helper.loadStep() === -1) {\n setSecondsLeft(config.initialSecondsLeft);\n }\n }, [isChallengeOpen]);\n\n // run timer\n useInterval(() => {\n setSecondsLeft(secondsLeft < 0 ? 0 : secondsLeft - 1);\n helper.saveSecondsLeft(secondsLeft < 0 ? 0 : secondsLeft - 1);\n }, (started && (paused === false) && secondsLeft >= 0 && finalStatus === '') ? 1000 : null);\n\n\n // Pause the timer.\n const pause = () => {\n setPaused(true);\n }\n\n // Resume the timer.\n const resume = () => {\n setPaused(false);\n }\n\n return (\n <div className='block-timer'>\n <div>\n <h3>{__('Redux Challenge', redux_templates.i18n)}</h3>\n <p><span>{helper.getFormatted(secondsLeft)}</span>{__(' remaining', redux_templates.i18n)}</p>\n </div>\n <div className={classnames('caret-icon', {'closed': expanded})} onClick={() => setChallengeListExpanded(!expanded)}>\n <i className=\"fa fa-caret-down\"></i>\n </div>\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeListExpanded} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeListExpanded\n };\n }),\n withSelect((select) => {\n const {getChallengeOpen, getChallengeFinalStatus, getChallengeListExpanded} = select('redux-templates/sectionslist');\n return {\n isChallengeOpen: getChallengeOpen(),\n finalStatus: getChallengeFinalStatus(),\n expanded: getChallengeListExpanded()\n };\n })\n])(ChallengeTimer);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n'\nimport {animateScroll} from 'react-scroll';\nimport {dispatch, select} from '@wordpress/data';\nconst {setTourActiveButtonGroup, setImportingTemplate} = dispatch('redux-templates/sectionslist');\nconst {getPageData} = select('redux-templates/sectionslist');\nimport {ModalManager} from '~redux-templates/modal-manager';\nimport PreviewModal from '~redux-templates/modal-preview';\nexport default {\n initialSecondsLeft: 300,\n beginningStep: -1,\n totalStep: 7,\n list: [\n {\n selector: '[data-tut=\"tour__navigation\"]',\n caption: __('Template Type Tabs', redux_templates.i18n),\n offset: {\n x: 0,\n y: 50,\n arrowX: 0,\n arrowY: -20\n },\n box: {\n width: 250\n },\n direction: 'top',\n content: () => (\n <div>\n {__('These are the different types of templates we have.', redux_templates.i18n)}\n <ul>\n <li>\n <strong>{__('Sections', redux_templates.i18n)}</strong>\n {__(' are the building blocks of a page. Each \"row\" of content on a page we consider a section.', redux_templates.i18n)}\n </li>\n <li>\n <strong>{__('Pages', redux_templates.i18n)}</strong>\n {__(' are, you guessed it, a group of multiple sections making up a page.', redux_templates.i18n)}\n </li>\n <li>\n <strong>{__('Template Kits', redux_templates.i18n)}</strong>\n {__(' are groups of pages that all follow a style or theme.', redux_templates.i18n)}\n </li>\n <li>\n <strong>{__('Saved', redux_templates.i18n)}</strong>\n {__(' are reusable blocks that you may have previously saved for later.', redux_templates.i18n)}\n </li>\n </ul>\n </div>\n )\n },\n {\n selector: '[data-tut=\"tour__filtering\"]',\n caption: __('Sidebar', redux_templates.i18n),\n content: __('This area is where you can search and filter to find the right kind of templates you want.', redux_templates.i18n),\n direction: 'left',\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 250,\n height: 130\n },\n action: () => {\n animateScroll.scrollToTop({\n containerId: 'redux-templates-collection-modal-sidebar',\n duration: 0,\n });\n },\n },\n {\n selector: '[data-tut=\"tour__filtering\"]',\n caption: __('Plugins Filter', redux_templates.i18n),\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 290,\n height: 185\n },\n content: () => (\n <div>\n {__('Some templates require certain plugins. You can filter or select those templates. Hint, if the text is a ', redux_templates.i18n)}\n <a href=\"#\" className=\"missing-dependency\">{__('little orange', redux_templates.i18n)}</a>\n {__(', you don`t have that plugin installed yet, but don`t worry. Redux will help you with that too.', redux_templates.i18n)}\n </div>\n ),\n action: () => {\n animateScroll.scrollToBottom({\n containerId: 'redux-templates-collection-modal-sidebar',\n duration: 0,\n });\n },\n direction: 'left'\n },\n {\n selector: '[data-tut=\"tour__main_body\"]',\n caption: __('Templates List', redux_templates.i18n),\n content: __('This area is where the templates will show up that match the filters you\\'ve selected. You can click on many of them to preview or import them.', redux_templates.i18n),\n direction: 'left',\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 250,\n height: 150\n },\n action: () => {\n animateScroll.scrollToTop({\n containerId: 'redux-templates-collection-modal-sidebar',\n duration: 0,\n });\n setTourActiveButtonGroup(null);\n }\n },\n {\n selector: '#modalContainer .redux-templates-single-item-inner:first-child',\n caption: __('Template Hover', redux_templates.i18n),\n content: __('When you hover over a template you can see via icons what plugins are required for this template. You can then choose to Preview or Import a design.', redux_templates.i18n),\n action: () => {\n ModalManager.closeCustomizer();\n const pageData = getPageData();\n if (pageData && pageData.length > 0) {\n setTourActiveButtonGroup(pageData[0])\n }\n },\n direction: 'left',\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 240,\n height: 169\n },\n },\n {\n selector: '.wp-full-overlay-sidebar',\n caption: __('Preview Dialog', redux_templates.i18n),\n content: __('This is the preview dialog. It gives more details about the template and helps you to see what you could expect the templates to look like.', redux_templates.i18n),\n action: () => {\n setTourActiveButtonGroup(null);\n setImportingTemplate(null);\n const pageData = getPageData();\n if (pageData && pageData.length > 0) {\n ModalManager.openCustomizer(\n <PreviewModal startIndex={0} currentPageData={pageData}/>\n )\n }\n },\n position: 'center'\n },\n {\n selector: '.redux-templates-import-wizard-wrapper',\n caption: __('Import Wizard', redux_templates.i18n),\n content: __('When you click to import a template, sometimes you will be missing one of the required plugins. Redux will do its best to help you install what\\'s missing. If some of them are premium plugins, you will be provided details on where you can get them.', redux_templates.i18n),\n direction: 'right',\n offset: {\n x: 0,\n y: 85,\n arrowX: 40,\n arrowY: 25\n },\n box: {\n width: 250,\n height: 169\n },\n action: () => {\n // if (ModalManager.isModalOpened() === false) ModalManager.open(<LibraryModal autoTourStart={false} />)\n if (document.getElementsByClassName('tooltipster-box'))\n document.getElementsByClassName('tooltipster-box')[0].style.display = 'none';\n ModalManager.show();\n ModalManager.closeCustomizer();\n const pageData = getPageData();\n if (pageData && pageData.length > 0) setImportingTemplate(pageData[0]);\n setTimeout(() => {\n const openedPanel = document.getElementsByClassName('redux-templates-modal-wrapper');\n if (openedPanel && openedPanel.length > 0) {\n let openPanel = openedPanel[0].getBoundingClientRect();\n let box = {top: openPanel.top + 90, left: openPanel.left - 320};\n dispatch('redux-templates/sectionslist').setChallengeTooltipRect(box);\n }\n if (document.getElementsByClassName('tooltipster-box'))\n document.getElementsByClassName('tooltipster-box')[0].style.display = 'block';\n }, 0)\n }\n }\n ]\n};\n","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport CONFIG from '../config';\nimport helper from '../helper';\n\nconst { compose } = wp.compose;\nconst { withDispatch, withSelect } = wp.data;\n\n\nconst ratingStars = (\n <span className=\"rating-stars\">\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n </span>\n);\n\nfunction ChallengeCongrats(props) {\n const {setChallengeStep, setChallengeFinalStatus, setChallengeOpen} = props;\n const closeModal = () => {\n setChallengeStep(CONFIG.beginningStep);\n setChallengeFinalStatus('');\n setChallengeOpen(false);\n }\n return (\n <div className=\"redux-templates-modal-overlay\">\n <div className=\"redux-templates-modal-wrapper challenge-popup-wrapper\">\n <div className=\"challenge-popup-header challenge-popup-header-congrats\"\n style={{backgroundImage: `url(${redux_templates.plugin + 'assets/img/popup-congrats.png'})`}}>\n <a className=\"challenge-popup-close\" onClick={closeModal}>\n <i className='fas fa-times' />\n </a>\n </div>\n <div className=\"challenge-popup-content\">\n <h3>{__( 'Congrats, you did it!', redux_templates.i18n )}</h3>\n <p>\n {__( 'You completed the Redux Challenge in ', redux_templates.i18n )}<b>{helper.getLocalizedDuration()}</b>.\n {__('Share your success story with other Redux users and help us spread the word', redux_templates.i18n)}\n <b>{__('by giving Redux a 5-star rating (', redux_templates.i18n)} {ratingStars}{__(') on WordPress.org', redux_templates.i18n)}</b>.\n {__('Thanks for your support and we look forward to bringing more awesome features.', redux_templates.i18n)}\n </p>\n <a href=\"https://wordpress.org/support/plugin/redux-framework/reviews/?filter=5#new-post\" className=\"challenge-popup-btn challenge-popup-rate-btn\" target=\"_blank\" rel=\"noopener\">\n {__( 'Rate Redux on Wordpress.org', redux_templates.i18n ) }\n <span className=\"dashicons dashicons-external\"></span>\n </a>\n </div>\n </div>\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const { setChallengeStep, setChallengeFinalStatus, setChallengeOpen } = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep,\n setChallengeFinalStatus,\n setChallengeOpen\n };\n })\n])(ChallengeCongrats);\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n'\nimport CONFIG from '../config';\nimport {CheckboxControl} from '@wordpress/components';\n\nconst {compose} = wp.compose;\nconst {useState} = wp.element;\nconst {withDispatch, withSelect} = wp.data;\n\n\nconst ratingStars = (\n <span className=\"rating-stars\">\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n </span>\n);\n\nfunction ChallengeContact(props) {\n const { setChallengeStep, setChallengeFinalStatus, setChallengeOpen } = props;\n const [comment, setComment] = useState('');\n const [agreeToContactFurther, setAgreement] = useState(false);\n const closeModal = () => {\n setChallengeStep(CONFIG.beginningStep);\n setChallengeFinalStatus('');\n setChallengeOpen(false);\n }\n\n const handleChange = (e) => {\n setComment(e.target.value);\n }\n\n const contactRedux = () => {\n //sending data\n console.log('contact information', comment, agreeToContactFurther);\n closeModal();\n }\n\n return (\n <div className=\"redux-templates-modal-overlay\">\n <div className=\"redux-templates-modal-wrapper challenge-popup-wrapper\">\n <div className=\"challenge-popup-header challenge-popup-header-contact\"\n style={{ backgroundImage: `url(${redux_templates.plugin + 'assets/img/popup-contact.png'})` }}>\n <a className=\"challenge-popup-close\" onClick={closeModal}>\n <i className='fas fa-times' />\n </a>\n </div>\n <div className=\"challenge-popup-content challenge-contact\">\n <h3>{__('Help us improve Redux', redux_templates.i18n)}</h3>\n <p>\n {__('We\\'re sorry that it took longer than 5 minutes to try our challenge. We aim to ensure our Block Template library is as beginner friendly as possible. Please take a moment to let us know how we can improve our challenge.', redux_templates.i18n)}\n </p>\n <textarea value={comment} onChange={handleChange}></textarea>\n <CheckboxControl\n label={__('Yes, I give Redux permission to contact me for any follow up questions.', redux_templates.i18n)}\n checked={agreeToContactFurther}\n onChange={() => setAgreement(!agreeToContactFurther)}\n />\n <button className=\"challenge-popup-btn challenge-popup-rate-btn\" onClick={contactRedux}>\n {__('Submit Feedback', redux_templates.i18n)}\n </button>\n </div>\n </div>\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const { setChallengeStep, setChallengeFinalStatus, setChallengeOpen } = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep,\n setChallengeFinalStatus,\n setChallengeOpen\n };\n })\n])(ChallengeContact);\n","/**\n * WordPress dependencies\n */\nimport ChallengeCongrats from './congrats';\nimport ChallengeContact from './contact';\nimport './style.scss'\n\nexport default function ChallengeFinalTemplate({finalStatus}) {\n\treturn <ChallengeCongrats />\n\t// TODO - When feedback is working, uncomment this.\n // if (finalStatus === 'success') return <ChallengeCongrats />\n // return <ChallengeContact />;\n}\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n'\nimport CONFIG from './config';\nexport default {\n\n /**\n * Get number of seconds left to complete the Challenge.\n */\n getSecondsLeft: function() {\n var secondsLeft = localStorage.getItem( 'reduxChallengeSecondsLeft' );\n\n secondsLeft = isNaN(secondsLeft) || secondsLeft == null ? CONFIG.initialSecondsLeft : parseInt( secondsLeft, 10 );\n\n return secondsLeft;\n },\n\n /**\n * Save number of seconds left to complete the Challenge.\n */\n saveSecondsLeft: function( secondsLeft ) {\n\n localStorage.setItem( 'reduxChallengeSecondsLeft', secondsLeft );\n },\n\n /**\n * Get 'minutes' part of timer display.\n */\n getMinutesFormatted: function( secondsLeft ) {\n return Math.floor( secondsLeft / 60 );\n },\n\n /**\n * Get 'seconds' part of timer display.\n */\n getSecondsFormatted: function( secondsLeft ) {\n return secondsLeft % 60;\n },\n\n /**\n * Get formatted timer for display.\n */\n getFormatted: function( secondsLeft ) {\n\n if (secondsLeft < 0) return '0:00';\n\n var timerMinutes = this.getMinutesFormatted( secondsLeft );\n var timerSeconds = this.getSecondsFormatted( secondsLeft );\n\n return timerMinutes + ( 9 < timerSeconds ? ':' : ':0' ) + timerSeconds;\n },\n\n /**\n * Get Localized time string for display\n */\n getLocalizedDuration: function() {\n let secondsLeft = this.getSecondsLeft();\n secondsLeft = CONFIG.initialSecondsLeft - secondsLeft;\n\n var timerMinutes = this.getMinutesFormatted( secondsLeft );\n var timerSeconds = this.getSecondsFormatted( secondsLeft );\n\n const minutesString = timerMinutes ? timerMinutes + ' ' + __( 'minutes', redux_templates.i18n ) + ' ' : '';\n const secondsString = timerSeconds ? timerSeconds + ' ' + __( 'seconds', redux_templates.i18n ) : '';\n return minutesString + secondsString;\n },\n\n /**\n * Get last saved step.\n */\n loadStep: function() {\n\n var step = localStorage.getItem( 'reduxChallengeStep' );\n step = isNaN(step) ? -1 : parseInt( step, 10 );\n\n return step;\n },\n\n /**\n * Save Challenge step.\n */\n saveStep: function( step ) {\n localStorage.setItem( 'reduxChallengeStep', step );\n },\n};\n","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport './style.scss'\nimport helper from './helper';\nimport CONFIG from './config';\nimport ChallengeListBlock from './challenge-list-block';\nimport ChallengeTimer from './challenge-timer';\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\nfunction ReduxChallenge(props) {\n const {autoChallengeStart} = props;\n const {isOpen, challengeStep, setChallengeStep, listExpanded} = props;\n const [challengeClassname, setChallengeClassname] = useState('redux-templates-challenge');\n const [started, setStarted] = useState(false);\n\n useEffect(() => {\n if (challengeStep !== CONFIG.beginningStep && isOpen) {\n setChallengeClassname('redux-templates-challenge started')\n setStarted(true);\n }\n }, [challengeStep, isOpen]);\n\n const onStarted = () => {\n setChallengeStep(0);\n setStarted(true);\n }\n\n return (\n <div className={challengeClassname} style={{display: isOpen ? 'block' : 'none'}}>\n { listExpanded && <ChallengeListBlock onStarted={onStarted} /> }\n <ChallengeTimer started={started} />\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeStep} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep\n };\n }),\n\n withSelect((select) => {\n const {getChallengeStep, getChallengeOpen, getChallengeListExpanded} = select('redux-templates/sectionslist');\n return {\n challengeStep: getChallengeStep(),\n isOpen: getChallengeOpen(),\n listExpanded: getChallengeListExpanded()\n };\n })\n])(ReduxChallenge);\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {compose} from '@wordpress/compose';\nimport {withDispatch, withSelect} from '@wordpress/data';\nimport CONFIG from '../config';\nconst {findDOMNode, useRef, useEffect} = wp.element;\nfunction ChallengeDot(props) {\n const {step, challengeStep, isOpen, setChallengeTooltipRect} = props;\n const selectedElement = useRef(null);\n useEffect(() => {\n window.addEventListener('resize', onResize);\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [])\n\n useEffect(() => {\n if (isOpen === false) return;\n const stepInformation = CONFIG.list[challengeStep];\n if (stepInformation && stepInformation.action && typeof stepInformation.action === 'function') {\n stepInformation.action();\n onResize();\n setTimeout(onResize, 0);\n } else\n onResize();\n }, [challengeStep, isOpen]);\n\n const isVisible = () => {\n return ((challengeStep >= 0 && challengeStep < CONFIG.totalStep) && isOpen);\n }\n\n const onResize = () => {\n const box = getElementBounding();\n if (box) setChallengeTooltipRect(box);\n };\n\n const getElementBounding = () => {\n if (selectedElement && selectedElement.current) {\n const rect = findDOMNode(selectedElement.current).getBoundingClientRect();\n return {left: rect.left, top: rect.top, width: rect.width, height: rect.height};\n }\n return null;\n }\n if (isVisible() && challengeStep === step)\n return <i className=\"challenge-dot tooltipstered\" ref={selectedElement}>\n &nbsp;\n </i>;\n return null;\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeTooltipRect} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeTooltipRect\n };\n }),\n withSelect((select, props) => {\n const { getChallengeOpen, getChallengeStep } = select('redux-templates/sectionslist');\n return {\n isOpen: getChallengeOpen(),\n challengeStep: getChallengeStep()\n };\n })\n])(ChallengeDot);\n","import {__} from '@wordpress/i18n';\n\nconst { compose } = wp.compose;\nconst { withDispatch, withSelect } = wp.data;\nconst { useState, useEffect } = wp.element;\nimport {ModalManager} from '~redux-templates/modal-manager';\nimport CONFIG from '../config';\nimport helper from '../helper';\nconst ARROW_BOX = 30;\nconst DEFAULT_BOX_WIDTH = 250;\nconst DEFAULT_BOX_HEIGHT = 300;\nconst DEFAULT_OFFSET_X = 0;\nconst DEFAULT_OFFSET_Y = 20;\nconst DEFAULT_ARROW_OFFSET_X = 20;\nconst DEFAULT_ARROW_OFFSET_Y = 20;\nfunction TooltipBox(props) {\n const { challengeStep, tooltipRect, isOpen, setChallengeStep, setChallengeFinalStatus, setChallengePassed, setChallengeListExpanded, setImportingTemplate } = props;\n const [style, setStyle] = useState({});\n const [arrowStyle, setArrowStyle] = useState({});\n const [content, setContent] = useState('');\n const [wrapperClassname, setWrapperClassname] = useState('');\n\n const isVisible = () => {\n return ((challengeStep >= 0 || challengeStep > CONFIG.totalStep) && isOpen);\n }\n\n const calculateWithStepInformation = () => {\n const stepInformation = CONFIG.list[challengeStep];\n const boxWidth = (stepInformation.box && stepInformation.box.width) ? stepInformation.box.width : DEFAULT_BOX_WIDTH;\n const boxHeight = (stepInformation.box && stepInformation.box.height) ? stepInformation.box.height : DEFAULT_BOX_HEIGHT;\n const offsetX = stepInformation.offset ? stepInformation.offset.x :DEFAULT_OFFSET_X;\n const offsetY = stepInformation.offset ? stepInformation.offset.y :DEFAULT_OFFSET_Y;\n switch(stepInformation.direction) {\n case 'right':\n return [tooltipRect.left + offsetX, tooltipRect.top + offsetY - boxHeight / 2];\n case 'left':\n return [tooltipRect.left + offsetX, tooltipRect.top + offsetY - boxHeight / 2];\n case 'top':\n return [tooltipRect.left + offsetX - boxWidth / 2, tooltipRect.top + offsetY ];\n case 'bottom':\n return [tooltipRect.left + offsetX - boxWidth / 2, tooltipRect.top - boxHeight + offsetY];\n default:\n return [tooltipRect.left + offsetX, tooltipRect.top + offsetY];\n }\n }\n\n const calculateArrowOffset = () => {\n const stepInformation = CONFIG.list[challengeStep];\n const boxWidth = (stepInformation.box && stepInformation.box.width) ? stepInformation.box.width : DEFAULT_BOX_WIDTH;\n const boxHeight = (stepInformation.box && stepInformation.box.height) ? stepInformation.box.height : DEFAULT_BOX_HEIGHT;\n const arrowOffsetX = (stepInformation.offset && isNaN(stepInformation.offset.arrowX) === false) ? stepInformation.offset.arrowX : DEFAULT_ARROW_OFFSET_X;\n const arrowOffsetY = (stepInformation.offset && isNaN(stepInformation.offset.arrowY) === false) ? stepInformation.offset.arrowY : DEFAULT_ARROW_OFFSET_Y;\n switch(stepInformation.direction) {\n case 'top':\n return [boxWidth / 2 + arrowOffsetX, arrowOffsetY];\n case 'bottom':\n return [boxWidth / 2 + arrowOffsetX, arrowOffsetY];\n case 'left':\n return [arrowOffsetX, arrowOffsetY + boxHeight / 2 - ARROW_BOX / 2];\n case 'right':\n return [boxWidth + arrowOffsetX, arrowOffsetY + boxHeight / 2 - ARROW_BOX / 2];\n default:\n return [arrowOffsetX, arrowOffsetY];\n }\n }\n // adjust position and content upon steps change\n useEffect(() => {\n if (isVisible() && tooltipRect) {\n const stepInformation = CONFIG.list[challengeStep];\n if (stepInformation) {\n const [boxLeft, boxTop] = calculateWithStepInformation();\n const [arrowOffsetX, arrowOffsetY] = calculateArrowOffset();\n setStyle({\n ...style,\n display: 'block',\n width: stepInformation.box ? stepInformation.box.width : DEFAULT_BOX_WIDTH,\n left: boxLeft,\n top: boxTop//tooltipRect.top + offsetY + PADDING_Y + ARROW_HEIGHT\n });\n setContent(stepInformation.content);\n setArrowStyle({\n ...arrowStyle,\n display: 'block',\n left: boxLeft + arrowOffsetX, // calculateLeftWithStepInformation(),\n top: boxTop + arrowOffsetY // tooltipRect.top + offsetY + PADDING_Y\n });\n }\n } else {\n setStyle({ ...style, display: 'none' });\n setArrowStyle({...arrowStyle, display: 'none'});\n }\n }, [JSON.stringify(tooltipRect), challengeStep, isOpen]);\n\n // update wrapper class name based on step change\n useEffect(() => {\n const stepInformation = CONFIG.list[challengeStep];\n if (stepInformation) {\n switch(stepInformation.direction) {\n case 'top':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-top');\n break;\n case 'bottom':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-bottom');\n break;\n case 'left':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-left');\n break;\n case 'right':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-right');\n break;\n default:\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-left');\n }\n\n }\n }, [challengeStep])\n\n const toNextStep = () => {\n if (challengeStep === CONFIG.totalStep - 1) {\n // finalize challenge\n ModalManager.show();\n setChallengeFinalStatus((helper.getSecondsLeft() > 0) ? 'success' : 'contact');\n setChallengeStep(CONFIG.beginningStep);\n setChallengePassed(true);\n setChallengeListExpanded(true);\n setImportingTemplate(null);\n } else\n setChallengeStep(challengeStep + 1);\n }\n\n\n return (\n <div className={wrapperClassname}>\n <div className=\"tooltipster-box\" style={style}>\n {content}\n <div className=\"btn-row\">\n <button className=\"challenge-done-btn\" onClick={toNextStep}>{__('Next', redux_templates.i18n)}</button>\n </div>\n </div>\n <div className=\"tooltipster-arrow\" style={arrowStyle}>\n <div className=\"tooltipster-arrow-uncropped\">\n <div className=\"tooltipster-arrow-border\"></div>\n <div className=\"tooltipster-arrow-background\"></div>\n </div>\n </div>\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const { setChallengeStep, setChallengeFinalStatus, setChallengePassed, setChallengeListExpanded, setImportingTemplate } = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep,\n setChallengeFinalStatus,\n setChallengePassed,\n setChallengeListExpanded,\n setImportingTemplate\n };\n }),\n\n withSelect((select, props) => {\n const { getChallengeTooltipRect, getChallengeOpen, getChallengeStep, getChallengeFinalStatus } = select('redux-templates/sectionslist');\n return {\n tooltipRect: getChallengeTooltipRect(),\n isOpen: getChallengeOpen(),\n challengeStep: getChallengeStep(),\n finalStatus: getChallengeFinalStatus()\n };\n })\n])(TooltipBox);\n","const {apiFetch} = wp;\nconst {useState} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {parse} = wp.blocks;\n\nimport {BlockPreview} from '@wordpress/block-editor';\nimport {installedBlocksTypes} from '~redux-templates/stores/actionHelper';\nimport './style.scss'\n\nfunction BackgroundImage(props) {\n const {data, appendErrorMessage, activeItemType} = props;\n const [dataLoaded, setDataLoaded] = useState(false);\n const [blocks, setBlocks] = useState(null);\n\n if (data && dataLoaded === false) {\n const type = activeItemType === 'section' ? 'sections' : 'pages';\n let the_url = 'redux/v1/templates/template?type=' + type + '&id=' + data.id + '&uid=' + window.userSettings.uid;\n if ('source' in data) {\n the_url += '&source=' + data.source;\n }\n\n const options = {\n method: 'GET',\n path: the_url,\n headers: {'Content-Type': 'application/json', 'Registered-Blocks': installedBlocksTypes()}\n };\n\n apiFetch(options).then(response => {\n if (response.success) {\n setBlocks(response.data);\n } else {\n appendErrorMessage(response.data.error);\n }\n setDataLoaded(true);\n }).catch(error => {\n appendErrorMessage(error.code + ' : ' + error.message);\n setDataLoaded(true);\n });\n }\n\n if (dataLoaded === true) {\n let parsed = parse(blocks.template);\n return (\n <div>\n <BlockPreview blocks={parsed} />\n </div>\n );\n }\n return null;\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n appendErrorMessage\n } = dispatch('redux-templates/sectionslist');\n\n return {\n appendErrorMessage\n };\n }),\n withSelect((select) => {\n const {getActiveItemType} = select('redux-templates/sectionslist');\n return {\n activeItemType: getActiveItemType()\n };\n })\n])(BackgroundImage);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const {compose} = wp.compose;\nconst {withSelect} = wp.data;\nimport {useEffect, useState} from '@wordpress/element';\nimport PreviewImportButton from '../preview-import-button';\nimport DependentPlugins from '../dependent-plugins';\nimport './style.scss'\n\nfunction ButtonGroup (props) {\n const {importingTemplate, showDependencyBlock, index, data, pageData} = props;\n const [rootClassName, setRootClassName] = useState('redux-templates-import-button-group');\n\n // When some action is in progress, disable the button groups\n useEffect(() => {\n if (importingTemplate === null && rootClassName !== 'redux-templates-import-button-group')\n setRootClassName('redux-templates-import-button-group')\n if (importingTemplate !== null && rootClassName === 'redux-templates-import-button-group')\n setRootClassName('redux-templates-import-button-group disabled');\n }, [importingTemplate])\n return (\n <div className={rootClassName}>\n <PreviewImportButton index={index} data={data} pageData={pageData} />\n <DependentPlugins showDependencyBlock={showDependencyBlock} data={data} />\n </div>\n )\n}\n\n\n\nexport default compose([\n withSelect((select) => {\n const {getImportingTemplate} = select('redux-templates/sectionslist');\n return {importingTemplate: getImportingTemplate()};\n })\n])(ButtonGroup);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {Tooltip} from '@wordpress/components';\nimport * as Icons from '~redux-templates/icons'\nimport './style.scss'\nconst {__} = wp.i18n;\n\nexport default function DependentPlugins (props) {\n const {data, showDependencyBlock} = props;\n const {id} = data;\n\n const isMissingPlugin = (plugin) => {\n return ((data.proDependenciesMissing && data.proDependenciesMissing.indexOf(plugin) >=0)\n || (data.installDependenciesMissing && data.installDependenciesMissing.indexOf(plugin) >=0))\n }\n\n if (showDependencyBlock) {\n\t let index = data.dependencies.indexOf('core');\n\t if ( index > -1 ) {\n\t\t data.dependencies.splice(index, 1);\n\t\t data.dependencies.push( 'core' );\n\t }\n\t return (\n\t\t <div className=\"redux-templates-button-display-dependencies\">\n\t\t\t { data.dependencies &&\n\t\t\t data.dependencies.map(plugin => {\n\t\t\t \tlet pluginInstance = null;\n\t\t\t\t const plugin_name = plugin.replace('-pro', '').replace('-premium', '').replace(/\\W/g, '').toLowerCase();\n\t\t\t \tif ( 'core' == plugin ) {\n\t\t\t\t\t pluginInstance = {\n\t\t\t\t\t \tname: 'WordPress Native'\n\t\t\t\t\t }\n\t\t\t\t } else {\n\t\t\t\t\t pluginInstance = redux_templates.supported_plugins[plugin];\n\t\t\t\t }\n\t\t\t\t\tif ( !pluginInstance ) {\n\t\t\t\t\t\tpluginInstance = redux_templates.supported_plugins[plugin.replace('-pro', '').replace('-premium', '')];\n\t\t\t\t\t}\n\n\t\t\t\t // We don't want two of the same icons showing up.\n\t\t\t\t if ( ! plugin.includes('-pro') && ! plugin.includes('-premium') ) {\n\t\t\t\t\t if ( data.dependencies.includes(plugin + '-pro') || data.dependencies.includes( plugin + '-premium' ) ) {\n\t\t\t\t\t\t return;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t if (!pluginInstance) {\n\t\t\t\t\t console.log( 'Missing plugin details for '+ plugin+' - ' + plugin.replace('-pro', '').replace('-premium', '') );\n\t\t\t\t\t console.log( redux_templates.supported_plugins );\n\t\t\t\t\t return;\n\t\t\t\t }\n\t\t\t\t if ( 'redux' === plugin_name ) {\n\t\t\t\t\t return;\n\t\t\t\t }\n\t\t\t\t const IconComponent = Icons[plugin_name];\n\t\t\t\t if (IconComponent && pluginInstance) {\n\t\t\t\t\t return (\n\t\t\t\t\t\t <Tooltip text={(isMissingPlugin(plugin) && 'core' !== plugin ? pluginInstance.name+ ' ( '+__('Not Installed', redux_templates.i18n)+' )' : pluginInstance.name)} position=\"bottom center\" key={id + plugin}>\n <span className={isMissingPlugin(plugin) && 'core' !== plugin ? 'missing-dependency' : ''}>\n <IconComponent/>\n </span>\n\t\t\t\t\t\t </Tooltip>\n\t\t\t\t\t );\n\t\t\t\t } else if ( 'shareablockcom' !== plugin_name && 'gutenberghubcom' !== plugin_name ) {\n\t\t\t\t\t console.log('Need icon for ' + plugin_name);\n\t\t\t\t }\n\n\t\t\t })\n\t\t\t }\n\t\t\t { data.dependencies['core'] &&\n\t\t\t <Tooltip text={__('WordPress Core', redux_templates.i18n)} position=\"bottom center\" key={id + 'core'}>\n\t\t\t\t <span>\n\t\t\t\t <IconComponent/>\n\t\t\t\t </span>\n\t\t\t </Tooltip>\n\n\t\t\t }\n\t\t </div>\n\t );\n }\n\n return null;\n}\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n';\nimport {compose} from '@wordpress/compose';\nimport {withDispatch} from '@wordpress/data';\nimport {Notice} from '@wordpress/components';\n\nimport './style.scss';\n\nexport function ErrorNotice(props) {\n const {discardAllErrorMessages, errorMessages} = props;\n return (\n <div className='redux-templates-error-notice'>\n <Notice status=\"error\" onRemove={discardAllErrorMessages}>\n <p>\n {\n errorMessages.join(', ')\n }\n </p>\n </Notice>\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n discardAllErrorMessages\n } = dispatch('redux-templates/sectionslist');\n\n return {\n discardAllErrorMessages\n };\n })\n])(ErrorNotice);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","export default {\n position: {\n bottom: 0,\n right: 0,\n },\n event: 'click',\n\n mainButtonStyles: {\n backgroundColor: '#24B0A6',\n fill: '#ffffff',\n transform: 'none',\n transition: 'none',\n transformOrigin: 'none',\n },\n alwaysShowTitle: false,\n actionButtonStyles: {\n backgroundColor: '#19837C',\n }\n}\n","import {Fab, Action} from 'react-tiny-fab';\nimport config from './config';\nimport './styles.scss';\nimport {__} from '@wordpress/i18n';\n\nimport * as Icons from '~redux-templates/icons'\nimport { ModalManager } from '~redux-templates/modal-manager';\nimport FeedbackDialog from '~redux-templates/modal-feedback';\n\nconst schema = {\n type: 'object',\n properties: {\n comment: {\n type: 'string'\n },\n agreeToContactFurther: {\n type: 'boolean',\n title: __('Yes, I give Redux permission to contact me for any follow up questions.', redux_templates.i18n)\n }\n }\n}\nconst uiSchema = {\n 'comment': {\n 'ui:widget': 'textarea',\n 'ui:options': {\n label: false\n }\n }\n};\n\nexport default function FabWrapper() {\n const {mainButtonStyles, actionButtonStyles, position, event, alwaysShowTitle} = config;\n\n return (\n <Fab\n mainButtonStyles={mainButtonStyles}\n position={position}\n icon={Icons.ReduxTemplatesIcon()}\n event={event}\n // onClick={testing}\n\n text={__('See Quick Links', redux_templates.i18n)}\n >\n\n {/*<Action*/}\n {/* style={actionButtonStyles}*/}\n {/* text={__('Suggest a Feature', redux_templates.i18n)}*/}\n {/* onClick={e => {*/}\n {/* window.open(redux_templates.u, \"_blank\")*/}\n {/* }}*/}\n {/*>*/}\n {/* <i className=\"fa fa-lightbulb-o\"/>*/}\n {/*</Action>*/}\n {/*<Action*/}\n {/* style={actionButtonStyles}*/}\n {/* text={__('Contact Us', redux_templates.i18n)}*/}\n {/* onClick={e => {*/}\n {/* ModalManager.openFeedback(<FeedbackDialog */}\n {/* title={__('Help us improve Redux', redux_templates.i18n)} */}\n {/* description={__('Thank you for reaching out. We will do our best to contact you ba.', redux_templates.i18n)}*/}\n {/* schema={schema}*/}\n {/* uiSchema={uiSchema}*/}\n {/* headerImage={<img className=\"header-background\" src={`${redux_templates.plugin}assets/img/popup-contact.png` } />}*/}\n {/* buttonLabel={__('Submit Feedback', redux_templates.i18n)}*/}\n {/* />)*/}\n {/* }}*/}\n {/*>*/}\n {/* <i className=\"fa fa-comments\"/>*/}\n {/*</Action>*/}\n\t <Action\n\t\t style={actionButtonStyles}\n\t\t text={__('Get Support', redux_templates.i18n)}\n\t\t onClick={e => {\n\t\t\t window.open('https://wordpress.org/support/plugin/redux-framework/#new-topic-0', '_blank')\n\t\t }}\n\t >\n\t\t <i className=\"far fa-question-circle \"/>\n\t </Action>\n <Action\n style={actionButtonStyles}\n text={__('Join our Community', redux_templates.i18n)}\n onClick={e => {\n window.open('https://www.facebook.com/groups/reduxframework', '_blank')\n }}\n >\n <i className=\"fa fa-comments\"/>\n </Action>\n\t {\n\t\t redux_templates.mokama === '1' &&\n\t\t <Action\n\t\t\t style={actionButtonStyles}\n\t\t\t text={__('Visit our Website', redux_templates.i18n)}\n\t\t\t onClick={e => {\n\t\t\t\t window.open('https://redux.io?utm_source=plugin&utm_medium=modal&utm_campaign=tinyfab', '_blank')\n\t\t\t }}\n\t\t >\n\t\t\t <i className=\"fas fa-external-link-alt\"/>\n\t\t </Action>\n\t }\n\t {/*{*/}\n\t\t {/* redux_templates.left !== 999 &&*/}\n\t\t {/* <Action*/}\n\t\t\t{/* style={actionButtonStyles}*/}\n\t\t\t{/* className=\"tour-icon\"*/}\n\t\t\t{/* text={__( 'Take the Redux Challenge', redux_templates.i18n )}*/}\n\t\t\t{/* onClick={e => {*/}\n\t\t\t{/*\t setTourOpen();*/}\n\t\t\t{/* }}*/}\n\t\t {/* >*/}\n\t\t\t{/* <i className=\"fas fa-map-signs tour-icon\"/>*/}\n\t\t {/* </Action>*/}\n\t {/*}*/}\n\n\t {\n\t\t redux_templates.mokama !== '1' &&\n\t\t <Action\n\t\t\t style={{backgroundColor:'#00a7e5'}}\n\t\t\t text={__('Upgrade to Redux Pro', redux_templates.i18n)}\n\t\t\t onClick={e => {\n\t\t\t\t window.open(redux_templates.u, '_blank')\n\t\t\t }}\n\t\t >\n\t\t\t <i className=\"fa fa-star\"/>\n\t\t </Action>\n\t }\n </Fab>\n );\n}\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./styles.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./styles.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./styles.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import ButtonGroup from '../button-group';\n\nconst {__} = wp.i18n\nimport {Tooltip} from '@wordpress/components';\nimport {requiresInstall, requiresPro} from '~redux-templates/stores/dependencyHelper';\nimport SafeImageLoad from '~redux-templates/components/safe-image-load';\nimport './style.scss'\n\nconst MultipleItem = (props) => {\n\n const {data, onSelectCollection} = props;\n const {pages, homepageData, ID, name} = data;\n const {image} = homepageData || {};\n\n return (\n <div className=\"redux-templates-multiple-template-box\">\n <div className=\"multiple-template-view\" onClick={ () => onSelectCollection( ID ) } >\n <div className=\"redux-templates-box-shadow\">\n <div className=\"redux-templates-default-template-image\">\n <SafeImageLoad url={image} alt={__('Default Template', redux_templates.i18n)} />\n {requiresPro(data) && <span className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</span>}\n {!requiresPro(data) && requiresInstall(data) && <div className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></div>}\n </div>\n <div className=\"redux-templates-button-overlay\">\n {requiresPro(data) && <Tooltip text={__('Premium Requirements', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><span className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</span></Tooltip>}\n {!requiresPro(data) && requiresInstall(data) && <Tooltip text={__('Not Installed', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><div className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></div></Tooltip>}\n <div className=\"redux-templates-import-button-group\">\n <div className=\"action-buttons\"><a className=\"redux-templates-button download-button\">{__('View Templates', redux_templates.i18n)}</a></div>\n </div>\n </div>\n </div>\n <div className=\"redux-templates-tmpl-info\">\n <h5 className=\"redux-templates-tmpl-title\" dangerouslySetInnerHTML={{__html:name}}/>\n <span className=\"redux-templates-temp-count\">{ pages ? pages.length : 0 } {__('Templates', redux_templates.i18n)}</span>\n </div>\n </div>\n </div>\n );\n}\n\nexport default MultipleItem\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const { useState, useEffect, Fragment} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {__} = wp.i18n\n\nimport './style.scss';\n\nimport {pageSizeMap} from '../../stores/helper';\n\nfunction Pagination(props) {\n const {currentPage, pageData, columns} = props;\n const {setCurrentPage} = props;\n const [totalPages, setTotalPages] = useState(1);\n const [firstButtonClass, setFirstButtonClass] = useState('tablenav-pages-navspan button');\n const [prevButtonClass, setPrevButtonClass] = useState('tablenav-pages-navspan button');\n const [nextButtonClass, setNextButtonClass] = useState('tablenav-pages-navspan button');\n const [lastButtonClass, setLastButtonClass] = useState('tablenav-pages-navspan button');\n\n useEffect(() => {\n const enabledClassname = 'tablenav-pages-navspan button ';\n const disabledClassname = 'tablenav-pages-navspan button disabled';\n setFirstButtonClass((currentPage === 0) ? disabledClassname : enabledClassname);\n setPrevButtonClass((currentPage === 0) ? disabledClassname : enabledClassname);\n setNextButtonClass((currentPage === totalPages - 1) ? disabledClassname : enabledClassname);\n setLastButtonClass((currentPage === totalPages - 1) ? disabledClassname : enabledClassname);\n }, [currentPage, totalPages]);\n\n useEffect(() => {\n let colStr = (columns === '') ? 'medium' : columns;\n setTotalPages(Math.ceil(pageData.length / pageSizeMap[colStr]));\n }, [pageData]);\n\n const gotoPage = (pageNum, className) => {\n if (className.indexOf('disabled') > 0) return;\n document.getElementById('modalContent').scrollTop = 0;\n setCurrentPage(pageNum);\n }\n\n\n return (\n <Fragment>\n\n {\n totalPages > 0 &&\n <div className=\"tablenav-pages\">\n <span className=\"displaying-num\">{pageData.length} items</span>\n <span className=\"pagination-links\">\n <span className={firstButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(0, firstButtonClass)}>«</span>\n <span className={prevButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(currentPage - 1, prevButtonClass)}>‹</span>\n <span className=\"screen-reader-text\">{__('Current Page', redux_templates.i18n)}</span>\n <span id=\"table-paging\" className=\"paging-input\">\n <span className=\"tablenav-paging-text\">{currentPage + 1} of <span\n className=\"total-pages\">{totalPages}</span></span>\n </span>\n <span className={nextButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(currentPage + 1, nextButtonClass)}>›</span>\n <span className={lastButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(totalPages - 1, lastButtonClass)}>»</span>\n </span>\n </div>\n }\n </Fragment>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setCurrentPage\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setCurrentPage\n };\n }),\n\n withSelect((select) => {\n const {getCurrentPage, getPageData, getColumns} = select('redux-templates/sectionslist');\n return {\n currentPage: getCurrentPage(),\n pageData: getPageData(),\n columns: getColumns()\n };\n })\n])(Pagination);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n';\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nimport {openSitePreviewModal} from '~redux-templates/stores/actionHelper';\nimport ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';\nimport './style.scss'\n\nfunction PreviewImportButton(props) {\n const {data, index, pageData} = props;\n const {setImportingTemplate, tourActiveButtonGroup} = props;\n let spinner = null;\n const triggerImportTemplate = (data) => {\n if (spinner === null) {\n spinner = data.ID;\n setImportingTemplate(data);\n }\n }\n\n return (\n <div className=\"action-buttons\">\n {\n pageData[index] && pageData[index]['source'] !== 'wp_block_patterns' &&\n <a className=\"redux-templates-button preview-button\" target=\"_blank\"\n onClick={() => openSitePreviewModal(index, pageData)}>\n <i className=\"fa fa-share\"/> {__('Preview', redux_templates.i18n)}\n </a>\n }\n\n <a className=\"redux-templates-button download-button\"\n onClick={() => triggerImportTemplate(data)}>\n <i className=\"fas fa-download\"/>{__('Import', redux_templates.i18n)}\n </a>\n {tourActiveButtonGroup && tourActiveButtonGroup.ID === pageData[index].ID && <ChallengeDot step={4} /> }\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setImportingTemplate\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setImportingTemplate\n };\n }),\n withSelect((select, props) => {\n const {getTourActiveButtonGroup} = select('redux-templates/sectionslist');\n return {\n tourActiveButtonGroup: getTourActiveButtonGroup()\n };\n })\n])(PreviewImportButton);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const { Spinner } = wp.components;\nimport ImageLoader from 'react-load-image';\n\nconst placeholderImage = redux_templates.plugin + 'assets/img/reduxtemplates-medium.jpg';\nconst spinnerStyle = {height: 120, display: 'flex', alignItems: 'top', paddingTop: '40px', justifyContent: 'center', background: '#fff'};\nexport default function SafeImageLoad({url, alt, className}) {\n return (\n <ImageLoader src={url}>\n <img alt={alt} className={className} />\n <img src={placeholderImage} alt={alt} className={className} />\n <div style={spinnerStyle}>\n <Spinner />\n </div>\n </ImageLoader>\n );\n\n}\n","import {Tooltip} from '@wordpress/components';\n\nconst {__} = wp.i18n\nconst {withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\nimport ButtonGroup from '../button-group';\nimport SafeImageLoad from '~redux-templates/components/safe-image-load';\nimport BackgroundImage from '../background-image';\nimport {requiresInstall, requiresPro} from '~redux-templates/stores/dependencyHelper';\n\nimport './style.scss'\n\n\nfunction SingleItem (props) {\n // Decoupling props\n const {pageData, tourActiveButtonGroup, index} = props;\n const [data, setData] = useState(null);\n // const {ID, image, url, pro, source, requirements} = data;\n const [innerClassname, setInnerClassname] = useState('redux-templates-single-item-inner redux-templates-item-wrapper ');\n\n useEffect(() => {\n if (pageData) setData(pageData[index]);\n }, [index, pageData]);\n\n useEffect(() => {\n setInnerClassname((pageData && pageData[index] && tourActiveButtonGroup && tourActiveButtonGroup.ID === pageData[index].ID) ?\n 'redux-templates-single-item-inner redux-templates-item-wrapper focused' : 'redux-templates-single-item-inner redux-templates-item-wrapper');\n }, [tourActiveButtonGroup, pageData, index]);\n\n if (!data) return null;\n return (\n <div className=\"redux-templates-single-section-item\">\n <div className={innerClassname}>\n <div className=\"redux-templates-default-template-image\">\n {data.source !== 'wp_block_patterns' && <SafeImageLoad url={data.image}/> }\n {data.source === 'wp_block_patterns' && <BackgroundImage data={data} />}\n {requiresPro(data) && <span className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</span>}\n {!requiresPro(data) && requiresInstall(data) && <span className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></span>}\n <div className=\"redux-templates-tmpl-title\">{data.name}</div>\n </div>\n {/* redux-templates-default-template-image */}\n <div className=\"redux-templates-button-overlay\">\n\t {requiresPro(data) && <Tooltip text={__('Premium Requirements', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><div className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</div></Tooltip>}\n {!requiresPro(data) && requiresInstall(data) && <Tooltip text={__('Not Installed', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><div className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></div></Tooltip>}\n <ButtonGroup index={index} showDependencyBlock={true} data={data} pageData={pageData} />\n </div>\n\n </div>\n {/* redux-templates-item-wrapper */}\n </div>\n )\n}\n\n\nexport default withSelect((select, props) => {\n const {getTourActiveButtonGroup, getPageData} = select('redux-templates/sectionslist');\n return {\n pageData: getPageData(),\n tourActiveButtonGroup: getTourActiveButtonGroup()\n };\n})(SingleItem);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n';\nimport {compose} from '@wordpress/compose';\nimport {withDispatch, withSelect} from '@wordpress/data';\nimport {ModalManager} from '../../modal-manager';\nimport ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';\nexport function TabHeader(props) {\n const { activeItemType, searchContext, activeCollection, isChallengeOpen } = props;\n const { setActiveItemType, setSearchContext, setChallengeOpen, clearSearch } = props;\n\n const isActive = (itemType) => {\n return (activeItemType === itemType) ? 'active' : '';\n }\n\n const onSearchContextUpdate = (e) => {\n if (activeItemType !=='saved') setSearchContext(e.target.value);\n }\n\n const changeTab = (tabName) => {\n if (document.getElementById('modalContent')) document.getElementById('modalContent').scrollTop = 0;\n setActiveItemType(tabName);\n }\n\n const closeModal = () => {\n if (isChallengeOpen === false) {\n ModalManager.close();\n }\n }\n\n return (\n <div className=\"redux-templates-builder-modal-header\">\n <div className=\"template-search-box\">\n {\n ((activeItemType !== 'collection' || activeCollection === null) && activeItemType !== 'saved') &&\n <div>\n <input type=\"text\" placeholder={__('Search for a template', redux_templates.i18n)} className=\"form-control\" value={searchContext} onChange={onSearchContextUpdate} />\n <ChallengeDot step={1} />\n <i className=\"fas fa-search\" />\n </div>\n }\n </div>\n\n <div className=\"redux-templates-template-list-header\" data-tut=\"tour__navigation\">\n <button className={ isActive('section') } onClick={e => changeTab('section')}> {__('Sections', redux_templates.i18n)} </button>\n <button className={ isActive('page') } onClick={e => changeTab('page')}> {__('Templates', redux_templates.i18n)} </button>\n <button className={ isActive('collection') } onClick={e => changeTab('collection')}> {__('Template Kits', redux_templates.i18n)} </button>\n <button className={ isActive('saved') } onClick={e => changeTab('saved')}> {__('Saved', redux_templates.i18n)} </button>\n <ChallengeDot step={0} />\n <button className=\"redux-templates-builder-close-modal\" onClick={closeModal} >\n\t\t\t\t\t<svg width=\"24\" height=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.9l3.3-3.4-1.1-1-3.2 3.3-3.2-3.3-1.1 1 3.3 3.4-3.5 3.6 1 1L12 13l3.5 3.5 1-1z\"></path></svg>\n </button>\n </div>\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setActiveItemType,\n setSearchContext,\n clearSearch\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setActiveItemType,\n setSearchContext,\n clearSearch\n };\n }),\n\n withSelect((select, props) => {\n const { getActiveItemType, getSearchContext, getActiveCollection, getChallengeOpen } = select('redux-templates/sectionslist');\n return { activeItemType: getActiveItemType(), searchContext: getSearchContext(), activeCollection: getActiveCollection(), isChallengeOpen: getChallengeOpen() };\n })\n\n])(TabHeader);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38 12H12v26h26V12z\"\n});\n\nvar SvgViewFew = function SvgViewFew(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 50 50\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgViewFew;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 12.5H0V0h12.5v12.5zM31.2 0H18.8v12.5h12.5V0zM50 0H37.5v12.5H50V0zM12.5 18.8H0v12.5h12.5V18.8zm18.7 0H18.8v12.5h12.5V18.8zm18.8 0H37.5v12.5H50V18.8zM12.5 37.5H0V50h12.5V37.5zm18.7 0H18.8V50h12.5V37.5zm18.8 0H37.5V50H50V37.5z\"\n});\n\nvar SvgViewMany = function SvgViewMany(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 50 50\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgViewMany;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.1 5.3H5.3v15.8h15.8V5.3zm23.6 0H28.9v15.8h15.8V5.3zM21.1 28.9H5.3v15.8h15.8V28.9zm23.6 0H28.9v15.8h15.8V28.9z\"\n});\n\nvar SvgViewNormal = function SvgViewNormal(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 50 50\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgViewNormal;","const {__} = wp.i18n;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\nimport ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';\nimport {Button} from '@wordpress/components'\nimport SVGViewFew from './images/view-few.svg'\nimport SVGViewMany from './images/view-many.svg'\nimport SVGViewNormal from './images/view-normal.svg'\nimport {reloadLibrary} from '~redux-templates/stores/actionHelper';\nimport './style.scss'\n\nfunction TemplateListSubHeader(props) {\n const {itemType, sortBy, activeCollection, challengePassed, pageData, columns, loading} = props;\n const {setSortBy, setColumns, setChallengeOpen, setChallengeListExpanded} = props;\n const [triggerTourClassname, setTriggerTourClassname] = useState('far fa-question-circle tour-icon');\n\n useEffect(() => {\n setTriggerTourClassname(challengePassed ? 'fas fa-trophy tour-icon' : 'fas fa-map-signs tour-icon');\n }, [challengePassed]);\n\n const itemTypeLabel = () => {\n if (itemType === 'section') return __('Sections', redux_templates.i18n);\n if (itemType === 'page') return __('Templates', redux_templates.i18n);\n if (itemType === 'collection' && activeCollection === null) return __('Template Kits', redux_templates.i18n);\n if (itemType === 'collection' && activeCollection !== null) return __('Sections', redux_templates.i18n);\n };\n\n const dataLength = pageData ? pageData.length : '';\n\n let pageTitle = '';\n if (loading === false && dataLength && dataLength !== 0) {\n pageTitle = <span>{dataLength} {itemTypeLabel()}</span>;\n }\n\n return (\n <div className=\"redux-templates-template-list-sub-header\">\n <h4>\n {pageTitle}\n <ChallengeDot step={3} />\n </h4>\n <div className=\"redux-templates-template-filters\">\n <Button\n icon={<i className={triggerTourClassname} />}\n label={__('Take the Redux Challenge', redux_templates.i18n)}\n onClick={() => {setChallengeOpen(true); setChallengeListExpanded(true); }}\n />\n <Button\n icon=\"image-rotate\"\n label={__('Refresh Library', redux_templates.i18n)}\n className=\"refresh-library\"\n onClick={reloadLibrary}\n />\n <Button\n icon={<SVGViewFew width=\"18\" height=\"18\"/>}\n className={columns === 'large' ? 'is-active' : ''}\n label={__('Large preview', redux_templates.i18n)}\n onClick={() => setColumns('large')}\n />\n <Button\n icon={<SVGViewNormal width=\"18\" height=\"18\"/>}\n className={columns === '' ? 'is-active' : ''}\n label={__('Medium preview', redux_templates.i18n)}\n onClick={(e) => setColumns('')}\n />\n <Button\n icon={<SVGViewMany width=\"18\" height=\"18\"/>}\n className={columns === 'small' ? 'is-active' : ''}\n label={__('Small preview', redux_templates.i18n)}\n onClick={(e) => setColumns('small')}\n />\n <div className=\"\">\n <select name=\"sortBy\" id=\"sortBy\" value={sortBy} onChange={(e) => setSortBy(e.target.value)}>\n <option value=\"name\">{__('Name', redux_templates.i18n)}</option>\n {/*<option value=\"popularity\">{__('Popularity', redux_templates.i18n)}</option>*/}\n <option value=\"updated\">{__('Updated', redux_templates.i18n)}</option>\n </select>\n </div>\n </div>\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setLibrary, setActivePriceFilter, setActiveCollection, setSortBy, setColumns, setChallengeOpen, setChallengeListExpanded} = dispatch('redux-templates/sectionslist');\n return {\n setLibrary,\n setActivePriceFilter,\n setActiveCollection,\n setSortBy,\n setColumns,\n setChallengeOpen,\n setChallengeListExpanded\n };\n }),\n\n withSelect((select, props) => {\n const {fetchLibraryFromAPI, getActiveItemType, getColumns, getPageData, getActiveCollection, getStatistics, getSortBy, getLoading, getChallengePassed} = select('redux-templates/sectionslist');\n return {\n fetchLibraryFromAPI,\n itemType: getActiveItemType(),\n pageData: getPageData(),\n columns: getColumns(),\n statistics: getStatistics(),\n sortBy: getSortBy(),\n activeCollection: getActiveCollection(),\n loading: getLoading(),\n challengePassed: getChallengePassed()\n };\n })\n])(TemplateListSubHeader);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * WordPress dependencies.\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n\tuseEffect,\n\tuseRef\n} = wp.element;\n\nconst CSSEditor = ({\n\t attributes,\n\t setAttributes,\n\t clientId\n }) => {\n\tuseEffect( () => {\n\t\tlet classes = getClassName();\n\n\t\tif ( attributes.customCSS ) {\n\t\t\tconst generatedCSS = ( attributes.customCSS ).replace( /.ticss-[a-zA-Z0-9_-]*/g, 'selector' );\n\t\t\tcustomCSSRef.current = generatedCSS;\n\t\t} else {\n\t\t\tcustomCSSRef.current = 'selector {\\n}\\n';\n\t\t}\n\n\t\teditorRef.current = wp.CodeMirror( document.getElementById( 'redux-css-editor' ), {\n\t\t\tvalue: customCSSRef.current,\n\t\t\tautoCloseBrackets: true,\n\t\t\tcontinueComments: true,\n\t\t\tlineNumbers: true,\n\t\t\tlineWrapping: true,\n\t\t\tmatchBrackets: true,\n\t\t\tlint: true,\n\t\t\tgutters: [ 'CodeMirror-lint-markers' ],\n\t\t\tstyleActiveLine: true,\n\t\t\tstyleActiveSelected: true,\n\t\t\textraKeys: {\n\t\t\t\t'Ctrl-Space': 'autocomplete',\n\t\t\t\t'Alt-F': 'findPersistent',\n\t\t\t\t'Cmd-F': 'findPersistent'\n\t\t\t}\n\t\t});\n\n\t\teditorRef.current.on( 'change', () => {\n\t\t\tconst regex = new RegExp( 'selector', 'g' );\n\t\t\tconst generatedCSS = editorRef.current.getValue().replace( regex, `.${ classArRef.current }` );\n\t\t\tcustomCSSRef.current = generatedCSS;\n\n\t\t\tif ( ( 'selector {\\n}\\n' ).replace( /\\s+/g, '' ) === customCSSRef.current.replace( /\\s+/g, '' ) ) {\n\t\t\t\treturn setAttributes({ customCSS: null });\n\t\t\t}\n\n\t\t\tsetAttributes({ customCSS: customCSSRef.current });\n\t\t});\n\t}, []);\n\n\tuseEffect( () => {\n\t\tlet classes = getClassName();\n\n\t\tsetAttributes({\n\t\t\thasCustomCSS: true,\n\t\t\tclassName: classes\n\t\t});\n\t}, [ attributes ]);\n\n\tconst getClassName = () => {\n\t\tlet classes;\n\n\t\tconst uniqueId = clientId.substr( 0, 8 );\n\n\t\tif ( null !== customCSSRef.current && ( 'selector {\\n}\\n' ).replace( /\\s+/g, '' ) === customCSSRef.current.replace( /\\s+/g, '' ) ) {\n\t\t\treturn attributes.className;\n\t\t}\n\n\t\tif ( attributes.className ) {\n\t\t\tclasses = attributes.className;\n\n\t\t\tif ( ! classes.includes( 'ticss-' ) ) {\n\t\t\t\tclasses = classes.split( ' ' );\n\t\t\t\tclasses.push( `ticss-${ uniqueId }` );\n\t\t\t\tclasses = classes.join( ' ' );\n\t\t\t}\n\n\t\t\tclassArRef.current = classes.split( ' ' );\n\t\t\tclassArRef.current = classArRef.current.find( i => i.includes( 'ticss' ) );\n\t\t} else {\n\t\t\tclasses = `ticss-${ uniqueId }`;\n\t\t\tclassArRef.current = classes;\n\t\t}\n\n\t\treturn classes;\n\t};\n\n\tconst editorRef = useRef( null );\n\tconst customCSSRef = useRef( null );\n\tconst classArRef = useRef( null );\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<p>{ __( 'Add your custom CSS.' ) }</p>\n\n\t\t\t<div id=\"redux-css-editor\" className=\"redux-css-editor\"/>\n\n\t\t\t<p>{ __( 'Use' ) } <code>selector</code> { __( 'to target block wrapper.' ) }</p>\n\t\t\t<p>{ __( '' ) }</p>\n\t\t\t<p>{ __( 'Example:' ) }</p>\n\n\t\t\t<pre className=\"redux-css-editor-help\">\n\t\t\t\t{ 'selector {\\n background: #000;\\n}\\n\\nselector img {\\n border-radius: 100%;\\n}'}\n\t\t\t</pre>\n\n\t\t\t<p>{ __( 'You can also use other CSS syntax here, such as media queries.' ) }</p>\n\t\t</Fragment>\n\t);\n};\n\nexport default CSSEditor;\n","/**\n * WordPress dependencies.\n */\nconst { assign } = lodash;\n\nconst { __ } = wp.i18n;\n\nconst { hasBlockSupport } = wp.blocks;\n\nconst { PanelBody } = wp.components;\n\nconst { createHigherOrderComponent } = wp.compose;\n\nconst { InspectorControls } = wp.blockEditor || wp.editor;\n\nconst { Fragment } = wp.element;\n\nconst { addFilter, removeFilter } = wp.hooks;\n\n/**\n * Internal dependencies.\n */\nimport './style.scss';\n\nimport CSSEditor from './editor.js';\n\nimport './inject-css.js';\n\nconst addAttribute = ( settings ) => {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\tsettings.attributes = assign( settings.attributes, {\n\t\t\thasCustomCSS: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tcustomCSS: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: null\n\t\t\t}\n\t\t});\n\t}\n\n\treturn settings;\n};\n\nconst withInspectorControls = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn ( props ) => {\n\t\tconst hasCustomClassName = hasBlockSupport( props.name, 'customClassName', true );\n\t\tif ( hasCustomClassName && props.isSelected ) {\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody\n\t\t\t\t\t\t\ttitle={ __( 'Custom CSS' ) }\n\t\t\t\t\t\t\ticon={<i className={'fa fa'}></i>}\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CSSEditor\n\t\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\t\tsetAttributes={ props.setAttributes }\n\t\t\t\t\t\t\t\tattributes={ props.attributes }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t}\n\n\t\treturn <BlockEdit { ...props } />;\n\t};\n}, 'withInspectorControl' );\n\n// Remove block-css fields.\nremoveFilter( 'blocks.registerBlockType', 'themeisle-custom-css/attribute' );\nremoveFilter( 'editor.BlockEdit', 'themeisle-custom-css/with-inspector-controls' );\n\naddFilter( 'blocks.registerBlockType', 'redux-custom-css/attribute', addAttribute );\naddFilter( 'editor.BlockEdit', 'redux-custom-css/with-inspector-controls', withInspectorControls );\n\n","/**\n * WordPress dependencies.\n */\nconst { __ } = wp.i18n;\n\nconst { parse } = wp.blocks;\n\nconst {\n\tselect,\n\tsubscribe\n} = wp.data;\n\nconst addStyle = style => {\n\tlet element = document.getElementById( 'redux-css-editor-styles' );\n\n\tif ( null === element ) {\n\t\telement = document.createElement( 'style' );\n\t\telement.setAttribute( 'type', 'text/css' );\n\t\telement.setAttribute( 'id', 'redux-css-editor-styles' );\n\t\tdocument.getElementsByTagName( 'head' )[0].appendChild( element );\n\t}\n\n\tif ( element.textContent === style ) {\n\t\treturn null;\n\t}\n\n\treturn element.textContent = style;\n};\n\nlet style = '';\n\nconst cycleBlocks = ( blocks, reusableBlocks ) => {\n\tblocks.forEach( block => {\n\t\tif ( block.attributes.hasCustomCSS ) {\n\t\t\tif ( block.attributes.customCSS && ( null !== block.attributes.customCSS ) ) {\n\t\t\t\tstyle += block.attributes.customCSS + '\\n';\n\t\t\t}\n\t\t}\n\n\t\tif ( 'core/block' === block.name && null !== reusableBlocks ) {\n\t\t\tlet reBlocks = reusableBlocks.find( i => block.attributes.ref === i.id );\n\t\t\tif ( reBlocks ) {\n\t\t\t\treBlocks = parse( reBlocks.content.raw );\n\t\t\t\tcycleBlocks( reBlocks, reusableBlocks );\n\t\t\t};\n\t\t}\n\n\t\tif ( undefined !== block.innerBlocks && 0 < ( block.innerBlocks ).length ) {\n\t\t\tcycleBlocks( block.innerBlocks, reusableBlocks );\n\t\t}\n\t});\n};\n\nconst subscribed = subscribe( () => {\n\tstyle = '';\n\tconst { getBlocks } = select( 'core/block-editor' ) || select( 'core/editor' );\n\tconst blocks = getBlocks();\n\tconst reusableBlocks = select( 'core' ).getEntityRecords( 'postType', 'wp_block' );\n\tcycleBlocks( blocks, reusableBlocks );\n\taddStyle( style );\n});\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./editor.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./editor.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./editor.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 19.8v-.2V10c0-.2.1-.2.2-.3 1.7-.7 3.5-1.4 5.2-2.2 1.3-.5 2.6-1.1 3.8-1.6.3-.1.3-.1.3.2v9.1c0 .1 0 .2-.2.3-.9.4-1.9.9-2.8 1.3-.8.4-1.7.8-2.5 1.2-1 .5-1.9.9-2.9 1.4-.3.1-.7.2-1.1.4zm1-5.4v3.7c0 .2 0 .2.2.1 2.4-1.1 4.7-2.2 7.1-3.4.1-.1.2-.1.2-.3V7.4c0-.2 0-.2-.2-.1-2.4 1-4.7 2-7.1 3-.1.1-.2.1-.2.2v3.9zM19.4 4.2c-1-.4-2-.9-3-1.3-1.2-.5-2.4-1-3.7-1.6C11.8 1 10.9.6 10 .2c-.1 0-.1-.1-.2 0-.6.3-1.1.5-1.7.7-.7.3-1.4.7-2.1 1-.7.3-1.5.6-2.2 1-.7.3-1.3.6-2 .9-.6.1-1.1.3-1.7.6.2.1.4.2.6.2 1.9.8 3.8 1.6 5.7 2.5 1.1.4 2.2.9 3.2 1.4.1.1.2.1.4 0 .4-.2.8-.3 1.1-.5 1.5-.6 3-1.3 4.5-1.9 1.1-.5 2.2-.9 3.4-1.4.2-.1.5-.2.7-.3-.1-.1-.2-.1-.3-.2zm-5.9-.8h-1.1c-.1 0-.2 0-.2.2 0 .5 0 .5.5.5h.7c.1 0 .1 0 .1.1v.5c0 .1 0 .1-.1.1h-1c-.1 0-.2 0-.2.2v1c0 .1 0 .1-.1.1h-.6c-.1 0-.1 0-.1-.1v-.5c-.3.3-.5.4-.8.5-.3 0-.6 0-.9-.1 0 0-.1-.1-.2 0h-.1c-.2.1-.4.1-.6.1-.1 0-.2 0-.2-.1-.2-.4-.2-.4-.6-.4h-.6c-.1 0-.1 0-.2.1-.1.4-.1.4-.5.4h-.3c-.1 0-.2 0-.1-.1.3-.7.6-1.4.9-2.2.1-.3.3-.6.4-1 0-.1.1-.1.2-.1.4 0 .4 0 .6.4.1.2.2.5.3.7.3-.6.7-.9 1.3-1 .6-.1 1.1.1 1.6.5v-.4c0-.1 0-.1.1-.1h1.9c.1 0 .1 0 .1.1v.5c0 .1-.1.1-.2.1zM9.5 10c0-.1 0-.2-.1-.2-.3-.1-.5-.2-.7-.3-2.4-1-4.7-2-7.1-3-.5-.2-1-.4-1.6-.7v9.4c0 .1 0 .2.1.2.2.1.3.1.5.2L3 16.8c1.3.6 2.5 1.2 3.8 1.8.8.4 1.7.8 2.5 1.2.2.1.2.1.2-.1v-7V10zm-1.2 8.2c-2.4-1.1-4.8-2.3-7.2-3.4-.1 0-.1 0-.1-.1V7.5c0-.1 0-.2.2-.1l7.2 3c.1 0 .1.1.1.2v7.6c0 .1 0 .1-.2 0z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.4 4.3c0 .1 0 .1 0 0 0 .2 0 .3-.2.3-.1 0-.2 0-.2.2-.2.4-.6.6-1 .5-.5-.2-.8-.5-.8-1 0-.4.3-.8.7-.9.4-.1.8.1 1 .5 0 .1.1.1.2.1.3.1.3.1.3.3zM7.8 4c.1 0 .1 0 0 0 .2.3.3.5.3.7h-.6c.2-.2.3-.5.3-.7zM7.6 15.5v.1c.1.2.1.3-.1.5v.1c.1.1.1.2.1.4v.1h-.1c-.1-.1-.3-.2-.3-.3v-.2c.1.1.1.3.3.3 0-.1-.1-.3-.3-.4 0 0-.1 0-.1-.1-.1-.1-.2 0-.2.1 0 .2.1.3.4.4.1 0 .1 0 .1.1v.1c.1 0 .2.1.2.1s.1.1 0 .1h-.1c-.4-.2-.8-.4-1.3-.6l-.1-.1c0-.3-.2-.5-.4-.6-.1-.1-.3-.1-.4 0l-.1.1h.1c.4.1.7.2.7.5v.1s-.1 0-.1-.1c-.1-.2-.2-.3-.4-.3 0 .1 0 .1.1.1h.1v.1h-.1c-.2-.1-.3-.1-.5-.2-.1-.1-.1-.1 0-.2l.1-.1c-.1 0-.2-.1-.3 0l-.1.1c-.1.2-.2.1-.2 0-.2-.4-.2-.4-.4-.5 0 .1.1.2.1.3 0 .1 0 .1-.1.1s-.1 0-.2-.1c-.1 0-.2 0-.1-.2s-.2-.3-.3-.3c0 0-.1.1-.1 0v-.1c0-.1 0-.1.1-.1.2 0 .3.1.4.2 0 .1.1.1.1.2h.1v-.1c-.1-.3-.4-.5-.7-.5-.1 0-.2 0-.2.2 0 .1 0 .1-.1.1-.4-.2-.9-.4-1.3-.6 0 0-.1 0-.1-.1s.1 0 .1 0c.1 0 .2.2.2 0 0 0 .1 0 .1.1.1.1.1.1.2 0 .1 0 .1-.1.1-.2-.1-.2-.2-.3-.5-.4-.1 0-.1 0-.2.1v.1H2s0-.1.1-.1v.1c0 .1-.1.1-.2.1h-.3c-.1 0-.1-.3 0-.3.1-.1.1-.2 0-.3-.1-.1-.1-.3-.1-.4 0-.1 0-.1.1-.1s0 .1 0 .1c-.1.2 0 .4.2.6.1.1.2.1.3.2.1.1.2.2.2.4 0 .1 0 .1.1.1.1.1.2.2.2.4 0 .1.1.1.1 0 .1-.2.3-.2.5-.2 0-.1 0-.1-.1-.1-.5-.5-.9-1.1-1.2-1.7-.2-.5-.3-1-.2-1.6 0-.1.1-.2.1-.3 0-.1 0-.2-.1-.2-.2-.1-.3-.3-.4-.5V10c.1-.3 0-.6.1-1 0-.1 0-.1.1-.1.5.1.5.2.5.3v.6c0 .1.1.2.2.2s.2.1.3 0v-.1c0-.1-.1-.2-.2-.2s-.1 0-.1-.1c.2 0 .5.2.4.4 0 .1-.2.2-.3.1 0 0-.1-.1-.1 0-.1 0-.2-.1-.2 0v.3l.1.1c.2.2.2.2.4 0l.1-.1c.3-.3.3-.4.1-.8 0-.1-.1-.2-.2-.4.1 0 .1.1.2.1.1.3.3.5.6.6.1.1.2.1.3 0-.1-.1-.2-.1-.4-.2s-.4-.3-.4-.5H3c0 .1.2.2.3.4.1-.1.1-.2.1-.2.1 0 .1-.1.2 0s0 .1 0 .1c-.1.1-.1.3 0 .4.1.1.2.1.4 0 .2-.2.4-.2.6 0 .1.1.2.2.4.2s.4.2.5.4c.1.1.1.2.2.3 0 .1.1.2.2.2 0 0 .1 0 .2-.1s0-.2-.1-.2v-.1s.1 0 .1.1.1.1.1.2c0 .2.1.2.2.1h.2c.1 0 .2.1.1.2 0 .1-.1.1-.2.1s-.2-.1-.4-.1c-.1 0-.1-.1-.2 0 0 .1 0 .1.1.1.2.2.4.2.7.1.1 0 .1-.1.2 0 0 .1 0 .1-.1.1-.2.2-.2.5-.1.8l.3.6c.1 0 .2.1.4.1.1 0 .2 0 .2-.2 0-.1 0-.2-.1-.2-.1.1.1.2-.1.3-.1 0-.2 0-.2-.1s-.1-.2 0-.2c.1-.1.1.1.3.1 0-.1-.2-.2-.3-.2-.2-.2-.3-.3-.3-.5s.1-.2.3-.2c.1 0 .1.1.2.1v.1h-.1c-.1 0-.2-.2-.2 0-.1.1 0 .2.1.3.1.1.2.1.3.2.1.1.1 0 .1-.1v-.6-.1c.1 0 .1.1.1.1V13c0 .1-.2.2-.3.2 0 0-.1-.1-.1 0v.1c.2.4.2.8.1 1.2-.1.6-.4 1.1-1.1 1.2-.1 0-.2.1-.4 0 .3.2.5.4.6.7 0 .1.1.1.1 0s.1-.2.2-.1c.1 0 .1 0 .1-.1.1-.2.2-.2.3-.1.2.1.4.1.5-.1.1-.1 0-.2-.1-.3-.1-.2-.1-.2 0-.2zm-3.9-4.4c-.1-.1-.1 0-.2 0-.2.2-.4.4-.3.7.2-.1.4-.2.5-.3.1 0 .1-.1.1 0s0 .1-.1.1c-.1.1-.3.1-.4.2-.1.2-.2.2-.1.4 0 0 0 .1.1.1.5.7.9 1.4 1.4 2 .1.1.2.1.3.1.5-.2.9-.5 1.4-.7.1-.1.1-.1 0-.2-.2-.3-.4-.5-.6-.8 0 0-.1 0 0-.1h.1c0 .1.1.3.2.4.1.1.2.3.3.4 0-.5-.2-.8-.4-1.2h.1c.2.4.4.8.5 1.3v.1c.1 0 .1-.1.2-.1s0-.1 0-.1c-.1-.2-.1-.4-.2-.5-.1-.2-.2-.5-.4-.7-.1-.2-.1-.2-.2-.1s-.2.1-.3.2c0 0-.1.1-.1 0v-.1l.2-.2c.2-.1.2-.2.1-.4l-.6-.6c-.1-.1-.2-.2-.4-.1h-.1c.2.1.4.3.6.4.3.2.4.4.4.5-.3-.2-.5-.5-.9-.7.2.2.3.4.4.6 0 0 .1.1 0 .1h-.1c-.1-.2-.3-.4-.4-.6-.1-.1-.1-.1-.2-.1-.1.1-.2.1-.3.2 0 0-.1.1-.1 0s0-.1.1-.1c.1-.1.3-.1.4-.2-.1 0-.1 0-.2-.1-.2 0-.4-.1-.7-.1-.1.2-.1.2-.1.3zm2.8 2.7c-.5.2-1 .5-1.5.7 0 0-.1 0 0 0 0 0 0 .1.1.1.3.1.6.1.9-.1.2-.1.5-.3.5-.7zm-3.4-1.5c0 .2 0 .4.1.5.2.6.6 1.1 1.2 1.5h.1v-.1c-.2-.2-.3-.4-.5-.6-.3-.4-.6-.9-.9-1.3zm-.2-2.4c.1.3-.1.4-.2.6-.2.2-.3.5-.4.7 0 .2.1.2.2.2s.1-.1.1-.2c.1-.3.2-.5.4-.7.1-.1.1-.2.1-.3 0 0-.1-.1-.2-.3zm4.3 3.8c0-.4-.1-.7-.3-1.1-.1-.3-.4-.6-.3-1-.3.1-.3.2-.2.5.2.3.4.7.4 1.1.1.3.2.5.4.5zM3 9.9c0 .1.1.1.1.2.1.2.3.3.5.3h.7c.1 0 .2 0 .2-.1s-.1-.1-.2-.1c-.2-.1-.4-.1-.6-.1-.2 0-.4 0-.7-.2zm3.6 3.8c-.1.4-.1.7-.4.9-.1 0-.2.1-.2.1 0 .1.2.1.2.1.1 0 .1.1.2 0 .2-.1.3-.3.3-.5 0-.1.1-.2.1-.3 0 0-.1-.1-.2-.3zM3 12c-.1 0-.1.1-.2.1s-.1.1-.1.1c.1.3.2.7.4 1 .1.2.3.3.5.4-.4-.5-.6-1-.6-1.6zm3.5-.5c-.2-.1-.4-.1-.6-.3-.2-.3-.5-.5-.8-.7 0 0-.1-.1-.1 0v.1c.1.2.2.2.3.3.2.2.5.4.7.6.2.3.3.2.5 0zm-1.7 3.3c0 .2.1.3.2.2h.2c.5 0 .9.1 1.3.4h.2c.1-.1 0-.1-.1-.1-.2-.2-.5-.3-.8-.3-.3-.1-.5 0-.8-.1-.1-.2-.2-.2-.2-.1zm-1.9-1.4c0 .2.2.2.3.3.5.2.8.5 1.2.9.1.1.2.3.3.4 0-.4 0-.4-.2-.5-.2-.1-.4-.3-.6-.5-.2-.2-.5-.4-.8-.5-.1-.1-.1-.1-.2-.1zm.1-.1c-.2-.4-.3-.7-.4-1.1 0-.1-.1-.2-.2-.3h-.1c0 .1 0 .2.1.3 0 .3.2.6.3.9.1.2.2.2.3.2zm4.2 1c.1-.1-.1-.1-.2-.2-.1 0-.1.1-.1.1-.1.2-.2.5-.3.6-.1.2-.1.2 0 .2s.2.2.2.1c.2-.2.4-.5.4-.8zm-2.6-3.4c-.1-.1-.1-.3-.3-.3-.2-.1-.5-.1-.7-.1 0 0-.1 0-.1.1v.3c0 .1.1.1.2 0 .2-.1.4-.1.5 0h.4zm-1.7 1c0-.1.1-.1.1-.2 0-.3.2-.5.4-.7.1 0 .1-.1.1-.1 0-.1-.3-.2-.4-.1-.2.1-.3.3-.4.6 0 .1-.1.2 0 .3.1 0 .2.1.2.2zm2.6 3.3c.2 0 .5.1.7.2.1 0 .2.1.2 0s-.1-.1-.1-.1h-.1c-.4-.2-.8-.3-1.2-.1 0-.1 0 0 0 0s0 .1.1 0h.4zm-2.4-1.4c0 .1.1.2.2.3.5.2.8.5 1.1.9 0 0 0 .1.1.1V15c-.3-.6-.8-1-1.4-1.2zm1.8-3.1v-.4c0-.1-.1-.1-.1-.1h-.1c-.1.2-.1.3 0 .5 0 .1.1.1.2.1s0 0 0-.1zm.3 4.7c.3.1.6.2.9.1-.3-.2-.6-.2-.9-.1zm-2.4-3.6c0-.1-.2-.3-.4-.3l-.1.1.3.3c.2.1.2.1.2-.1zM7.1 14h.1v-.1c-.1-.1-.1-.2-.2-.2h-.2v.2s.1.1.3.1zm-3.6.3c.1.2.6.6.8.6-.1-.2-.6-.6-.8-.6zm1.2.8c-.1 0-.1.1-.1.2s.1.3.2.3c0 0 .1-.1.1-.2 0-.2-.1-.3-.2-.3zM4.1 10c.1 0 .3.1.4.1h.1V10c-.2-.2-.4-.2-.5 0zm1.3.6c0-.2-.2-.4-.4-.4h-.1v.1c.2.1.3.2.5.3z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 11.8c-.1 0-.1-.1-.1-.2v-.8-.1H2c0 .1.2.1.2.2-.2-.1-.2 0-.2.2v.7zM7.7 13.9v.5s0 .1-.1.1 0 0 0-.1v-.7c0-.1 0-.2-.1-.3l-.1-.1c0-.1.1 0 .1 0 .2 0 .2.1.2.3v.3zM2.2 10.2c.1 0 .2.1.2.2s0 .1-.1.1-.2-.1-.2-.2c-.1-.1 0-.1.1-.1zM7.2 11.4c.1 0 .3.3.2.4 0 0 0 .1-.1 0 0 0-.1-.1-.1-.4 0 .1 0 0 0 0zM6 10.7c0 .1.1.1 0 .2h-.2c-.1-.1-.1-.1-.1-.2s.1-.1.2-.1l.1.1zM2.9 9.2c-.1-.1-.2-.2-.4-.3 0 0-.1 0 0-.1h.1c.2.2.4.3.6.4v.1c-.1 0-.2-.1-.3-.1zM2.1 9.2c0-.1.1-.2.1-.2.1 0 .2.1.2.2s-.1.1-.2.1c-.1.1-.1 0-.1-.1zM7.1 11.1c-.1 0-.2-.1-.3-.1-.1-.1-.3-.1-.4-.2 0 0-.1 0 0-.1h.1c.1.1.3.2.6.4 0-.1 0-.1 0 0zM7.7 11.4v.1c-.1 0-.1-.1-.1-.1 0-.1-.2-.2-.3-.2 0 0-.1 0-.1-.1s.1 0 .1 0c.1.1.2.1.2.1l.2.2zM3.9 9.8s0 .1 0 0c-.2.1-.3 0-.3-.1s0-.1.1-.1.2 0 .2.2zM2.4 8.8c-.1 0-.2 0-.2-.1-.1 0-.2 0-.2.1h-.1v-.1-.2c.1-.1.1 0 .1 0 .2.2.3.2.4.3zM7.4 15.7c-.2 0-.3-.1-.4-.1v-.1h.1c.1 0 .2.1.3.2zM7.6 15.5c-.1-.1-.2-.1-.3-.2 0 0-.1 0 0-.1 0-.1.1 0 .1 0 .1 0 .2.1.3.1-.1.1 0 .2-.1.2zM2.2 13.1c.1.1.2.1.3.2 0 0 .1 0 0 .1h-.1s-.2-.1-.2-.3c-.1.1-.1.1 0 0-.1.1-.1.1 0 0zM2.3 12.9c0 .1 0 .1 0 0-.2 0-.3-.1-.4-.1v-.1c.2.1.3.1.4.2zM14.1 16.3c-.6 0-1-.1-1.5-.5-.3-.3-.5-.6-.6-.9 0-.3-.1-.6 0-.9 0-.6.2-1.1.4-1.6s.5-.9.8-1.3c.4-.4.8-.8 1.3-1.1.4-.3.9-.5 1.3-.6.9-.2 1.7-.1 2.3.7.2.3.3.6.4 1v.5c0 .7-.2 1.4-.5 2-.3.7-.8 1.3-1.4 1.8-.5.5-1.2.8-1.9 1-.2-.1-.4-.1-.6-.1zm4.3-4.9c0-.5-.2-1.1-.8-1.5-.4-.3-.9-.4-1.3-.4-.3 0-.6.1-.8.2-.5.2-.9.4-1.3.7-.4.3-.8.7-1.1 1.1-.4.5-.6 1-.8 1.6-.1.5-.2 1.1 0 1.6.3.9.9 1.3 1.7 1.4.4.1.7 0 1.1-.1.7-.2 1.2-.6 1.7-1 .4-.4.8-.8 1.1-1.3.2-.7.5-1.3.5-2.3zM4.5 12.7c0 .2 0 .4.2.6.1.1.2.1.3.1.1-.1.1-.2.1-.3-.1-.1-.1-.2-.2-.1 0 0-.1.1-.1 0v-.1l.1-.1c.2.2.3.2.5.1h.1v.1s-.1.1-.2.1-.1 0-.1.1 0 .3-.2.3-.3-.1-.4-.2c-.3-.2-.3-.5-.3-.8v-.1c0-.3.2-.4.5-.2.2.1.3.2.4.4v.1h-.1c-.1-.1-.1-.2-.2-.3-.1-.1-.2-.2-.4-.1-.1 0-.1.2-.1.3.1 0 .1.1.1.1zM6.6 13.3c-.1-.4-.2-.8-.5-1.1.3.1.6.8.5 1.1zM3.7 11.1c.1.1.2.3.3.5-.2-.2-.3-.3-.3-.5zM2.8 11.4c.1-.2.2-.4.4-.6h.1v.1c-.2.2-.3.4-.3.6h-.1c-.1 0 0 0-.1-.1z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 12.2c.1-.3.3-.5.4-.7.3-.4.6-.7.9-.9.4-.3.8-.5 1.2-.6.5-.1.9-.1 1.3 0 0 0 .1 0 .1.1s-.1.1-.1.1c-.4.3-.4.7-.1 1.1.3.3.3.6.2 1-.1.5-.3 1.1-.4 1.6-.1-.1-.1-.2-.2-.4-.2-.5-.4-1.1-.6-1.6-.1-.1-.1-.3-.2-.4-.1-.1 0-.1.1-.2s.2-.1.3-.2c0 0 .1-.1 0-.1 0-.1-.1 0-.1 0-.3.2-.7.3-1 .4-.1 0-.3.1-.4.1-.1 0-.1.1-.1.2s.1.1.2 0c.2-.1.3 0 .3.2l.3.6c.1.1 0 .3 0 .4-.1.2-.1.5-.2.7-.1.3-.2.6-.3 1-.2-.3-.3-.6-.4-.9l-.6-1.5c0-.1 0-.2.1-.2s.2-.1.2-.1v-.1c0-.1-.1 0-.1 0-.2.2-.5.3-.8.4z\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.3 13.1c.3.6.5 1.2.8 1.9v.1c-.4.3-.9.5-1.4.6-.2 0-.2 0-.2-.2.2-.6.4-1.3.6-1.9.1-.1.1-.3.2-.5zM14.1 15.7c-.5-.1-.9-.2-1.1-.6-.4-.5-.5-1-.4-1.6 0-.2.1-.4.1-.7 0 0 0-.1.1-.1l.1.1c.2.4.4.8.5 1.2.2.6.4 1.1.7 1.7zM16.7 14.6c.1-.4.2-.8.4-1.2l.6-1.8c.1-.3.2-.6.1-.9.2.2.2.4.3.6.1.5 0 1.1-.1 1.6-.1.4-.4.8-.6 1.2-.4.1-.5.3-.7.5z\"\n});\n\nvar SvgAcfBlocks = function SvgAcfBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4, _ref5);\n};\n\nexport default SvgAcfBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.4 9l.8 2.1H3.7c0-.2.3-.8.4-1.1l.3-1s0 .1 0 0zm8.7.3h1v1.5h-1c-.1.5-.5 1-1 1.3-1.6 1.1-3.9.1-4-2.1 0-1.3 1-2.3 2.1-2.5 1.3-.2 2.6.6 2.9 1.8zM0 14.5h2.3l.5-1.3c0-.1 0 0 .1-.1H6c0 .2.5 1.2.5 1.3h2.4l-.1-.3c.7.2 1.2.4 2.1.4 1 0 2-.5 2.6-1l.3-.3.3-.3v1.6h2.2v-1.7-1.7h3.5v-2h-3.5v-.8-.8H20V5.4h-5.9V7c-.4-.4-.3-.4-.8-.7-1-.7-2.4-1-3.6-.7-.9.2-1.6.6-2.2 1.2l-.2.2c-.3.2-.7.9-.8 1.3l-.1.1c-.1-.3-.8-1.8-.9-2.3-.1-.2-.2-.5-.3-.7H3.6L0 14.5z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n});\n\nvar SvgAdvancedCustomFields = function SvgAdvancedCustomFields(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgAdvancedCustomFields;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z\"\n});\n\nvar SvgAdvancedGutenbergBlocks = function SvgAdvancedGutenbergBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgAdvancedGutenbergBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.3 13.9h1.3l.7-1.9h3.3l.7 1.9h1.3l-3-7.8H9.3l-3 7.8zM10 7.8l1.2 3H8.8l1.2-3z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"atomic-blocks_svg__st0\",\n d: \"M18.9 5.7c.4-.5.6-1.2.6-1.9 0-1.9-1.5-3.4-3.3-3.4-.7 0-1.4.2-1.9.6-1.3-.6-2.7-1-4.2-1C4.6 0 .2 4.4.2 9.9s4.4 9.9 9.9 9.9S20 15.4 20 9.9c-.1-1.4-.5-2.9-1.1-4.2zM15.1 2h1.1c.5 0 1.1.3 1.1.9 0 .4-.3.6-.3.6s.5.2.5.8c0 .6-.5 1-1.1 1h-1.2V2zM10 18.2c-4.5 0-8.2-3.7-8.2-8.2 0-4.5 3.7-8.2 8.2-8.2 1.1 0 2.2.2 3.1.6-.2.4-.3.9-.3 1.4 0 1.9 1.5 3.4 3.3 3.4.5 0 1-.1 1.4-.3.4 1 .6 2 .6 3.1.1 4.5-3.6 8.2-8.1 8.2z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"atomic-blocks_svg__st0\",\n d: \"M16.7 3c0-.3-.2-.4-.5-.4h-.5v.8h.5c.3 0 .5-.1.5-.4zM16.8 4.4c0-.3-.2-.4-.5-.4h-.6v.9h.6c.3-.1.5-.2.5-.5z\"\n});\n\nvar SvgAtomicBlocks = function SvgAtomicBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3);\n};\n\nexport default SvgAtomicBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.8 19.5c-.6.1-.8-.4-1-.8-1.5-1.8-3-3.6-4.5-5.3-.4-.5-.8-.9-1.2-1.4-.1-.2-.1-.4-.1-.6.3-1 .7-2 1.1-3 .7-2 1.5-3.9 2.2-5.9.1-.3.2-.4.5-.5 3-.5 5.9-1.1 8.9-1.5.6-.1 1 0 1.4.5 1 1.3 2 2.5 3 3.7.9 1.1 1.8 2.1 2.7 3.2.2.2.3.4.2.7-.5 1.3-.9 2.5-1.4 3.8-.6 1.7-1.2 3.3-1.9 5-.1.3-.2.4-.5.4-2.7.4-5.3.9-8 1.4-.5.1-.9.2-1.4.3zm-2.5-3.4h.9c2.4-.3 4.7-.5 7.1-.8.4 0 .5-.2.6-.6.4-2.1 1.3-4.1 2.7-5.7.2-.2.2-.3 0-.5-.9-1.1-1.9-2.2-2.8-3.4-.2-.2-.3-.2-.6-.1-1.9 1.1-4 1.6-6.2 1.6-.3 0-.5.1-.5.4-.5 1.8-1 3.5-1.6 5.3-.2.8-.5 1.6-.7 2.4 1.1-.8 2.1-1.7 3.1-2.5.5-.4.8-.9.8-1.5 0-.3.1-.6.2-.9.7-1.2 2.3-1 3.1-.4.2.2 0 .2-.1.3-.4.1-.9.3-1.3.4-.3.1-.4.3-.4.6s.1.6.3.8c.2.2.3.3.6.2.4-.2.9-.3 1.3-.4.1 0 .2-.1.3 0 .1.1 0 .2 0 .3-.4 1-1.4 1.7-2.5 1.5-.5-.1-.9 0-1.2.4-.2.2-.4.3-.6.5-.9.6-1.7 1.4-2.5 2.1zm14.5-8.6c-.1-.1-.2-.2-.2-.3-.5-.6-1.1-1.3-1.6-1.9-.8-.9-1.6-1.9-2.4-2.8-.1-.1-.2-.3-.4-.1-.4.4-.9.7-1.3 1.1-.1.1-.1.2 0 .3 1.4 1.6 2.7 3.3 4.1 4.9.1.2.2.2.4 0 .4-.4.8-.7 1.3-1.1-.1 0 0-.1.1-.1z\"\n});\n\nvar SvgBlockOptions = function SvgBlockOptions(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgBlockOptions;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"style\", null, \".block-slider_svg__st0{fill:#6171b5}\");\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"block-slider_svg__st0\",\n d: \"M2.9 16.2c0-1.2.2-2.3.4-3.5 0-.2.1-.5.3-.7.2-.3.5-.6.9-.6.3 0 .3.5.3.7.6 1.7 1.4 3.2 2.7 4.5.4.4.8.7 1.2.9.2.2.5.2.3.5-.1.3-.1.8-.6.8-1.8 0-3.5-.3-5.2-1-.3-.1-.4-.3-.3-.6v-1zM17 3.8c0 1.3-.2 2.6-.5 4-.1.6-.4.8-.9.9-.4.1-.6.1-.6-.4-.2-2-1-3.8-2.4-5.3l-.3-.3c-.2-.2-.7-.3-.5-.7.2-.4.5-.7 1-.7.4 0 .7 0 1.1.1.9.2 1.7.5 2.5.7.4.1.7.4.6.9v.8z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1 11.4c-1-1.5-2.3-2.7-3.6-4-1-.9-1.8-2-2.3-3.3-.5-1.4-.6-2.8.8-4.1-2.1 0-3.9.6-5.4 1.8-2.4 2-3 4.9-1.3 7.5.5.8 1.1 1.6 1.8 2.4 1.3 1.4 2.5 2.7 3.5 4.3.8 1.2 1.3 2.5.5 4 1.7 0 3.2-.5 4.6-1.4 2.1-1.5 3.5-4.2 1.4-7.2zm-2.7 7c-.2 0-.4-.1-.4-.3 0-.2.2-.3.4-.3s.3.1.3.3c0 .2-.1.3-.3.3zm1-.6c-.2 0-.3-.2-.3-.4s.1-.3.3-.3c.2 0 .3.1.3.3 0 .2-.1.4-.3.4zm.7-.9c-.2 0-.3-.2-.3-.4s.2-.3.4-.3.3.2.3.3c-.1.3-.2.4-.4.4z\",\n fill: \"#1b214c\"\n});\n\nvar SvgBlockSlider = function SvgBlockSlider(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"block-slider_svg__Layer_1\",\n viewBox: \"0 0 20 20\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3);\n};\n\nexport default SvgBlockSlider;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.64.986l8.602-.002c1.626 0 2.217.17 2.813.489a3.342 3.342 0 011.387 1.382c.32.596.493 1.187.5 2.818l.042 8.62c.008 1.63-.158 2.222-.474 2.818a3.297 3.297 0 01-1.373 1.383c-.593.319-1.182.489-2.809.489l-8.6.001c-1.627 0-2.218-.169-2.814-.488a3.342 3.342 0 01-1.387-1.382c-.32-.596-.493-1.187-.5-2.818l-.042-8.62c-.008-1.63.158-2.222.474-2.818a3.297 3.297 0 011.373-1.383C3.425 1.156 4.014.986 5.64.986zm-.656 2.998a1 1 0 00-1 1v10a1 1 0 001 1h3a1 1 0 001-1v-10a1 1 0 00-1-1zm7 7a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1v-3a1 1 0 00-1-1zm0-7a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1v-3a1 1 0 00-1-1z\"\n});\n\nvar SvgCoblocks = function SvgCoblocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgCoblocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.264 39.566L38.219 5.16l16.519 53.558-38.079 38.281zM69.376 112.381l35.607-35.607-46.088-13.51-38.006 38.006zM106.68 70.824L61.239 57.415 43.697 2.22 72.022 8.8l4.6 13.991 16.77 3.792 13.288 44.241zM64.633 53.949l35.664 10.522-10.291-34.264-16.699-3.775-4.604-13.999-18.641-4.337 14.571 45.853z\"\n});\n\nvar SvgCreativeBlocks = function SvgCreativeBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgCreativeBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.4 0c1.1.1 1.9.5 2.3 1.5.5 1 .3 2-.5 2.8-1.6 1.7-7.5 7.6-8.9 8.9-.6.6-.7 1.5-1.1 2.2-.4.9-.8 1.9-1.1 2.9-.1.8-1.3.7-1.3.7l-5.4.7c-.4.1-.9.5-1.3.1-.3-.3.1-1.2.1-1.2l1-6.5s.3-.3.5-.4c1.5-.6 2.9-1.1 4.4-1.7.2 0 .4-.2.5-.3L15.4.9c.6-.5 1.2-.9 2-.9zM1.3 19c.5.1.8.1 1.1 0 1.3-.3 2.6-.4 3.9-.6 1 0 1.5-.4 1.8-1.4.7-2.2 1.4-4.4 3.4-5.8.3-.2.3-.5 0-.8-.5-.4-.9-.9-1.3-1.3-1.1-1-1.1-1-2.2.1-.5.5-.9 1.1-1.6 1.4-1.3.5-2.7 1.1-4.1 1.6-.5.2-.6.4-.7.8-.3 1.7-.5 3.3-.8 5 0 .2-.1.4.1.7 1-1 2-2 3-3.1.2-.2.2-.5.2-.7-.1-.7.4-1.3 1.1-1.3.6 0 1.2.6 1.2 1.2s-.6 1.1-1.2 1c-.3 0-.5 0-.8.2-1 .9-2 1.9-3.1 3zM17.4.8c-.6 0-1 .1-1.4.5-2 2-4 4.1-6.1 6.1-.3.2-.2.4 0 .6l2.1 2.1c.3.3.4.2.7 0l1.9-1.9L18.8 4c.5-.5.7-1.6.4-2.2-.4-.7-1-1.1-1.8-1z\"\n});\n\nvar SvgEditorplus = function SvgEditorplus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgEditorplus;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.04 4.76L9.2 7.44v11.68l-8.12-2.76m10.16 2.8l8.2-2.8V4.84L11.28 7.4m-1.04-1.36l7.52-2.44-7.52-2.28L2.52 3.6\"\n});\n\nvar SvgElegantBlocks = function SvgElegantBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgElegantBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 210.86,\n cy: 44.87,\n r: 12.79\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.85 0A100.85 100.85 0 000 100.85V256h155.15A100.85 100.85 0 00256 155.15V0zm-59 149.49l-8.29 8.28a4.83 4.83 0 11-6.83-6.83l8.28-8.28a4.83 4.83 0 116.84 6.83zm34.86 53.16a9.31 9.31 0 010-13.13l10.69-10.69A9.28 9.28 0 01100.57 192l-10.69 10.65a9.31 9.31 0 01-13.13 0zm35.92 18.92l-7.41 7.43a5.75 5.75 0 01-8.13-8.13l7.45-7.45a5.75 5.75 0 018.13 8.13zM123.24 211a4.84 4.84 0 01-6.83 0l-1.23-1.24a4.81 4.81 0 010-6.8l31.07-31.48a8.4 8.4 0 000-11.88l-.89-.89a8.4 8.4 0 00-11.88 0l-16.94 16.94a8.41 8.41 0 01-11.89 0l-1.06-1.06a8.41 8.41 0 010-11.89l15.08-15.08a8.4 8.4 0 000-11.88l-.89-.89a8.41 8.41 0 00-11.89 0L90.8 149.93a8.42 8.42 0 01-13-1.35 8.61 8.61 0 011.33-10.76l16.71-16.71a8.41 8.41 0 000-11.89l-.88-.88a8.4 8.4 0 00-11.89 0L51.8 139.56a4.83 4.83 0 01-6.8-6.83l50.13-50.15 78.26 78.27zm52.54-52.54L97.52 80.19l3.28-3.28 78.27 78.26zm48.34-95.19a22.15 22.15 0 01-11.47 6.1 28.49 28.49 0 00-8.17 2.82 65.85 65.85 0 00-10.35 7.18c-10.3 11.06-12.26 20-12.25 26 0 16 14.07 26.16 9.68 37.63-1.91 5-6.41 7.87-9.38 9.38L143 113.18l-39.28-39.24c1.51-3 4.39-7.47 9.38-9.38 11.47-4.39 21.58 9.68 37.63 9.68 6 0 15-1.95 26-12.25a75.27 75.27 0 005.62-7.69 31.65 31.65 0 004.17-11 22.25 22.25 0 1137.58 19.94z\"\n});\n\nvar SvgEnhancedBlocks = function SvgEnhancedBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 256 256\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgEnhancedBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n filterUnits: \"objectBoundingBox\",\n id: \"essential-blocks_svg__a\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 15,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 11,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\",\n in: \"shadowBlurOuter1\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M135.028 96h103.944l.497.216h.373c6.217 0 11.273 2.774 15.169 8.322 1.326 2.305 1.989 4.683 1.989 7.133 0 5.98-3.398 10.59-10.195 13.833-2.321.937-4.642 1.405-6.963 1.405H133.909c-4.973 0-9.366-1.981-13.179-5.944-2.487-2.882-3.73-5.836-3.73-8.862v-1.297c0-4.755 2.735-8.826 8.206-12.212 2.984-1.585 5.927-2.378 8.828-2.378h.497l.497-.216zm1.242 77.273l58.078.21c3.862 0 7.995 1.544 12.397 4.632 3.503 3.158 5.255 6.596 5.255 10.316 0 5.193-3.1 9.438-9.298 12.736-3.054 1.404-6.019 2.106-8.893 2.106h-58.752c-5.75 0-10.735-2.246-14.958-6.737-2.066-2.526-3.099-5.053-3.099-7.58v-1.262c0-4.772 3.19-8.877 9.567-12.316 3.234-1.263 6.289-1.895 9.163-1.895h.27c.18 0 .27-.07.27-.21zM241.632 173h.736c5.685 0 10.14 2.968 13.369 8.905.842 2.12 1.263 4.17 1.263 6.148 0 5.936-2.912 10.495-8.737 13.675-2.105.848-3.965 1.272-5.579 1.272h-1.473c-4.772 0-8.843-2.509-12.211-7.527-1.333-2.544-2-5.052-2-7.526 0-5.795 2.877-10.318 8.632-13.569 2.175-.919 4.175-1.378 6-1.378zm-106.604 75.727h103.944c0 .142 1.284.318 3.854.53 4.31.919 7.584 2.58 9.822 4.983 2.901 2.897 4.352 6.219 4.352 9.964 0 5.725-3.398 10.248-10.195 13.57-2.073.635-3.482.953-4.228.953H131.423c-2.901 0-6.383-1.66-10.444-4.982-2.653-3.039-3.979-6.113-3.979-9.223v-.954c0-5.23 3.108-9.505 9.325-12.827 1.824-.918 4.642-1.554 8.455-1.908 0-.07.083-.106.248-.106z\",\n id: \"essential-blocks_svg__b\"\n}));\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n fill: \"#FFF\",\n cx: 187,\n cy: 187,\n r: 187\n}), /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#000\",\n filter: \"url(#essential-blocks_svg__a)\",\n xlinkHref: \"#essential-blocks_svg__b\"\n}), /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#23282D\",\n xlinkHref: \"#essential-blocks_svg__b\"\n}));\n\nvar SvgEssentialBlocks = function SvgEssentialBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgEssentialBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"style\", null, \".forms-gutenberg_svg__st5{opacity:.1}.forms-gutenberg_svg__st6{opacity:.16}.forms-gutenberg_svg__st7{opacity:.6}.forms-gutenberg_svg__st8{fill:#fff}.forms-gutenberg_svg__st9{opacity:.3}\");\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_1_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 23.101,\n y1: 4.596,\n x2: 17.855,\n y2: 19.01,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#4facfe\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00f2fe\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 13.1l-1-2.8-5.2 1.9c0 .1.1.3.1.4.1.2.1.5.1.7 0 .1 0 .3.1.4v.8c0 .5.1 1 0 1.6v1c-.1.5-.1 1-.3 1.6h.1c-.1.5-.2 1-.5 1.4-.1.4-.3.8-.4 1.2-.2.4-.3.7-.5 1.1-.1.2-.2.4-.3.5-.1.2-.2.3-.3.5-.2.4-.5.7-.7 1-.1.2-.3.4-.4.5-.1.1-.2.3-.3.4-.1.1-.2.3-.3.4l-.9.9-.4.4c-.3.2-.6.5-.9.7-.1.1-.2.2-.3.2-.2.2-.4.3-.7.5-.1.1-.2.1-.2.2-.2.1-.3.2-.5.3-.2.1-.3.2-.5.3l-.6.3c-.2.1-.3.2-.5.2-.1 0-.1.1-.2.1 0 0-.1 0-.1.1-.1 0-.2.1-.3.1-.2.1-.5.2-.7.3 1.8.3 3.7.4 5.5 0 1.8-.3 3.6-1 5.2-2 2.2-1.3 3.9-3.2 5.1-5.3 1.2-2.1 1.7-4.5 1.5-6.8-.1-1.2-.3-2.1-.7-3.1z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_1_)\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_2_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 20.054,\n y1: 13.455,\n x2: 18.011,\n y2: 19.068,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#00c6fb\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#005bea\"\n}));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.8 12.2l-6.4 2.3c-.4.1-.8.4-1.1.6-.3.3-.6.6-.8 1-.2.4-.3.8-.4 1.2 0 .4 0 .8.2 1.2.1.4.4.7.6 1 .3.3.6.5 1 .7.4.2.8.2 1.3.2.4 0 .9-.1 1.3-.2l4.4-1.6c.5-2.2.4-4.4-.1-6.4z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_2_)\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_3_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 15.53,\n y1: 4.084,\n x2: 8.873,\n y2: 22.373,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#89f7fe\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#66a6ff\"\n}));\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5 19.9c-.4.9-1 1.7-1.7 2.4s-1.6 1.2-2.6 1.6c-.4.2-.9.3-1.4.4-.5.1-.9.1-1.4.1-1.4 0-2.7-.4-3.8-1.1-.2-.1-.4-.2-.7-.3-2-1-3.7-2.5-4.9-4.3-1.2-1.8-1.8-3.9-1.9-6v-.2c-1.8 2.9-2.3 6.2-1.5 9.2s2.9 5.6 5.8 7.2c1.2.6 2.5 1.1 3.8 1.3 3.2-1.2 6-3.2 7.9-5.8 1.1-1.5 1.9-2.9 2.4-4.5z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_3_)\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_4_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 19.95,\n y1: 23.365,\n x2: 17.904,\n y2: 28.987,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#4facfe\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00f2fe\"\n}));\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.5 1.6l-5.9 2.1c0 .1-.1.2-.1.3-.1.3-.2.5-.2.8-.2.6-.5 1.3-.8 1.9-.1.1-.1.2-.2.4v.1c-.1.2-.2.3-.3.5-.1.2-.2.3-.3.5-.1.1-.2.3-.3.4-.1.1-.1.2-.2.3l-.2.2c-.1.1-.2.2-.2.3l-.1.1c-.1.1-.2.3-.3.4v.1c-.1.1-.2.3-.4.4-.1.1-.2.3-.3.4 0 .1-.1.1-.1.1l-.3.3-.4.4-.3.3c.1-.1.3-.1.4-.2l6.4-2.3 1.2-.6c1.3-.8 2.3-1.9 2.9-3.3.4-1.2.4-2.6 0-3.9z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_4_)\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_5_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 15.998,\n y1: 11.362,\n x2: 10.556,\n y2: 26.312,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#00c6fb\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#005bea\"\n}));\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.6 3.8l-6.8 2.5c-3 1.1-5.6 3.1-7.3 5.7-.1.1-.2.3-.3.4v1.1c0 .2 0 .4.1.6 0 .1 0 .2.1.3 0 .1.1.3.1.4 0 .1.1.2.1.3v.2l.3.9c0 .1.1.1.1.2s0 .1.1.2v.1s0 .1.1.1c0 .1.1.2.2.4 0 0 0 .1.1.1.1.2.1.3.2.5.1.1.1.2.2.3 0 .1.1.1.1.2.2.3.3.5.5.8.1.1.1.2.2.2.3.4.6.8 1 1.2l.3.3c.2.2.5.4.7.6.1.1.2.2.3.2.3.2.6.5.9.7.2.1.3.2.5.3.2.1.3.2.5.3 0 0 .1 0 .1.1.2.1.3.2.5.2-1.1-.7-1.9-1.7-2.4-2.9-.1-.8-.2-1.6-.1-2.5 0-.8.3-1.7.7-2.5.8-1.4 2.1-2.6 3.7-3.3l.3-.3.4-.4.3-.3.1-.1c.1-.1.2-.2.3-.4l.4-.4V10c.1-.1.2-.3.3-.4l.1-.1c.1-.1.2-.2.2-.3L16 9c.1-.1.1-.2.2-.3.1-.1.2-.3.3-.4.1-.2.2-.3.3-.5.1-.2.2-.3.3-.5v-.1c.1-.1.1-.2.2-.4.3-.6.6-1.2.8-1.9.1-.3.2-.5.2-.8.2-.1.3-.2.3-.3z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_5_)\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st5\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2 23.8c-.4.2-.9.3-1.4.4-2 1.7-4.7 3.2-8.4 4.6 1.2.6 2.5 1.1 3.8 1.3 3.2-1.2 6-3.2 7.9-5.8 1-1.4 1.8-2.8 2.3-4.4-.4.9-1 1.7-1.7 2.4s-1.6 1.2-2.5 1.5z\"\n}));\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st6\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.8 12.2l-.6.2c.2 2.3-.3 4.7-1.4 6.9l2-.7c.6-2.2.5-4.4 0-6.4z\"\n}));\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st5\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.2 8.9c-1.1.9-2 1.9-2.8 3.1-.1.1-.2.3-.3.4v1.1c0 .2 0 .4.1.6 0 .1 0 .2.1.3 0 .1.1.3.1.4 0 .1.1.2.1.3v.2l.3.9c0 .1.1.1.1.2s0 .1.1.2v.1s0 .1.1.1c0 .1.1.2.2.4 0 0 0 .1.1.1.1.2.1.3.2.5.1.1.1.2.2.3 0 .1.1.1.1.2.2.3.3.5.5.8.1.1.1.2.2.2.3.4.6.8 1 1.2l.3.3c.2.2.5.4.7.6.1.1.2.2.3.2.3.2.6.5.9.7.2.1.3.2.5.3.2.1.3.2.5.3 0 0 .1 0 .1.1.2.1.3.2.5.2-1.1-.7-1.9-1.7-2.4-2.9C7.4 18 6 14.4 6.9 9.1c.3-.1.3-.2.3-.2z\"\n}));\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st5\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5 2.4l-3.9 1.4c0 .1-.1.2-.1.3-.1.3-.2.5-.2.8-.2.6-.5 1.3-.8 1.9-.1.1-.1.2-.2.4v.1c-.1.2-.2.3-.3.5-.1.2-.2.3-.3.5-.1.1-.2.3-.3.4-.1.1-.1.2-.2.3-.1 0-.1 0-.2.1s-.2.2-.2.3l-.1.1c-.1.1-.2.3-.3.4v.1c-.1.1-.2.3-.4.4-.1.1-.2.3-.3.4 0 .1-.1.1-.1.1l-.3.3-.4.4-.3.3c.1-.1.3-.1.4-.2l1.7-.6c2.9-2.4 5.2-5.3 6.8-8.5-.1 0-.1-.1 0-.2z\"\n}));\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"forms-gutenberg_svg__st8\",\n d: \"M22.1 21.1c-.8 1.9-2 3.6-3.5 5.1-1.5 1.5-3.3 2.7-5.3 3.6.1 0 .2-.1.5-.2.2-.1.4-.1.6-.2.3-.1.5-.2.8-.3.1-.1.3-.1.4-.2.1-.1.3-.2.4-.3l.9-.6c.3-.2.6-.4.9-.7.3-.3.6-.5.9-.8.3-.3.6-.6.8-.9.3-.3.5-.6.7-.9l.6-.9c.2-.3.3-.5.5-.8.1-.3.2-.5.3-.7.1-.2.1-.4.2-.6.2-.4.2-.6.3-.6z\"\n})));\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"forms-gutenberg_svg__st8\",\n d: \"M18.6 3.8l-.2.4-.5 1-.3.6c-.1.2-.2.5-.4.7L16.3 8c-.3.5-.6 1-.9 1.4-.1.2-.2.4-.4.6-.2.2-.3.4-.4.6-.3.4-.5.7-.7.9-.1.2-.2.3-.2.3 2.4-2.3 4.1-5 4.9-8z\"\n})));\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"forms-gutenberg_svg__st8\",\n d: \"M4.9 16.2c-.4-1.2-.7-2.4-.7-3.6v.6c0 .5 0 1 .1 1.5.1.7.3 1.4.5 2 .1.3.2.7.4 1 .2.4.4.7.6 1.1.2.3.5.7.7 1 .1.2.3.3.4.5l.4.4c.3.3.6.5.9.7.3.2.5.4.8.6.2.2.5.3.8.4l.6.3c.3.1.5.2.5.2-2.8-1.5-4.9-3.8-6-6.7z\"\n})));\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st9\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.5 1.6L11.8 6.2c-3 1.1-5.6 3.1-7.3 5.7.3-.4.6-.7.9-1.1.3-.4.6-.7 1-1 .3-.3.6-.5.9-.8-.1 0 0 0 0 0 .4-.3.8-.6 1.1-.8.4-.3.8-.5 1.2-.7.5-.3 1-.5 1.4-.7.4-.2.9-.3 1.3-.5l1.4-.5 2.7-1 2.7-1c1.1-.4 2.1-.8 3.2-1.2.7-.2 1.3-.5 2-.8l.1.2.1.5.1.5v1l-.1.5-.1.5-.2.5-.2.6-.2.5-.4.4-.3.4-.4.4-.4.4-.4.4-.5.3c1.3-.8 2.3-1.9 2.9-3.3.6-1.3.6-2.7.2-4z\"\n}));\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st9\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 13.1l-1-2.8-4.5 1.6c.8-.2 1.5-.5 2.3-.7.7-.2 1.4-.4 2.1-.7l.7 2.2c.1.4.3.8.4 1.2l.3 1.2c.1.4.1.8.1 1.2v1.2c0 .4-.1.8-.1 1.2-.1.4-.1.8-.3 1.2-.1.4-.2.8-.4 1.2-.1.2-.2.4-.2.6l-.3.6-.3.6-.3.6c-.1.2-.2.4-.3.5-.1.2-.2.4-.4.5l-.4.5-.4.4c-.1.2-.3.3-.4.5l-.5.5c-.3.3-.7.6-1 .9-.3.3-.7.5-1.1.8 2.2-1.3 3.9-3.2 5.1-5.3 1.2-2.1 1.7-4.5 1.5-6.8 0-1-.2-1.9-.6-2.9z\"\n}));\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"text\", {\n transform: \"translate(300 167.5)\",\n fontFamily: \"MyriadPro-Regular\",\n fontSize: 12\n}, \"32\");\n\nvar SvgFormsGutenberg = function SvgFormsGutenberg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"forms-gutenberg_svg__Layer_1\",\n viewBox: \"0 0 32 32\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21);\n};\n\nexport default SvgFormsGutenberg;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b3c315\",\n d: \"M70 54h41v18H70z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#96a40a\",\n d: \"M65 54h5v18h-5z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b3c315\",\n d: \"M94 50h13v3H94z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#96a40a\",\n d: \"M89 50h5v3h-5z\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b3c315\",\n d: \"M74 50h13v3H74z\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#96a40a\",\n d: \"M69 50h5v3h-5z\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b977c7\",\n d: \"M72 92h13v3H72z\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#9e5cac\",\n d: \"M67 92h5v3h-5z\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b977c7\",\n d: \"M51 92h13v3H51z\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#9e5cac\",\n d: \"M46 92h5v3h-5z\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#49c3f5\",\n d: \"M92 75h19v19H92z\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#109ad4\",\n d: \"M87 75h5v19h-5z\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 97h86l-18 19H43L25 97z\",\n fill: \"#b977c7\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#9e5cac\",\n d: \"M20 97l18 19h5L25 97z\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111 36H25l18-19h50l18 19z\",\n fill: \"#f1b014\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f09108\",\n d: \"M43 17h-5L20 36h5z\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f1b014\",\n d: \"M51 12h14v3H51z\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f09108\",\n d: \"M46 12h5v3h-5z\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f1b014\",\n d: \"M73 12h14v3H73z\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f09108\",\n d: \"M68 12h5v3h-5z\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#49c3f5\",\n d: \"M25 39h18v26H25z\"\n});\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#109ad4\",\n d: \"M20 39h5v26h-5z\"\n});\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#d25e4d\",\n d: \"M20 68h5v26h-5z\"\n});\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#e67666\",\n d: \"M25 68h18v26H25z\"\n});\n\nvar SvgGetwid = function SvgGetwid(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 128 128\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24);\n};\n\nexport default SvgGetwid;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201 94.59h12.5H201zm-146 0h12.5H55zm20.038 115.868c-6.137-3.161-13.675-.749-16.836 5.388-3.162 6.137-.75 13.675 5.387 16.837l11.45-22.225zm117.373 22.225c6.137-3.162 8.549-10.7 5.387-16.837-3.161-6.137-10.699-8.549-16.836-5.388l11.449 22.225zM128 33.5c33.318 0 60.5 27.256 60.5 61.09h25c0-47.45-38.185-86.09-85.5-86.09v25zm60.5 61.09c0 33.835-27.182 61.091-60.5 61.091v25c47.315 0 85.5-38.639 85.5-86.09h-25zM128 155.682c-33.319 0-60.5-27.256-60.5-61.09h-25c0 47.451 38.185 86.09 85.5 86.09v-25zm-60.5-61.09C67.5 60.756 94.681 33.5 128 33.5v-25c-47.315 0-85.5 38.64-85.5 86.09h25zm-3.91 138.092c40.937 21.089 87.883 21.089 128.821 0l-11.449-22.225c-33.754 17.389-72.17 17.389-105.924 0L63.59 232.683z\"\n});\n\nvar SvgGhostkit = function SvgGhostkit(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgGhostkit;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"style\", null);\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"guteblock_svg__prefix__Layer_1\"\n}, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"guteblock_svg__prefix__SVGID_1_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 68.035,\n y1: 10.602,\n x2: 33.222,\n y2: 86.651\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#ffd500\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.258,\n stopColor: \"#ff683e\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.498,\n stopColor: \"#ff1d6b\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.781,\n stopColor: \"#5d25cd\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#3eb9fa\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.95 17.49L17.49 31.95c-9.14 9.14-9.14 23.96 0 33.1L34.94 82.5c9.14 9.14 23.96 9.14 33.1 0L82.5 68.04c9.14-9.14 9.14-23.96 0-33.1L65.06 17.49c-9.15-9.14-23.96-9.14-33.11 0z\",\n fill: \"url(#guteblock_svg__prefix__SVGID_1_)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.81 36.74c-3.94 0-7.64 1.53-10.43 4.32l-5.85 5.85a6.488 6.488 0 000 9.17 6.488 6.488 0 009.17 0l5.85-5.85c.43-.43.92-.52 1.26-.52.34 0 .83.09 1.26.52.43.43.52.92.52 1.26 0 .34-.09.83-.52 1.26L52.98 66.83c-.05.05-.1.1-.14.15-.44.47-.96.58-1.32.58-.36.01-.88-.08-1.33-.54L32.98 49.81c-.69-.69-.72-1.79-.09-2.52l14.17-14.17c.05-.05.1-.1.14-.15.67-.71 1.78-.73 2.54-.04l.98.95c2.57 2.49 6.68 2.43 9.17-.14 2.49-2.57 2.43-6.68-.14-9.17l-1.03-1c-.03-.03-.05-.05-.08-.07-5.94-5.57-15.25-5.33-20.82.51l-14.2 14.2c-.05.05-.1.1-.14.15a14.744 14.744 0 00.33 20.61l17.21 17.22c2.8 2.81 6.51 4.34 10.47 4.34h.24c4.01-.06 7.73-1.69 10.49-4.59l14.02-14.02c2.79-2.79 4.32-6.49 4.32-10.43 0-3.94-1.53-7.64-4.32-10.43a14.668 14.668 0 00-10.43-4.32z\",\n fill: \"#fff\"\n}));\n\nvar SvgGuteblock = function SvgGuteblock(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 100 100\",\n \"aria-hidden\": \"true\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgGuteblock;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.388 5.75l-6.716-3.91a1.173 1.173 0 00-1.104 0l-.184.092c0 .046.046.092.046.138v2.3c0 .138-.092.276-.276.276h-2.3c-.138 0-.276-.092-.276-.276v-.828l-.506.276v2.53a.297.297 0 01-.276.276H3.22a.297.297 0 01-.276-.276v-.736l-.138.092c-.322.184-.552.598-.552.966v1.15H3.68c.138 0 .23.092.23.23v2.208c0 .138-.092.23-.23.23H2.254v3.956c0 .368.23.782.552.966l6.716 3.91c.322.184.782.184 1.104 0l6.762-3.864c.322-.184.552-.598.552-.966V6.67c0-.322-.23-.736-.552-.92zm-3.358 7.038l-3.864 2.3L6.21 12.88l-.092-4.508 3.864-2.3 3.68 2.07-.46.782-3.22-1.794-2.944 1.748.046 3.45 2.99 1.656 2.944-1.748v-.644l-2.668-.046v-.92l3.542.092v2.07zM2.3 5.014a.099.099 0 01-.092.092h-.782c-.046 0-.046-.046-.046-.092v-.736c0-.046 0-.092.046-.092h.736c.092 0 .138.046.138.092v.736zM1.518 7.222c0 .092-.046.138-.138.138H.138C.046 7.36 0 7.314 0 7.222V5.98c0-.092.046-.138.138-.138H1.38c.092 0 .138.046.138.138v1.242z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.496 4.048h2.162V6.21H3.496zM7.038 2.254h1.978v1.978H7.038zM3.68 3.174c0 .046-.046.138-.138.138H2.346c-.092 0-.138-.092-.138-.138V1.932c0-.092.046-.138.138-.138h1.196c.092 0 .138.092.138.138v1.242zM6.164 2.622c0 .092-.046.138-.138.138H4.83c-.092 0-.138-.046-.138-.138V1.426c0-.092.046-.138.138-.138h1.196c.092 0 .138.046.138.138v1.196zM8.05 1.38a.099.099 0 01-.092.092H6.9a.099.099 0 01-.092-.092V.322c0-.046.046-.092.092-.092h1.012c.046 0 .092.046.092.092V1.38zM1.564 8.28H3.45v1.886H1.564z\"\n});\n\nvar SvgGutentor = function SvgGutentor(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"-1.1 -0.2 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgGutentor;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.145 6.164L7.855 41.837V6.164h32.29z\",\n fillOpacity: 0.502,\n fillRule: \"nonzero\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.145 41.836L7.855 6.163v35.673h32.29z\",\n fillRule: \"nonzero\"\n});\n\nvar SvgKadenceBlocks = function SvgKadenceBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 48 48\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n strokeLinejoin: \"round\",\n strokeMiterlimit: 1.414,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgKadenceBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.706 7.854l.004.01c.734 2.723.003 5.708-1.395 8.169-1.669 2.927-4.184 5.357-7.464 6.256-4.204 1.164-7.863-.293-10.944-3.149C-.097 15.427-1.665 9.8 2.303 5.352a17.352 17.352 0 015.683-4.009A14.566 14.566 0 0112.498.077c1.734-.184 3.298-.075 4.885.732a14.601 14.601 0 013.615 2.583 9.982 9.982 0 012.708 4.462zm-12.659 4.272a.03.03 0 01.025.012l2.536 3.432c.25.338.66.54 1.1.54h1.573c.246 0 .485-.075.682-.213.502-.353.605-1.02.228-1.49l-2.343-2.924a1.188 1.188 0 01.05-1.558l2.045-2.26a.91.91 0 00.24-.61c0-.523-.453-.946-1.011-.946H14.66a1.37 1.37 0 00-1.07.502l-2.534 3.173a.032.032 0 01-.025.012c-.009 0-.016-.007-.016-.015V7.359c0-.69-.598-1.25-1.336-1.25h-.925c-.739 0-.81.56-.81 1.25v7.5c0 .69.071 1.25.81 1.25h.94c.738 0 1.337-.56 1.337-1.25v-2.718c0-.008.007-.015.015-.015z\"\n});\n\nvar SvgKiokenBlocks = function SvgKiokenBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 -0.5 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgKiokenBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.831 7.877l.001-.009-.001-.009a3.675 3.675 0 01-.132-.247l-.057-.115c-.277-.498-.381-.99-1.033-1.064h-.048a.91.91 0 00-.908.862v.002c.674.126 1.252.278 1.813.468l-.092-.027.283.096.147.053s.028 0 .028-.011z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.982 13.574a68.843 68.843 0 00-.39-7.112l.026.299.07-.019a1.1 1.1 0 00.052-2.09l-.008-.002h-.026a2.306 2.306 0 01-1.149-.861l-.005-.007C19.852-.178 14.3.001 14.3.001S8.75-.178 6.05 3.782c-.28.401-.676.704-1.14.862l-.016.005a1.097 1.097 0 00-.754 1.04v.026-.001l-.001.034c0 .493.335.907.789 1.029l.007.002.045.011a65.7 65.7 0 00-.364 6.801v.012s-9.493 13.012-1.277 17.515c4.733 2.431 6.881-.769 6.881-.769s1.397-1.661-1.784-3.355v-4.609a.638.638 0 01.625-.628h1.212v-.59c0-.275.223-.498.498-.498h1.665a.498.498 0 01.496.498v.59h2.721v-.59c0-.275.223-.498.498-.498h1.665c.271.005.49.226.49.498v.59h1.209c.349 0 .633.28.639.627v4.584c-3.193 1.703-1.784 3.355-1.784 3.355s2.148 3.193 6.879.769c8.222-4.503-1.269-17.515-1.269-17.515zm-1.396-3.313a6.398 6.398 0 01-1.563 3.797l.007-.008c-1.703 2.01-4.407 3.249-6.721 4.432-2.325-1.177-5.026-2.416-6.736-4.432a6.43 6.43 0 01-1.555-3.769l-.001-.02c-.126-2.22.583-5.929 3.044-6.74 2.416-.788 3.947 1.288 4.494 2.227a.863.863 0 001.488.004l.002-.004c.551-.932 2.08-3.008 4.494-2.22 2.474.805 3.174 4.513 3.046 6.734z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.463 10.087h-.028c-.192.026-.121.251-.047.356.254.349.407.787.407 1.26v.018-.001a1.277 1.277 0 01-.633 1.1l-.006.003c-.739.426-1.377-.145-2.054-.398a7.5 7.5 0 00-2.42-.455h-.009v-1.033a4.886 4.886 0 002.551-1.486l.004-.004a.916.916 0 00-.158-1.383l-.003-.002a4.738 4.738 0 00-2.764-.881 4.752 4.752 0 00-2.819.92l.013-.009a.9.9 0 00-.146 1.317l-.001-.001a4.906 4.906 0 002.553 1.53l.033.007v1.05a8.061 8.061 0 00-2.118.343l.057-.015a5.578 5.578 0 00-.908.358l.033-.015c-.519.26-1.037.436-1.58.121a1.218 1.218 0 01-.617-1.058v-.007-.007c0-.47.153-.905.411-1.257l-.004.006c.047-.068.089-.17.026-.241s-.189 0-.27.03a1.592 1.592 0 00-.479.381l-.002.002a1.716 1.716 0 00-.394 1.097v.011-.001a1.93 1.93 0 00.964 1.651l.009.005c.296.178.654.283 1.036.283.364 0 .706-.095 1.001-.263l-.01.005a6.51 6.51 0 013.225-.728h-.01.03c1.277 0 2.382.266 3.266.775.27.159.594.253.94.253h.003c.355-.002.688-.098.974-.265l-.009.005a2.028 2.028 0 001.007-1.75v-.004l.002-.086c0-.625-.34-1.171-.846-1.462l-.008-.004a.388.388 0 00-.199-.07h-.001zm-6.362-1.256c-.238.213-.468.581-.832.345a.933.933 0 01-.161-.136.352.352 0 01.081-.555l.002-.001c.594-.309 1.203-.543 1.884-.49-.324.281-.649.56-.973.837z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.89 13.578a1.988 1.988 0 01-3.173.005l-.004-.005a.36.36 0 10-.576.427 2.707 2.707 0 004.323.007l.005-.007a.362.362 0 00-.072-.498l-.001-.001a.356.356 0 00-.501.071l-.001.001zM18.507 11.707a.35.35 0 11-.702 0 .35.35 0 01.702 0zM17.389 11.049a.35.35 0 11-.702 0 .35.35 0 01.702 0zM10.798 11.707a.35.35 0 11-.702 0 .35.35 0 01.702 0zM11.918 11.049a.35.35 0 11-.702 0 .35.35 0 01.702 0zM8.773 7.877l-.002-.009.002-.009c.047-.081.089-.164.132-.247.019-.038.036-.079.057-.115.275-.498.379-.99 1.033-1.064h.046c.487 0 .884.382.91.862v.002c-.678.124-1.261.277-1.827.468l.092-.027-.275.096-.1.036-.045.017s-.023 0-.023-.011z\"\n});\n\nvar SvgOtterBlocks = function SvgOtterBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 29 32\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4);\n};\n\nexport default SvgOtterBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h21v21H0z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.296 9.925c.014.013.029.022.042.034l-2.456 2.455A5.376 5.376 0 014.697 10.9C4.232 10.024 4 9.02 4 7.884c0-1.134.232-2.15.697-3.045.21-.402.456-.76.732-1.081l2.514 2.514c-.245.432-.375.966-.375 1.612 0 .902.243 1.582.728 2.04zm7.782-7.707v12.19l-4.393-4.394c.053-.044.108-.08.159-.13.499-.485.749-1.172.749-2.06 0-.68-.15-1.24-.441-1.679l3.926-3.927z\",\n fill: \"#444\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.593 11.7c-.793 1.312-1.928 1.968-3.405 1.968a4.878 4.878 0 01-2.614-.728 4.966 4.966 0 01-.691-.525L8.338 9.96c.478.433 1.054.654 1.732.654.614 0 1.15-.207 1.615-.598l4.393 4.393V19h-3.485v-7.3zm3.485-9.597v.116l-3.926 3.927a2.476 2.476 0 00-2.082-1.09c-.684 0-1.272.242-1.764.727-.144.143-.26.31-.363.49L5.43 3.759a5.031 5.031 0 011.155-1.01A4.795 4.795 0 019.188 2c1.531 0 2.666.588 3.405 1.764V2.103h3.485z\",\n fill: \"#000\"\n}));\n\nvar SvgQodeblock = function SvgQodeblock(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgQodeblock;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.38 8.8c0-2.42-.88-4.4-2.53-6.05C13.2 1.1 11.11.22 8.8.22s-4.4.88-6.05 2.53C1.1 4.4.22 6.38.22 8.8s.88 4.4 2.53 6.05c1.65 1.65 3.63 2.53 6.05 2.53.99 0 1.98-.11 2.86-.44l-2.42-2.53c-.11-.11-.33-.22-.44-.22-1.54 0-2.75-.55-3.74-1.54-1.1-.99-1.54-2.31-1.54-3.85s.55-2.86 1.54-3.85c.99-.99 2.2-1.54 3.74-1.54s2.75.55 3.74 1.54c.99.99 1.54 2.31 1.54 3.85 0 .77-.11 1.54-.44 2.2-.22.55-.88.66-1.32.22-1.21-1.21-3.08-1.32-4.4-.22l2.75 2.86 2.31 2.42c.99.99 2.64 1.1 3.74.11l.33-.33-1.43-1.43c-.22-.22-.22-.44 0-.66a8.383 8.383 0 001.76-5.17z\"\n});\n\nvar SvgQubely = function SvgQubely(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"-1 -1 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgQubely;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.982 16.711a4.48 4.48 0 01-7.965 0A4.972 4.972 0 0110 14.709c1.629 0 3.074.789 3.982 2.002zm-.748-7.657c-.314 2.56 1.248 2.919 1.248 5.603a4.5 4.5 0 01-.205 1.344 5.635 5.635 0 00-8.554 0 4.5 4.5 0 01-.205-1.344c0-2.684 1.563-3.043 1.247-5.603C6.403 6.126 2.45 6.589 2.45 3.72A2.857 2.857 0 015.308.862C7.017.862 8.073 2.42 10 2.42c1.926 0 2.982-1.558 4.691-1.558a2.857 2.857 0 012.857 2.858c.001 2.869-3.952 2.406-4.314 5.334zM8.557 4.107h-.708a.9.9 0 01-.901.9.9.9 0 01-.901-.9h-.708a1.609 1.609 0 103.218 0zm.979 7.141a.568.568 0 00-.566-.568.567.567 0 10.566.568zm2.062 0a.569.569 0 00-.568-.568.567.567 0 10.568.568zm3.062-7.141h-.707a.9.9 0 01-1.802 0h-.707a1.61 1.61 0 003.216 0z\"\n});\n\nvar SvgSnowMonkeyBlocks = function SvgSnowMonkeyBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgSnowMonkeyBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.08 136L23 176.66a4.75 4.75 0 003.53 8.15l86.91.14zM177.91 128.39a17 17 0 00-5-12.07L71.39 14.72 26.61 59.5a17 17 0 00-5 12.05 17 17 0 005 12.05l101.55 101.6v-.07l44.76-44.76a17 17 0 005-12zM172.95 14.69H86.12l49.42 49.62 40.92-41.16a5 5 0 00-3.51-8.46z\"\n});\n\nvar SvgStackableUltimateGutenbergBlocks = function SvgStackableUltimateGutenbergBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 200 200\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgStackableUltimateGutenbergBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.9.3C12.2.3.3 12.2.3 26.8s11.9 26.5 26.5 26.5c14.7 0 26.5-11.9 26.5-26.5S41.5.3 26.9.3zm-2 27.7c0 1.1-.1 2.2-.4 3.2-.3 1-.7 1.8-1.3 2.6-.6.7-1.3 1.3-2.2 1.7-.9.4-2 .6-3.2.6-1.3 0-2.4-.2-3.3-.7-.9-.4-1.7-1-2.2-1.8-.6-.7-1-1.6-1.3-2.6-.3-1-.4-2-.4-3.1v-8.3h3.8V28c0 .6.1 1.2.2 1.8s.3 1.1.6 1.5c.3.4.6.8 1.1 1.1s1 .4 1.6.4 1.2-.1 1.6-.4.8-.6 1.1-1.1c.3-.4.5-1 .6-1.5.1-.6.2-1.2.2-1.8v-8.3h3.8c-.3 0-.3 8.3-.3 8.3zm17.2 8H39v-1.6c-1.2 1.1-2.7 1.7-4.3 1.7-1.1 0-2.1-.2-3-.6-.9-.4-1.8-1-2.5-1.7s-1.3-1.6-1.7-2.6c-.4-1-.6-2.2-.6-3.4 0-1.1.2-2.2.6-3.2.4-1 1-1.9 1.7-2.6.7-.7 1.6-1.3 2.6-1.7 1-.4 2.1-.6 3.2-.6 1.5 0 2.8.3 4 1 1.1.6 2 1.5 2.5 2.6l-2.8 2.1c-.4-.7-.9-1.3-1.6-1.7-.7-.4-1.4-.6-2.3-.6-.6 0-1.2.1-1.7.4s-1 .6-1.3 1.1-.7 1-.8 1.6c-.2.6-.3 1.2-.3 1.9s.1 1.4.3 1.9c.2.6.5 1.1.9 1.5.4.4.8.8 1.4 1 .5.2 1.1.4 1.8.4 1.5 0 2.8-.7 4-2v-.5h-3.2v-2.7h6.3c-.1-.2-.1 8.3-.1 8.3z\"\n});\n\nvar SvgUltimateAddonsForGutenberg = function SvgUltimateAddonsForGutenberg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 54 54\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgUltimateAddonsForGutenberg;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.9 10v4.1c0 .7-.3 1.2-.9 1.6-2.4 1.4-4.7 2.7-7.1 4.1-.6.4-1.3.4-1.9 0-2.3-1.4-4.6-2.8-7-4.1-.6-.4-.9-.9-.9-1.6V6c0-.7.3-1.2.9-1.6C4.4 3 6.7 1.6 9.1.3c.6-.4 1.3-.4 1.9 0 2.3 1.3 4.6 2.7 7 4 .6.4.9.9.9 1.6V10zm-8.7-6c-.5 0-1 .2-1.5.4-.3.2-.7.4-1.1.6-.9.6-1.8 1.1-2.8 1.7-.2.1-.4.4-.4.7 0 .3.2.5.4.6.3.2.6.1.9 0C7 7.3 8.2 6.5 9.5 5.8c.8-.4 1.7-.2 2.1.5.4.7.1 1.6-.6 2.1-.5.3-1 .6-1.4.8-.8.5-1.6.9-2.5 1.4-.3.2-.4.5-.4.8.1.3.3.6.6.6.2 0 .4 0 .6-.1 1.3-.7 2.5-1.5 3.8-2.2.7-.4 1.6-.2 2 .4.5.7.3 1.7-.5 2.2-1.3.7-2.6 1.5-3.8 2.2-.4.2-.5.7-.3 1.1.2.4.7.5 1.1.3 1.3-.8 2.6-1.5 4-2.3 1.2-.7 1.7-2.1 1.3-3.4-.3-1.1-1-1.8-2.1-2.1-.1 0-.2-.1-.1-.2.1-.2.1-.4.1-.6C13.4 5.5 12 4 10.2 4zm-5.8 7.3c0 .2 0 .4.1.7.5 2 2.7 3 4.5 1.9 1.3-.7 2.6-1.5 3.8-2.2.4-.2.5-.7.3-1.1-.2-.4-.7-.5-1.1-.3-.4.2-.7.4-1.1.6-.9.5-1.8 1-2.7 1.6-.6.3-1.1.3-1.7-.1-.9-.6-.8-1.9.2-2.5 1.3-.7 2.6-1.5 3.8-2.2.5-.2.7-.7.4-1-.2-.4-.7-.5-1.1-.3-1.3.7-2.6 1.5-3.9 2.2-1 .6-1.4 1.5-1.5 2.7z\"\n});\n\nvar SvgUltimateBlocks = function SvgUltimateBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgUltimateBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 0C4 0 0 4 0 9s4 9 9 9 9-4 9-9-4-9-9-9zM6.5 12.6c-.1.1-.1.1-.2.1l-2 .1c-.2 0-.3-.1-.4-.3l-.1-2c0-.1 0-.2.1-.2l5.5-6.4c.1-.1.3-.2.5 0L12 5.7c.1.1.2.3 0 .5l-5.5 6.4zm7.5.2H9.5c-.2 0-.4-.2-.4-.5 0-.2.2-.5.4-.5H14c.2 0 .4.2.4.5s-.2.5-.4.5zm0-1.8h-2.8c-.2 0-.4-.2-.4-.5 0-.2.2-.5.4-.5H14c.2 0 .4.2.4.5s-.2.5-.4.5zm.1-1.8h-1.2c-.2 0-.3-.2-.3-.5s.1-.5.3-.5h1.2c.2 0 .3.2.3.5s-.1.5-.3.5z\"\n});\n\nvar SvgUltimatePost = function SvgUltimatePost(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 18 18\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgUltimatePost;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01A8.87 8.87 0 0110 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z\"\n});\n\nvar SvgWordpress = function SvgWordpress(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"-2 -2 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgWordpress;","/**\n * External dependencies\n */\nimport React, {Component} from 'react';\n\nimport SVGRedux from '../../assets/img/icon.svg'\nimport SVGAcfBlocks from './images/acf-blocks.svg'\nimport SVGAtomicBlocks from './images/atomic-blocks.svg'\nimport SVGAdvancedCustomFields from './images/advanced-custom-fields.svg'\nimport SVGAdvancedGutenbergBlocks from './images/advanced-gutenberg-blocks.svg'\nimport SVGBlockOptions from './images/block-options.svg'\nimport SVGBlockSlider from './images/block-slider.svg'\nimport SVGCoblocks from './images/coblocks.svg'\nimport SVGCreativeBlocks from './images/creative-blocks.svg'\nimport SVGEditorPlus from './images/editorplus.svg'\nimport SVGElegantBlocks from './images/elegant-blocks.svg'\nimport SVGEnhancedBlocks from './images/enhanced-blocks.svg'\nimport SVGEssentialBlocks from './images/essential-blocks.svg'\nimport SVGFormsGutenberg from './images/forms-gutenberg.svg'\nimport SVGGetwid from './images/getwid.svg'\nimport SVGGhostkit from './images/ghostkit.svg'\nimport SVGGuteblock from './images/guteblock.svg'\n// import SVGGutenbergBlock from './images/gutenberg-blocks.png'\nimport SVGGutentor from './images/gutentor.svg'\nimport SVGKadenceBlocks from './images/kadence-blocks.svg'\nimport SVGKiokenBlocks from './images/kioken-blocks.svg'\nimport SVGOtterBlocks from './images/otter-blocks.svg'\nimport SVGQodeblock from './images/qodeblock.svg'\nimport SVGQubely from './images/qubely.svg'\nimport SVGSnowMonkeyBlocks from './images/snow-monkey-blocks.svg'\nimport SVGStackableUltimateGutenbergBlocks from './images/stackable-ultimate-gutenberg-blocks.svg'\nimport SVGUltimateAddonsForGutenberg from './images/ultimate-addons-for-gutenberg.svg'\nimport SVGUltimateBlocks from './images/ultimate-blocks.svg'\nimport SVGUltimatePost from './images/ultimate-post.svg'\nimport SVGWordPress from './images/wordpress.svg'\n\n// export const gutentor = () => {\n// \treturn <SVGGutentorIcon width=\"20\" height=\"20\"/>\n// }\n\n\nexport const redux = () => { return <SVGRedux width=\"20\" height=\"20\"/> }\nexport const acfblocks = () => { return <SVGAcfBlocks width=\"20\" height=\"20\"/> }\nexport const atomicblocks = () => { return <SVGAtomicBlocks width=\"20\" height=\"20\"/> }\nexport const advancedcustomfields = () => { return <SVGAdvancedCustomFields width=\"20\" height=\"20\"/> }\nexport const advancedgutenbergblocks = () => { return <SVGAdvancedGutenbergBlocks width=\"20\" height=\"20\"/> }\nexport const blockoptions = () => { return <SVGBlockOptions width=\"20\" height=\"20\"/> }\nexport const blockslider = () => { return <SVGBlockSlider width=\"20\" height=\"20\"/> }\nexport const coblocks = () => { return <SVGCoblocks width=\"20\" height=\"20\"/> }\nexport const creativeblocks = () => { return <SVGCreativeBlocks width=\"20\" height=\"20\"/> }\nexport const editorplus = () => { return <SVGEditorPlus width=\"20\" height=\"20\"/> }\nexport const elegantblocks = () => { return <SVGElegantBlocks width=\"20\" height=\"20\"/> }\nexport const enhancedblocks = () => { return <SVGEnhancedBlocks width=\"20\" height=\"20\"/> }\nexport const essentialblocks = () => { return <SVGEssentialBlocks width=\"20\" height=\"20\"/> }\nexport const formsgutenberg = () => { return <SVGFormsGutenberg width=\"20\" height=\"20\"/> }\nexport const getwid = () => { return <SVGGetwid width=\"20\" height=\"20\"/> }\nexport const ghostkit = () => { return <SVGGhostkit width=\"20\" height=\"20\"/> }\nexport const guteblock = () => { return <SVGGuteblock width=\"20\" height=\"20\"/> }\nexport const gutenbergblock = () => { return <SVGGutenbergBlock width=\"20\" height=\"20\"/> }\nexport const gutentor = () => { return <SVGGutentor width=\"20\" height=\"20\"/> }\nexport const kadenceblocks = () => { return <SVGKadenceBlocks width=\"20\" height=\"20\"/> }\nexport const kiokenblocks = () => { return <SVGKiokenBlocks width=\"20\" height=\"20\"/> }\nexport const otterblocks = () => { return <SVGOtterBlocks width=\"20\" height=\"20\"/> }\nexport const qodeblock = () => { return <SVGQodeblock width=\"20\" height=\"20\"/> }\nexport const qubely = () => { return <SVGQubely width=\"20\" height=\"20\"/> }\nexport const snowmonkeyblocks = () => { return <SVGSnowMonkeyBlocks width=\"20\" height=\"20\"/> }\nexport const stackableultimategutenbergblocks = () => { return <SVGStackableUltimateGutenbergBlocks width=\"20\" height=\"20\"/> }\nexport const ultimateaddonsforgutenberg = () => { return <SVGUltimateAddonsForGutenberg width=\"20\" height=\"20\"/> }\nexport const ultimateblocks = () => { return <SVGUltimateBlocks width=\"20\" height=\"20\"/> }\nexport const ultimatepost = () => { return <SVGUltimatePost width=\"20\" height=\"20\"/> }\nexport const wordpress = () => { return <SVGWordPress width=\"20\" height=\"20\"/> }\n\nimport SVGReduxTemplatesIcon from '../../assets/img/icon.svg'\nimport SVGReduxTemplatesColorIcon from '../../assets/img/icon-color.svg'\n//\n//\n// export const reqSvgs = require.context ( './images/third-party', true, /\\.svg$/ )\n//\n// export const reqSvgsKeys = reqSvgs.keys()\n//\n// const iconLoader = (path) => import(path);\n//\n// export const icons = {\n// \t'redux': iconLoader('../../assets/img/icon.svg'),\n// \t'forms-gutenberg': iconLoader('./images/forms-gutenberg.svg')\n// }\n//\n// export const svgs = reqSvgs\n// \t.keys ()\n// \t.reduce ( ( images, path ) => {\n// \t\timages[path.replace('./', '').replace('.svg', '')] = reqSvgs ( path )\n// \t\treturn images\n// \t}, {} )\n//\n// function importAll(r) {\n// \tlet images = {};\n// \tr.keys().map((item, index) => { images[item.replace('./', '').replace('.svg', '')] = r(item); });\n// \treturn images;\n// }\n// export const images = importAll(require.context( './images/third-party', false, /\\.(svg)$/));\n\n\n\n/**\n * WordPress dependencies\n */\nimport {cloneElement, render} from '@wordpress/element'\nimport domReady from '@wordpress/dom-ready'\nimport {updateCategory} from '@wordpress/blocks'\n\nexport const colorizeIcon = SvgIcon => {\n\treturn cloneElement(SvgIcon, {\n\t\tfill: 'url(#redux-gradient)',\n\t\tclassName: 'redux-icon-gradient',\n\t})\n}\n\nexport const thirdPartyIcon = (icon) => {\n\tif (icon) {\n\t\treturn <icon width=\"20\" height=\"20\"/>\n\t}\n}\n\n// Add an icon to our block category.\nif (typeof window.wp.blocks !== 'undefined' && typeof window.wp.blocks.updateCategory !== 'undefined') {\n\tupdateCategory(redux_templates.i18n, {\n\t\ticon: colorizeIcon(<SVGReduxTemplatesIcon className=\"components-panel__icon\" width=\"20\" height=\"20\"/>),\n\t})\n}\n\n// Add our SVG gradient placeholder definition that we'll reuse.\ndomReady(() => {\n\tconst redux_templatesGradient = document.createElement('DIV')\n\tdocument.querySelector('body').appendChild(redux_templatesGradient)\n\trender(\n\t\t<svg\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tclassName=\"redux-gradient\"\n\t\t\theight=\"0\"\n\t\t\twidth=\"0\"\n\t\t\tstyle={{opacity: 0}}\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<linearGradient id=\"redux-gradient\">\n\t\t\t\t\t<stop offset=\"0%\" stopColor=\"#8c33da\" stopOpacity=\"1\"/>\n\t\t\t\t\t<stop offset=\"100%\" stopColor=\"#f34957\" stopOpacity=\"1\"/>\n\t\t\t\t</linearGradient>\n\t\t\t</defs>\n\t\t</svg>,\n\t\tredux_templatesGradient\n\t)\n})\n\nexport const ReduxTemplatesIcon = () => {\n\treturn <SVGReduxTemplatesIcon width=\"20\" height=\"20\"/>\n}\n\nexport const ReduxTemplatesIconColor = () => {\n\treturn <SVGReduxTemplatesColorIcon width=\"20\" height=\"20\"/>\n}\n\nexport const ReduxTemplatesIconColorize = () => {\n\treturn colorizeIcon(<SVGReduxTemplatesIcon width=\"20\" height=\"20\"/>)\n}\nexport const core = () => {\n\treturn <SVGWordPress width=\"20\" height=\"20\"/>\n}\n//\n// export const AdvancedGutenbergBlocks = () => {\n// \treturn <SVGAdvancedGutenbergBlocksIcon width=\"20\" height=\"20\"/>\n// }\n// export const advancedgutenbergblocks = () => <AdvancedGutenbergBlocks/>\n//\n// export const AdvancedGutenberg = () => {\n// \treturn <SVGAdvancedGutenbergIcon width=\"20\" height=\"20\"/>\n// }\n// export const advancedgutenbergIcon = () => <AdvancedGutenberg/>\n//\n// export const AtomicBlocks = () => {\n// \treturn <SVGAtomicBlocksIcon width=\"20\" height=\"20\"/>\n// }\n// export const atomicblocks = () => <AtomicBlocks/>\n//\n// export const CoBlocks = () => {\n// \treturn <SVGCoBlocksIcon width=\"20\" height=\"20\"/>\n// }\n// export const Coblocks = () => <CoBlocks/>\n// export const coblocks = () => <CoBlocks/>\n//\n// export const Stackable = () => {\n// \treturn <SVGStackableIcon width=\"20\" height=\"20\"/>\n// }\n// export const stackable = () => <Stackable/>\n// export const stackableultimategutenbergblocks = () => <Stackable/>\n//\n// export const Qubely = () => {\n// \treturn <SVGQubelyIcon width=\"20\" height=\"20\"/>\n// }\n// export const qubely = () => <Qubely/>\n//\n// export const Kioken = () => {\n// return <SVGKiokenIcon width=\"20\" height=\"20\"/>\n// }\n// export const kioken = () => <Kioken/>\n// export const kiokenblocks = () => <Kioken/>\n//\n// export const kadenceblocks = () => {\n// \treturn <SVGKadenceIcon width=\"20\" height=\"20\"/>\n// }\n//\n// export const CreativeBlocks = () => {\n// \treturn <SVGCreativeBlocksIcon width=\"20\" height=\"20\"/>\n// }\n// export const creativeblocks = () => <CreativeBlocks/>\n// export const qb = () => <CreativeBlocks/>\n//\n// export const EssentialBlocks = () => {\n// \treturn <SVGEssentialBlocksIcon width=\"20\" height=\"20\"/>\n// }\n// export const essentialblocks = () => <EssentialBlocks/>\n// export const eb = () => <EssentialBlocks/>\n//\n// export const UltimateAddonsForGutenberg = () => {\n// \treturn <SVGUltimateAddonsForGutenbergIcon width=\"20\" height=\"20\"/>\n// }\n// export const ultimateaddonsforgutenberg = () => <UltimateAddonsForGutenberg/>\n//\n//\n// export const UltimateBlocks = () => {\n// \treturn <SVGUltimateBlocksIcon width=\"20\" height=\"20\"/>\n// }\n// export const ultimateblocks = () => <UltimateBlocks/>\n//\n// export const gutentor = () => {\n// \treturn <SVGGutentorIcon width=\"20\" height=\"20\"/>\n// }\n//\n//\n// export const GutenbergForms = () => {\n// \treturn <SVGGutenbergFormsIcon width=\"20\" height=\"20\"/>\n// }\n// export const gutenbergforms = () => <GutenbergForms/>\n// export const formsgutenberg = () => <GutenbergForms/>\n//\n","/**\n * Library Button\n */\n\n/**\n * WordPress dependencies\n */\nimport domReady from '@wordpress/dom-ready'\nimport { render } from '@wordpress/element'\n\n/**\n * External dependencies\n */\nimport './editor.scss'\nimport './blocks/blocks'\nimport './plugins/sidebar-share'\nimport './plugins/share-block-btn'\nimport './plugins/export'\nimport './plugins/export-page-menu-item'\nimport './plugins/library-context-menu-item'\nimport TooltipBox from './challenge/tooltip/TooltipBox';\nimport {handlingLocalStorageData} from './stores/helper';\nimport ReduxTemplatesChallenge from './challenge'\nimport {ModalManager} from './modal-manager';\nimport LibraryModal from './modal-library';\nimport './custom-css'\n\n\ndomReady(() => {\n setTimeout(() => {\n const challengeDiv = document.createElement('div');\n challengeDiv.className = 'challenge-tooltip-holder';\n document.body.appendChild(challengeDiv);\n const challengeWrapperDiv = document.createElement('div');\n challengeWrapperDiv.className = 'challenge-wrapper';\n document.body.appendChild(challengeWrapperDiv);\n\n if (window.location.hash == '#redux_challenge=1') {\n window.location.hash = '';\n ModalManager.open(<LibraryModal />);\n }\n\t\tif (window.location.hash == '#redux_templates=1') {\n\t\t\twindow.location.hash = '';\n\t\t\tModalManager.open(<LibraryModal />);\n }\n\n // For frontenberg, we open the dialog automatically.\n if (document.body.classList.contains( 'wp-admin' ) === false) {\n ModalManager.open(<LibraryModal />);\n }\n render(<ReduxTemplatesChallenge />, challengeWrapperDiv);\n render(<TooltipBox />, challengeDiv);\n\n handlingLocalStorageData();\n }, 500)\n});\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n'\nimport { ModalManager } from '~redux-templates/modal-manager';\nimport Form from '@rjsf/core';\nimport {BlockPreview} from '@wordpress/block-editor';\nconst {useState} = wp.element;\nconst {apiFetch} = wp;\n\nfunction FeedbackDialog(props) {\n const {title, description, schema, uiSchema, headerImage, headerIcon, data, ignoreData, endpoint, width, buttonLabel} = props;\n const {closeModal, onSuccess} = props;\n\n const [loading, setLoading] = useState(false);\n const [errorMessage, setErrorMessage] = useState(null);\n\n const onSubmit = ({formData}) => {\n const path = `redux/v1/templates/${endpoint ? endpoint : 'feedback'}`;\n if (loading) return;\n setLoading(true);\n apiFetch({\n path,\n method: 'POST',\n data: ignoreData ? formData : {...data, ...formData}\n }).then(data => {\n setLoading(false);\n if (data.success) {\n setErrorMessage(null);\n if (onSuccess) onSuccess(data); else onCloseModal();\n } else {\n console.log('There was an error: ', data);\n setErrorMessage(__('An unexpected error occured, please try again later.', redux_templates.i18n));\n }\n }).catch(err => {\n setLoading(false);\n console.log('There was an error: ', err);\n setErrorMessage(__('An unexpected error occured, please try again later.', redux_templates.i18n));\n });\n }\n\n const onCloseModal = () => {\n if (closeModal) closeModal(); else ModalManager.closeFeedback();\n }\n\n const style = width ? {width} : null;\n const wrapperClassname = width ? 'redux-templates-modal-wrapper feedback-popup-wrapper less-margin' : 'redux-templates-modal-wrapper feedback-popup-wrapper';\n\n return (\n <div className=\"redux-templates-modal-overlay\">\n <div className={wrapperClassname} style={style}>\n <div className=\"feedback-popup-header feedback-popup-header-contact\">\n {headerImage}\n {headerIcon}\n <a className=\"feedback-popup-close\" onClick={onCloseModal}>\n <i className='fas fa-times' />\n </a>\n </div>\n <div className=\"feedback-popup-content\">\n <h3>{title}</h3>\n {errorMessage && <p className=\"error-message\">{errorMessage}</p>}\n <p>{description}</p>\n <div className=\"col-wrapper\">\n <Form schema={schema} uiSchema={uiSchema} onSubmit={onSubmit}>\n <button className=\"feedback-popup-btn feedback-popup-rate-btn\" type=\"submit\">\n {loading && <i className=\"fas fa-spinner fa-pulse\"/>}\n {buttonLabel}\n </button>\n </Form>\n { data && data.editor_blocks &&\n <div className=\"preview-panel\">\n <div className=\"redux-templates-block-preview-hover\" />\n <BlockPreview blocks={data.editor_blocks} />\n </div>\n }\n </div>\n </div> {/* /.feedback-popup-content */}\n </div>\n </div>\n );\n}\n\nexport default FeedbackDialog;\n","import React from 'react';\nconst {useState, useEffect, useRef} = wp.element;\nconst {Spinner} = wp.components;\nimport TextTransition, { presets } from 'react-text-transition';\nconst {__} = wp.i18n\n\nconst MESSAGE_DELAY_MILLISECONDS = 4000;\n\nconst MESSAGES_LIST = [\n __('Please wait while your template is prepared.', redux_templates.i18n),\n __('Fetching the template.', redux_templates.i18n),\n __('We\\'re getting closer now.', redux_templates.i18n),\n __('Wow, this is taking a long time.', redux_templates.i18n),\n __('Gah, this should be done by now!', redux_templates.i18n),\n __('Really, this should be done soon.', redux_templates.i18n),\n __('Are you sure your internet is working?!', redux_templates.i18n),\n __('Give up, it looks like it didn\\'t work...', redux_templates.i18n),\n];\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nexport default function ImportingStep(props) {\n const [messageIndex, setMessageIndex] = useState(0);\n const [loadingMessage, setLoadingMessage] = useState(MESSAGES_LIST[0]);\n\n useInterval(() => {\n if (messageIndex === MESSAGES_LIST.length) return;\n setMessageIndex(messageIndex => messageIndex + 1);\n setLoadingMessage([MESSAGES_LIST[messageIndex + 1]]);\n }, MESSAGE_DELAY_MILLISECONDS)\n\n return (\n <div className=\"redux-templates-modal-body\">\n <div className=\"redux-templates-import-wizard-spinner-wrapper\">\n <TextTransition\n text={loadingMessage}\n springConfig={presets.gentle}\n />\n <Spinner/>\n </div>\n </div>\n );\n};\n","import {pluginInfo} from '~redux-templates/stores/dependencyHelper';\n\nconst {apiFetch} = wp;\nconst {compose} = wp.compose;\nconst {withDispatch} = wp.data;\nconst {Fragment, useState} = wp.element;\nconst {__} = wp.i18n;\n\nfunction InstallPluginStep(props) {\n\n const {missingPlugins, toNextStep, onCloseWizard} = props;\n const {setInstalledDependencies} = props;\n const [installingPlugin, setInstallingPlugin] = useState(null);\n const [installedList, setInstalledList] = useState([]);\n const [failedList, setFailedList] = useState([]);\n const [waitingList, setWaitingList] = useState(missingPlugins);\n\n const preInstallInit = () => {\n setInstalledList([]);\n setFailedList([]);\n setWaitingList(missingPlugins);\n setInstallingPlugin(null);\n setInstalledDependencies(false);\n }\n\n const onInstallPlugins = async () => {\n preInstallInit();\n let localInstalledList = [];\n let localFailedList = [];\n let localWaitingList = [...waitingList];\n for (let pluginKey of missingPlugins) {\n const pluginInstance = redux_templates.supported_plugins[pluginKey];\n localWaitingList = localWaitingList.filter(key => key !== pluginKey)\n setWaitingList(localWaitingList);\n if (!pluginKey || !pluginInstance) {\n setInstallingPlugin(null);\n break;\n }\n setInstallingPlugin({...pluginInstance, pluginKey});\n const reduxProSurfix = (pluginInstance.redux_pro) ? '&redux_pro=1' : '';\n await apiFetch({\n path: 'redux/v1/templates/plugin-install?slug=' + pluginKey + reduxProSurfix,\n }).then(res => {\n if (res.success) {\n setInstalledDependencies(true);\n localInstalledList = [...localInstalledList, pluginKey];\n setInstalledList(localInstalledList);\n if (localWaitingList.length === 0) setInstallingPlugin(null);\n } else {\n localFailedList = [...localFailedList, pluginKey]\n setFailedList(localFailedList);\n if (localWaitingList.length === 0) setInstallingPlugin(null);\n }\n })\n .catch(res => {\n localFailedList = [...localFailedList, pluginKey]\n setFailedList(localFailedList);\n if (localWaitingList.length === 0) setInstallingPlugin(null);\n });\n }\n }\n if (waitingList.length === 0 && failedList.length === 0 && installingPlugin === null)\n toNextStep();\n return (\n\n <Fragment>\n <div className=\"redux-templates-modal-body\">\n <h5>{__('Install Required Plugins', redux_templates.i18n)}</h5>\n <p>{__('Plugins needed to import this template are missing. Required plugins will be installed and activated automatically.', redux_templates.i18n)}</p>\n {\n (installingPlugin === null && failedList.length > 0) &&\n (<p className='error installError'>\n\t {__('The following plugin(s) failed to install properly. Please manually install them yourself before attempting another import.', redux_templates.i18n)}\n </p>)\n }\n\n <ul className=\"redux-templates-import-progress\">\n {\n missingPlugins &&\n missingPlugins.map(pluginKey => {\n\n let plugin = pluginInfo(pluginKey)\n\n if (installingPlugin && installingPlugin.pluginKey === pluginKey)\n return (\n <li className=\"installing\" key={installingPlugin.pluginKey}>{installingPlugin.name}\n <i className=\"fas fa-spinner fa-pulse\"/></li>);\n if (failedList.includes(pluginKey))\n return (<li className=\"failure\" key={pluginKey}>{plugin.name} <a href={plugin.url} target=\"_blank\"><i className=\"fas fa-external-link-alt\"/></a></li>);\n if (waitingList.includes(pluginKey))\n return (<li className=\"todo\" key={pluginKey}>{plugin.name} {plugin.url &&\n <a href={plugin.url} target=\"_blank\"><i className=\"fas fa-external-link-alt\"/></a>\n }</li>);\n if (installedList.includes(pluginKey))\n return (<li className=\"success\" key={pluginKey}>{plugin.name} <i\n className=\"fas fa-check-square\"/></li>);\n })\n }\n </ul>\n </div>\n <div className=\"redux-templates-modal-footer\">\n {waitingList.length !== 0 &&\n <button className=\"button button-primary\" disabled={installingPlugin !== null}\n onClick={() => onInstallPlugins()}>\n {installingPlugin !== null && <i className=\"fas fa-spinner fa-pulse\"/>}\n <span>{__('Install', redux_templates.i18n)}</span>\n </button>\n }\n <button className=\"button button-secondary\" disabled={installingPlugin !== null}\n onClick={onCloseWizard}>\n {__('Cancel', redux_templates.i18n)}\n </button>\n </div>\n </Fragment>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setInstalledDependencies\n } = dispatch('redux-templates/sectionslist');\n return {\n setInstalledDependencies\n };\n })\n])(InstallPluginStep);\n","import {pluginInfo} from '~redux-templates/stores/dependencyHelper';\nimport {Tooltip} from '@wordpress/components';\n\nconst {apiFetch} = wp;\nconst {compose} = wp.compose;\nconst {withDispatch} = wp.data;\nconst {Fragment, useState} = wp.element;\nconst {__} = wp.i18n;\n\nfunction OptionStep(props) {\n\n const {setImportToAppend, toNextStep, onCloseWizard} = props;\n\n const onNextStep = (isToAppend) => {\n setImportToAppend(isToAppend);\n toNextStep();\n }\n\n return (\n\n <Fragment>\n <div className=\"redux-templates-modal-body\">\n <h5>{__('Append or Replace', redux_templates.i18n)}</h5>\n <p>{__('You have existing content on this page. How would you like to handle the import of this page template?', redux_templates.i18n)}</p>\n\t <div style={{textAlign:'center', marginTop: '30px'}}>\n\t\t {/*<Tooltip text={__('This template will be added to the bottom of the existing content.', redux_templates.i18n)} position=\"bottom center\">*/}\n\t\t\t <button className=\"button button-primary\" onClick={() => onNextStep(true)} style={{marginRight: '10px'}}>\n\t\t\t\t {__('Append to Content', redux_templates.i18n)}\n\t\t\t </button>\n\t\t {/*</Tooltip>*/}\n\t\t {/*<Tooltip text={__('All the existing content will be replaced with this new template.', redux_templates.i18n)} position=\"top right\">*/}\n\t\t\t <button className=\"button button-primary\" onClick={() => onNextStep(false)}>\n\t\t\t\t {__('Replace all Content', redux_templates.i18n)}\n\t\t\t </button>\n\t\t {/*</Tooltip>*/}\n\t </div>\n </div>\n <div className=\"redux-templates-modal-footer\">\n <button className=\"button button-secondary\" onClick={onCloseWizard}>\n {__('Cancel', redux_templates.i18n)}\n </button>\n </div>\n </Fragment>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setImportToAppend\n } = dispatch('redux-templates/sectionslist');\n return {\n setImportToAppend\n };\n })\n])(OptionStep);\n","const {Fragment} = wp.element;\nconst {__} = wp.i18n;\n\nimport ReduxTemplatesPremiumBox from './ReduxTemplatesPremiumBox';\nimport {pluginInfo} from '~redux-templates/stores/dependencyHelper';\nconst REDUXTEMPLATES_PRO_KEY = 'redux-pro';\nexport default function ProPluginStep(props) {\n const {missingPros, onCloseWizard} = props;\n\n if ( missingPros.indexOf(REDUXTEMPLATES_PRO_KEY) >= 0 ) return <ReduxTemplatesPremiumBox />\n return (\n <Fragment>\n <div className=\"redux-templates-modal-body\">\n <h5>{__('Additional Plugins Required', redux_templates.i18n)}</h5>\n <p>{__('The following premium plugin(s) are required to import this template:', redux_templates.i18n)}</p>\n <ul className=\"redux-templates-import-progress\">\n {\n missingPros.map(pluginKey => {\n let plugin = pluginInfo(pluginKey)\n return (\n <li className='installing' key={pluginKey}>\n {plugin.name} {plugin.url &&\n <a href={plugin.url} target=\"_blank\"><i className=\"fas fa-external-link-alt\"/></a>\n }\n </li>);\n })\n }\n </ul>\n\n </div>\n <div className=\"redux-templates-modal-footer\">\n <a className=\"button button-secondary\" onClick={onCloseWizard}>\n {__('Close', redux_templates.i18n)}\n </a>\n </div>\n </Fragment>\n );\n}\n\n","const {__} = wp.i18n\n\n\nexport default function ReduxTemplatesActivateBox({onActivateRedux, activating}) {\n\n return (\n <div className=\"redux-templates-modal-body\">\n <div className=\"section-box premium-box\">\n <h3>{__('Registration Required to Import Templates', redux_templates.i18n)}</h3>\n <p>{__(' Register now to import templates from the Redux template library in a single click.', redux_templates.i18n)}</p>\n <ul>\n <li><strong>{__('Unlimited', redux_templates.i18n)}</strong> {__('use of our free templates.', redux_templates.i18n)}</li>\n\t <li><strong>{__('Updates', redux_templates.i18n)}</strong> {__('to the library.', redux_templates.i18n)}</li>\n <li><strong>{__('Google Fonts', redux_templates.i18n)}</strong> {__('manual updates.', redux_templates.i18n)}</li>\n </ul>\n <p>\n\t <button className=\"button button-primary\"\n\t disabled={activating}\n\t onClick={() => onActivateRedux()}>\n\t\t {activating && <i className=\"fas fa-spinner fa-pulse\" style={{marginRight:'5px'}}/>}\n\t\t <span>{__('Register for Free', redux_templates.i18n)}</span>\n\t </button>\n </p>\n\t <p style={{fontSize:'1.1em'}}><small><em dangerouslySetInnerHTML={{__html: redux_templates.tos}} /></small></p>\n </div>\n </div>\n );\n}\n","const {__} = wp.i18n\n\nexport default function ReduxTemplatesPremiumBox(props) {\n return (\n <div className=\"redux-templates-modal-body\">\n <div className=\"section-box premium-box\">\n <h3>{__('Upgrade to Redux Pro', redux_templates.i18n)}</h3>\n\n <p>{__('Upgrade to unlock 1,000+ designs to build your pages quick!', redux_templates.i18n)}</p>\n <ul>\n <li><strong>{__('Unlimited', redux_templates.i18n)}</strong> {__('access to the Library', redux_templates.i18n)}</li>\n <li><strong>{__('Google Fonts', redux_templates.i18n)}</strong> {__('always up to date.', redux_templates.i18n)}</li>\n <li><strong>{__('Advanced Customizer', redux_templates.i18n)}</strong> {__('for settings.', redux_templates.i18n)}</li>\n <li><strong>{__('And so much more!', redux_templates.i18n)}</strong></li>\n </ul>\n <p>\n <a href={redux_templates.u} className=\"redux-templates-upgrade-button\" title=\"{__('Redux Pro', redux_templates.i18n)}\"\n target='_blank'>{__('Upgrade Now', redux_templates.i18n)}</a>\n </p>\n </div>\n </div>\n );\n}\n","const {__} = wp.i18n;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\nconst {apiFetch} = wp;\n\nimport InstallPluginStep from './InstallPluginStep';\nimport ProPluginStep from './ProPluginsStep';\nimport OptionStep from './OptionStep';\nimport ImportingStep from './ImportingStep';\nimport ReduxTemplatesPremiumBox from './ReduxTemplatesPremiumBox';\nimport ReduxTemplatesActivateBox from './ReduxTeamplatesActivateBox';\n\nimport {requiresInstall, requiresPro, requiresReduxPro, isReduxProInstalled} from '~redux-templates/stores/dependencyHelper'\n\nimport '../modals.scss'\nimport './style.scss'\n\nconst PRO_STEP = 0;\nconst PLUGIN_STEP = 1;\nconst OPTION_STEP = 2;\nconst IMPORT_STEP = 3;\nconst REDUX_PRO_STEP = -1;\nconst REDUX_ACTIVATE_STEP = 999;\nconst tourPlugins = ['qubely', 'kioken-blocks'];\n\nfunction ImportWizard(props) {\n const {startImportTemplate, setImportingTemplate, setActivateDialogDisplay, appendErrorMessage} = props;\n const {isChallengeOpen, importingTemplate, activateDialogDisplay, isPostEmpty, isInstalledDependencies} = props;\n const [currentStep, setCurrentStep] = useState(PRO_STEP);\n const [importing, setImporting] = useState(false);\n const [activating, setActivating] = useState(false);\n const [missingPlugins, setMissingPlugins] = useState([]);\n\n useEffect(() => {\n if (importingTemplate) {\n \tif ( !importingTemplate.proDependenciesMissing ) {\n\t\t importingTemplate.proDependenciesMissing = [];\n\t }\n\t if ( !importingTemplate.installDependenciesMissing ) {\n\t\t importingTemplate.installDependenciesMissing = [];\n\t }\n // IMPORTANT First check: can you use redux pro?\n const leftTry = isNaN(redux_templates.left) === false ? parseInt(redux_templates.left) : 0;\n if (redux_templates.mokama !== '1' && leftTry < 1) {\n setCurrentStep(REDUX_ACTIVATE_STEP);\n return;\n }\n /* Redux pro check */\n if (requiresReduxPro(importingTemplate)) {\n setCurrentStep(REDUX_PRO_STEP);\n return;\n }\n // Start with Pro step\n // When all OK with Pro Step, move to Plugin Step, on the way, prepare reduxProMergedPlugins.\n if (importingTemplate && currentStep === PRO_STEP && requiresPro(importingTemplate) === false) {\n setCurrentStep(PLUGIN_STEP);\n if (isReduxProInstalled()) {\n setMissingPlugins(\n [].concat(importingTemplate.proDependenciesMissing, importingTemplate.installDependenciesMissing)\n .filter(plugin => plugin)\n );\n } else {\n\t setMissingPlugins(importingTemplate.installDependenciesMissing.filter(plugin => plugin));\n }\n\n }\n if (importingTemplate && currentStep === PLUGIN_STEP && requiresInstall(importingTemplate) === false)\n if (isPostEmpty === false) setCurrentStep(OPTION_STEP); else setCurrentStep(IMPORT_STEP);\n if (importingTemplate && currentStep === OPTION_STEP && isPostEmpty === true)\n setCurrentStep(IMPORT_STEP);\n if (importingTemplate && currentStep === IMPORT_STEP && importing === false) {\n setImporting(true);\n try {\n startImportTemplate();\n } catch (e) {\n console.log('importing exception', e);\n setImporting(false);\n setCurrentStep(PLUGIN_STEP);\n setImportingTemplate(null);\n }\n }\n }\n }, [importingTemplate, currentStep, activateDialogDisplay])\n\n // Activate dialog disply\n useEffect(() => {\n if (activateDialogDisplay === true) { // Activate dialog hard reset case\n setCurrentStep(REDUX_ACTIVATE_STEP);\n setActivateDialogDisplay(false);\n }\n }, [activateDialogDisplay]);\n\n // On the initial loading\n useEffect(() => {\n setActivateDialogDisplay(false);\n }, []);\n\n const toNextStep = () => {\n if (isChallengeOpen) return;\n setCurrentStep(currentStep + 1);\n };\n\n const onCloseWizard = () => {\n if (isChallengeOpen) return; // When in tour mode, we don't accept mouse event.\n if (importing) return;\n setCurrentStep(PLUGIN_STEP);\n setImportingTemplate(null);\n };\n\n const activateReduxTracking = () => {\n setActivating(true);\n\t apiFetch({path: 'redux/v1/templates/activate'}).then(response => {\n\t\t if (response.success) {\n\t\t\t redux_templates.left = response.data.left;\n\t\t }\n\t\t setCurrentStep(PRO_STEP);\n\t\t setActivating(false);\n\t }).catch(error => {\n\t\t appendErrorMessage(error.code + ' : ' + error.message);\n\t\t setCurrentStep(PRO_STEP);\n\t\t setActivating(false);\n\t });\n }\n\n\n if (isChallengeOpen) {\n // exception handling for tour mode\n if (currentStep !== PLUGIN_STEP) setCurrentStep(PLUGIN_STEP)\n }\n\n if (!importingTemplate) return null;\n return (\n <div className=\"redux-templates-modal-overlay\">\n <div className=\"redux-templates-modal-wrapper\" data-tut=\"tour__import_wizard\">\n <div className=\"redux-templates-modal-header\">\n <h3>{__('Import Wizard', redux_templates.i18n)}</h3>\n <button className=\"redux-templates-modal-close\" onClick={onCloseWizard}>\n <i className={'fas fa-times'}/>\n </button>\n </div>\n <div className=\"redux-templates-importmodal-content\">\n {(currentStep === PRO_STEP) && requiresPro(importingTemplate) &&\n <ProPluginStep missingPros={importingTemplate.proDependenciesMissing } onCloseWizard={onCloseWizard} />}\n {(currentStep === PLUGIN_STEP) &&\n <InstallPluginStep missingPlugins={isChallengeOpen ? tourPlugins : missingPlugins} toNextStep={toNextStep}\n onCloseWizard={onCloseWizard}/>}\n {currentStep === OPTION_STEP && <OptionStep toNextStep={toNextStep} onCloseWizard={onCloseWizard} />}\n {currentStep === IMPORT_STEP && <ImportingStep />}\n\t {currentStep === REDUX_ACTIVATE_STEP && <ReduxTemplatesActivateBox onActivateRedux={activateReduxTracking} activating={activating} />}\n {currentStep === REDUX_PRO_STEP && <ReduxTemplatesPremiumBox />}\n {isInstalledDependencies && <iframe src='./' width=\"0\" height=\"0\" />}\n </div>\n </div>\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setImportingTemplate, setActivateDialogDisplay, appendErrorMessage} = dispatch('redux-templates/sectionslist');\n return {\n setImportingTemplate,\n setActivateDialogDisplay,\n appendErrorMessage\n };\n }),\n\n withSelect((select, props) => {\n const {getChallengeOpen, getImportingTemplate, getActivateDialogDisplay, getInstalledDependencies} = select('redux-templates/sectionslist');\n const {isEditedPostEmpty} = select('core/editor');\n return {\n isChallengeOpen: getChallengeOpen(),\n importingTemplate: getImportingTemplate(),\n activateDialogDisplay: getActivateDialogDisplay(),\n isPostEmpty: isEditedPostEmpty(),\n isInstalledDependencies: getInstalledDependencies()\n };\n })\n])(ImportWizard);\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst { useState, useEffect} = wp.element;\nimport '../stores';\n\nimport {Modal, ModalManager} from '../modal-manager'\nimport TabHeader from '../components/tab-header';\nimport WithSidebarLayout from './layout-with-sidebar';\nimport CollectionView from './view-collection';\nimport SavedView from './view-saved';\nimport ImportWizard from '../modal-import-wizard';\nimport ErrorNotice from '../components/error-notice';\nimport ChallengeFinalTemplate from '~redux-templates/challenge/final-templates';\nimport FabWrapper from '../components/fab-wrapper';\nimport {processImportHelper} from '~redux-templates/stores/actionHelper';\nimport './style.scss'\n\n\nfunction LibraryModal(props) {\n const {\n fetchLibraryFromAPI, activeCollection, activeItemType, errorMessages, importingTemplate, challengeFinalStatus, isChallengeOpen,\n setLoading, setImportingTemplate, clearSearch, clearState\n } = props;\n const [loaded, setLoaded] = useState(false);\n const [escKeyPressed, setEscKeyPressed] = useState(false);\n\n let stateLibrary = null;\n useEffect(() => {\n\t\tclearState();\n stateLibrary = fetchLibraryFromAPI();\n if (stateLibrary === null && loaded === false) { // One to be called at first.\n setLoading(true);\n setLoaded(true);\n }\n const handleKeyUp = ({keyCode}) => {\n if (keyCode === 27) {\n setEscKeyPressed(true);\n }\n }\n document.addEventListener('keyup', handleKeyUp);\n return () => {\n document.removeEventListener('keyup', handleKeyUp);\n }\n }, []);\n\n useEffect(() => {\n if (escKeyPressed) {\n setEscKeyPressed(false);\n if (ModalManager.isCustomizerOpened()) {\n ModalManager.closeCustomizer();\n } else {\n if (importingTemplate)\n setImportingTemplate(null);\n else {\n ModalManager.close();\n }\n }\n }\n }, [escKeyPressed])\n\n const hasSidebar = () => {\n return ((activeItemType !== 'collection' || activeCollection === null) && activeItemType !== 'saved');\n }\n\n // read block data to import and give the control to actual import\n const processImport = () => {\n if (importingTemplate) processImportHelper();\n }\n\n\n return (\n <Modal className=\"redux-templates-builder-modal-pages-list\"\n customClass=\"redux-templates-builder-modal-template-list\"\n openTimeoutMS={0} closeTimeoutMS={0}>\n <TabHeader/>\n {\n errorMessages && errorMessages.length > 0 &&\n <ErrorNotice errorMessages={errorMessages}/>\n }\n <div className=\"redux-templates-collections-modal-body\">\n {hasSidebar() && <WithSidebarLayout/>}\n {(hasSidebar() === false && activeItemType === 'collection') && <CollectionView/>}\n {(hasSidebar() === false && activeItemType !== 'collection') && <SavedView/>}\n </div>\n {\n importingTemplate && <ImportWizard startImportTemplate={processImport} />\n }\n { (challengeFinalStatus !== '') && <ChallengeFinalTemplate finalStatus={challengeFinalStatus} /> }\n { !isChallengeOpen && <FabWrapper /> }\n </Modal>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setLoading,\n setLibrary,\n setImportingTemplate,\n clearSearch,\n\t\t\tclearState\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setLoading,\n setLibrary,\n setImportingTemplate,\n clearSearch,\n\t\t\tclearState\n };\n }),\n\n withSelect((select) => {\n const {fetchLibraryFromAPI, getActiveCollection, getActiveItemType, getErrorMessages, getImportingTemplate, getChallengeOpen, getChallengeFinalStatus} = select('redux-templates/sectionslist');\n return {\n fetchLibraryFromAPI,\n activeCollection: getActiveCollection(),\n activeItemType: getActiveItemType(),\n errorMessages: getErrorMessages(),\n importingTemplate: getImportingTemplate(),\n challengeFinalStatus: getChallengeFinalStatus(),\n isChallengeOpen: getChallengeOpen()\n };\n })\n])(LibraryModal);\n","const { Fragment } = wp.element;\nimport Sidebar from '../sidebar';\nimport TemplateListSubHeader from '~redux-templates/components/template-list-subheader';\nimport TemplateList from '../view-template-list';\n\nexport default function WithSidebarCollection (props) {\n return (\n <Fragment>\n <div id=\"redux-templates-collection-modal-sidebar\" className=\"redux-templates-collection-modal-sidebar\">\n <Sidebar />\n </div>\n <div className=\"redux-templates-collection-modal-content-area\" data-tut=\"tour__main_body\" id=\"modalContent\">\n <TemplateListSubHeader />\n <TemplateList />\n </div>\n </Fragment>\n );\n}\n","const {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {__} = wp.i18n;\n\nimport uniq from 'lodash/uniq';\n\nfunction CategoryFilter (props) {\n const {categoryData, activeCategory, activePriceFilter, loading, itemType} = props;\n const {setActiveCategory} = props;\n\n\n // On the top, All Block, All Template, All Template Kit etc\n const itemTypeLabel = () => {\n if (itemType === 'section') return __('Section', redux_templates.i18n);\n if (itemType === 'page') return __('Template', redux_templates.i18n);\n if (itemType === 'collection') return __('Template Kit', redux_templates.i18n);\n };\n\n const totalItemCountLabel = () => {\n let totalArr = [], filteredArr = [];\n categoryData.forEach((category) => {\n if (category.hasOwnProperty('filteredData')) filteredArr = [...filteredArr, ...category.filteredData];\n totalArr = [...totalArr, ...category.ids];\n });\n return (activePriceFilter !== '') ? uniq(filteredArr).length + '/' + uniq(totalArr).length : uniq(totalArr).length;\n };\n\n const isDisabledCategory = (data) => (data && ((data.hasOwnProperty('filteredData') && data.filteredData.length === 0) || data.ids.length === 0));\n\n const onChangeCategory = (data) => {\n if (isDisabledCategory(data)) return;\n setActiveCategory(data.slug);\n };\n // Give the selected category(activeCategory) label className as \"active\"\n const activeClassname = (data) => {\n const categoryLabel = data ? data.slug : '';\n if (isDisabledCategory(data)) return 'disabled';\n return activeCategory === categoryLabel ? 'active' : '';\n };\n\n return (\n <div>\n <h3>{__('Categories', redux_templates.i18n)}</h3>\n {!loading &&\n <ul className=\"redux-templates-sidebar-categories\">\n {categoryData.length > 0 &&\n <li\n className={activeClassname(null)}\n onClick={() => setActiveCategory('')}>\n {__('All', redux_templates.i18n)} {itemTypeLabel()}s <span>{totalItemCountLabel()}</span>\n </li>\n }\n\n {categoryData &&\n categoryData.map((data, index) => (\n <li className={activeClassname(data)} onClick={() => onChangeCategory(data)}\n key={index}>\n {data.name}\n <span> {data.hasOwnProperty('filteredData') && activePriceFilter !== '' ? data.filteredData.length : data.ids.length } </span>\n </li>\n ))\n }\n </ul>\n }\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setActiveCategory} = dispatch('redux-templates/sectionslist');\n return {\n setActiveCategory\n };\n }),\n\n withSelect((select, props) => {\n const {getCategoryData, getActiveCategory, getActiveItemType, getLoading} = select('redux-templates/sectionslist');\n return {\n categoryData: getCategoryData(),\n activeCategory: getActiveCategory(),\n itemType: getActiveItemType(),\n loading: getLoading(),\n };\n })\n])(CategoryFilter);\n","const {Fragment} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {__} = wp.i18n;\nimport ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';\n\nimport {CheckboxControl, Tooltip, Button, ButtonGroup} from '@wordpress/components';\nimport DependencyFilterRow from './dependencyFilterRow';\nimport {pluginInfo} from '~redux-templates/stores/dependencyHelper';\nimport {REDUXTEMPLATES_PRO_KEY, NONE_KEY} from '~redux-templates/stores/helper';\n\nfunction DependencyFilter(props) {\n const {dependencyFilters, activeItemType, loading, wholePlugins, dependencyFilterRule} = props;\n const {setDependencyFilters, selectDependencies, setDependencyFilterRule} = props;\n // Give the selected category(activeCategory) label className as \"active\"\n const isNoneChecked = () => {\n if (dependencyFilters.hasOwnProperty(NONE_KEY))\n return dependencyFilters[NONE_KEY].hasOwnProperty('value') ? dependencyFilters[NONE_KEY].value : dependencyFilters[NONE_KEY];\n return false;\n };\n\n const toggleNoneChecked = () => {\n setDependencyFilters({...dependencyFilters,\n [NONE_KEY]: { value: dependencyFilters[NONE_KEY].value === false, disabled: dependencyFilters[NONE_KEY]['disabled'] === true }\n });\n };\n return (\n <Fragment>\n {!loading && wholePlugins &&\n <div id=\"redux-templates-filter-dependencies\" data-tut=\"tour__filter_dependencies\">\n\t <>\n\t\t <ButtonGroup style={{float:'right'}}>\n\t\t\t <Tooltip text={__('Find templates which contain blocks from any of the selected plugins.', redux_templates.i18n)} position=\"top right\">\n\t\t\t\t <Button isSmall isPrimary={dependencyFilterRule === false} isSecondary={dependencyFilterRule} onClick={() => setDependencyFilterRule(false)} disabled={activeItemType === 'collection'}>{__('Any', redux_templates.i18n)}</Button>\n\t\t\t </Tooltip>\n\t\t\t <Tooltip text={__('Find templates that only contain blocks from the selected plugins.', redux_templates.i18n)} position=\"top right\">\n\t\t\t\t <Button isSmall isSecondary={dependencyFilterRule === false} isPrimary={dependencyFilterRule} onClick={() => setDependencyFilterRule(true)} disabled={activeItemType === 'collection'}>{__('Only', redux_templates.i18n)}</Button>\n\t\t\t </Tooltip>\n\t\t </ButtonGroup>\n\t\t <h3>{__('Required Plugins', redux_templates.i18n)} </h3>\n\t </>\n <div className='redux-templates-select-actions'>\n <Tooltip text={__('Select All', redux_templates.i18n)} position=\"top right\"><a href=\"#\" onClick={() => selectDependencies('all')}>{__('All', redux_templates.i18n)}</a></Tooltip>\n\t\t <span>&nbsp; / &nbsp;</span>\n\t\t <Tooltip text={__('Native Blocks Only', redux_templates.i18n)} position=\"top right\"><a href=\"#\" onClick={() => selectDependencies('none')}>{__('None', redux_templates.i18n)}</a></Tooltip>\n <span>&nbsp; / &nbsp;</span>\n <Tooltip text={__('Installed Dependencies', redux_templates.i18n)} position=\"top right\"><a href=\"#\"\n onClick={() => selectDependencies('installed')}>\n {__('Installed', redux_templates.i18n)}</a></Tooltip>\n <span>&nbsp; / &nbsp;</span>\n <Tooltip text={__('Reset Dependencies', redux_templates.i18n)} position=\"top right\">\n <a href=\"#\" onClick={() => selectDependencies('default')}>\n <i className=\"fas fa-undo\" /></a></Tooltip>\n <ChallengeDot step={2} />\n\n </div>\n <ul className=\"redux-templates-sidebar-dependencies\">\n { (loading === false) &&\n <li style={{display: activeItemType === 'collection' ? 'none': '' }}>\n <CheckboxControl\n label={__('Native', redux_templates.i18n)}\n checked={isNoneChecked()}\n onChange={toggleNoneChecked}\n />\n <Tooltip text={__('Only default WordPress blocks used.', redux_templates.i18n)} position='right'>\n <span style={{float:'right', marginRight:'2px'}}><i className=\"fa fa-info-circle\" /></span>\n </Tooltip>\n </li>\n }\n {\n Object.keys(dependencyFilters)\n .filter(pluginKey => (wholePlugins.indexOf(pluginKey)!==-1 || pluginKey === REDUXTEMPLATES_PRO_KEY))\n .sort((a, b) => {\n const pluginInstanceA = pluginInfo(a);\n const pluginInstanceB = pluginInfo(b);\n if (pluginInstanceA.name < pluginInstanceB.name)\n return -1;\n if (pluginInstanceA.name > pluginInstanceB.name)\n return 1;\n return 0;\n })\n .map(pluginKey =>\n <DependencyFilterRow key={pluginKey} pluginKey={pluginKey} />\n )\n }\n </ul>\n </div>\n }\n </Fragment>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setDependencyFilters, selectDependencies, setDependencyFilterRule} = dispatch('redux-templates/sectionslist');\n return {\n setDependencyFilters,\n selectDependencies,\n setDependencyFilterRule\n };\n }),\n\n withSelect((select) => {\n const {getDependencyFiltersStatistics, getLoading, getActiveItemType, getWholePlugins, getDependencyFilterRule} = select('redux-templates/sectionslist');\n return {\n loading: getLoading(),\n dependencyFilters: getDependencyFiltersStatistics(),\n wholePlugins: getWholePlugins(),\n dependencyFilterRule: getDependencyFilterRule(),\n\t activeItemType: getActiveItemType()\n };\n })\n])(DependencyFilter);\n","import React from 'react';\nconst {useState, useEffect, useRef} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {__} = wp.i18n;\n\nimport {CheckboxControl, Tooltip} from '@wordpress/components';\nimport {pluginInfo} from '~redux-templates/stores/dependencyHelper';\nimport {NONE_KEY} from '~redux-templates/stores/helper';\n\nconst specialPlugins = ['gutenberghub.com', 'editorplus'];\n\nfunction DependencyFilterRow(props) {\n const {pluginKey, dependencyFilters} = props;\n const {setDependencyFilters} = props;\n const [isValidPlugin, setIsValidPlugin] = useState(false);\n const [isChecked, setIsChecked] = useState(false);\n const [pluginInstanceURL, setPluginInstanceURL] = useState('');\n const [pluginInstanceName, setPluginInstanceName] = useState('');\n const [pluginClassname, setPluginClassname] = useState('');\n\n useEffect(() => {\n const pluginInstance = pluginInfo(pluginKey);\n if (!pluginKey || pluginKey === NONE_KEY) {\n setIsValidPlugin(false);\n return;\n }\n if (!pluginInstance || pluginInstance.name == null) {\n setIsValidPlugin(false);\n return;\n }\n setPluginInstanceURL(pluginInstance.url);\n setPluginInstanceName(pluginInstance.name);\n setIsValidPlugin(true);\n }, [pluginKey]);\n\n useEffect(() => {\n const pluginInstance = pluginInfo(pluginKey);\n if (!dependencyFilters) return;\n if (dependencyFilters.hasOwnProperty(pluginKey)) {\n if (dependencyFilters[pluginKey].disabled)\n setIsChecked(false);\n else\n setIsChecked(dependencyFilters[pluginKey].hasOwnProperty('value') ? dependencyFilters[pluginKey].value : dependencyFilters[pluginKey]);\n } else\n setIsChecked(false)\n let pluginClassnameList = [];\n pluginClassnameList.push(!pluginInstance.version && !('no_plugin' in pluginInstance) ? 'missing-dependency' : '');\n pluginClassnameList.push((!dependencyFilters[pluginKey] || dependencyFilters[pluginKey].disabled) ? 'disabled' : '');\n setPluginClassname(pluginClassnameList.join(' '));\n }, [JSON.stringify(dependencyFilters)])\n\n const toggleChecked = () => {\n // disable check first\n if (dependencyFilters[pluginKey] === null || dependencyFilters[pluginKey] === undefined || dependencyFilters[pluginKey].disabled) return;\n // reflect on the item click event.\n let newDependencyFilters = {\n ...dependencyFilters,\n [pluginKey]: { value: dependencyFilters[pluginKey].value === false, disabled: dependencyFilters[pluginKey]['disabled'] === true }\n };\n\n // gutenberg.com, EditorPlus check\n if (specialPlugins.includes(pluginKey)) {\n specialPlugins.forEach((plugin) => {\n newDependencyFilters = {\n ...newDependencyFilters,\n [plugin]: { value: dependencyFilters[pluginKey].value === false, disabled: dependencyFilters[plugin]['disabled'] === true }\n }\n })\n }\n\n // if no item is selected, activate native, other wise conider to deactivate native\n // let valueCount = groupBy(Object.keys(newDependencyFilters), key => (newDependencyFilters[key] === true || newDependencyFilters[key].value === true));\n setDependencyFilters({...newDependencyFilters});\n };\n\n if (isValidPlugin === false) return null;\n\n return (\n <li className={pluginClassname}>\n <CheckboxControl\n label={pluginInstanceName}\n checked={isChecked}\n onChange={toggleChecked}\n />\n {pluginInstanceURL ?\n\t <Tooltip position={'top right'} text={__('Visit Plugin Website', redux_templates.i18n)}><span><a href={pluginInstanceURL} target=\"_blank\">\n <i className=\"fas fa-external-link-alt\" />\n\t </a></span></Tooltip> : null}\n\t {pluginClassname.includes('missing-dependency') &&\n\t <Tooltip position={'top right'} text={__('Not Installed', redux_templates.i18n)}><span className='redux-icon-wrapper'><i className=\"fa fa-exclamation-triangle\" /></span></Tooltip>\n\t }\n </li>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setDependencyFilters} = dispatch('redux-templates/sectionslist');\n return {\n setDependencyFilters\n };\n }),\n\n withSelect((select) => {\n const {getDependencyFiltersStatistics, getLoading, getActiveCategory} = select('redux-templates/sectionslist');\n return {\n loading: getLoading(),\n dependencyFilters: getDependencyFiltersStatistics(),\n activeCategory: getActiveCategory()\n };\n })\n])(DependencyFilterRow);\n","const {withSelect} = wp.data;\n\nimport './style.scss'\n\nimport PriceFilter from './priceFilter';\nimport CategoryFilter from './categoryFilter';\nimport DependencyFilter from './dependencyFilter';\n\nfunction Sidebar(props) {\n const {itemType, layer, loading} = props;\n const hasSidebar = () => {\n return (itemType !== 'collection' || layer === null);\n };\n return (\n <div>\n {\n hasSidebar() &&\n <>\n <PriceFilter/>\n <div className=\"redux-templates-modal-sidebar-content\">\n <CategoryFilter/>\n <DependencyFilter/>\n </div>\n </>\n }\n </div>\n );\n}\n\nexport default withSelect((select) => {\n const {getActiveItemType, getActiveCollection} = select('redux-templates/sectionslist');\n return {\n itemType: getActiveItemType(),\n layer: getActiveCollection()\n };\n})(Sidebar);\n","const {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {__} = wp.i18n;\n\nfunction PriceFilter (props) {\n\tconst {setActivePriceFilter, activePriceFilter, statistics} = props;\n\n const getClassnames = (priceFilter) => {\n let classNames = [];\n classNames.push((priceFilter === activePriceFilter) ? 'active' : '');\n classNames.push(noStatistics(priceFilter) ? 'disabled' : '');\n return classNames.join(' ');\n }\n\n const noStatistics = (priceFilter) => {\n if (priceFilter === '') return false;\n if (priceFilter === 'free')\n return (!statistics['false'] || statistics['false'] < 1);\n else\n return (!statistics['true'] || statistics['true'] < 1);\n }\n\n return (\n <div className='redux-templates-template-filter-button-group'>\n <button onClick={() => setActivePriceFilter('')}\n className={getClassnames('')}>{__('All', redux_templates.i18n)}</button>\n <button onClick={() => setActivePriceFilter('free')} className={getClassnames('free')}\n disabled={noStatistics('free')}>{__('Free', redux_templates.i18n)}</button>\n <button onClick={() => setActivePriceFilter('pro')} className={getClassnames('pro')}\n disabled={noStatistics('pro')}>\n <img src={redux_templates.plugin + 'assets/img/icon-premium.svg'} alt=\"\"/>\n {__('Premium', redux_templates.i18n)}\n </button>\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setActivePriceFilter} = dispatch('redux-templates/sectionslist');\n return {\n setActivePriceFilter\n };\n }),\n\n withSelect((select, props) => {\n const {getStatistics, getActivePriceFilter} = select('redux-templates/sectionslist');\n return {\n activePriceFilter: getActivePriceFilter(),\n statistics: getStatistics()\n };\n })\n])(PriceFilter);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const {useState, useEffect} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {__} = wp.i18n\n\nimport './style.scss'\n\nimport ButtonGroup from '~redux-templates/components/button-group';\nimport {requiresInstall, requiresPro} from '~redux-templates/stores/dependencyHelper'\n\nconst DURATION_UNIT= 500;\nconst PREVIEW_PANEL_HEIGHT = 515;\n\n// Collection Detail view: preview, item list and import\nfunction CollectionView(props) {\n const {pageData, activeCollectionData} = props;\n const {setActiveCollection} = props;\n const [previewData, setPreviewData] = useState(null);\n const [previewDataIndex, setPreviewDataIndex] = useState(0);\n const [transitionDuration, setTransitionDuration] = useState('1.5s');\n\n const dataLength = pageData.length;\n\n // To be called when switching over\n useEffect(() => {\n if (pageData && pageData[previewDataIndex]) {\n const itemData = pageData[previewDataIndex];\n const backgroundImage = new Image();\n if (itemData.image_full) {\n setPreviewData({...itemData, backgroundImage: itemData.image_full, previewImageClassname: 'details-preview has_full'});\n backgroundImage.src = itemData.image_full;\n } else {\n setPreviewData({...itemData, backgroundImage: itemData.image, previewImageClassname: 'details-preview has_full'})\n backgroundImage.src = itemData.image;\n }\n backgroundImage.onload = function () {\n setTransitionDuration((backgroundImage.height - PREVIEW_PANEL_HEIGHT) / DURATION_UNIT + 's');\n };\n }\n }, [pageData, previewDataIndex]);\n\n if (previewData)\n return (\n <div className=\"redux-templates-collection-details-view\">\n <div className=\"redux-templates-collection-details-left\">\n <div className=\"details-back\" onClick={() => setActiveCollection(null)}>\n <span className=\"dashicons dashicons-arrow-left-alt\"/>&nbsp;{__('Back to Template Kits', redux_templates.i18n)}\n </div>\n <div className={previewData.previewImageClassname} \n style={{backgroundImage: `url('${previewData.backgroundImage}')`, transitionDuration}}>\n </div>\n </div>\n <div className=\"redux-templates-collection-details-right\">\n <div className=\"details-title\">\n <h3>{activeCollectionData.name}</h3>\n <span>{dataLength} {__('pages', redux_templates.i18n)}</span>\n </div>\n <div className=\"details-list\">\n <div className=\"details-inner\">\n {\n pageData.map((detail, index) => {\n let className = (previewData.ID === detail.ID) ? 'detail-select detail-select-active' : 'detail-select';\n let divStyle = {\n backgroundImage: 'url(' + detail.image + ')',\n };\n\n return (\n <div className={className} onClick={() => setPreviewDataIndex(index)} key={index}>\n <div className=\"detail-image\" style={divStyle}>\n {requiresPro(detail) && <span className=\"pro\">{__('Premium', redux_templates.i18n)}</span>}\n {!requiresPro(detail) && requiresInstall(detail) && <span className=\"install\"><i className=\"fas fa-exclamation-triangle\" /></span>}\n <div className=\"detail-label\">{detail.name}</div>\n </div>\n </div>\n );\n })\n }\n </div>\n </div>\n </div>\n <div className=\"redux-templates-collection-details-footer\">\n <div className=\"footer-grid\">\n <ButtonGroup index={previewDataIndex} showDependencyBlock={false} data={previewData} pageData={pageData} />\n </div>\n </div>\n </div>\n );\n return null;\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setActiveCollection\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setActiveCollection\n };\n }),\n\n withSelect((select, props) => {\n const {getPageData, getLoading, getActiveCollectionData, getActiveItemType} = select('redux-templates/sectionslist');\n return {\n pageData: getPageData(),\n loading: getLoading(),\n activeItemType: getActiveItemType(),\n activeCollectionData: getActiveCollectionData()\n };\n })\n])(CollectionView);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const {apiFetch} = wp;\nconst {useState} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch} = wp.data;\nconst {Spinner} = wp.components;\nconst {parse} = wp.blocks;\nconst {__} = wp.i18n;\nimport {BlockPreview} from '@wordpress/block-editor';\n\nimport './style.scss'\n\nimport {Modal, ModalManager} from '../../modal-manager'\nimport reject from 'lodash/reject';\n\nfunction SavedView(props) {\n const {insertBlocks, discardAllErrorMessages, appendErrorMessage, clearSearch} = props;\n const [savedSections, setSavedSections] = useState([]);\n const [dataLoaded, setDataLoaded] = useState(false);\n if (dataLoaded === false) {\n // Initial fetch\n apiFetch({path: 'redux/v1/templates/get_saved_blocks'}).then(response => {\n if (response.success) {\n setSavedSections(response.data);\n } else {\n appendErrorMessage(response.data.error);\n }\n setDataLoaded(true);\n }).catch(error => {\n appendErrorMessage(error.code + ' : ' + error.message);\n setDataLoaded(true);\n });\n }\n\n // To display into columns, map data into column-friendly data\n const mapToColumnData = (data, n = 4, balanced = true) => {\n let out = [], i;\n\n for (i = 0; i < n; i++) out[i] = [];\n data.forEach((section, i) => {\n out[i % n].push(section);\n });\n return out;\n }\n\n // saved block import is special\n const importSections = (rawData) => {\n let pageData = parse(rawData);\n insertBlocks(pageData);\n ModalManager.close(); //close modal\n }\n\n const deleteSavedSection = (event, sectionID) => {\n event.stopPropagation();\n discardAllErrorMessages();\n const options = {\n method: 'POST',\n path: 'redux/v1/templates/delete_saved_block/?block_id=' + sectionID,\n }\n apiFetch(options).then(response => {\n if (response.success) {\n // on successful remove, we will update the blocks as well.\n setSavedSections(reject(savedSections, {'ID': sectionID}));\n } else {\n appendErrorMessage(response.data.error);\n }\n }).catch(error => {\n appendErrorMessage(error.code + ' : ' + error.message);\n });\n }\n if (dataLoaded === true)\n return (\n <div className=\"redux-templates-two-sections__grid\">\n {\n (savedSections && savedSections.length > 0) ?\n mapToColumnData(savedSections).map((column, key) => {\n let sections = column.map((section, i) => {\n let blocks = parse(section.post_content);\n return (\n <div className=\"redux-templates-two-section\" key={i}\n onClick={() => importSections(section.post_content)}>\n\n <div className=\"preview-image-wrapper\">\n <BlockPreview blocks={blocks} />\n </div>\n <div className=\"saved-section-title\">\n {section.post_title}\n </div>\n <div className=\"redux-templates-two-section-remove\"\n onClick={e => deleteSavedSection(e, section.ID)}>\n <i className=\"fas fa-trash\"></i>\n </div>\n </div>\n );\n })\n\n return (\n <div className=\"redux-templates-two-sections__grid__column\" key={key}\n style={{width: '25%', flexBasis: '25%'}}>\n {sections}\n </div>\n );\n })\n :\n <div className=\"no-section\">\n Nothing here yet, make a reusuable block first.\n </div>\n }\n </div>\n );\n else\n return (\n <div>\n <div style={{ height: '600px' }}>\n <div className=\"redux-templates-modal-loader\">\n <Spinner />\n </div>\n </div>\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n insertBlocks\n } = dispatch('core/block-editor');\n\n const {\n appendErrorMessage,\n discardAllErrorMessages\n } = dispatch('redux-templates/sectionslist');\n\n return {\n insertBlocks,\n appendErrorMessage,\n discardAllErrorMessages\n };\n })\n])(SavedView);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const { useState, useEffect } = wp.element;\nconst { compose } = wp.compose;\nconst { withDispatch, withSelect } = wp.data;\nconst { Spinner } = wp.components;\n\nimport SingleItem from '../../components/single-item'\nimport MultipleItem from '../../components/multiple-item'\nimport Pagination from '../../components/pagination'\nimport './style.scss'\n\nimport {columnMap, pageSizeMap} from '../../stores/helper';\n\nfunction TemplateList(props) {\n const { pageData, loading, activeItemType, activeCollection, columns, currentPage } = props;\n const { setActiveCollection} = props;\n const [columnizedData, setColumnizedData] = useState([]);\n const [shouldShowPagination, setShouldShowPagination] = useState(false);\n const getBackgroundImage = (url) => {\n if (!url) {\n return redux_templates.plugin + 'assets/img/redux-templates-medium.jpg';\n }\n return url;\n }\n\n const onSelectCollection = (collectionID) => {\n setActiveCollection(collectionID);\n }\n\n useEffect(() => {\n let newData = [], index = 0;\n let colStr = (columns === '') ? 'medium' : columns;\n const columnsCount = columnMap[colStr];\n const pageSize = pageSizeMap[colStr];\n for (let i = 0; i < columnsCount; i++)\n newData[i] = [];\n if (pageData) {\n const lowerLimit = activeItemType !== 'collection' ? (currentPage * pageSize) + 1 : 1;\n const upperLimit = activeItemType !== 'collection' ? (currentPage + 1) * pageSize : pageData.length;\n for ( index = lowerLimit; index <= upperLimit && index <= pageData.length; index++) {\n newData[(index - 1) % columnsCount].push({...pageData[index - 1], index: index - 1});\n }\n }\n setColumnizedData(newData);\n setShouldShowPagination(activeItemType !== 'collection' && pageData && pageSize < pageData.length);\n }, [columns, pageData]);\n\n\n if (!loading)\n return (\n <div id=\"modalContainer\" className=\"redux-templates-template-list-modal\">\n <div className=\"redux-templates-builder-template-list-container\">\n <div id=\"collections-sections-list\" className={`redux-templates-builder-page-templates ${columns}`}>\n { columnizedData &&\n columnizedData.map((columnData, colIndex) => (\n <div className=\"redux-templates-pagelist-column\" key={colIndex}>\n {\n columnData &&\n columnData.map((data, cellIndex) => (\n (activeItemType !== 'collection' || activeCollection !== null) ?\n <SingleItem\n key={cellIndex}\n index={data.index}\n />\n :\n <MultipleItem\n key={cellIndex}\n data={data}\n index={data.index}\n itemType={activeItemType}\n spinner={false}\n onSelectCollection={onSelectCollection}\n />\n ))\n }\n </div>\n ))\n }\n </div>\n { shouldShowPagination && <Pagination /> }\n </div>\n </div>\n );\n return (\n <div>\n <div style={{ height: '600px' }}>\n <div className=\"redux-templates-modal-loader\">\n <Spinner />\n </div>\n </div>\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setActiveCollection\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setActiveCollection\n };\n }),\n\n withSelect((select, props) => {\n const { getPageData, getLoading, getColumns, getActiveItemType, getActiveCollection, getCurrentPage} = select('redux-templates/sectionslist');\n return { pageData: getPageData(), loading: getLoading(), activeItemType: getActiveItemType(), columns: getColumns(), activeCollection: getActiveCollection(), currentPage: getCurrentPage() };\n })\n])(TemplateList);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n';\nimport {Component, Fragment} from '@wordpress/element';\n\nvar onClose, node, customizerNode, feedbackNode = null;\n\nexport class Modal extends Component {\n constructor(props) {\n super(props)\n this.state = {\n afterOpen: false,\n beforeClose: false,\n }\n }\n\n close() {\n if (!this.props.onRequestClose || this.props.onRequestClose()) {\n if (customizerNode) ModalManager.closeCustomizer()\n else ModalManager.close()\n }\n }\n\n componentDidMount() {\n const {openTimeoutMS, closeTimeoutMS} = this.props\n setTimeout(() => this.setState({afterOpen: true}), openTimeoutMS ? openTimeoutMS : 150)\n\n onClose = (callback) => {\n this.setState({beforeClose: true}, () => {\n this.closeTimer = setTimeout(callback, closeTimeoutMS ? closeTimeoutMS : 150)\n });\n };\n }\n\n componentWillUnmount() {\n onClose = null;\n clearTimeout(this.closeTimer)\n }\n\n render() {\n\n return (\n <Fragment>\n <span onClick={e => {\n this.close()\n }} className={'redux-templates-pagelist-modal-overlay'}>&nbsp;</span>\n <div className={ this.props.compactMode ? 'redux-templates-modal-inner' : 'redux-templates-pagelist-modal-inner'} onClick={e => e.stopPropagation()}>\n {this.props.children}\n </div>\n </Fragment>\n );\n }\n}\n\n\nexport const ModalManager = {\n open(component) {\n if (onClose) {\n this.close();\n // throw __('There is already one modal.It must be closed before one new modal will be opened');\n }\n if (!node) {\n node = document.createElement('div')\n node.className = 'redux-templates-builder-modal'\n document.body.appendChild(node)\n }\n wp.element.render(component, node)\n document.body.classList.add('redux-templates-builder-modal-open')\n },\n close() {\n onClose && onClose(() => {\n wp.element.unmountComponentAtNode(node)\n document.body.classList.remove('redux-templates-builder-modal-open')\n });\n },\n openCustomizer(component) {\n if (!customizerNode) {\n customizerNode = document.createElement('div');\n document.body.appendChild(customizerNode);\n }\n wp.element.render(component, customizerNode);\n },\n closeCustomizer() {\n if (customizerNode) {\n wp.element.unmountComponentAtNode(customizerNode);\n customizerNode = false\n }\n },\n openFeedback(component) {\n feedbackNode = document.getElementsByClassName('feedback-wrapper');\n if (!feedbackNode || feedbackNode.length < 1) {\n feedbackNode = document.createElement('div');\n feedbackNode.className = 'feedback-wrapper';\n document.body.appendChild(feedbackNode);\n } else {\n feedbackNode = feedbackNode[0];\n }\n wp.element.render(component, feedbackNode);\n },\n closeFeedback() {\n if (feedbackNode) {\n wp.element.unmountComponentAtNode(feedbackNode);\n feedbackNode = false;\n }\n },\n isCustomizerOpened() {\n return customizerNode ? true : false;\n },\n hide () {\n document.body.classList.remove('redux-templates-builder-modal-open')\n node.classList.add('hidden')\n },\n show () {\n document.body.classList.add('redux-templates-builder-modal-open')\n if (node)\n node.classList.remove('hidden')\n }\n}\n","const {__} = wp.i18n\n\nfunction FullyOverlayFooter(props) {\n const {previewClass, expandedClass, pro} = props;\n const {onChangePreviewClass, onToggleExpanded, onImport} = props;\n const previewClassesList = [\n {className: 'preview-desktop', screenReaderText: 'Enter desktop preview mode'},\n {className: 'preview-tablet', screenReaderText: 'Enter tablet preview mode'},\n {className: 'preview-mobile', screenReaderText: 'Enter mobile preview mode'}\n ];\n\n const toggleExpanded = () => {\n let nextStatus = (expandedClass === 'collapsed') ? 'expanded' : 'collapsed';\n onToggleExpanded(nextStatus);\n }\n return (\n <div className=\"wp-full-overlay-footer\">\n <div className=\"footer-import-button-wrap redux-templates-import-button-group\">\n\n {\n pro ?\n <div className=\"action-buttons\">\n <a className=\"redux-templates-button-download\" target=\"_blank\" href=\"http://redux-templates.io/\">\n <i className=\"fas fa-upload\"></i>&nbsp;{__('Upgrade to Pro', redux_templates.i18n)}\n </a>\n </div>\n :\n <a className=\"button button-hero hide-if-no-customize button-primary redux-templates-import\"\n onClick={onImport}>\n <i className=\"fas fa-download\"></i>&nbsp;{__('Import', redux_templates.i18n)}\n </a>\n }\n\n </div>\n <button type=\"button\" className=\"collapse-sidebar button\" onClick={toggleExpanded} aria-expanded=\"true\"\n aria-label=\"Collapse Sidebar\">\n <span className=\"collapse-sidebar-arrow\"></span>\n <span className=\"collapse-sidebar-label\">{__('Collapse', redux_templates.i18n)}</span>\n </button>\n\n <div className=\"devices-wrapper\">\n <div className=\"devices\">\n {\n previewClassesList.map((previewObject, i) => {\n return (\n <button type=\"button\"\n className={previewClass === previewObject.className ? previewObject.className + ' active' : previewObject.className}\n aria-pressed=\"true\" key={i}\n onClick={() => onChangePreviewClass(previewObject.className)}>\n <span className=\"screen-reader-text\">{previewObject.screenReaderText}</span>\n </button>\n );\n })\n }\n </div>\n </div>\n\n </div>\n );\n}\n\nexport default FullyOverlayFooter;\n","const {__} = wp.i18n\n\nfunction FullyOverlayHeader(props) {\n const {onCloseCustomizer, onNextBlock, onPrevBlock, onImport, pro} = props;\n return (\n <div className=\"wp-full-overlay-header\">\n <button className=\"close-full-overlay\" onClick={onCloseCustomizer}>\n <span className=\"screen-reader-text\">{__('Close', redux_templates.i18n)}</span>\n </button>\n <button className=\"previous-theme\" onClick={onPrevBlock}>\n <span className=\"screen-reader-text\">{__('Previous', redux_templates.i18n)}</span>\n </button>\n <button className=\"next-theme\" onClick={onNextBlock}>\n <span className=\"screen-reader-text\">{__('Next', redux_templates.i18n)}</span>\n </button>\n {\n pro === false &&\n <a className=\"button hide-if-no-customize button-primary redux-templates-section-import\" onClick={onImport}\n data-import=\"disabled\">\n {__('Import', redux_templates.i18n)}\n </a>\n }\n </div>\n );\n}\n\nexport default FullyOverlayHeader;\n","import {Tooltip, Panel, PanelBody, PanelRow} from '@wordpress/components';\nimport {more} from '@wordpress/icons';\n\n\nconst {useState, useEffect} = wp.element\nconst {__} = wp.i18n\n\nimport * as Icons from '~redux-templates/icons'\nimport copy from 'clipboard-copy';\nimport SafeImageLoad from '~redux-templates/components/safe-image-load';\nimport {requiresInstall, requiresPro} from '~redux-templates/stores/dependencyHelper'\nimport React from 'react';\n\nexport default function SidebarContent(props) {\n\tconst {itemData, pro} = props;\n\tconst {hash, name, image, blocks, proDependencies, installDependencies, url, source} = itemData;\n\tconst [copied, setCopied] = useState(false);\n\n\tconst copyHash = () => {\n\t\tcopy(hash.substring(0, 7));\n\t\tsetCopied(true);\n\t\tsetTimeout(function () {\n\t\t\tsetCopied(false);\n\t\t}, 3500);\n\t}\n\n\tuseEffect(() => {\n\t\tsetCopied(false);\n\t}, [itemData]);\n\n\n\tif ('redux' === source) {\n\t\tconst source_instance = redux_templates.supported_plugins['redux-framework'];\n\t} else {\n\t\tconst source_instance = redux_templates.supported_plugins[source];\n\t}\n\n\treturn (\n\t\t<div className=\"wp-full-overlay-sidebar-content\">\n\t\t\t<div className=\"install-theme-info\">\n\t\t\t\t<h3 className=\"theme-name\">{name} { url && <Tooltip position={'top right'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext={__('Full Preview', redux_templates.i18n)}><a href={url}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"><i\n\t\t\t\t\tclassName=\"fas fa-external-link-alt\"/></a></Tooltip> }</h3>\n\t\t\t\t<div className=\"theme-screenshot-wrap\">\n\t\t\t\t\t<SafeImageLoad url={image} className=\"theme-screenshot\"/>\n\t\t\t\t\t{pro ?\n\t\t\t\t\t\t<span className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</span> : ''}\n\t\t\t\t</div>\n\n\t\t\t\t<h5 className=\"theme-hash\">\n\t\t\t\t\t<div className=\"button-container\">\n <span className=\"button button-secondary the-copy\" onClick={copyHash}\n\t\t\t\t\t\t\t title={__('Copy Identifier', redux_templates.i18n)}><i\n\t\t\t\t\t\t\tclassName=\"fa fa-copy\" aria-hidden=\"true\"></i></span>\n\t\t\t\t\t\t<span onClick={copyHash} className=\"button button-secondary the-hash\"\n\t\t\t\t\t\t\t title={__('Identifier', redux_templates.i18n)}>{hash.substring(0, 7)}</span>\n\t\t\t\t\t\t{copied && <span className=\"copied hideMe\"><br/>{__('copied', redux_templates.i18n)}</span>}\n\t\t\t\t\t</div>\n\n\t\t\t\t</h5>\n\t\t\t</div>\n\t\t\t{ blocks && blocks.length > 0 &&\n\t\t\t<PanelBody title={__('Blocks Used', redux_templates.i18n)} icon={more} initialOpen={false}>\n\t\t\t\t<PanelRow className=\"redux-block-pills\">\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tblocks.map((block, i) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li key={i}><span>{block}</span></li>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t</ul>\n\t\t\t\t</PanelRow>\n\t\t\t</PanelBody>\n\t\t\t}\n\t\t\t{\n\t\t\t\tinstallDependencies && installDependencies.length > 0 &&\n\t\t\t\t<PanelBody title={__('Required Plugins', redux_templates.i18n)} icon={more} initialOpen={false}>\n\t\t\t\t\t<PanelRow className=\"requirements-list-div\">\n\t\t\t\t\t\t<div className=\"requirements-list\">\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tinstallDependencies.map(pluginKey => {\n\t\t\t\t\t\t\t\t\t\tconst pluginInstance = redux_templates.supported_plugins[pluginKey];\n\t\t\t\t\t\t\t\t\t\tif (!pluginInstance) {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log('Missing plugin details for ' + pluginKey);\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconst plugin_name = pluginKey.replace('-pro', '').replace('-premium', '').replace(/\\W/g, '').toLowerCase();\n\t\t\t\t\t\t\t\t\t\tif ('redux' === plugin_name) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconst IconComponent = Icons[plugin_name];\n\t\t\t\t\t\t\t\t\t\treturn (\n\n\t\t\t\t\t\t\t\t\t\t\t<li key={pluginKey}>\n\t\t\t\t\t\t\t\t\t\t\t\t{IconComponent && <IconComponent/>}\n\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"redux-templates-dependency-name\">{pluginInstance.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t{requiresInstall(itemData) &&\n\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip position={'bottom center'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t text={__('Not Installed', redux_templates.i18n)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='redux-icon-wrapper'><i\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"fa fa-exclamation-triangle\"/></div>\n\t\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t{pluginInstance.url ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip position={'top right'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t text={__('Visit Plugin Website', redux_templates.i18n)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"pluginURL\"><a href={pluginInstance.url}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t target=\"_blank\"><i\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"fas fa-external-link-alt\"/></a></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Tooltip> : null}\n\t\t\t\t\t\t\t\t\t\t\t</li>);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PanelBody>\n\t\t\t}\n\t\t\t{\n\t\t\t\t'redux' !== source &&\n\t\t\t\t<PanelBody title={__('Template Details', redux_templates.i18n)} icon={more} initialOpen={false}>\n\t\t\t\t\t<PanelRow className=\"redux-block-pills\">\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t{'redux' !== source && <li><strong>Author</strong>: {source.slice(0,1).toUpperCase() + source.slice(1, source.length)}</li>}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PanelBody>\n\t\t\t}\n\t\t</div>\n\t);\n}\n","import FullyOverlayHeader from './FullyOverlayHeader';\nimport SidebarContent from './SidebarContent';\nimport FullyOverlayFooter from './FullyOverlayFooter';\nimport {isBlockPro} from '../stores/helper';\n\nfunction SitePreviewSidebar(props) {\n const {itemData, previewClass, expandedClass, onImport} = props;\n const {onCloseCustomizer, onChangePreviewClass, onToggleExpanded, onNextBlock, onPrevBlock} = props;\n const isPro = isBlockPro(itemData.pro, itemData.source);\n\n return (\n <div className=\"wp-full-overlay-sidebar\">\n <FullyOverlayHeader onCloseCustomizer={onCloseCustomizer} onNextBlock={onNextBlock}\n onPrevBlock={onPrevBlock}\n pro={isPro} onImport={onImport}/>\n <SidebarContent itemData={itemData} pro={isPro} />\n <FullyOverlayFooter previewClass={previewClass} expandedClass={expandedClass} pro={isPro}\n onChangePreviewClass={onChangePreviewClass} onToggleExpanded={onToggleExpanded}\n onImport={onImport}/>\n </div>\n );\n}\n\n\nexport default SitePreviewSidebar;\n","const {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect, useReducer} = wp.element\nconst {Spinner} = wp.components;\nimport SitePreviewSidebar from './SitePreviewSidebar';\nimport {ModalManager} from '../modal-manager'\nimport ImportWizard from '../modal-import-wizard';\nimport {Fragment} from 'react';\nimport SafeImageLoad from '~redux-templates/components/safe-image-load';\nimport {processImportHelper} from '~redux-templates/stores/actionHelper';\nimport './style.scss';\n\nconst initialState = {\n currentPageData: null,\n currentIndex: 0,\n itemData: null,\n imageURL: ''\n};\n\nconst LOADING_RESET = 0;\nconst IN_PROGRESS = 1;\nconst FULLY_LOADED = 2;\n\nconst previewReducer = (state, action) => {\n let currentPageData;\n let imageURL;\n switch(action.type) {\n case 'INDEX':\n currentPageData = state.currentPageData;\n break;\n case 'DATA':\n currentPageData = action.currentPageData;\n break;\n }\n const itemData = currentPageData[action.currentIndex];\n if (itemData.image_full)\n imageURL = itemData.image_full;\n else\n imageURL = itemData.image\n\n return {\n currentPageData,\n currentIndex: action.currentIndex,\n imageURL,\n itemData\n };\n}\n\nfunction PreviewModal(props) {\n\n const {startIndex, currentPageData} = props;\n const {setImportingTemplate, importingTemplate} = props;\n\n const [state, dispatch] = useReducer(previewReducer, initialState);\n\n const [previewClass, setPreviewClass] = useState('preview-desktop')\n const [expandedClass, toggleExpanded] = useState('expanded')\n const [pressedKey, setPressedKey] = useState(null);\n const [loading, setLoading] = useState(IN_PROGRESS);\n const [wrapperClassName, setWrapperClassName] = useState('wp-full-overlay sites-preview theme-install-overlay ');\n\n // Key event handling : event listener set up\n useEffect(() => {\n const handleKeyDown = ({keyCode}) => {\n setPressedKey(keyCode);\n }\n\n window.addEventListener('keydown', handleKeyDown);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n }\n }, []);\n\n // Key Event handling\n useEffect(() => {\n if (pressedKey !== null) {\n if (pressedKey === 37) onPrevBlock();\n if (pressedKey === 39) onNextBlock();\n setPressedKey(null);\n }\n }, [pressedKey])\n\n useEffect(() => {\n if (isNaN(startIndex) === false && currentPageData)\n dispatch({ type: 'DATA', currentIndex: startIndex, currentPageData });\n }, [startIndex, currentPageData]);\n\n // mobile/desktop preview status and sidebar collapse/expand\n useEffect(() => {\n setWrapperClassName(['wp-full-overlay sites-preview theme-install-overlay ', previewClass, expandedClass].join(' '));\n }, [previewClass, expandedClass])\n\n const onCloseCustomizer = () => {\n ModalManager.closeCustomizer();\n }\n\n const onNextBlock = () => {\n if (state.currentIndex < currentPageData.length - 1) {\n startLoading();\n dispatch({ type: 'INDEX', currentIndex: state.currentIndex + 1 });\n }\n }\n\n const onPrevBlock = () => {\n if (state.currentIndex > 0) {\n setLoading();\n dispatch({ type: 'INDEX', currentIndex: state.currentIndex - 1 });\n }\n }\n\n const startLoading = () => {\n setLoading(LOADING_RESET);\n setTimeout(() => {\n setLoading(IN_PROGRESS);\n }, 100)\n }\n\n\n const importStarterBlock = () => {\n setImportingTemplate(state.itemData);\n ModalManager.closeCustomizer();\n }\n\n const processImport = () => {\n if (importingTemplate) processImportHelper();\n }\n\n // Called from iframe upon successful loading\n const hideSpinner = () => {\n setLoading(FULLY_LOADED);\n }\n\n if (!state || !state.itemData) return null;\n\n return (\n <Fragment>\n <div className={wrapperClassName} style={{display: 'block'}}>\n <SitePreviewSidebar itemData={state.itemData} previewClass={previewClass} expandedClass={expandedClass}\n onNextBlock={onNextBlock} onPrevBlock={onPrevBlock}\n onCloseCustomizer={onCloseCustomizer} onToggleExpanded={e => toggleExpanded(e)}\n onImport={importStarterBlock}\n onChangePreviewClass={e => setPreviewClass(e)}/>\n <div className=\"wp-full-overlay-main loaded\">\n {\n (loading < FULLY_LOADED) && <Spinner />\n }\n {state.itemData.url &&\n <iframe src={(loading === LOADING_RESET) ? '' : state.itemData.url + '?preview=1'} target='Preview' onLoad={hideSpinner}></iframe>\n }\n {!state.itemData.url &&\n <div className='redux-templates-modal-preview-box'>\n <SafeImageLoad url={state.imageURL} />\n </div>\n }\n\n </div>\n </div>\n { importingTemplate && <ImportWizard startImportTemplate={processImport} /> }\n </Fragment>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setImportingTemplate,\n setCustomizerOpened\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setImportingTemplate,\n setCustomizerOpened\n };\n }),\n\n withSelect((select, props) => {\n const {getImportingTemplate} = select('redux-templates/sectionslist');\n return {\n importingTemplate: getImportingTemplate()\n };\n })\n])(PreviewModal);\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./modals.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./modals.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./modals.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { download } from '../export/file';\nconst { Fragment } = wp.element;\nimport { colorizeIcon } from '~redux-templates/icons'\n\nimport { Dashicon } from '@wordpress/components';\n\nfunction ExportPageContentMenuItem( { createNotice, editedPostContent } ) {\n if (!wp.plugins) return null;\n\n const { PluginMoreMenuItem } = wp.editPost;\n\n const exportFullpage = () => {\n const fileContent = JSON.stringify( {\n __file: 'core_block',\n content: editedPostContent,\n }, null, 2 );\n\n const fileName = 'page-template-export.json';\n download( fileName, fileContent, 'application/json' );\n }\n\n\n return (\n <Fragment>\n <PluginMoreMenuItem\n icon={ colorizeIcon( <Dashicon icon=\"migrate\" /> ) }\n role=\"menuitemcheckbox\"\n onClick={ exportFullpage }\n >\n { __( 'Export Page', redux_templates.i18n ) }\n </PluginMoreMenuItem>\n </Fragment>\n );\n}\n\nconst ExportPageContentMenu = compose(\n withSelect( ( select ) => ( {\n editedPostContent: select( 'core/editor' ).getEditedPostAttribute(\n 'content'\n ),\n } ) ),\n withDispatch( ( dispatch ) => {\n const { createNotice } = dispatch( 'core/notices' );\n\n return {\n createNotice,\n };\n } ),\n ifCondition( ( { editedPostContent } ) => editedPostContent.length > 0 )\n)( ExportPageContentMenuItem );\n\nif (wp.plugins) {\n const { registerPlugin } = wp.plugins;\n registerPlugin('redux-templates-export-page', {\n render: ExportPageContentMenu,\n });\n}\n","/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n/**\n * Internal dependencies\n */\n\nimport exportReusableBlock from './reusable';\nimport { download } from './file';\nimport { colorizeIcon } from '~redux-templates/icons'\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { withSelect, select } = wp.data;\nconst { compose } = wp.compose;\nconst { Fragment } = wp.element;\nconst { withSpokenMessages } = wp.components;\nconst { serialize } = wp.blocks;\nimport { Dashicon } from '@wordpress/components';\n\n/**\n * Render plugin\n */\nfunction ExportManager(props) {\n\tconst { selectedBlockCount, selectedBlock, selectedBlocks } = props;\n\n\tif (!wp.editPost) return null;\n\n\tconst { PluginBlockSettingsMenuItem } = wp.editPost;\n\tconst saveAsJSON = () => {\n\t\tif ( selectedBlockCount < 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blocks;\n\t\tlet title = 'redux_templates/export';\n\n\t\tif ( selectedBlockCount === 1 ) {\n\t\t\t//export as reusable when reusable is selected\n\t\t\tif ( selectedBlock.name === 'core/block' ) {\n\t\t\t\texportReusableBlock( selectedBlock.attributes.ref );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tblocks = serialize( selectedBlock );\n\t\t\ttitle = selectedBlock.name;\n\t\t}\n\n\t\tif ( selectedBlockCount > 1 ) {\n\t\t\tblocks = serialize( selectedBlocks );\n\t\t}\n\n\t\t//do export magic\n\n\t\tconst fileContent = JSON.stringify( {\n\t\t\t__file: 'core_block',\n\t\t\tcontent: blocks,\n\t\t}, null, 2 );\n\n\t\tconst fileName = 'block-template-' + kebabCase( title ) + '.json';\n\t\tdownload( fileName, fileContent, 'application/json' );\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<PluginBlockSettingsMenuItem\n\t\t\t\ticon={ colorizeIcon( <Dashicon icon=\"migrate\" /> ) }\n\t\t\t\tlabel={ __( 'Export Block', redux_templates.i18n ) }\n\t\t\t\tonClick={ saveAsJSON }\n\t\t\t>\n\n\t\t\t</PluginBlockSettingsMenuItem>\n\t\t</Fragment>\n\t);\n}\n\nexport default compose( [\n\twithSelect( () => {\n\t\tconst { getSelectedBlockCount, getSelectedBlock, getMultiSelectedBlocks } = select( 'core/block-editor' );\n\t\tconst { getBlock } = select( 'core/block-editor' );\n\n\t\treturn {\n\t\t\tselectedBlockCount: getSelectedBlockCount(),\n\t\t\tselectedBlock: getSelectedBlock(),\n\t\t\tselectedBlocks: getMultiSelectedBlocks(),\n\t\t\tgetBlock,\n\t\t};\n\t} ),\n\twithSpokenMessages,\n] )( ExportManager );\n","const block_export_json = function (el, type) {\n if (!el) {\n return\n }\n\n if (el) {\n t ? t += '.json' : t = 'block.json', 'object' === ('undefined' === typeof e ? 'undefined' : u(e)) && (el = 1 === a.count ? JSON.stringify(e.shift(), void 0, 4) : JSON.stringify(e, void 0, 4));\n var n = new Blob([el], {\n type: 'text/json'\n }),\n o = document.createEvent('MouseEvents'),\n l = document.createElement('a');\n l.download = t, l.href = window.URL.createObjectURL(n), l.dataset.downloadurl = ['text/json', l.download, l.href].join(':'), o.initMouseEvent('click', !0, !1, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), l.dispatchEvent(o)\n }\n}\n\nconst block_export_html = function (el, type) {\n if (!el) {\n return\n }\n\n if (el) {\n t ? t += '.json' : t = 'block.json', 'object' === ('undefined' === typeof e ? 'undefined' : u(e)) && (el = 1 === a.count ? JSON.stringify(e.shift(), void 0, 4) : JSON.stringify(e, void 0, 4));\n var n = new Blob([el], {\n type: 'text/json'\n }),\n o = document.createEvent('MouseEvents'),\n l = document.createElement('a');\n l.download = t, l.href = window.URL.createObjectURL(n), l.dataset.downloadurl = ['text/json', l.download, l.href].join(':'), o.initMouseEvent('click', !0, !1, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), l.dispatchEvent(o)\n }\n}\n\nconst block_export_page = function (el, type) {\n if (!el) {\n return\n }\n\n if (el) {\n t ? t += '.json' : t = 'block.json', 'object' === ('undefined' === typeof e ? 'undefined' : u(e)) && (el = 1 === a.count ? JSON.stringify(e.shift(), void 0, 4) : JSON.stringify(e, void 0, 4));\n var n = new Blob([el], {\n type: 'text/json'\n }),\n o = document.createEvent('MouseEvents'),\n l = document.createElement('a');\n l.download = t, l.href = window.URL.createObjectURL(n), l.dataset.downloadurl = ['text/json', l.download, l.href].join(':'), o.initMouseEvent('click', !0, !1, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), l.dispatchEvent(o)\n }\n}\n\n/**\n * Downloads a file.\n *\n * @param {string} fileName File Name.\n * @param {string} content File Content.\n * @param {string} contentType File mime type.\n */\nexport function download( fileName, content, contentType ) {\n const file = new window.Blob( [ content ], { type: contentType } );\n\n // IE11 can't use the click to download technique\n // we use a specific IE11 technique instead.\n if ( window.navigator.msSaveOrOpenBlob ) {\n window.navigator.msSaveOrOpenBlob( file, fileName );\n } else {\n const a = document.createElement( 'a' );\n a.href = URL.createObjectURL( file );\n a.download = fileName;\n\n a.style.display = 'none';\n document.body.appendChild( a );\n a.click();\n document.body.removeChild( a );\n }\n}\n","import ExportManager from './export-block-menu-item';\nif (wp.plugins) {\n\tconst { registerPlugin } = wp.plugins;\n\n\tregisterPlugin( 'redux-templates-export', {\n\t\trender: ExportManager,\n\t} );\n}\n","/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { download } from './file';\n\n/**\n * Export a reusable block as a JSON file.\n *\n * @param {number} id\n */\nasync function exportReusableBlock( id ) {\n\tconst postType = await wp.apiFetch( { path: '/wp/v2/types/wp_block' } );\n\tconst post = await wp.apiFetch( { path: '/wp/v2/' + postType.rest_base + '/' + id + '?context=edit' } );\n\tconst title = post.title.raw;\n\tconst content = post.content.raw;\n\tconst fileContent = JSON.stringify( {\n\t\t__file: 'wp_block',\n\t\ttitle,\n\t\tcontent,\n\t}, null, 2 );\n\tconst fileName = kebabCase( title ) + '.json';\n\n\tdownload( fileName, fileContent, 'application/json' );\n}\n\nexport default exportReusableBlock;","/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport {ModalManager} from '../../modal-manager';\nimport LibraryModal from '../../modal-library';\nimport { ReduxTemplatesIconColor } from '~redux-templates/icons';\n\nconst { Fragment } = wp.element;\n\nfunction OpenLibraryContentMenuItem( ) {\n\tif (!wp.plugins) return null;\n\n\tconst { PluginMoreMenuItem } = wp.editPost;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<PluginMoreMenuItem\n\t\t\t\ticon={ ReduxTemplatesIconColor() }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tModalManager.open(<LibraryModal />);\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Template Library', redux_templates.i18n ) }\n\t\t\t</PluginMoreMenuItem>\n\t\t</Fragment>\n\t);\n}\n\nconst OpenLibraryContentMenu = compose(\n\twithSelect( ( select ) => ( {\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t} ),\n\n)( OpenLibraryContentMenuItem );\n\nif (wp.plugins) {\n\tconst { registerPlugin } = wp.plugins;\n\tregisterPlugin('redux-open-library-context', {\n\t\trender: OpenLibraryContentMenu,\n\t});\n}\n","import {noop} from 'lodash'\nimport {Fragment} from '@wordpress/element'\nimport {__} from '@wordpress/i18n'\nimport {select, withDispatch} from '@wordpress/data'\nimport {compose} from '@wordpress/compose'\nimport {PluginBlockSettingsMenuItem} from '@wordpress/edit-post'\nimport { ReduxTemplatesIcon } from '../../icons';\nimport {ModalManager} from '../../modal-manager'\nimport FeedbackDialog from '~redux-templates/modal-feedback';\nimport sortBy from 'lodash/sortBy';\nimport map from 'lodash/map';\nimport {getWithExpiry} from '../../stores/helper';\n\n/**\n * Based on: https://github.com/WordPress/gutenberg/blob/master/packages/editor/src/components/convert-to-group-buttons/convert-button.js\n */\n\n\n/**\n * Internal dependencies\n */\n\nconst options = sortBy(getWithExpiry('page_categories_list'), 'label');\nconst schema = {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n title: 'Block Title'\n },\n category: {\n type: 'string',\n title: 'Category',\n enum: map(options, 'value'),\n enumNames: map(options, 'label')\n },\n description: {\n type: 'string',\n title: 'Description'\n }\n }\n}\nconst uiSchema = {\n title: {\n classNames: 'fixed-control'\n },\n category: {\n classNames: 'fixed-control'\n },\n description: {\n 'ui:widget': 'textarea',\n }\n};\n\nexport function ShareBlockButton({clientIds})\n{\n // Only supported by WP >= 5.3.\n if (!clientIds) {\n return null\n }\n\n const onShareBlock = () => {\n const data = {\n postID: select('core/editor').getCurrentPostId(),\n editor_blocks: select('core/block-editor').getBlocksByClientId(clientIds),\n type: 'block'\n };\n ModalManager.openFeedback(\n <FeedbackDialog\n title={__('Redux Shares', redux_templates.i18n)}\n width={700}\n description={__('Share this design', redux_templates.i18n)}\n schema={schema}\n uiSchema={uiSchema}\n data={data}\n headerImage={<i className=\"fas fa-share header-icon\"></i>}\n endpoint='share'\n onSuccess={data => window.open(data.data.url, '_blank')}\n buttonLabel={__('Submit Template', redux_templates.i18n)}\n />\n )\n }\n\n return (\n <Fragment>\n <PluginBlockSettingsMenuItem\n icon={ReduxTemplatesIcon}\n label={__('Share Block', redux_templates.i18n)}\n onClick={onShareBlock}\n />\n {/*<PluginBlockSettingsMenuItem*/}\n {/* icon={ReduxTemplatesIcon}*/}\n {/* label={__('Export as Reusable Block', redux_templates.i18n)}*/}\n {/* onClick={onExportBlock}*/}\n {/*/>*/}\n </Fragment>\n )\n}\n\nexport default compose([\n\n withDispatch((dispatch, {\n clientIds, onToggle = noop, blocksSelection = [],\n }) => {\n const {\n replaceBlocks,\n } = dispatch('core/block-editor')\n\n return {\n onExportBlock() {\n if (!blocksSelection.length) {\n return\n }\n\n console.log(blocksSelection);\n\n let blocks = wp.data.select('core/block-editor').getBlocks();\n let fileName = 'blocks.json'\n\n const title = select('core/block-editor').getSelectedBlockName();\n const content = select('core/block-editor').getSelectedBlockClientId();\n // const content = post.content.raw;\n const fileContent = JSON.stringify(\n {\n __file: 'wp_block',\n title,\n content,\n },\n null,\n 2\n );\n console.log(fileContent);\n // const theFileName = kebabCase( title ) + '.json';\n //\n // download( theFileName, fileContent, 'application/json' );\n //\n //\n //\n // if (blocksSelection.length == 1) {\n // fileName = blocksSelection[0].name.replace('/', '_') + '.json'\n // }\n //\n // saveData(blocksSelection, fileName, 'json');\n\n onToggle()\n },\n }\n }),\n])(ShareBlockButton)\n","import { withSelect } from '@wordpress/data'\nimport ShareBlockButton from './buttons'\nimport { ReduxTemplatesIcon } from '~redux-templates/icons';\n\nif (wp.plugins) {\n const { registerPlugin } = wp.plugins;\n const Buttons = withSelect( select => {\n const { getSelectedBlockClientIds } = select( 'core/block-editor' )\n\n // Only supported by WP >= 5.3.\n if ( ! getSelectedBlockClientIds ) {\n return {}\n }\n\n return {\n clientIds: getSelectedBlockClientIds(),\n }\n } )( ShareBlockButton );\n\t// TODO - Finish this off and show to users.\n // registerPlugin( 'redux-templates-share-block-btn', {\n // icon: ReduxTemplatesIcon,\n // render: Buttons,\n // } );\n}\n","import Sidebar from './sidebar'\nimport { ReduxTemplatesIcon } from '~redux-templates/icons';\nif (wp.plugins) {\n\tconst { registerPlugin } = wp.plugins;\n\n\t\n\n\tregisterPlugin( 'redux-templates-share', {\n\t\ticon: ReduxTemplatesIcon,\n\t\trender: Sidebar,\n\t} );\n}\n","const {__} = wp.i18n;\nconst {compose} = wp.compose;\nconst {withSelect, select} = wp.data;\nconst {Fragment} = wp.element;\nconst {PanelBody} = wp.components\n\nimport sortBy from 'lodash/sortBy';\nimport map from 'lodash/map';\nimport {ModalManager} from '../../modal-manager'\nimport FeedbackDialog from '~redux-templates/modal-feedback';\nimport {getWithExpiry} from '../../stores/helper';\n\nconst options = sortBy(getWithExpiry('section_categories_list'), 'label');\nconst schema = {\n type: 'object',\n properties: {\n title: {\n type: 'string',\n title: 'Block Title'\n },\n category: {\n type: 'string',\n title: 'Category',\n enum: map(options, 'value'),\n enumNames: map(options, 'label')\n },\n description: {\n type: 'string',\n title: 'Description'\n }\n }\n}\nconst uiSchema = {\n title: {\n classNames: 'fixed-control'\n },\n category: {\n classNames: 'fixed-control'\n },\n description: {\n 'ui:widget': 'textarea',\n }\n};\n\nfunction Sidebar(props) {\n if (!wp.editPost) return null;\n\treturn null; // TODO - Finish fixing this experience.\n const {PluginSidebar, PluginSidebarMoreMenuItem} = wp.editPost;\n const {getEditorBlocks} = props;\n const onShare = () => {\n const data = {\n postID: select('core/editor').getCurrentPostId(),\n editor_blocks: getEditorBlocks(),\n type: 'page'\n };\n ModalManager.openFeedback(\n <FeedbackDialog\n title={__('Redux Shares', redux_templates.i18n)}\n description={__('Share this design', redux_templates.i18n)}\n schema={schema}\n uiSchema={uiSchema}\n data={data}\n width={700}\n headerImage={<i className=\"fas fa-share header-icon\"></i>}\n endpoint='share'\n onSuccess={data => window.open(data.data.url, '_blank')}\n buttonLabel={__('Submit Template', redux_templates.i18n)}\n />\n )\n }\n\n return (\n <Fragment>\n <PluginSidebarMoreMenuItem target=\"redux-templates-share\">\n {__('Redux Template', redux_templates.i18n)}\n </PluginSidebarMoreMenuItem>\n <PluginSidebar name=\"redux-templates-share\" title={__('Redux Shares', redux_templates.i18n)}>\n <PanelBody title={__('Share this Design', redux_templates.i18n)} initialOpen={true}>\n <div className=\"d-flex justify-content-center\">\n <a className=\"button button-primary\" onClick={onShare}>\n <i className=\"fas fa-share\"></i>\n &nbsp;{__('Share this design', redux_templates.i18n)}\n </a>\n </div>\n </PanelBody>\n </PluginSidebar>\n </Fragment>\n );\n}\n\nexport default compose([\n withSelect((select) => {\n const {getEditorBlocks} = select('core/editor');\n return {\n getEditorBlocks\n };\n })\n])(Sidebar);\n","const { parse, createBlock } = wp.blocks;\nconst { apiFetch } = wp;\nconst { dispatch, select } = wp.data;\nconst { getBlockOrder } = select( 'core/block-editor' );\nconst { getBlockTypes } = select('core/blocks');\nconst { savePost, editPost } = dispatch('core/editor');\nconst { insertBlocks, removeBlocks, multiSelect } = dispatch('core/block-editor');\nconst { createSuccessNotice, createErrorNotice, createNotice, removeNotice } = dispatch('core/notices');\nimport { __ } from '@wordpress/i18n'\nimport { ModalManager } from '~redux-templates/modal-manager';\nimport PreviewModal from '../modal-preview';\nimport FeedbackDialog from '~redux-templates/modal-feedback';\n\n\n// create Block to import template\nexport const handleBlock = (data, installedDependencies) => {\n let block_data = null;\n if ('template' in data) {\n block_data = parse(data.template);\n } else if ('attributes' in data) {\n if (!('innerBlocks' in data)) {\n data.innerBlocks = [];\n }\n if (!('name' in data)) {\n errorCallback('Template malformed, `name` for block not specified.');\n }\n // This kind of plugins are not ready to accept before reloading, thus, we save it into localStorage and just reload for now.\n if (installedDependencies === true) {\n window.redux_templates_tempdata = [...window.redux_templates_tempdata, data];\n return null;\n } else {\n block_data = createBlock(data.name, data.attributes, data.innerBlocks)\n }\n } else {\n errorCallback('Template error. Please try again.');\n }\n return block_data;\n}\n\nexport const processImportHelper = () => {\n const { setImportingTemplate, discardAllErrorMessages, clearSearch } = dispatch('redux-templates/sectionslist');\n const type = select('redux-templates/sectionslist').getActiveItemType() === 'section' ? 'sections' : 'pages';\n const data = select('redux-templates/sectionslist').getImportingTemplate();\n const installedDependencies = select('redux-templates/sectionslist').getInstalledDependencies();\n const isImportToAppend = select('redux-templates/sectionslist').getImportToAppend();\n\n if (type === 'pages') {\n \teditPost({'template': 'redux-templates_full_width'});\n } else {\n\t if ( '' === select( 'core/editor' ).getEditedPostAttribute( 'template' ) ) {\n\t\t editPost({'template': 'redux-templates_contained'});\n\t }\n }\n\n discardAllErrorMessages();\n let the_url = 'redux/v1/templates/template?type=' + type + '&id=' + data.id + '&uid=' + window.userSettings.uid;\n if ('source' in data) {\n the_url += '&source=' + data.source;\n }\n\n const options = {\n method: 'GET',\n path: the_url,\n headers: { 'Content-Type': 'application/json', 'Registered-Blocks': installedBlocksTypes() }\n };\n\n if (dispatch('core/edit-post') && select('core/edit-post').getEditorMode() === 'text') {\n const { switchEditorMode } = dispatch('core/edit-post');\n switchEditorMode()\n }\n window.redux_templates_tempdata = [];\n\n apiFetch(options).then(response => {\n // First, let's give user feedback.\n displayNotice(response.data, {type: 'snackbar'});\n \n if (isImportToAppend === false) {\n const rootBlocksClientIds = getBlockOrder();\n multiSelect(\n rootBlocksClientIds[0],\n rootBlocksClientIds[rootBlocksClientIds.length - 1]\n );\n removeBlocks( rootBlocksClientIds );\n }\n\n if (response.success && response.data) {\n let responseBlockData = response.data;\n\n // Important: Update left count from the response in case of no Redux PRO\n if (redux_templates.mokama !== '1' && isNaN(responseBlockData.left) === false)\n redux_templates.left = responseBlockData.left;\n\n let handledData = [];\n if (responseBlockData.hasOwnProperty('template') || responseBlockData.hasOwnProperty('attributes'))\n handledData = handleBlock(responseBlockData, installedDependencies);\n else\n handledData = Object.keys(responseBlockData).filter(key => key !== 'cache')\n .map(key => handleBlock(responseBlockData[key], installedDependencies));\n\n localStorage.setItem('importing_data', JSON.stringify(data));\n localStorage.setItem('block_data', JSON.stringify(redux_templates_tempdata));\n localStorage.setItem('is_appending', isImportToAppend);\n\n insertBlocks(handledData);\n createSuccessNotice('Template inserted', { type: 'snackbar' });\n\n if (installedDependencies === true)\n savePost()\n .then(() => window.location.reload())\n .catch(() => createErrorNotice('Error while saving the post', { type: 'snackbar' }));\n else {\n ModalManager.close();\n ModalManager.closeCustomizer();\n setImportingTemplate(null);\n }\n afterImportHandling(data, handledData);\n\n } else {\n if (response.success === false)\n errorCallback(response.data.message);\n else\n errorCallback(response.data.error);\n }\n }).catch(error => {\n errorCallback(error.code + ' : ' + error.message);\n });\n}\n\nconst detectInvalidBlocks = (handleBlock) => {\n if (Array.isArray(handleBlock) === true) return handleBlock.filter(block => block.isValid === false);\n return handleBlock && handleBlock.isValid===false ? [handleBlock] : null;\n}\n\n// used for displaying notice from response data\nconst displayNotice = (data, options) => {\n if (data && data.message) {\n const noticeType = data.messageType || 'info';\n createNotice(noticeType, data.message, options)\n }\n}\n\n// show notice or feedback modal dialog based on imported block valid status\nexport const afterImportHandling = (data, handledBlock) => {\n const invalidBlocks = detectInvalidBlocks(handledBlock);\n // get the description from the invalid blocks\n let description = '';\n if (invalidBlocks && invalidBlocks.length < 1)\n description = invalidBlocks.map(block => {\n if (block.validationIssues && Array.isArray(block.validationIssues))\n return block.validationIssues.map(error => {\n return sprintf(...error.args)\n }).join('\\n');\n else\n return null;\n }).join('\\n');\n\n // Prepare Form schema object\n const schema = {\n type: 'object',\n properties: {\n theme_plugins: {\n type: 'boolean',\n title: __('Send theme and plugins', redux_templates.i18n),\n default: true\n },\n send_page_content: {\n type: 'boolean',\n title: __('Send page content', redux_templates.i18n),\n default: true\n },\n template_id: {\n type: 'string',\n default: data.hash,\n title: __('Template ID', redux_templates.i18n)\n },\n description: {\n type: 'string',\n default: description,\n title: __('Description', redux_templates.i18n)\n },\n\n }\n }\n const uiSchema = {\n description: {\n 'ui:widget': 'textarea',\n },\n template_id: {\n 'ui:disabled': true,\n classNames: 'fixed-control'\n }\n };\n\n const feedbackData = {\n content: handledBlock\n };\n if (invalidBlocks && invalidBlocks.length > 0) { // in case there\n createNotice('error', 'Please let us know if there was an issue importing this Redux template.', {\n isDismissible: true,\n id: 'redux-templatesimportfeedback',\n actions: [\n {\n onClick: () => ModalManager.openFeedback(<FeedbackDialog\n title={__('Thank you for reporting an issue.', redux_templates.i18n)}\n description={__('We want to make Redux perfect. Please send whatever you are comfortable sending, and we will do our best to resolve the problem.', redux_templates.i18n)}\n schema={schema}\n uiSchema={uiSchema}\n data={feedbackData}\n ignoreData={true}\n headerImage={<img className=\"header-background\" src={`${redux_templates.plugin}assets/img/popup-contact.png` } />}\n buttonLabel={__('Submit Feedback', redux_templates.i18n)}\n />),\n label: 'Report an Issue',\n isPrimary: true,\n }\n ],\n });\n }\n}\n\n// reload library button handler\nexport const reloadLibrary = () => {\n const { setLoading, setLibrary } = dispatch('redux-templates/sectionslist');\n setLoading(true);\n apiFetch({\n path: 'redux/v1/templates/library?no_cache=1',\n method: 'POST',\n data: {\n 'registered_blocks': installedBlocksTypes(),\n }\n }).then((newLibrary) => {\n setLoading(false);\n setLibrary(newLibrary.data);\n }).catch((error) => {\n errorCallback(error);\n });\n}\n\n\nexport const installedBlocks = () => {\n let installed_blocks = getBlockTypes();\n return Object.keys(installed_blocks).map(key => {\n return installed_blocks[key]['name'];\n })\n}\nexport const installedBlocksTypes = () => {\n let installed_blocks = getBlockTypes();\n\n let names = Object.keys(installed_blocks).map(key => {\n if (!installed_blocks[key]['name'].includes('core')) {\n return installed_blocks[key]['name'].split('/')[0];\n }\n })\n let unique = [...new Set(names)];\n var filtered = unique.filter(function (el) {\n return el;\n });\n\n return filtered\n}\n\nexport const openSitePreviewModal = (index, pageData) => {\n ModalManager.openCustomizer(\n <PreviewModal startIndex={index} currentPageData={pageData} />\n )\n}\n\nconst errorCallback = (errorMessage) => {\n const { appendErrorMessage, setImportingTemplate, setActivateDialogDisplay } = dispatch('redux-templates/sectionslist');\n if (errorMessage === 'Please activate Redux') {\n setActivateDialogDisplay(true);\n redux_templates.left = 0;\n } else {\n appendErrorMessage(errorMessage);\n setImportingTemplate(null);\n }\n}\n","export const actions = {\n setLibrary( library ) {\n return {\n type: 'SET_LIBRARY',\n library\n };\n },\n fetchLibraryFromAPI( path ) {\n return {\n type: 'FETCH_LIBRARY_FROM_API',\n path,\n };\n },\n setActiveItemType( activeItemType ) {\n return {\n type: 'SET_ACTIVE_ITEM_TYPE',\n activeItemType\n }\n },\n setActiveCategory( activeCategory ) {\n return {\n type: 'SET_ACTIVE_CATEGORY',\n activeCategory\n }\n },\n setActiveCollection( activeCollection ) {\n return {\n type: 'SET_ACTIVE_COLLECTION',\n activeCollection\n }\n },\n setActivePriceFilter( activePriceFilter ) {\n return {\n type: 'SET_ACTIVE_PRICE_FILTER',\n activePriceFilter\n }\n },\n setSearchContext( searchContext ) {\n return {\n type: 'SET_SEARCH_CONTEXT',\n searchContext\n }\n },\n setDependencyFilters( dependencyFilters ) {\n return {\n type: 'SET_DEPENDENCY_FILTERS',\n dependencyFilters\n }\n },\n setCurrentPage( currentPage ) {\n return {\n type: 'SET_CURRENT_PAGE',\n currentPage\n }\n },\n setLoading( loading ) {\n return {\n type: 'SET_LOADING',\n loading\n }\n },\n setColumns( columns ) {\n return {\n type: 'SET_COLUMNS',\n columns\n }\n },\n setSortBy( sortBy ) {\n return {\n type: 'SET_SORT_BY',\n sortBy\n }\n },\n appendErrorMessage( errorMessage ) {\n return {\n type: 'APPEND_ERROR_MESSAGE',\n errorMessage: errorMessage || 'Unknown Error'\n }\n },\n discardAllErrorMessages() {\n return {\n type: 'DISCARD_ALL_ERROR_MESSAGES'\n }\n },\n setInstalledDependencies(installedDependencies) {\n return {\n type: 'SET_INSTALLED_DEPENDENCIES',\n installedDependencies\n }\n },\n setTourOpen(isTourOpen) {\n return {\n type: 'SET_TOUR_OPEN',\n isTourOpen\n }\n },\n setTourActiveButtonGroup(data) {\n return {\n type: 'SET_TOUR_ACTIVE_BUTTON_GROUP',\n data\n }\n },\n setTourPreviewVisible(isVisible) {\n return {\n type: 'SET_PREVIEW_VISIBLE',\n isVisible\n }\n },\n setImportingTemplate(importingTemplate) {\n return {\n type: 'SET_IMPORTING_TEMPLATE',\n importingTemplate\n }\n },\n setChallengeStep(data) {\n return {\n type: 'SET_CHALLENGE_STEP',\n data\n }\n },\n setChallengeOpen(data) {\n return {\n type: 'SET_CHALLENGE_OPEN',\n data\n }\n },\n setChallengeTooltipRect(data) {\n return {\n type: 'SET_CHALLENGE_TOOLTIP_RECT',\n data\n }\n },\n setChallengeFinalStatus(data) {\n return {\n type: 'SET_CHALLENGE_FINAL_STATUS',\n data\n }\n },\n setChallengePassed(data) {\n return {\n type: 'SET_CHALLENGE_PASSED',\n data\n }\n },\n setChallengeListExpanded(data){\n return {\n type: 'SET_CHALLENGE_LIST_EXPANDED',\n data\n }\n },\n setActivateDialogDisplay(data) {\n return {\n type: 'SET_ACTIVATE_DIALOG_DISPLAY',\n data\n }\n },\n setImportToAppend(data) {\n return {\n type: 'SET_IMPORT_TO_APPEND',\n data\n }\n },\n setDependencyFilterRule(data) {\n return {\n type: 'SET_DEPENDENCY_FILTER_RULE',\n data\n }\n },\n selectDependencies(data) {\n return {\n type: 'SELECT_DEPENDENCIES',\n data\n }\n },\n clearSearch() {\n return {\n type: 'CLEAR_SEARCH'\n }\n },\n\tclearState() {\n\t\treturn {\n\t\t\ttype: 'CLEAR_STATE'\n\t\t}\n\t}\n};\n","export const getPluginInstance = (pluginKey) => {\n if (pluginKey in redux_templates.supported_plugins) {\n return redux_templates.supported_plugins[pluginKey];\n }\n return false; // Deal with unknown plugins\n}\n\nexport const needsPluginInstall = (pluginKey) => {\n const pluginInstance = getPluginInstance(pluginKey);\n return !pluginInstance || pluginInstance.hasOwnProperty('version') === false;\n}\n\nexport const needsPluginPro = (pluginKey) => {\n const pluginInstance = getPluginInstance(pluginKey);\n return (pluginInstance && pluginInstance.hasOwnProperty('has_pro') && pluginInstance.has_pro &&\n (pluginInstance.hasOwnProperty('is_pro') === false || pluginInstance.is_pro === false));\n}\n\n\nexport const pluginInfo = (pluginKey) => {\n let pluginInstance = processPlugin(pluginKey);\n if (!pluginInstance) return {name: null, slug: null, url: null};\n return pluginInstance\n}\n\n\nexport const processPlugin = (pluginKey) => {\n let pluginInstance = {...getPluginInstance(pluginKey)};\n if (!pluginInstance) {\n return pluginInstance\n }\n\n if ('free_slug' in pluginInstance && pluginInstance['free_slug'] in redux_templates.supported_plugins) {\n let new_instance = {...getPluginInstance(pluginInstance.free_slug)}\n new_instance.free_slug = pluginInstance.free_slug\n new_instance.name = pluginInstance.name\n if (!('is_pro' in new_instance)) {\n delete new_instance.version\n }\n pluginInstance = new_instance\n }\n pluginInstance.slug = pluginInstance.slug ? pluginInstance.slug : pluginKey;\n\n return pluginInstance\n}\n\nexport const requiresPro = (data) => {\n if (data && data.proDependenciesMissing && data.proDependenciesMissing.length > 0) {\n if (isReduxProInstalled()) { // redux pro installed, then skip merged plugins\n return data.proDependenciesMissing.filter((plugin) => isPluginReduxProMerged(plugin) === false).length > 0\n }\n return true;\n }\n return false;\n}\nexport const requiresInstall = (data) => {\n if (data && data.installDependenciesMissing && data.installDependenciesMissing.length > 0) {\n return true;\n }\n if (isReduxProInstalled() && data.proDependenciesMissing) { // redux pro installed, then include merged plugins\n return data.proDependenciesMissing.filter((plugin) => isPluginReduxProMerged(plugin)).length > 0\n }\n return false;\n}\n// Check if redux pro should be installed.\nexport const requiresReduxPro = (data) => {\n if (!data) return false;\n const missingDependencies = [].concat(data.installDependenciesMissing, data.proDependenciesMissing);\n return missingDependencies.reduce((acc, curKey) => {\n if (curKey === 'redux-pro') return true;\n return acc || (isPluginReduxProMerged(curKey) && isReduxProInstalled() === false); // main logic, above were execpetion handling\n }, false);\n}\n\nexport const isPluginReduxProMerged = (pluginKey) => {\n const pluginInstance = getPluginInstance(pluginKey);\n return (pluginInstance !== false && pluginInstance.redux_pro === true);\n}\n\nexport const isTemplateReadyToInstall = (data) => {\n return (requiresInstall(data) || requiresPro(data)) ? false : true;\n}\n\nexport const isTemplatePremium = (data, activeDependencyFilter) => {\n if (data && data.proDependencies !== undefined && data.proDependencies.length > 0) {\n return data.proDependencies.reduce((acc, cur) => {\n if (activeDependencyFilter[cur] === undefined) \n return false;\n return (acc || activeDependencyFilter[cur].value);\n }, false);\n }\n return (data && data.proDependenciesMissing !== undefined && data.proDependenciesMissing.length > 0);\n}\n\nexport const isReduxProInstalled = () => {\n const reduxProPluginInstance = redux_templates.supported_plugins['redux-framework'];\n return reduxProPluginInstance && reduxProPluginInstance.hasOwnProperty('is_pro');\n}","import {isTemplatePremium} from './dependencyHelper';\nimport {missingPluginsArray, NONE_KEY} from './helper';\nconst REDUXTEMPLATES_PRO_KEY = 'redux-pro';\n// Just get current Page Data\nexport const applyCategoryFilter = (pageData, activeCategory) => {\n let currentPageData = [];\n let tempDataID = [];\n if (activeCategory && pageData[activeCategory] && Array.isArray(pageData[activeCategory]) && pageData[activeCategory].length > 0) {\n pageData[activeCategory].map(value => {\n if (!(tempDataID.indexOf(value.ID) > -1)) {\n currentPageData.push(value);\n tempDataID.push(value.ID);\n }\n });\n } else\n for (let key in pageData) {\n Array.isArray(pageData[key]) && pageData[key].map(value => {\n if (!(tempDataID.indexOf(value.ID) > -1)) {\n currentPageData.push(value);\n tempDataID.push(value.ID);\n }\n else {\n if (value.parentID && !(tempDataID.indexOf(value.ID) > -1)) {\n currentPageData.push(value);\n tempDataID.push(value.ID);\n }\n }\n })\n }\n return currentPageData;\n};\n\nexport const applySearchFilter = (pageData, searchContext) => {\n let lowercasedSearchContext = searchContext.toLowerCase();\n if (Array.isArray(pageData)) {\n return pageData.filter(item => (item.name.toLowerCase().indexOf(lowercasedSearchContext) !== -1))\n } else {\n let newPageData = {};\n Object.keys(pageData).forEach(key => {\n newPageData[key] = pageData[key].filter(item => (item.name.toLowerCase().indexOf(lowercasedSearchContext) != -1))\n });\n return newPageData;\n }\n}\n\n\n\nexport const applyHashFilter = (pageData, searchContext) => {\n let lowercasedSearchContext = searchContext.toLowerCase();\n if (Array.isArray(pageData)) {\n return pageData.filter(item => (item.hash && item.hash.toLowerCase().indexOf(lowercasedSearchContext) !== -1))\n } else {\n let newPageData = [];\n Object.keys(pageData).forEach(key => {\n let filteredData = pageData[key].filter(item => (item.hash && item.hash.toLowerCase().indexOf(lowercasedSearchContext) !== -1));\n newPageData = [...newPageData, ...filteredData];\n });\n return newPageData;\n }\n}\n\n// Apply Price filter afterwards : Should make sure if it is a best practise to split this filtering\nexport const applyPriceFilter = (pageData, activePriceFilter, activeDependencyFilter) => {\n if (activePriceFilter !== '') {\n if (Array.isArray(pageData)) {\n return pageData.filter(item => {\n if (activePriceFilter === 'free') return (isTemplatePremium(item, activeDependencyFilter) === false);\n if (activePriceFilter === 'pro') return isTemplatePremium(item, activeDependencyFilter);\n });\n } else {\n let newPageData = {};\n Object.keys(pageData).forEach(key => {\n newPageData[key] = pageData[key].filter(item => {\n if (activePriceFilter === 'free') return (isTemplatePremium(item, activeDependencyFilter) === false);\n if (activePriceFilter === 'pro') return isTemplatePremium(item, activeDependencyFilter);\n });\n });\n return newPageData;\n }\n }\n return pageData;\n}\n\n\nexport const applyDependencyFilters = (pageData, dependencyFilters, dependencyFilterRule) => {\n const truthyDependenciesList = truthyDependencyFiltersList(dependencyFilters);\n if (Array.isArray(pageData)) {\n return pageData.filter(item => isTemplateDependencyFilterIncluded(item, truthyDependenciesList, dependencyFilterRule));\n } else {\n let newPageData = {};\n Object.keys(pageData).forEach(key => {\n newPageData[key] = pageData[key].filter(item => isTemplateDependencyFilterIncluded(item, truthyDependenciesList, dependencyFilterRule));\n });\n return newPageData;\n }\n}\n\nconst isTemplateDependencyFilterIncluded = (item, truthyDependenciesList, dependencyFilterRule) => {\n // console.log(\"now\", item.dependencies, dependencyFilters);\n // No dependencies at all case\n if (!item.dependencies || Object.keys(item.dependencies).length === 0) return truthyDependenciesList.includes(NONE_KEY);\n\n // Normal dependencies filter check\n const filteredList = item.dependencies.filter((dependency) => truthyDependenciesList.includes(dependency));\n\n return dependencyFilterRule ? item.dependencies.length === filteredList.length : filteredList.length > 0; // filter rule = ture => AND operation\n}\n\n// check dependency filter is selected on sidebar\n// Input: dependencyFilter={'qubely', \nexport const valueOfDependencyFilter = (dependencyFilter) => {\n if (dependencyFilter != null && dependencyFilter.hasOwnProperty('value')) return (dependencyFilter.value === true);\n return (dependencyFilter === true);\n}\n\nconst truthyDependencyFiltersList = (dependencyFilters) => {\n return Object.keys(dependencyFilters).filter((key) => dependencyFilters[key].value === true);\n}","import kebabCase from 'lodash/kebabCase'\nimport uniq from 'lodash/uniq';\nimport concat from 'lodash/concat';\nimport flatten from 'lodash/flatten';\nimport sortBy from 'lodash/sortBy';\nimport map from 'lodash/map';\nimport flattenDeep from 'lodash/flattenDeep';\nimport {afterImportHandling} from './actionHelper';\nimport {getPluginInstance, isPluginReduxProMerged} from './dependencyHelper';\nconst {createBlock} = wp.blocks;\nconst {dispatch} = wp.data;\nconst {createSuccessNotice} = dispatch('core/notices');\nconst {insertBlocks} = dispatch('core/block-editor');\n\nconst prefix = 'redux_';\nexport const REDUXTEMPLATES_PRO_KEY = 'redux-pro';\nexport const NONE_KEY = 'core';\nconst EXIPRY_TIME = 5 * 24 * 3600 * 1000;\n\nexport const getCurrentState = (state) => state[state.activeItemType]\n// Helper function not to be exported\nconst convertObjectToArray = (list) => {\n if (!list)\n return [];\n return Object.keys(list).map(key => {\n return {...list[key], ID: key};\n })\n};\n\n// parse categories and section data from section server data\nexport const categorizeData = (list) => {\n let categories = [];\n let data = {};\n\n list.forEach(item => {\n if (item.categories) {\n item.categories.map(catName => {\n let catSlug = kebabCase(catName);\n if (catSlug in data) {\n data[catSlug].push(item)\n } else {\n data[catSlug] = [];\n data[catSlug].push(item)\n }\n let index = -1;\n categories.forEach((change, i) => {\n if (catSlug == change.slug) {\n index = i\n categories[i].ids.push(item.id);\n }\n });\n if (index === -1) {\n categories.push({name: catName, slug: catSlug, ids: [item.id]})\n }\n })\n }\n });\n\n return {categories, data};\n}\n\nexport const parseSectionData = (sections) => {\n const librarySectionData = convertObjectToArray(sections);\n const wholePlugins = uniq(flattenDeep(map(librarySectionData, 'dependencies')));\n const toBeReturned = categorizeData(librarySectionData);\n const categoriesList = toBeReturned.categories.map((category) => {return {label: category.name, value: category.slug}; });\n setWithExpiry('section_categories_list', categoriesList, EXIPRY_TIME);\n return {...toBeReturned, wholePlugins};\n}\n\nexport const parsePageData = (pages) => {\n const libraryPageData = convertObjectToArray(pages);\n const wholePlugins = uniq(flattenDeep(map(libraryPageData, 'dependencies')));\n const toBeReturned = categorizeData(libraryPageData);\n const categoriesList = toBeReturned.categories.map((category) => {return {label: category.name, value: category.slug}; });\n setWithExpiry('page_categories_list', categoriesList, EXIPRY_TIME);\n return {...toBeReturned, wholePlugins};\n}\n\nexport const parseCollectionData = (library) => {\n let libraryCollectionData = convertObjectToArray(library.collections);\n // filter out incomplete data\n libraryCollectionData = libraryCollectionData.filter(collection => collection.pages && collection.pages.length > 0);\n // After common handling, we need to populate homepage data\n libraryCollectionData = libraryCollectionData.map(collection => {\n if (collection.homepage && library.pages[collection.homepage]) collection.homepageData = library.pages[collection.homepage];\n else {\n collection.homepageData = library.pages[collection.pages[0]];\n }\n\n if (collection.pages) {\n collection.installDependenciesMissing = uniq(concat(flatten(collection.pages.map(page => library.pages[page].installDependenciesMissing || []))));\n collection.proDependenciesMissing = uniq(concat(flatten(collection.pages.map(page => library.pages[page].proDependenciesMissing || []))));\n }\n\n return collection;\n });\n const wholePlugins = uniq(flattenDeep(map(libraryCollectionData, 'dependencies')));\n return {...categorizeData(libraryCollectionData), dependencyFilters: {[NONE_KEY]: true, ...library.dependencies}, wholePlugins};\n}\n\n// one of important function\n// get collection children data upon clicking on collection in collections tab\n// always homepage page first, sort alphabetically afterward\nexport const getCollectionChildrenData = (library, activeCollection) => {\n let activeCollectionData = library.collections[activeCollection];\n // sort page except homepage\n let childrenPages = activeCollectionData.pages\n .filter(page => page !== activeCollectionData.homepage)\n .map(child => {\n return {...library.pages[child], ID: child}\n });\n childrenPages = sortBy(childrenPages, 'name');\n // insert homepage at the beginning of the array\n if (activeCollectionData.homepage && library.pages[activeCollectionData.homepage]) {\n childrenPages.unshift(library.pages[activeCollectionData.homepage]);\n }\n return childrenPages;\n}\n\n// Check if the block is pro\nexport const isBlockPro = (pro, source) => {\n if (source && redux_templates.supported_plugins.hasOwnProperty(source))\n return (pro && !redux_templates.supported_plugins[source].is_pro);\n else\n return pro && redux_templates.mokama !== '1';\n}\n\nexport const missingPro = (pro) => {\n return (redux_templates.mokama !== '1' && pro === true);\n}\n\nexport const missingRequirement = (pro, requirements) => {\n if (!requirements) return missingPro(pro);\n else {\n const supported_plugins = redux_templates.supported_plugins;\n for (let i = 0; i < requirements.length; i++) {\n let requirement = requirements[i];\n if (!supported_plugins.hasOwnProperty(requirement.slug))\n return true; // Doesn't have the plugin installed\n else {\n let installedPlugin = supported_plugins[requirement.slug];\n if (Number(requirement.version) > Number(installedPlugin.version) ||\n (requirement.pro === true && installedPlugin.pro === false))\n return true;\n }\n }\n return proCheck;\n }\n}\n\n\nexport const setWithExpiry = (key, value, ttl) => {\n const prefixedKey = prefix + key;\n const now = new Date();\n\n // `item` is an object which contains the original value\n // as well as the time when it's supposed to expire\n const item = {\n value: value,\n expiry: now.getTime() + ttl\n };\n localStorage.setItem(prefixedKey, JSON.stringify(item));\n}\n\nexport const getWithExpiry = (key, defaultValue = null) => {\n const prefixedKey = prefix + key;\n const itemStr = localStorage.getItem(prefixedKey);\n\n // if the item doesn't exist, return null\n if (!itemStr) {\n return defaultValue;\n }\n\n const item = JSON.parse(itemStr);\n const now = new Date();\n\n // compare the expiry time of the item with the current time\n if (now.getTime() > item.expiry) {\n // If the item is expired, delete the item from storage\n // and return null\n localStorage.removeItem(prefixedKey);\n return defaultValue;\n }\n return item.value;\n}\n\n\nexport const handlingLocalStorageData = () => {\n try {\n let blockData = localStorage.getItem('block_data');\n if (!blockData || blockData == null) return;\n blockData = JSON.parse(blockData);\n if (!blockData || blockData == null || blockData.length < 1) return;\n\n blockData = blockData.filter(block => (block.name && block.attributes && block.innerBlocks) )\n .map(block => {\n if (block.name && block.attributes && block.innerBlocks) return createBlock(block.name, block.attributes, block.innerBlocks);\n });\n if (blockData.length > 0) {\n insertBlocks(blockData);\n createSuccessNotice('Template inserted', {type: 'snackbar'});\n }\n // preparing to call after import handling\n let data = localStorage.getItem('importing_data');\n if (!data || data == null) return;\n data = JSON.parse(data);\n afterImportHandling(data, blockData);\n\n // reset the localstorage\n localStorage.setItem('block_data', null);\n localStorage.setItem('importing_data', null);\n } catch (error) {\n alert(error.code + ' : ' + error.message);\n }\n}\n\n\nexport const columnMap = {\n 'large': 2,\n 'medium': 3,\n 'small': 4\n};\n\nexport const pageSizeMap = {\n 'large': 20,\n 'medium': 30,\n 'small': 40\n};\n\nexport const getOnlySelectedDependencyFilters = (dependencyFilters) => {\n return Object.keys(dependencyFilters).filter(key => dependencyFilters[key]);\n}\n\n/*\nInput: dependencies: {getwid: 38, qubely: 82...}\nInput: dependencies: ['getwid', 'qubely', ...]\nResult: {getwid: {value: true, disabled: true}, }\n*/\nexport const getDefaultDependencies = (dependencies) => {\n const unSupportedPlugins = Object.keys(redux_templates.supported_plugins).filter(key => isPluginProActivated(key) === false);\n return dependencies.reduce(\n (acc, cur) => {\n // special handling for pro plugin not activated.\n let value = true;\n if (isProPlugin(cur) && (cur !== REDUXTEMPLATES_PRO_KEY) && isPluginReduxProMerged(cur) === false) value = false; // Not including pro plugin in redux templates\n return {...acc, [cur]: {value, disabled: false}};\n },\n {\n [NONE_KEY]: {value: true, disabled: false}, // Native element is included in default dependencies\n [REDUXTEMPLATES_PRO_KEY]: {value: true, disabled: false} // Redux pro is included in default dependencies\n }\n );\n}\n\nexport const getInstalledDependencies = (dependencies) => {\n const unSupportedPlugins = Object.keys(redux_templates.supported_plugins).filter(key => isPluginProActivated(key) === false);\n return dependencies\n .filter(key => key !== NONE_KEY)\n .reduce(\n (acc, cur) => {\n // special handling for pro plugin not activated.\n let value = true;\n const pluginInstance = getPluginInstance(cur);\n if (pluginInstance) {\n if (isProPlugin(cur) && unSupportedPlugins.indexOf(cur) !== -1) value = false;\n if (isProPlugin(cur) === false && pluginInstance.hasOwnProperty('version') === false) value = false;\n if (cur === REDUXTEMPLATES_PRO_KEY) value = false;\n } else\n value = false;\n return {...acc, [cur]: {value, disabled: false}};\n },\n {\n [NONE_KEY]: {value: true, disabled: false}\n }\n );\n}\n\nconst isProPlugin = (pluginKey) => {\n const pluginInstance = getPluginInstance(pluginKey);\n return (pluginInstance && pluginInstance.hasOwnProperty('free_slug'));\n}\n\nconst isPluginProActivated = (pluginKey) => {\n const pluginInstance = getPluginInstance(pluginKey);\n const freePluginInstance = getPluginInstance(pluginInstance.free_slug);\n return (freePluginInstance.hasOwnProperty('version') && freePluginInstance.hasOwnProperty('is_pro') && freePluginInstance.is_pro !== false);\n}\n\nexport const missingPluginsArray = () => {\n return Object.keys(redux_templates.supported_plugins).filter(pluginKey => isProPlugin(pluginKey) && isPluginProActivated(pluginKey) === false);\n}\n\n\n\n/**\n * Get last saved step.\n */\nexport const loadChallengeStep = () => {\n var step = localStorage.getItem( 'reduxChallengeStep' );\n if (step === null)\n return -1;\n step = parseInt( step, 10 );\n return step;\n}\n\n/**\n * Save Challenge step.\n */\nexport const saveChallengeStep = (step) => {\n localStorage.setItem( 'reduxChallengeStep', step );\n}\n","const {apiFetch} = wp;\nconst {registerStore} = wp.data;\n\nimport {initialState, reducer} from './reducer';\nimport {actions} from './actions';\nimport cloneDeep from 'lodash/cloneDeep';\nimport sortBy from 'lodash/sortBy';\nimport countBy from 'lodash/countBy';\nimport map from 'lodash/map';\nimport flattenDeep from 'lodash/flattenDeep';\nimport uniq from 'lodash/uniq';\nimport uniqBy from 'lodash/uniqBy';\nimport {applyCategoryFilter, applySearchFilter, applyHashFilter, applyPriceFilter, applyDependencyFilters, valueOfDependencyFilter} from './filters'\nimport {getCurrentState, getCollectionChildrenData, loadChallengeStep, NONE_KEY} from './helper';\nimport {isTemplatePremium} from './dependencyHelper'\nimport {installedBlocksTypes} from './actionHelper';\n\nconst getOriginalPageData = (state) => {\n if (state.activeItemType === 'collection' && state.collection.activeCollection !== null)\n return getCollectionChildrenData(state.library, state.collection.activeCollection);\n return getCurrentState(state).data;\n};\n\nconst getActivePriceFilter = (state) => {\n return getCurrentState(state).priceFilter;\n};\nconst getSearchContext = (state) => {\n return (state.activeItemType !== 'saved') ? getCurrentState(state).searchContext : null;\n};\n\nconst getActiveCategory = (state) => {\n return state[state.activeItemType].activeCategory;\n};\n\nconst getCurrentPage = (state) => {\n return state[state.activeItemType].currentPage;\n};\nconst getActiveItemType = (state) => {\n return state.activeItemType;\n};\n\n// get relevant page data, apply category, price, search, dependent filters\nconst getPageData = (state, applyDependencyFilter = true) => {\n let pageData = getOriginalPageData(state);\n const searchKeyword = getSearchContext(state);\n let hashFilteredData = [];\n // Hash filter to take priority\n if (state.activeItemType !== 'collection' && searchKeyword.length > 5) hashFilteredData = applyHashFilter(pageData, searchKeyword);\n // Full search for pageData\n if (pageData && Object.keys(pageData).length > 0) {\n pageData = applySearchFilter(pageData, searchKeyword);\n if (applyDependencyFilter) pageData = applyDependencyFilters(pageData, getDependencyFilters(state), getDependencyFilterRule(state));\n\n pageData = applyPriceFilter(pageData, getActivePriceFilter(state), getDependencyFilters(state));\n if (state.collection.activeCollection === null || state.activeItemType !== 'collection') {\n pageData = applyCategoryFilter(pageData, getActiveCategory(state));\n pageData = sortBy(pageData, getCurrentState(state).sortBy);\n }\n return uniqBy([...pageData, ...hashFilteredData], 'ID');\n }\n return null;\n};\n\nconst getDependencyFilters = (state) => {\n return {...getAllDependencFilters(state), ...getCurrentState(state).dependencyFilters};\n};\n\nconst getAllDependencFilters = (state) => {\n return state[state.activeItemType || 'section'].wholePlugins.reduce((acc, cur) => {\n return {...acc, [cur]: {value: false} };\n }, undefined)\n};\n\n\nconst getDependencyFiltersStatistics = (state) => {\n const pageData = getPageData(state, false);\n const dependentPluginsArray = uniq(flattenDeep(map(pageData, 'dependencies')));\n let dependencyFilters = getDependencyFilters(state);\n Object.keys(dependencyFilters)\n .forEach((plugin) => {\n dependencyFilters[plugin] = {...dependencyFilters[plugin], disabled: dependentPluginsArray.indexOf(plugin) === -1}\n })\n dependencyFilters[NONE_KEY] = {value: valueOfDependencyFilter(dependencyFilters[NONE_KEY]), disabled: false};\n return dependencyFilters;\n};\nconst getDependencyFilterRule = (state) => {\n return state[state.activeItemType].dependencyFilterRule;\n};\nregisterStore('redux-templates/sectionslist', {\n\n reducer,\n actions,\n\n selectors: {\n fetchLibraryFromAPI(state) {\n return state.library;\n },\n receive(state) {\n return state.sections;\n },\n\n getActivePriceFilter,\n getSearchContext,\n getDependencyFilters,\n getDependencyFiltersStatistics,\n getActiveItemType,\n getCurrentPage,\n getActiveCategory,\n getDependencyFilterRule,\n getWholePlugins(state) {\n return (state.activeItemType !== 'saved') ? getCurrentState(state).wholePlugins : null;\n },\n // get categories from currentState, sortBy alphabetically, with the count of pageData within the current category\n getCategoryData(state) {\n let categories = [];\n let pageData = getOriginalPageData(state);\n if (pageData && Object.keys(pageData).length > 0) {\n pageData = applySearchFilter(pageData, getSearchContext(state));\n pageData = applyDependencyFilters(pageData, getDependencyFilters(state), getDependencyFilterRule(state));\n pageData = applyPriceFilter(pageData, getActivePriceFilter(state), getDependencyFilters(state));\n }\n if (state.collection.activeCollection === null || state.activeItemType !== 'collection') {\n categories = cloneDeep(getCurrentState(state).categories);\n categories = categories.map(category => {\n const filteredData = map(pageData[category.slug], 'id');\n return {...category, filteredData};\n });\n }\n\n categories = sortBy(categories, 'name');\n return categories;\n },\n // get relevant page data, apply category, price, search, dependent filters\n getPageData,\n\n getStatistics(state) {\n let pageData = getOriginalPageData(state);\n let staticsData = {true: 0, false: 0};\n if (pageData && Object.keys(pageData).length > 0) {\n pageData = applySearchFilter(pageData, getSearchContext(state));\n pageData = applyDependencyFilters(pageData, getDependencyFilters(state), getDependencyFilterRule(state));\n if (state.collection.activeCollection === null || state.activeItemType !== 'collection') pageData = applyCategoryFilter(pageData, getActiveCategory(state));\n staticsData = countBy(pageData, (item) => isTemplatePremium(item, getDependencyFilters(state)) === true);\n }\n return staticsData;\n },\n getLoading(state) {\n return state.loading;\n },\n getColumns(state) {\n return state.columns;\n },\n getSortBy(state) {\n return getCurrentState(state).sortBy;\n },\n getActiveCollection(state) {\n return state.collection.activeCollection;\n },\n getActiveCollectionData(state) {\n if (state.library && state.library.collections && state.collection)\n return state.library.collections[state.collection.activeCollection];\n return null;\n },\n getSaved(state) {\n return state.saved;\n },\n getErrorMessages(state) {\n return state.errorMessages;\n },\n getInstalledDependencies(state) {\n return state.installedDependencies;\n },\n getTourOpen(state) {\n return state.tour.isOpen;\n },\n getTourActiveButtonGroup(state) {\n return state.tour.activeButtonGroup;\n },\n getTourPreviewVisible(state) {\n return state.tour.isPreviewVisible;\n },\n getImportingTemplate(state) {\n return state.importingTemplate;\n },\n getChallengeStep(state) {\n return loadChallengeStep();\n },\n getChallengeOpen(state) {\n return state.challenge.isOpen;\n },\n getChallengeTooltipRect(state) {\n return state.challenge.tooltipRect;\n },\n getChallengeFinalStatus(state) {\n return state.challenge.finalStatus;\n },\n getChallengePassed(state) {\n return state.challenge.passed;\n },\n getChallengeListExpanded(state) {\n return state.challenge.listExpanded;\n },\n getActivateDialogDisplay(state) {\n return state.activateDialog;\n },\n getImportToAppend(state) {\n return state.isImportToAppend;\n }\n },\n\n controls: {\n FETCH_LIBRARY_FROM_API(action) {\n return apiFetch({path: action.path, method: 'POST', data: {registered_blocks: installedBlocksTypes()}});\n },\n FETCH_SAVED_FROM_API(action) {\n return apiFetch({path: action.path, method: 'POST', data: {registered_blocks: installedBlocksTypes()}});\n }\n },\n\n resolvers: {\n * fetchLibraryFromAPI(state) {\n try {\n const receiveSectionResult = yield actions.fetchLibraryFromAPI('redux/v1/templates/library');\n return actions.setLibrary(receiveSectionResult.data);\n } catch (error) {\n return actions.appendErrorMessage(error.code + ' ' + error.message)\n }\n }\n },\n\n initialState\n});\n","import {parseSectionData, parsePageData, parseCollectionData, getInstalledDependencies, NONE_KEY} from './helper';\nimport {getDefaultDependencies} from './helper';\nimport {loadChallengeStep, saveChallengeStep, setWithExpiry, getWithExpiry} from './helper';\nconst EXIPRY_TIME = 5 * 24 * 3600 * 1000;\nexport const initialState = {\n loading: false,\n activeItemType: getWithExpiry('itemType', 'section'),\n library: null,\n columns: getWithExpiry('column', ''),\n errorMessages: [],\n section: {\n categories: [],\n data: {},\n priceFilter: getWithExpiry('section_price', ''),\n activeCategory: getWithExpiry('section_category', ''),\n dependencyFilters: {},\n dependencyFilterRule: getWithExpiry('section_filterRule', true),\n searchContext: '',\n wholePlugins: [],\n sortBy: getWithExpiry('section_sort', 'name'),\n currentPage: getWithExpiry('section_page', 0)\n },\n page: {\n categories: [],\n data: {},\n priceFilter: getWithExpiry('page_price', ''),\n activeCategory: getWithExpiry('page_category', ''),\n dependencyFilters: {},\n dependencyFilterRule: getWithExpiry('page_filterRule', true),\n searchContext: '',\n wholePlugins: [],\n sortBy: getWithExpiry('page_sort', 'name'),\n currentPage: getWithExpiry('page_page', 0)\n },\n collection: {\n categories: [],\n data: {},\n priceFilter: getWithExpiry('collection_price', ''),\n activeCategory: getWithExpiry('collection_category', 'name'),\n dependencyFilters: {},\n dependencyFilterRule: false,\n searchContext: '',\n wholePlugins: [],\n activeCollection: null,\n sortBy: getWithExpiry('collection_sort', 'name'),\n currentPage: getWithExpiry('collection_page', 0)\n },\n installedDependencies: false, // used when deciding should or not reload page after importing the template\n isImportToAppend: true, // append to or replace the current page content for importing\n tour: {\n isOpen: false,\n activeButtonGroup: null,\n isPreviewVisible: false\n },\n challenge: {\n isOpen: false,\n currentStep: loadChallengeStep(),\n tooltipRect: {},\n finalStatus: '',\n passed: getWithExpiry('reduxChallengePassed', false),\n listExpanded: true\n },\n plugins: {},\n importingTemplate: null,\n activateDialog: false\n};\n\nexport const reducer = ( state = initialState, action ) => {\n\n switch ( action.type ) {\n case 'SET_LIBRARY':\n if (!action.library.dependencies) return state;\n redux_templates.supported_plugins = action.library.plugins;\n const dependencies = getDefaultDependencies(Object.keys(action.library.dependencies));\n const parsedSection = parseSectionData(action.library.sections);\n const parsedPage = parsePageData(action.library.pages);\n\t\t\tconst parsedCollection = parseCollectionData(action.library);\n return {\n ...state,\n loading: false,\n library: action.library,\n section: {\n ...state.section,\n ...parsedSection,\n dependencyFilters: getWithExpiry('section_plugin') ? getWithExpiry('section_plugin') : dependencies\n },\n page: {\n ...state.page,\n ...parsedPage,\n dependencyFilters: getWithExpiry('page_plugin') ? getWithExpiry('page_plugin') : dependencies\n },\n collection: {\n ...state.collection,\n ...parsedCollection,\n dependencyFilters: getWithExpiry('collection_plugin') ? getWithExpiry('collection_plugin') : dependencies\n }\n };\n case 'SET_ACTIVE_CATEGORY':\n setWithExpiry(state.activeItemType + '_category', action.activeCategory, EXIPRY_TIME);\n setWithExpiry(state.activeItemType + '_page', 0, EXIPRY_TIME);\n return {\n ...state,\n [state.activeItemType]: {\n ...state[state.activeItemType],\n currentPage: 0,\n activeCategory: action.activeCategory\n }\n };\n case 'SET_SEARCH_CONTEXT':\n setWithExpiry(state.activeItemType + '_search', action.searchContext, EXIPRY_TIME);\n setWithExpiry(state.activeItemType + '_page', 0, EXIPRY_TIME);\n return {\n ...state,\n [state.activeItemType]: {\n ...state[state.activeItemType],\n currentPage: 0,\n searchContext: action.searchContext\n }\n };\n case 'SET_ACTIVE_PRICE_FILTER':\n setWithExpiry(state.activeItemType + '_price', action.activePriceFilter, EXIPRY_TIME);\n setWithExpiry(state.activeItemType + '_page', 0, EXIPRY_TIME);\n return {\n ...state,\n [state.activeItemType]: {\n ...state[state.activeItemType],\n currentPage: 0,\n priceFilter: action.activePriceFilter\n }\n };\n case 'SET_ACTIVE_ITEM_TYPE':\n setWithExpiry('itemType', action.activeItemType, EXIPRY_TIME);\n return {\n ...state,\n activeItemType: action.activeItemType\n };\n case 'SET_DEPENDENCY_FILTERS':\n setWithExpiry(state.activeItemType + '_plugin', action.dependencyFilters, EXIPRY_TIME);\n setWithExpiry(state.activeItemType + '_page', 0, EXIPRY_TIME);\n return {\n ...state,\n [state.activeItemType]: {\n ...state[state.activeItemType],\n currentPage: 0,\n dependencyFilters: action.dependencyFilters\n }\n }\n case 'SET_SORT_BY':\n setWithExpiry(state.activeItemType + '_sort', action.sortBy, EXIPRY_TIME);\n setWithExpiry(state.activeItemType + '_page', 0, EXIPRY_TIME);\n return {\n ...state,\n [state.activeItemType]: {\n ...state[state.activeItemType],\n currentPage: 0,\n sortBy: action.sortBy\n }\n };\n case 'SET_CURRENT_PAGE':\n setWithExpiry(state.activeItemType + '_page', action.currentPage, EXIPRY_TIME);\n return {\n ...state,\n [state.activeItemType]: {\n ...state[state.activeItemType],\n currentPage: action.currentPage\n }\n };\n case 'SET_ACTIVE_COLLECTION':\n return {\n ...state,\n collection: {\n ...state.collection,\n activeCollection: action.activeCollection\n }\n };\n case 'SET_LOADING':\n return {\n ...state,\n loading: action.loading\n }\n case 'SET_COLUMNS':\n setWithExpiry('column', action.columns, EXIPRY_TIME);\n return {\n ...state,\n columns: action.columns\n }\n case 'APPEND_ERROR_MESSAGE':\n return {\n ...state,\n errorMessages: state.errorMessages.concat([action.errorMessage])\n }\n case 'DISCARD_ALL_ERROR_MESSAGES':\n return {\n ...state,\n errorMessages: []\n }\n case 'SET_INSTALLED_DEPENDENCIES':\n return {\n ...state,\n installedDependencies: action.installedDependencies\n }\n case 'SET_TOUR_OPEN':\n return {\n ...state,\n tour: {\n ...state.tour,\n isOpen: action.isTourOpen\n }\n };\n case 'SET_TOUR_ACTIVE_BUTTON_GROUP':\n return {\n ...state,\n tour: {\n ...state.tour,\n activeButtonGroup: action.data\n }\n };\n case 'SET_PREVIEW_VISIBLE':\n return {\n ...state,\n tour: {\n ...state.tour,\n isPreviewVisible: action.isVisible\n }\n };\n case 'SET_IMPORTING_TEMPLATE':\n return {\n ...state,\n importingTemplate: action.importingTemplate\n }\n case 'SET_CHALLENGE_STEP':\n saveChallengeStep(action.data);\n return {\n ...state,\n challenge: {\n ...state.challenge,\n currentStep: action.data\n }\n }\n case 'SET_CHALLENGE_OPEN':\n return {\n ...state,\n challenge: {\n ...state.challenge,\n isOpen: action.data\n }\n }\n case 'SET_CHALLENGE_TOOLTIP_RECT':\n return {\n ...state,\n challenge: {\n ...state.challenge,\n tooltipRect: action.data\n }\n }\n case 'SET_CHALLENGE_FINAL_STATUS':\n return {\n ...state,\n challenge: {\n ...state.challenge,\n finalStatus: action.data\n }\n }\n case 'SET_CHALLENGE_PASSED':\n setWithExpiry('reduxChallengePassed', action.data, EXIPRY_TIME);\n return {\n ...state,\n challenge: {\n ...state.challenge,\n passed: action.data\n }\n }\n case 'SET_CHALLENGE_LIST_EXPANDED':\n return {\n ...state,\n challenge: {\n ...state.challenge,\n listExpanded: action.data\n }\n }\n case 'SET_ACTIVATE_DIALOG_DISPLAY':\n return {\n ...state,\n activateDialog: action.data\n }\n case 'SET_IMPORT_TO_APPEND':\n return {\n ...state,\n isImportToAppend: action.data\n }\n case 'SET_DEPENDENCY_FILTER_RULE':\n setWithExpiry(state.activeItemType + '_filterRule', action.data, EXIPRY_TIME);\n return {\n ...state,\n [state.activeItemType]: {\n ...state[state.activeItemType],\n dependencyFilterRule: action.data\n }\n }\n // Dependency Shortcut click handler: All, None, Installed and Reset\n case 'SELECT_DEPENDENCIES':\n const types = ['section', 'page', 'collection'];\n let atomHandler;\n switch(action.data) {\n case 'all':\n case 'none':\n const newValue = action.data === 'all';\n atomHandler = (plugins) => plugins\n .filter(plugin => [ NONE_KEY, 'gutenberghub.com', 'shareablock.com' ].includes(plugin) === false )\n .reduce(\n (acc, key) => {\n return { ...acc, [key]: { value: newValue, disabled: false } }\n },\n {\n [NONE_KEY]: {value: true, disabled: false},\n 'gutenberghub.com': {value: true, disabled: false},\n 'shareablock.com': {value: true, disabled: false}\n }\n )\n break;\n case 'installed':\n atomHandler = (plugins) => getInstalledDependencies(plugins);\n break;\n default:\n atomHandler = (plugins) => getDefaultDependencies(plugins);\n break;\n }\n const filtered = types.reduce( (acc, cur) => {\n // save to the local storage as well\n setWithExpiry(cur + '_plugin', atomHandler(state[cur].wholePlugins), EXIPRY_TIME);\n return {\n ...acc,\n [cur]: {\n ...state[cur],\n searchContext: '',\n dependencyFilterRule: cur !== 'collection', // We must always use false for collection to get template kits to work.\n dependencyFilters: atomHandler(state[cur].wholePlugins)\n }\n }\n }, {});\n return {\n ...state,\n ...filtered\n };\n case 'CLEAR_SEARCH':\n return {\n ...state,\n section: {\n ...state.section,\n searchContext: ''\n },\n page: {\n ...state.page,\n searchContext: ''\n },\n collection: {\n ...state.collection,\n searchContext: ''\n }\n }\n\t\tcase 'CLEAR_STATE':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsection: {\n\t\t\t\t\t...state.section,\n\t\t\t\t\tpriceFilter: '',\n\t\t\t\t\tactiveCategory: '',\n\t\t\t\t\tsearchContext: '',\n\t\t\t\t},\n\t\t\t\tpage: {\n\t\t\t\t\t...state.page,\n\t\t\t\t\tpriceFilter: '',\n\t\t\t\t\tactiveCategory: '',\n\t\t\t\t\tsearchContext: '',\n\t\t\t\t},\n\t\t\t\tcollection: {\n\t\t\t\t\t...state.collection,\n\t\t\t\t\tpriceFilter: '',\n\t\t\t\t\tactiveCategory: '',\n\t\t\t\t\tsearchContext: '',\n\t\t\t\t}\n\t\t\t}\n }\n\n return state;\n};\n","module.exports = wp.blockEditor;","module.exports = wp.blocks;","module.exports = wp.components;","module.exports = wp.compose;","module.exports = wp.data;","module.exports = wp.editPost;","module.exports = wp.element;","module.exports = wp.hooks;","module.exports = wp.i18n;","module.exports = lodash;","module.exports = React;","module.exports = ReactDOM;"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvJA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AACA;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;;;AAGA;AACA;AAEA;;;;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEA;;;;AAGA;AACA;AACA;AAEA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AARA;AACA;AAUA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AANA;AAcA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAeA;AACA;AAzGA;AACA;AA0GA;;;;;;;;;;;;AC/HA;AAAA;;;AAGA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;AAEA;;;;AAGA;AAEA;AACA;AACA;AACA;AADA;AADA;AACA;AAKA;AACA;AACA;AAQA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AASA;AACA;AACA;AAAA;AACA;AACA;AACA;AAvBA;;;;;;;;;;;;;ACnCA;AAAA;;;AAGA;AAEA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AADA;AAIA;AACA;AAhBA;AAFA;AAuBA;;;;;;;;;;;;AC5BA;AAAA;AAAA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA;;;;AAGA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;;;;;;;;AAMA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAOA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AAPA;AACA;AASA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1EA;AAAA;AAAA;;;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AACA;AAEA;;;;AAGA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AAHA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAaA;AACA;AACA;AAEA;AADA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;;AC1DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAGA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;AACA;AAIA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAOA;AACA;AACA;AADA;AADA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAKA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAPA;AADA;AAYA;AACA;AACA;AACA;AACA;AACA;AA7BA;AACA;AA8BA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;;;;;;;;;;;;;ACrGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAUA;AACA;AACA;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;;AAGA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AACA;AAAA;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAIA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAMA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAIA;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAKA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AADA;AAGA;AACA;AAbA;AAsCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAFA;AAIA;AApBA;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAFA;AAIA;AAGA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AAFA;AAIA;AACA;AA1BA;AA6BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAFA;AAIA;AACA;AArBA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAFA;AAlBA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AAdA;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAjCA;AA1JA;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAGA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AADA;AAEA;AAAA;AAAA;AACA;AAAA;AAGA;AAAA;AAQA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAMA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/DA;;;AAGA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAGA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AADA;AAEA;AAAA;AAAA;AACA;AAAA;AAGA;AAAA;AAKA;AAAA;AAAA;AAEA;AACA;AACA;AAHA;AAKA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;;AC/EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAEA;AACA;AACA;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;;;AAGA;AACA;AAEA;AAEA;AACA;AACA;AACA;;;AAGA;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AAEA;AACA;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AA/EA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAIA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DA;AAEA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AAVA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AAVA;AAYA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AANA;AAOA;AACA;AAEA;AACA;AAAA;AACA;AACA;AALA;AAMA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAdA;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AACA;AAAA;AAAA;AAGA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAKA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1KA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAIA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAHA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAIA;AACA;AADA;AAGA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AACA;AAGA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AAGA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AACA;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAGA;AACA;AACA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAKA;AACA;AACA;AAEA;AAGA;AAAA;AAAA;AAAA;AASA;AACA;AACA;AACA;;;;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAAA;AAEA;AACA;AAAA;AACA;AAAA;AAAA;AAUA;AAGA;AACA;AAAA;AACA;AAIA;AACA;AADA;AAGA;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;AACA;AACA;AADA;AAfA;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AAFA;AAJA;AAFA;AAYA;AACA;AACA;AACA;AACA;AADA;AAFA;AADA;AASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AAPA;AAoCA;AACA;AACA;AACA;AACA;AALA;AAOA;AAAA;AAGA;AACA;AACA;AACA;AACA;AALA;AAOA;AAAA;AAKA;AACA;AACA;AACA;AACA;AALA;AAOA;AAAA;AAoBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AALA;AAOA;AAAA;AAKA;;;;;;;;;;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AACA;AAKA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAIA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAKA;AACA;AACA;;;;;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAKA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AADA;AAEA;AAAA;AACA;AADA;AAEA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AADA;AAGA;AAAA;AACA;AADA;AAEA;AAAA;AACA;AADA;AAOA;AACA;AAEA;AACA;AAAA;AACA;AAIA;AACA;AADA;AAGA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AACA;AADA;AAEA;AAAA;AAIA;AACA;AADA;AAEA;AAAA;AAEA;AAAA;AAGA;AACA;AAEA;AACA;AAAA;AACA;AAIA;AACA;AADA;AAGA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;;;;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;AAEA;AACA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AADA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AACA;AAMA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAGA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAIA;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAKA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AAMA;AACA;AACA;AACA;AAHA;AAKA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;;;;;;;;;;;;ACzEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AAEA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAHA;AAMA;AACA;AACA;AACA;AAJA;AAOA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAJA;AAOA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAJA;AAOA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAJA;AAMA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAEA;AAAA;AAMA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AASA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAWA;;;;;;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;;;AAGA;AAMA;AAHA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAXA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AAAA;AAAA;AAMA;AAAA;AAOA;AACA;AACA;;;;;;;;;;;;ACrHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAAA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAAA;AAAA;AAEA;;;;AAGA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAFA;AALA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAKA;AACA;AAAA;AAAA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AASA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;;;;;;;;;;;AC9EA;;;AAGA;AAEA;AAKA;AAFA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/BA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9CA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7LA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnIA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9CA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1BA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;;;;AAGA;AACA;AACA;AAEA;AACA;AACA;AACA;AAFA;AAIA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AALA;AAQA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAMA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnPA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAIA;;;AAGA;AACA;AAEA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAMA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAGA;AAAA;AAAA;AACA;AAAA;AAGA;AAAA;AAEA;AAAA;AAEA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAKA;AAAA;AACA;AAAA;AACA;AAAA;AAQA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClFA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAUA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAAA;AAEA;AACA;AAFA;AAQA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7DA;AAEA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAGA;AAAA;AAKA;AAAA;AAKA;AAAA;AAKA;AAEA;AAEA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AADA;AAEA;AAIA;AAAA;AAEA;AAAA;AACA;AADA;AAEA;AAAA;AAIA;AAAA;AACA;AADA;AAOA;AACA;AAEA;AACA;AAAA;AACA;AAGA;AACA;AADA;AAGA;;;;;;;;;;;;AC9HA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAGA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAMA;AAAA;AACA;AAAA;AAAA;AAMA;AACA;AAEA;AACA;AAAA;AACA;AAGA;AACA;AADA;AAGA;;;;;;;;;;;;ACvDA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAGA;AACA;AAEA;AAAA;AAGA;AAAA;AAGA;AACA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAGA;AAKA;AAAA;AACA;AAAA;AAAA;AAMA;;;;;;;;;;;;ACrCA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AACA;AAAA;AASA;AACA;AACA;AAFA;AAGA;AAAA;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AAWA;AAAA;AAAA;AACA;AADA;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AAEA;AACA;AACA;AADA;AACA;AACA;AAAA;AACA;AAIA;AACA;AACA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAGA;AAAA;AAEA;AAAA;AAAA;AAEA;AAAA;AACA;AADA;AAEA;AAAA;AAAA;AAEA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAKA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;;;;;;;;;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAOA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAFA;AAMA;AAAA;AAEA;AAAA;AAMA;AAAA;AAEA;AAAA;AAIA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AASA;;;;;;;;;;;;AC5HA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;AAMA;;;;;;;;;;;;ACjBA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAAA;AAGA;AACA;AAFA;AASA;AAAA;AACA;AADA;AAWA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;ACpFA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AADA;AAGA;AACA;AAAA;AAGA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AACA;AADA;AAIA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAGA;AAAA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAHA;AAKA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AAAA;AAAA;AAQA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/GA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAQA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAFA;AACA;AACA;AAIA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAFA;AAIA;AACA;AAGA;AACA;AACA;AADA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AAHA;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;;AChHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAMA;AAAA;AAQA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAIA;;;;;;;;;;;;ACnCA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AAAA;AACA;AACA;AADA;AAEA;AAAA;AACA;AADA;AAEA;AAAA;AACA;AADA;AAEA;AAAA;AAAA;AAKA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAIA;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAMA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AAAA;AADA;AAIA;AAAA;AACA;AAAA;AAIA;AAAA;AACA;AAAA;AAGA;AACA;AACA;AADA;AAIA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAIA;AAKA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAKA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAIA;AACA;AADA;AAGA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;;;;;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAIA;AACA;AACA;AACA;AAAA;AACA;AADA;AAGA;AAAA;AACA;AAAA;AAEA;AAAA;AAGA;AACA;AADA;AAEA;AAAA;AAIA;AAEA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AADA;AAKA;AAEA;AAAA;AASA;AAAA;AAAA;AAAA;AACA;AAAA;AAMA;AACA;AACA;AACA;AAAA;AACA;AADA;AAAA;AAAA;AACA;AASA;AACA;AACA;AACA;AAHA;AAKA;;;;;;;;;;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAGA;AAEA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAGA;AAAA;AAAA;AAMA;AACA;AAFA;AAMA;AACA;AACA;AACA;AACA;AACA;AANA;AAkBA;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAMA;AACA;AAEA;AACA;AAAA;AACA;AAIA;AACA;AADA;AAGA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;;;;;;;;;;;AC5GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AAFA;AAGA;AAAA;AAAA;AAKA;AACA;AA7CA;AAgDA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AA9DA;;;;;;;;;;;;ACrDA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAIA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAIA;AACA;AADA;AAEA;AAAA;AAKA;AAAA;AAAA;AAAA;AACA;AADA;AAEA;AAAA;AACA;AAAA;AAGA;AAAA;AACA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AACA;AAHA;AAIA;AAAA;AAGA;AAOA;AACA;AACA;;;;;;;;;;;;AC7DA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAEA;AAAA;AAAA;AACA;AAAA;AAIA;AAAA;AACA;AADA;AAOA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AAGA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AADA;AACA;AACA;AADA;AAEA;AADA;AAEA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAGA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AADA;AAEA;AAAA;AADA;AAEA;AAAA;AACA;AADA;AAEA;AAAA;AAMA;AAAA;AAAA;AAAA;AACA;AAAA;AAIA;AACA;AAAA;AAEA;AAQA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAIA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AAAA;AAGA;AADA;AAGA;AACA;AADA;AAEA;AAAA;AACA;AADA;AAKA;AACA;AADA;AAEA;AAAA;AAAA;AACA;AADA;AAEA;AADA;AAIA;AASA;AAAA;AAAA;AAAA;AACA;AAAA;AASA;;;;;;;;;;;;ACvIA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AAEA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AAFA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAFA;AAKA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AANA;AACA;AAOA;AACA;AAKA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AAAA;AAAA;AACA;AACA;AAYA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAJA;AAKA;AAAA;AAKA;AAAA;AAAA;AAAA;AAGA;AAAA;AACA;AAAA;AAMA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAKA;AACA;AACA;AAFA;AAIA;AAEA;AAAA;AACA;AACA;AACA;AADA;AAGA;;;;;;;;;;;ACpLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AADA;AACA;AAIA;AACA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AAEA;AAGA;AAAA;AAAA;AACA;AACA;AAHA;AASA;AACA;AACA;AAEA;AADA;AAKA;AAAA;AACA;AAEA;AACA;AADA;AAGA;AACA;AAAA;AACA;AAEA;AAAA;AAEA;AACA;AADA;AAGA;;;;;;;;;;;;AC9DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;;;;AAIA;AACA;AACA;AAEA;;;;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAGA;AAAA;AAAA;AAAA;AAGA;AAHA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AACA;AACA;AAHA;AASA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AADA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AAJA;AAMA;;;;;;;;;;;;AC1FA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAAA;AAAA;AAKA;AACA;AACA;AAEA;;;;;;;;;AAOA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxEA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AADA;AAGA;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AAEA;;;;AAGA;AAEA;;;;;;AAKA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AAEA;AACA;AACA;AACA;;;;;;;;;;;;AC9BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AADA;AAKA;AAGA;AACA;AACA;AACA;AACA;AALA;AAWA;AACA;AACA;AACA;AAOA;AAAA;AAEA;AACA;AADA;AAGA;;;;;;;;;;;;AC7CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAKA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAFA;AAXA;AAFA;AAmBA;AACA;AACA;AADA;AAGA;AACA;AADA;AAGA;AACA;AADA;AAPA;AAYA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAVA;AAaA;AACA;AACA;AAGA;AACA;AACA;AAHA;AAYA;AAEA;AAGA;AAAA;AAAA;AADA;AAEA;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAHA;AAQA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtCA;AAuCA;;;;;;;;;;;;ACnJA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvBA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAKA;AACA;AACA;AAFA;AAIA;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AACA;AAFA;AAXA;AAFA;AAmBA;AACA;AACA;AADA;AAGA;AACA;AADA;AAGA;AACA;AADA;AAPA;AACA;AAWA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AAHA;AAKA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAVA;AAaA;AACA;AACA;AAEA;AAAA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAQA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AADA;AAGA;;;;;;;;;;;;AChGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAHA;AACA;AAKA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAMA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAEA;AAGA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AAHA;AAhBA;AAFA;AA0BA;AACA;AACA;AADA;AAGA;AACA;AACA;AAFA;AAJA;AAUA;AACA;AADA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AARA;AAUA;AACA;AAZA;AAJA;AAoBA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAHA;AAOA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpRA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AADA;AAGA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AADA;AAGA;AACA;AAAA;AACA;AACA;AADA;AAGA;AACA;AAxLA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACjGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAGA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AACA;AAGA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAAA;AACA;AACA;AAAA;AAGA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AAAA;AACA;AACA;AAFA;AAIA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAHA;AAMA;AACA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAEA;;;;;;AAKA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAHA;AAKA;AAEA;AACA;AACA;AAIA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAAA;AADA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;;;;AAGA;AACA;AACA;AAEA;AACA;AACA;AAEA;;;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvTA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAnHA;AAqHA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAPA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAWA;AA9IA;;;;;;;;;;;;;;;;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;AAaA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAQA;AACA;AACA;AA5DA;AA+DA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AAHA;AAKA;AAGA;AAHA;AAKA;AAGA;AAHA;AAdA;AACA;AAmBA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAHA;AAFA;AACA;AAOA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAHA;AAFA;AACA;AAOA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAHA;AAFA;AACA;AAOA;AACA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAHA;AAFA;AACA;AAOA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAHA;AAFA;AACA;AAOA;AACA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAEA;AAFA;AAFA;AACA;AAMA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AAEA;AAFA;AACA;AAGA;AACA;AACA;AAEA;AAEA;AAFA;AAFA;AAOA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAHA;AACA;AAKA;AACA;AAAA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AAtBA;AACA;AAuBA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AACA;AAJA;AAFA;AASA;AACA;AACA;AAGA;AACA;AAEA;AAEA;AAFA;AAIA;AAEA;AAFA;AAIA;AAEA;AAFA;AAVA;AACA;AAcA;AACA;AAEA;AAEA;AACA;AACA;AAJA;AAMA;AAEA;AACA;AACA;AAJA;AAMA;AAEA;AACA;AACA;AAJA;AAdA;AApSA;AACA;AA0TA;AACA;;;;;;;;;;;ACjYA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;A","sourceRoot":""}
1
+ {"version":3,"file":"redux-templates.js","sources":["webpack:///webpack/bootstrap","webpack:///./redux-templates/src/blocks/library/style.scss","webpack:///./redux-templates/src/challenge/challenge-list-block/style.scss","webpack:///./redux-templates/src/challenge/challenge-timer/style.scss","webpack:///./redux-templates/src/challenge/final-templates/style.scss","webpack:///./redux-templates/src/challenge/style.scss","webpack:///./redux-templates/src/components/background-image/style.scss","webpack:///./redux-templates/src/components/button-group/style.scss","webpack:///./redux-templates/src/components/dependent-plugins/style.scss","webpack:///./redux-templates/src/components/error-notice/style.scss","webpack:///./redux-templates/src/components/fab-wrapper/styles.scss","webpack:///./redux-templates/src/components/multiple-item/style.scss","webpack:///./redux-templates/src/components/pagination/style.scss","webpack:///./redux-templates/src/components/preview-import-button/style.scss","webpack:///./redux-templates/src/components/single-item/style.scss","webpack:///./redux-templates/src/components/template-list-subheader/style.scss","webpack:///./redux-templates/src/custom-css/style.scss","webpack:///./redux-templates/src/editor.scss","webpack:///./redux-templates/src/modal-import-wizard/style.scss","webpack:///./redux-templates/src/modal-library/sidebar/style.scss","webpack:///./redux-templates/src/modal-library/style.scss","webpack:///./redux-templates/src/modal-library/view-collection/style.scss","webpack:///./redux-templates/src/modal-library/view-saved/style.scss","webpack:///./redux-templates/src/modal-library/view-template-list/style.scss","webpack:///./redux-templates/src/modal-preview/style.scss","webpack:///./redux-templates/src/modals.scss","webpack:///./redux-templates/assets/img/icon-color.svg","webpack:///./redux-templates/assets/img/icon.svg","webpack:///./redux-templates/src/blocks/blocks.js","webpack:///./redux-templates/src/blocks/import/components/edit.js","webpack:///./redux-templates/src/blocks/import/icon.js","webpack:///./redux-templates/src/blocks/import/index.js","webpack:///./redux-templates/src/blocks/import/transforms.js","webpack:///./redux-templates/src/blocks/import/utils/file.js","webpack:///./redux-templates/src/blocks/import/utils/import.js","webpack:///./redux-templates/src/blocks/import/utils/insert.js","webpack:///./redux-templates/src/blocks/library/edit.js","webpack:///./redux-templates/src/blocks/library/index.js","webpack:///./redux-templates/src/blocks/library/insert-library-button.js","webpack:///./redux-templates/src/blocks/library/style.scss?eec2","webpack:///./redux-templates/src/challenge/challenge-list-block/ChallengeStepItem.js","webpack:///./redux-templates/src/challenge/challenge-list-block/ProgressBar.js","webpack:///./redux-templates/src/challenge/challenge-list-block/index.js","webpack:///./redux-templates/src/challenge/challenge-list-block/style.scss?9f45","webpack:///./redux-templates/src/challenge/challenge-timer/index.js","webpack:///./redux-templates/src/challenge/challenge-timer/style.scss?1c53","webpack:///./redux-templates/src/challenge/config.js","webpack:///./redux-templates/src/challenge/final-templates/congrats.js","webpack:///./redux-templates/src/challenge/final-templates/contact.js","webpack:///./redux-templates/src/challenge/final-templates/index.js","webpack:///./redux-templates/src/challenge/final-templates/style.scss?54b2","webpack:///./redux-templates/src/challenge/helper.js","webpack:///./redux-templates/src/challenge/index.js","webpack:///./redux-templates/src/challenge/style.scss?5d1a","webpack:///./redux-templates/src/challenge/tooltip/ChallengeDot.js","webpack:///./redux-templates/src/challenge/tooltip/TooltipBox.js","webpack:///./redux-templates/src/components/background-image/index.js","webpack:///./redux-templates/src/components/background-image/style.scss?1987","webpack:///./redux-templates/src/components/button-group/index.js","webpack:///./redux-templates/src/components/button-group/style.scss?5c67","webpack:///./redux-templates/src/components/dependent-plugins/index.js","webpack:///./redux-templates/src/components/dependent-plugins/style.scss?77c8","webpack:///./redux-templates/src/components/error-notice/index.js","webpack:///./redux-templates/src/components/error-notice/style.scss?3b1b","webpack:///./redux-templates/src/components/fab-wrapper/config.js","webpack:///./redux-templates/src/components/fab-wrapper/index.js","webpack:///./redux-templates/src/components/fab-wrapper/styles.scss?0dab","webpack:///./redux-templates/src/components/multiple-item/index.js","webpack:///./redux-templates/src/components/multiple-item/style.scss?3037","webpack:///./redux-templates/src/components/pagination/index.js","webpack:///./redux-templates/src/components/pagination/style.scss?7abf","webpack:///./redux-templates/src/components/preview-import-button/index.js","webpack:///./redux-templates/src/components/preview-import-button/style.scss?db94","webpack:///./redux-templates/src/components/safe-image-load/index.js","webpack:///./redux-templates/src/components/single-item/index.js","webpack:///./redux-templates/src/components/single-item/style.scss?1c09","webpack:///./redux-templates/src/components/tab-header/index.js","webpack:///./redux-templates/src/components/template-list-subheader/images/view-few.svg","webpack:///./redux-templates/src/components/template-list-subheader/images/view-many.svg","webpack:///./redux-templates/src/components/template-list-subheader/images/view-normal.svg","webpack:///./redux-templates/src/components/template-list-subheader/index.js","webpack:///./redux-templates/src/components/template-list-subheader/style.scss?349f","webpack:///./redux-templates/src/custom-css/editor.js","webpack:///./redux-templates/src/custom-css/index.js","webpack:///./redux-templates/src/custom-css/inject-css.js","webpack:///./redux-templates/src/custom-css/style.scss?7049","webpack:///./redux-templates/src/editor.scss?b1ec","webpack:///./redux-templates/src/icons/images/acf-blocks.svg","webpack:///./redux-templates/src/icons/images/advanced-custom-fields.svg","webpack:///./redux-templates/src/icons/images/advanced-gutenberg-blocks.svg","webpack:///./redux-templates/src/icons/images/atomic-blocks.svg","webpack:///./redux-templates/src/icons/images/block-options.svg","webpack:///./redux-templates/src/icons/images/block-slider.svg","webpack:///./redux-templates/src/icons/images/coblocks.svg","webpack:///./redux-templates/src/icons/images/creative-blocks.svg","webpack:///./redux-templates/src/icons/images/editorplus.svg","webpack:///./redux-templates/src/icons/images/elegant-blocks.svg","webpack:///./redux-templates/src/icons/images/enhanced-blocks.svg","webpack:///./redux-templates/src/icons/images/essential-blocks.svg","webpack:///./redux-templates/src/icons/images/forms-gutenberg.svg","webpack:///./redux-templates/src/icons/images/getwid.svg","webpack:///./redux-templates/src/icons/images/ghostkit.svg","webpack:///./redux-templates/src/icons/images/guteblock.svg","webpack:///./redux-templates/src/icons/images/gutentor.svg","webpack:///./redux-templates/src/icons/images/kadence-blocks.svg","webpack:///./redux-templates/src/icons/images/kioken-blocks.svg","webpack:///./redux-templates/src/icons/images/otter-blocks.svg","webpack:///./redux-templates/src/icons/images/qodeblock.svg","webpack:///./redux-templates/src/icons/images/qubely.svg","webpack:///./redux-templates/src/icons/images/snow-monkey-blocks.svg","webpack:///./redux-templates/src/icons/images/stackable-ultimate-gutenberg-blocks.svg","webpack:///./redux-templates/src/icons/images/ultimate-addons-for-gutenberg.svg","webpack:///./redux-templates/src/icons/images/ultimate-blocks.svg","webpack:///./redux-templates/src/icons/images/ultimate-post.svg","webpack:///./redux-templates/src/icons/images/wordpress.svg","webpack:///./redux-templates/src/icons/index.js","webpack:///./redux-templates/src/index.js","webpack:///./redux-templates/src/modal-feedback/index.js","webpack:///./redux-templates/src/modal-import-wizard/ImportingStep.js","webpack:///./redux-templates/src/modal-import-wizard/InstallPluginStep.js","webpack:///./redux-templates/src/modal-import-wizard/OptionStep.js","webpack:///./redux-templates/src/modal-import-wizard/ProPluginsStep.js","webpack:///./redux-templates/src/modal-import-wizard/ReduxTeamplatesActivateBox.js","webpack:///./redux-templates/src/modal-import-wizard/ReduxTemplatesPremiumBox.js","webpack:///./redux-templates/src/modal-import-wizard/index.js","webpack:///./redux-templates/src/modal-import-wizard/style.scss?9a4a","webpack:///./redux-templates/src/modal-library/index.js","webpack:///./redux-templates/src/modal-library/layout-with-sidebar/index.js","webpack:///./redux-templates/src/modal-library/sidebar/categoryFilter.js","webpack:///./redux-templates/src/modal-library/sidebar/dependencyFilter.js","webpack:///./redux-templates/src/modal-library/sidebar/dependencyFilterRow.js","webpack:///./redux-templates/src/modal-library/sidebar/index.js","webpack:///./redux-templates/src/modal-library/sidebar/priceFilter.js","webpack:///./redux-templates/src/modal-library/sidebar/style.scss?e89b","webpack:///./redux-templates/src/modal-library/style.scss?f8e2","webpack:///./redux-templates/src/modal-library/view-collection/index.js","webpack:///./redux-templates/src/modal-library/view-collection/style.scss?bea7","webpack:///./redux-templates/src/modal-library/view-saved/index.js","webpack:///./redux-templates/src/modal-library/view-saved/style.scss?fe19","webpack:///./redux-templates/src/modal-library/view-template-list/index.js","webpack:///./redux-templates/src/modal-library/view-template-list/style.scss?32ed","webpack:///./redux-templates/src/modal-manager/index.js","webpack:///./redux-templates/src/modal-preview/FullyOverlayFooter.js","webpack:///./redux-templates/src/modal-preview/FullyOverlayHeader.js","webpack:///./redux-templates/src/modal-preview/SidebarContent.js","webpack:///./redux-templates/src/modal-preview/SitePreviewSidebar.js","webpack:///./redux-templates/src/modal-preview/index.js","webpack:///./redux-templates/src/modal-preview/style.scss?ef64","webpack:///./redux-templates/src/modals.scss?6210","webpack:///./redux-templates/src/plugins/export-page-menu-item/index.js","webpack:///./redux-templates/src/plugins/export/export-block-menu-item.js","webpack:///./redux-templates/src/plugins/export/file.js","webpack:///./redux-templates/src/plugins/export/index.js","webpack:///./redux-templates/src/plugins/export/reusable.js","webpack:///./redux-templates/src/plugins/library-context-menu-item/index.js","webpack:///./redux-templates/src/plugins/share-block-btn/buttons.js","webpack:///./redux-templates/src/plugins/share-block-btn/index.js","webpack:///./redux-templates/src/plugins/sidebar-share/index.js","webpack:///./redux-templates/src/plugins/sidebar-share/sidebar.js","webpack:///./redux-templates/src/stores/actionHelper.js","webpack:///./redux-templates/src/stores/actions.js","webpack:///./redux-templates/src/stores/dependencyHelper.js","webpack:///./redux-templates/src/stores/filters.js","webpack:///./redux-templates/src/stores/helper.js","webpack:///./redux-templates/src/stores/index.js","webpack:///./redux-templates/src/stores/reducer.js","webpack:///external \"wp.blockEditor\"","webpack:///external \"wp.blocks\"","webpack:///external \"wp.components\"","webpack:///external \"wp.compose\"","webpack:///external \"wp.data\"","webpack:///external \"wp.editPost\"","webpack:///external \"wp.element\"","webpack:///external \"wp.hooks\"","webpack:///external \"wp.i18n\"","webpack:///external \"lodash\"","webpack:///external \"React\"","webpack:///external \"ReactDOM\""],"sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"redux-templates\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./redux-templates/src/index.js\",\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-template-library-block .components-placeholder__label svg {\\n margin-right: 8px; }\\n\\n.redux-template-library-block button.components-button {\\n height: auto;\\n font-weight: 600;\\n text-transform: uppercase;\\n font-size: 13px;\\n padding: 11px 20px;\\n background: #fff; }\\n\\n.components-button.has-icon.redux-templates-insert-library-button {\\n height: 100%; }\\n\\n.redux-templates-insert-library-button {\\n margin-left: 10px;\\n margin-right: 10px; }\\n .redux-templates-insert-library-button svg {\\n width: 20px;\\n height: 20px; }\\n\\n.redux-insert-library-button {\\n margin-left: 10px;\\n margin-right: 10px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".challenge-list-block {\\n padding: 15px 20px 20px;\\n margin-bottom: 15px;\\n background-color: #fff;\\n overflow: hidden;\\n border-radius: 4px;\\n box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -moz-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2); }\\n\\n.challenge-bar {\\n border-radius: 20px;\\n background-color: #eee; }\\n\\n.challenge-bar div {\\n width: 0;\\n height: 20px;\\n border-radius: 20px;\\n background-color: #2576a4; }\\n\\n.challenge-list {\\n list-style: none;\\n margin: 17px 0 20px;\\n font-size: 13px; }\\n .challenge-list li {\\n margin-bottom: 17px; }\\n .challenge-list li i {\\n display: inline-block;\\n font-size: 18px;\\n color: #d6d6d6;\\n margin-right: 8px;\\n line-height: 15px;\\n vertical-align: bottom;\\n border-radius: 50%; }\\n .challenge-list li.challenge-item-current {\\n font-weight: bold; }\\n .challenge-list li.challenge-item-current i {\\n color: #df7739;\\n font-size: 17.5px;\\n line-height: 1;\\n text-indent: 0.5px; }\\n .challenge-list li.challenge-item-completed {\\n font-weight: initial;\\n text-decoration: line-through; }\\n .challenge-list li.challenge-item-completed i {\\n color: #6ab255;\\n font-size: 18px;\\n background-color: #fff; }\\n .challenge-list li .dashicons-yes {\\n display: none;\\n vertical-align: middle; }\\n\\n/* /.challenge-list */\\nbutton.btn-challenge-start {\\n font-size: 12px;\\n padding: 6px 15px;\\n border: 1px solid #00a7e5;\\n background-color: #24b0a6;\\n border-radius: 3px;\\n color: #fff;\\n cursor: pointer; }\\n button.btn-challenge-start:hover {\\n background-color: #19837c; }\\n\\n.btn-challenge-cancel,\\n.btn-challenge-skip {\\n margin: 6px 0;\\n border: 0;\\n text-decoration: underline; }\\n\\n.btn-challenge-cancel,\\n.btn-challenge-skip {\\n align-self: flex-end;\\n color: #909090;\\n font-size: 12px;\\n font-weight: normal;\\n background: none; }\\n\\n.wpforms-btn-md {\\n min-height: initial; }\\n\\n.challenge-button-row {\\n display: flex;\\n justify-content: space-between; }\\n .challenge-button-row button {\\n cursor: pointer; }\\n\\n.started.challenge-button-row {\\n align-content: space-between;\\n flex-direction: column; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".block-timer {\\n padding: 5px;\\n background-color: #2d2d2d;\\n border-radius: 500px;\\n width: 277px;\\n box-sizing: border-box;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n -moz-box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.2);\\n padding-left: 50px; }\\n .block-timer img {\\n width: 50px;\\n height: 50px;\\n border-radius: 50%; }\\n .block-timer h3 {\\n font-size: 14px;\\n font-weight: 500;\\n color: #fff;\\n margin: 0; }\\n .block-timer p {\\n font-size: 14px;\\n font-weight: 100;\\n color: #ababab;\\n margin: 0; }\\n .block-timer .caret-icon {\\n border: 2px solid;\\n border-radius: 50%;\\n color: #6c6c6c;\\n margin: 0 15px;\\n width: 23px;\\n height: 23px;\\n font-size: 20px;\\n cursor: pointer; }\\n .block-timer .caret-icon .fa {\\n width: 100%;\\n text-align: center;\\n -webkit-transition: 400ms;\\n -o-transition: 400ms;\\n transition: 400ms; }\\n .block-timer .caret-icon.closed .fa {\\n -webkit-transform: rotate(180deg) translateY(1px);\\n -ms-transform: rotate(180deg) translateY(1px);\\n transform: rotate(180deg) translateY(1px); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".challenge-popup-wrapper {\\n height: 500px;\\n border-radius: 10px; }\\n\\n.challenge-popup-header {\\n width: 100%;\\n height: 212px;\\n border-top-left-radius: 8px;\\n border-top-right-radius: 8px; }\\n\\n.challenge-popup-header-congrats {\\n background-position: center;\\n background-size: cover; }\\n\\n.challenge-popup-header-contact {\\n background-position: center;\\n background-size: auto 75%;\\n background-color: #eee;\\n background-repeat: no-repeat; }\\n\\n.challenge-popup-content {\\n padding: 30px 40px;\\n -webkit-font-smoothing: antialiased; }\\n\\n.challenge-popup-content h3 {\\n color: #24b0a6;\\n margin: 0 0 20px;\\n font-size: 24px;\\n font-family: \\\"Helvetica Neue\\\";\\n font-weight: 500; }\\n\\n.challenge-popup-content p {\\n font-size: 16px;\\n margin: 0 0 22px; }\\n\\n.challenge-popup-content b {\\n font-weight: 500; }\\n\\n.challenge-popup-content .challenge-contact-message {\\n box-shadow: none;\\n resize: none;\\n margin-bottom: 21px;\\n width: 100%;\\n min-height: 175px; }\\n\\n.challenge-popup-content label {\\n font-size: 13.8px;\\n display: block;\\n margin-bottom: 23px; }\\n\\n.challenge-popup-content input[type=\\\"checkbox\\\"] {\\n margin-right: 8px; }\\n\\n.challenge-popup-content .rating-stars {\\n color: #fdb72c;\\n font-size: 18px;\\n font-weight: bold; }\\n\\n.challenge-popup-close .fa-times {\\n font-size: 20px;\\n color: #777;\\n float: right;\\n margin: 15px;\\n border-radius: 50%;\\n cursor: pointer; }\\n\\n.challenge-popup-btn {\\n display: inline-block;\\n border-radius: 2px;\\n cursor: pointer;\\n text-decoration: none;\\n text-align: center;\\n vertical-align: middle;\\n white-space: nowrap;\\n box-shadow: none;\\n font-size: 15px;\\n font-weight: 600;\\n padding: 14px 25px;\\n border: 1px solid #00a7e5;\\n background-color: #24b0a6;\\n color: #fff; }\\n .challenge-popup-btn:hover {\\n border: 1px solid #19837c;\\n background-color: #19837c;\\n color: #fff; }\\n .challenge-popup-btn .dashicons-external {\\n margin-left: 6px; }\\n\\n.challenge-popup-content.challenge-contact p {\\n font-size: 14px; }\\n\\n.challenge-popup-content.challenge-contact textarea {\\n margin-bottom: 10px; }\\n\\n.challenge-popup-content.challenge-contact label {\\n font-size: 13px;\\n margin-bottom: 15px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-challenge {\\n display: block;\\n position: fixed;\\n right: 1em;\\n bottom: 55px;\\n max-width: 277px;\\n z-index: 9999; }\\n .redux-templates-challenge p {\\n font-size: 14px;\\n line-height: 1.4;\\n margin-top: 0;\\n color: #23282c; }\\n .redux-templates-challenge b {\\n font-weight: 500; }\\n .redux-templates-challenge.challenge-start {\\n display: initial; }\\n\\n@media all and (max-height: 900px) {\\n #challenge-contact-popup {\\n margin: 50px 0 20px; } }\\n\\n.challenge-tooltip.tooltipster-sidetip {\\n z-index: 100100 !important; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-box {\\n margin-bottom: 18px; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {\\n bottom: 8px; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {\\n top: 0; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-right .tooltipster-box {\\n margin-right: 18px; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {\\n left: 8px; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box {\\n background: #fff;\\n border: none;\\n border-radius: 4px;\\n box-shadow: 0 10px 35px 0 rgba(0, 0, 0, 0.25);\\n -webkit-box-shadow: 0 10px 35px 0 rgba(0, 0, 0, 0.25);\\n -moz-box-shadow: 0 10px 35px 0 rgba(0, 0, 0, 0.25); }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .tooltipster-content {\\n color: #444;\\n padding: 16px 20px 18px; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .tooltipster-content h3 {\\n font-size: 15px;\\n margin: 0; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .tooltipster-content p {\\n margin: 10px 0 0; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .challenge-done-btn {\\n border-radius: 3px;\\n cursor: pointer;\\n text-decoration: none;\\n text-align: center;\\n vertical-align: middle;\\n white-space: nowrap;\\n box-shadow: none;\\n font-size: 13px;\\n font-weight: 600;\\n padding: 7px 18px;\\n border: 1px solid #00a7e5;\\n background-color: #24b0a6;\\n color: #fff;\\n display: block;\\n margin: 15px auto 0;\\n outline: none; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-box .challenge-done-btn:hover {\\n border: 1px solid #19837c;\\n background-color: #19837c; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-arrow-border {\\n border: none; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {\\n border-bottom-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background {\\n border-right-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {\\n border-top-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {\\n border-left-color: #fff; }\\n\\n.block-editor-page .edit-post-layout .components-notice-list > div {\\n padding-left: 50px; }\\n\\n.block-editor-page span.wpforms-challenge-dot-step5 {\\n margin: 22px 18px;\\n z-index: 9999; }\\n\\n.block-editor-page .wpforms-challenge-tooltip.wpforms-challenge-tooltip-step5 {\\n max-width: 233px;\\n z-index: 99980 !important; }\\n\\n.challenge-wrapper {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 600000; }\\n\\n.challenge-tooltip-holder {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 600000; }\\n .challenge-tooltip-holder .tooltipster-box {\\n position: absolute;\\n box-shadow: 0 -10px 35px 0 rgba(0, 0, 0, 0.25);\\n z-index: 10000;\\n background: #fff;\\n padding: 15px 20px; }\\n\\n.challenge-dot {\\n display: inline-block;\\n width: 16px;\\n height: 16px;\\n background: #24b0a6;\\n box-shadow: 0 0 0 4px rgba(25, 131, 124, 0.15);\\n border-radius: 50%;\\n border: 0;\\n padding: 0; }\\n\\n.tooltipster-sidetip .tooltipster-arrow {\\n position: absolute;\\n width: 20px;\\n height: 10px;\\n z-index: 10000; }\\n\\n.tooltipster-sidetip .tooltipster-arrow-uncropped {\\n position: relative; }\\n\\n.tooltipster-sidetip .tooltipster-arrow-border {\\n left: 0;\\n top: 0;\\n border: none;\\n width: 0;\\n height: 0;\\n position: absolute; }\\n\\n.challenge-tooltip.tooltipster-sidetip .tooltipster-arrow-background {\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 0;\\n position: absolute;\\n border: 10px solid transparent; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-top {\\n border-top-color: #fff; }\\n\\n.challenge-tooltip.tooltipster-sidetip.tooltipster-bottom {\\n border-bottom-color: #fff; }\\n\\n.block-timer .caret-icon .fa {\\n -webkit-transition: 400ms;\\n -o-transition: 400ms;\\n transition: 400ms;\\n line-height: 23px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-single-section-item .block-editor-block-preview__container {\\n margin: 0 auto;\\n min-height: 130px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-import-button-group {\\n text-align: center; }\\n .redux-templates-import-button-group.disabled span a {\\n cursor: default;\\n opacity: 0.8; }\\n\\n.redux-templates-single-section-item {\\n margin-bottom: 15px; }\\n .redux-templates-single-section-item .redux-templates-import-button-group {\\n margin-top: 10%; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-button-display-dependencies {\\n display: flex;\\n justify-content: center;\\n margin: 10px; }\\n .redux-templates-button-display-dependencies span svg {\\n margin-right: 5px;\\n cursor: pointer; }\\n .redux-templates-button-display-dependencies span svg * {\\n fill: #f7f7f7; }\\n .redux-templates-button-display-dependencies span.missing-dependency svg * {\\n fill: rgba(247, 247, 247, 0.5); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-error-notice .components-notice {\\n display: flex;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 13px;\\n background-color: #e5f5fa;\\n border-left: 4px solid #00a0d2;\\n margin: 5px 15px 2px;\\n padding: 8px 12px;\\n align-items: center;\\n position: absolute;\\n height: 50px;\\n z-index: 9999;\\n width: 50%;\\n right: 0;\\n top: 70px;\\n transition: opacity 2s linear; }\\n .redux-templates-error-notice .components-notice.is-dismissible {\\n padding-right: 0; }\\n .redux-templates-error-notice .components-notice.is-success {\\n border-left-color: #4ab866;\\n background-color: rgba(74, 184, 102, 0.95); }\\n .redux-templates-error-notice .components-notice.is-warning {\\n border-left-color: #f0b849;\\n background-color: rgba(254, 248, 238, 0.95); }\\n .redux-templates-error-notice .components-notice.is-error {\\n border-left-color: #d94f4f;\\n background-color: rgba(249, 226, 226, 0.95); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".rtf {\\n box-sizing: border-box;\\n margin: 25px;\\n position: fixed;\\n white-space: nowrap;\\n z-index: 9998;\\n padding-left: 0;\\n list-style: none; }\\n .rtf.open .rtf--mb > * {\\n transform-origin: center center;\\n transform: none;\\n transition: ease-in-out transform 0.2s; }\\n .rtf.open .rtf--mb > ul {\\n list-style: none;\\n margin: 0;\\n padding: 0; }\\n .rtf.open .rtf--ab__c:hover > span {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf.open .rtf--ab__c > span.always-show {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf.open .rtf--ab__c:nth-child(1) {\\n transform: translateY(-60px) scale(1);\\n transition-delay: 0.03s; }\\n .rtf.open .rtf--ab__c:nth-child(1).top {\\n transform: translateY(60px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(2) {\\n transform: translateY(-120px) scale(1);\\n transition-delay: 0.09s; }\\n .rtf.open .rtf--ab__c:nth-child(2).top {\\n transform: translateY(120px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(3) {\\n transform: translateY(-180px) scale(1);\\n transition-delay: 0.12s; }\\n .rtf.open .rtf--ab__c:nth-child(3).top {\\n transform: translateY(180px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(4) {\\n transform: translateY(-240px) scale(1);\\n transition-delay: 0.15s; }\\n .rtf.open .rtf--ab__c:nth-child(4).top {\\n transform: translateY(240px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(5) {\\n transform: translateY(-300px) scale(1);\\n transition-delay: 0.18s; }\\n .rtf.open .rtf--ab__c:nth-child(5).top {\\n transform: translateY(300px) scale(1); }\\n .rtf.open .rtf--ab__c:nth-child(6) {\\n transform: translateY(-360px) scale(1);\\n transition-delay: 0.21s; }\\n .rtf.open .rtf--ab__c:nth-child(6).top {\\n transform: translateY(360px) scale(1); }\\n\\n.rtf--mb__c {\\n padding: 25px;\\n margin: -25px; }\\n .rtf--mb__c *:last-child {\\n margin-bottom: 0; }\\n .rtf--mb__c:hover > span {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf--mb__c > span.always-show {\\n transition: ease-in-out opacity 0.2s;\\n opacity: 0.9; }\\n .rtf--mb__c > span {\\n opacity: 0;\\n transition: ease-in-out opacity 0.2s;\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n margin-right: 6px;\\n margin-left: 4px;\\n background: rgba(0, 0, 0, 0.75);\\n padding: 2px 4px;\\n border-radius: 2px;\\n color: #fff;\\n font-size: 13px;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28); }\\n .rtf--mb__c > span.right {\\n right: 100%; }\\n\\n.rtf--mb {\\n height: 56px;\\n width: 56px;\\n z-index: 9999;\\n background-color: #666;\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n position: relative;\\n border: none;\\n border-radius: 50%;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28);\\n cursor: pointer;\\n outline: none;\\n padding: 0;\\n -webkit-user-drag: none;\\n font-weight: bold;\\n color: #f1f1f1;\\n font-size: 18px; }\\n .rtf--mb > * {\\n transition: ease-in-out transform 0.2s; }\\n\\n.rtf--ab__c {\\n display: block;\\n position: absolute;\\n top: 0;\\n right: 1px;\\n padding: 10px 0;\\n margin: -10px 0;\\n transition: ease-in-out transform 0.2s; }\\n .rtf--ab__c > span {\\n opacity: 0;\\n transition: ease-in-out opacity 0.2s;\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n margin-right: 6px;\\n background: rgba(0, 0, 0, 0.75);\\n padding: 2px 4px;\\n border-radius: 2px;\\n color: #fff;\\n font-size: 13px;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28); }\\n .rtf--ab__c > span.right {\\n right: 100%; }\\n .rtf--ab__c:nth-child(1) {\\n transform: translateY(-60px) scale(0);\\n transition-delay: 0.21s; }\\n .rtf--ab__c:nth-child(1).top {\\n transform: translateY(60px) scale(0); }\\n .rtf--ab__c:nth-child(2) {\\n transform: translateY(-120px) scale(0);\\n transition-delay: 0.18s; }\\n .rtf--ab__c:nth-child(2).top {\\n transform: translateY(120px) scale(0); }\\n .rtf--ab__c:nth-child(3) {\\n transform: translateY(-180px) scale(0);\\n transition-delay: 0.15s; }\\n .rtf--ab__c:nth-child(3).top {\\n transform: translateY(180px) scale(0); }\\n .rtf--ab__c:nth-child(4) {\\n transform: translateY(-240px) scale(0);\\n transition-delay: 0.12s; }\\n .rtf--ab__c:nth-child(4).top {\\n transform: translateY(240px) scale(0); }\\n .rtf--ab__c:nth-child(5) {\\n transform: translateY(-300px) scale(0);\\n transition-delay: 0.09s; }\\n .rtf--ab__c:nth-child(5).top {\\n transform: translateY(300px) scale(0); }\\n .rtf--ab__c:nth-child(6) {\\n transform: translateY(-360px) scale(0);\\n transition-delay: 0.03s; }\\n .rtf--ab__c:nth-child(6).top {\\n transform: translateY(360px) scale(0); }\\n\\n.rtf--ab {\\n height: 48px;\\n width: 48px;\\n background-color: #aaa;\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n position: relative;\\n border: none;\\n border-radius: 50%;\\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28);\\n cursor: pointer;\\n outline: none;\\n padding: 0;\\n -webkit-user-drag: none;\\n font-weight: bold;\\n color: #f1f1f1;\\n margin-right: 4px;\\n font-size: 16px;\\n z-index: 10000; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"/*multiple box*/\\n.redux-templates-multiple-template-box {\\n margin-bottom: 25px;\\n position: relative;\\n transition: all 0.05s ease-in-out; }\\n .redux-templates-multiple-template-box img {\\n transition: all 0.05s ease-in-out; }\\n .redux-templates-multiple-template-box .redux-templates-box-shadow {\\n transition: all 0.05s ease-in-out;\\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1); }\\n .redux-templates-multiple-template-box .redux-templates-default-template-image .imageloader-loaded {\\n overflow: hidden; }\\n .redux-templates-multiple-template-box .multiple-template-view {\\n background: #fff;\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05), 0 10px 0 -5px #fff, 0 10px 1px -4px rgba(0, 0, 0, 0.08), 0 20px 0 -10px #fff, 0 20px 1px -9px rgba(0, 0, 0, 0.08);\\n cursor: pointer;\\n min-height: 100px; }\\n .redux-templates-multiple-template-box .redux-templates-import-button-group {\\n margin-top: 15%; }\\n .redux-templates-multiple-template-box .redux-templates-tmpl-info {\\n padding: 10px 12px;\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n background: rgba(255, 255, 255, 0.95);\\n border-top: 1px solid #f2f4f7;\\n transition: all 0.2s ease-in-out; }\\n .redux-templates-multiple-template-box .redux-templates-tmpl-info h5 {\\n margin: 0;\\n font-size: 14px;\\n color: #23282d;\\n line-height: 19px; }\\n .redux-templates-multiple-template-box .redux-templates-tmpl-info h5 span {\\n font-size: 13px;\\n color: #cdcfd1;\\n line-height: 18px; }\\n .redux-templates-multiple-template-box .redux-templates-button-overlay {\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n border-radius: 0px;\\n opacity: 0;\\n -webkit-transition: opacity 0.2s ease-in-out;\\n transition: opacity 0.2s ease-in-out;\\n box-sizing: border-box; }\\n .redux-templates-multiple-template-box::before {\\n z-index: 2; }\\n .redux-templates-multiple-template-box::after {\\n z-index: 1; }\\n .redux-templates-multiple-template-box .redux-templates-button-overlay {\\n background: rgba(0, 0, 0, 0.5);\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n opacity: 0; }\\n .redux-templates-multiple-template-box:hover .redux-templates-box-shadow {\\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.3); }\\n .redux-templates-multiple-template-box:hover .multiple-template-view {\\n border-color: transparent; }\\n .redux-templates-multiple-template-box:hover .redux-templates-tmpl-info {\\n border-top-color: transparent;\\n background: #fff; }\\n .redux-templates-multiple-template-box:hover .redux-templates-button-overlay {\\n opacity: 1; }\\n .redux-templates-multiple-template-box:hover img {\\n filter: blur(2px); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".tablenav-pages {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-bottom: 20px; }\\n .tablenav-pages span.displaying-num {\\n margin-right: 20px; }\\n .tablenav-pages #table-paging {\\n margin-left: 10px;\\n margin-right: 10px; }\\n .tablenav-pages #table-paging span {\\n line-height: 30px; }\\n .tablenav-pages span.tablenav-pages-navspan.button {\\n cursor: pointer;\\n margin: 0 2px; }\\n .tablenav-pages span.tablenav-pages-navspan.button.disabled {\\n cursor: default; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".action-buttons span,\\n.action-buttons a {\\n display: inline-block;\\n padding: 0 12px 2px;\\n margin: 2px;\\n height: 33px;\\n line-height: 32px;\\n font-size: 13px;\\n color: #353535;\\n border: 1px solid #f7f7f7;\\n background: #f7f7f7;\\n box-shadow: 0 1px 2px #ddd;\\n vertical-align: top;\\n border-radius: 3px;\\n text-decoration: none;\\n cursor: pointer;\\n -webkit-transition: all 0.2s ease-in-out;\\n transition: all 0.2s ease-in-out; }\\n .action-buttons span:hover,\\n .action-buttons a:hover {\\n box-shadow: 0 1px 2px #ccc;\\n background: #f1f1f1; }\\n\\n.action-buttons span i,\\n.action-buttons a i {\\n font-size: 10px;\\n margin-right: 4px; }\\n\\n.action-buttons span {\\n background: #0085ba;\\n border-color: #006a95 #00648c #00648c;\\n box-shadow: inset 0 -1px 0 #00648c;\\n color: #fff;\\n text-decoration: none;\\n text-shadow: 0 -1px 1px #005d82, 1px 0 1px #005d82, 0 1px 1px #005d82, -1px 0 1px #005d82; }\\n\\n.action-buttons a.redux-templates-button-download {\\n border: 1px solid #f5a623;\\n background: #f5a623;\\n box-shadow: 0 1px 0 #165cb4;\\n color: #fff; }\\n\\n.action-buttons .redux-templates-button-download {\\n margin-left: 5px; }\\n\\n.action-buttons i.challenge-dot {\\n margin-top: 10px;\\n margin-left: 5px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-single-section-item {\\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2);\\n margin-bottom: 30px;\\n transition: all 0.05s ease-in-out; }\\n .redux-templates-single-section-item .redux-templates-tmpl-title {\\n background: rgba(255, 255, 255, 0.95);\\n border-top: 1px solid #f2f4f7;\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n margin: 0;\\n color: #23282d;\\n padding: 13px 15px;\\n font-size: 15px; }\\n .redux-templates-single-section-item .redux-templates-single-item-inner {\\n position: relative;\\n overflow: hidden;\\n background: #999; }\\n .redux-templates-single-section-item .redux-templates-single-item-inner .warn_notice {\\n color: #fbbc0e;\\n font-weight: bold;\\n margin-bottom: 15px;\\n font-size: 14px;\\n opacity: 0;\\n text-align: center; }\\n .redux-templates-single-section-item .redux-templates-single-item-inner .redux-templates-default-template-image {\\n max-height: 350px;\\n min-height: 100px;\\n transition: 300ms; }\\n\\n#collections-sections-list.large > div {\\n width: 50%; }\\n\\n#collections-sections-list.small > div {\\n width: 25%; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-template-filters .is-active {\\n background: #fff;\\n color: #191e23;\\n box-shadow: inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff; }\\n\\n.redux-templates-template-filters .components-button:focus:not(:disabled):not(.is-active) {\\n background: transparent;\\n box-shadow: none;\\n color: #555d66; }\\n\\n.refresh-library {\\n margin-right: 10px; }\\n\\n.tour-icon {\\n font-size: 18px; }\\n\\n.trial_notice * {\\n vertical-align: middle; }\\n\\n.trial_notice .components-notice__content {\\n margin-right: 0; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-css-editor {\\n border: 1px solid #e2e4e7;\\n margin-bottom: 20px; }\\n\\n.redux-css-editor-help {\\n background: #f7f7f7;\\n padding: 20px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"#redux-templatesImportCollectionBtn {\\n vertical-align: middle;\\n display: inline-flex;\\n align-items: center;\\n text-decoration: none;\\n border: 1px solid #bababa;\\n border-radius: 3px;\\n white-space: nowrap;\\n color: #555d66;\\n font-size: 13px;\\n margin: 0 15px 0 15px;\\n padding: 9px 12px;\\n background: transparent;\\n cursor: pointer;\\n -webkit-appearance: none;\\n transition: 400ms; }\\n #redux-templatesImportCollectionBtn svg {\\n height: 16px;\\n width: 16px;\\n margin-right: 8px; }\\n #redux-templatesImportCollectionBtn svg * {\\n stroke: #555d66;\\n fill: #555d66;\\n stroke-width: 0; }\\n #redux-templatesImportCollectionBtn:hover, #redux-templatesImportCollectionBtn:focus, #redux-templatesImportCollectionBtn:active {\\n text-decoration: none;\\n border: 1px solid #191e23;\\n color: #191e23; }\\n #redux-templatesImportCollectionBtn:hover svg *, #redux-templatesImportCollectionBtn:focus svg *, #redux-templatesImportCollectionBtn:active svg * {\\n stroke: #191e23 !important;\\n fill: #191e23 !important;\\n stroke-width: 0; }\\n\\n.redux-templates-editor-btn {\\n background: none;\\n border: 0;\\n color: inherit;\\n font: inherit;\\n line-height: normal;\\n overflow: visible;\\n padding: 0;\\n -webkit-appearance: button;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none; }\\n .redux-templates-editor-btn::-moz-focus-inner {\\n border: 0;\\n padding: 0; }\\n\\n.d-flex {\\n display: flex; }\\n\\n.justify-content-center {\\n justify-content: center; }\\n\\n.redux-css-editor {\\n border: 1px solid #e2e4e7;\\n margin-bottom: 20px; }\\n\\n.redux-css-editor-help {\\n background: #f7f7f7;\\n padding: 20px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-modal-wrapper {\\n /* ReduxTemplatesPremiumBox */ }\\n .redux-templates-modal-wrapper .redux-templates-modal-body {\\n flex: 1 1 auto;\\n padding-left: 30px;\\n padding-right: 30px;\\n box-sizing: border-box;\\n background: #fff; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body h5 {\\n font-size: 1.1em;\\n font-weight: 600; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body ul {\\n list-style-position: inside;\\n list-style-type: disc; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body ul.redux-templates-import-wizard-missing-dependency li {\\n line-height: 1.8; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error {\\n color: #f00; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error i {\\n color: inherit; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error.installError {\\n text-align: center; }\\n .redux-templates-modal-wrapper .redux-templates-import-wizard-spinner-wrapper {\\n position: absolute;\\n width: calc(100% - 60px);\\n height: 100%;\\n flex: 1 1 auto;\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n flex-direction: column; }\\n .redux-templates-modal-wrapper .redux-templates-import-wizard-spinner-wrapper .text-transition {\\n text-align: center;\\n font-size: 18px;\\n color: #555d66;\\n margin-bottom: 20px; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress {\\n font-size: 1.1em;\\n text-align: center; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li {\\n list-style: none; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li.success i {\\n color: #46b450; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li.info i {\\n color: #00a0d2; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress {\\n width: 50%;\\n margin: 10px auto; }\\n .redux-templates-modal-wrapper .redux-templates-import-progress li {\\n display: flex;\\n justify-content: space-between; }\\n .redux-templates-modal-wrapper .section-box.premium-box {\\n margin: 35px auto;\\n text-align: center; }\\n .redux-templates-modal-wrapper .section-box.premium-box h3 {\\n font-size: 1.5em;\\n line-height: 1.1em;\\n margin-top: 0px; }\\n .redux-templates-modal-wrapper .section-box.premium-box p {\\n font-size: calc(13px + 0.2vw); }\\n .redux-templates-modal-wrapper .section-box.premium-box ul {\\n width: 50%;\\n margin: 0 auto;\\n text-align: left;\\n list-style-type: disc;\\n list-style-position: inside; }\\n .redux-templates-modal-wrapper .section-box.premium-box .redux-templates-upgrade-button {\\n border: none;\\n border-radius: 4px;\\n cursor: pointer;\\n opacity: 1;\\n background: #24b0a6;\\n transition: opacity 0.2s ease-in-out;\\n box-shadow: none !important;\\n color: #fff;\\n text-decoration: none;\\n padding: 0.75em 1.25em;\\n display: block;\\n margin: 30px auto 0 auto;\\n max-width: 200px;\\n text-align: center;\\n font-size: 1em; }\\n .redux-templates-modal-wrapper .section-box.premium-box .redux-templates-upgrade-button:hover {\\n color: #fff;\\n opacity: 0.85;\\n box-shadow: none !important;\\n background: #19837c; }\\n .redux-templates-modal-wrapper .redux-templates-importmodal-content {\\n flex: 1;\\n display: flex;\\n flex-direction: column; }\\n\\n.text-transition {\\n width: 100% !important;\\n text-align: center; }\\n .text-transition .text-transition_inner > div {\\n font-size: 1.1rem; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-collection-modal-sidebar {\\n min-width: 270px;\\n background: #fff;\\n color: #32373c;\\n /* $secondaryColor;*/\\n border-right: 1px solid #e2e4e7;\\n overflow-y: auto; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group {\\n margin: 10px 0;\\n border-bottom: 1px solid #e2e4e7;\\n width: 100%;\\n display: inline-flex; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button {\\n font-weight: 500;\\n flex-grow: 1;\\n min-width: 30%;\\n line-height: 20px;\\n padding: 8px 0 10px 15px;\\n align-items: center;\\n text-align: left;\\n background: none;\\n position: relative;\\n margin-bottom: -1px;\\n border-width: 0;\\n z-index: 1;\\n cursor: pointer;\\n outline: none;\\n border-color: transparent;\\n box-shadow: none;\\n border-bottom: unset; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button::after {\\n content: attr(data-label);\\n display: block;\\n height: 0;\\n overflow: hidden;\\n speak: none;\\n visibility: hidden; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button:hover {\\n color: #007cba;\\n color: var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button:focus {\\n box-shadow: inset 0 0 0 1.5px #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.active {\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.active::before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n bottom: 1px;\\n right: 0;\\n left: 0;\\n border-bottom: 4px solid transparent; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.active:focus {\\n box-shadow: inset 0 0 0 1.5px #007cba, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color), inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button.disabled {\\n opacity: 0.4; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button img {\\n display: inline-block;\\n width: auto;\\n height: 14px;\\n margin-right: 4px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-template-filter-button-group button:last-child img {\\n margin-bottom: -2px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content {\\n padding: 0 15px 15px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content h3 {\\n margin: 5px 12px 10px 0;\\n color: #757575;\\n text-transform: uppercase;\\n font-size: 11px;\\n font-weight: 500; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul {\\n list-style: unset;\\n -webkit-touch-callout: none;\\n /* iOS Safari */\\n -webkit-user-select: none;\\n /* Safari */\\n -khtml-user-select: none;\\n /* Konqueror HTML */\\n -moz-user-select: none;\\n /* Old versions of Firefox */\\n -ms-user-select: none;\\n /* Internet Explorer/Edge */\\n user-select: none;\\n /* Non-prefixed version, currently\\n supported by Chrome, Edge, Opera and Firefox */\\n margin: 0 15px 15px 15px;\\n padding: 0; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li {\\n display: block;\\n font-size: 13px;\\n cursor: pointer;\\n height: auto;\\n -webkit-transition: height 0.5s linear;\\n -moz-transition: height 0.5s linear;\\n -ms-transition: height 0.5s linear;\\n -o-transition: height 0.5s linear;\\n transition: height 0.5s linear; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li .redux-icon-wrapper {\\n margin-left: 10px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li:not(.disabled):hover {\\n color: #007cba;\\n color: var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.active {\\n color: #007cba;\\n color: var(--wp-admin-theme-color);\\n text-shadow: 0 0 0.5px #007cba;\\n text-shadow: 0 0 0.5px var(--wp-admin-theme-color); }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.disabled {\\n display: none;\\n height: 0px;\\n -webkit-transition: height 0.5s linear;\\n -moz-transition: height 0.5s linear;\\n -ms-transition: height 0.5s linear;\\n -o-transition: height 0.5s linear;\\n transition: height 0.5s linear; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li span {\\n float: right; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.missing-dependency i.fa-exclamation-triangle {\\n color: #b27823; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.missing-dependency:hover i.fa-exclamation-triangle {\\n color: #f5a623; }\\n .redux-templates-collection-modal-sidebar .redux-templates-modal-sidebar-content ul li.missing-dependency.active i.fa-exclamation-triangle {\\n color: #f5a623; }\\n .redux-templates-collection-modal-sidebar ul.redux-templates-sidebar-dependencies li .components-base-control {\\n display: inline-block;\\n margin-bottom: 0 !important; }\\n .redux-templates-collection-modal-sidebar ul.redux-templates-sidebar-dependencies li .components-base-control .components-base-control__field {\\n margin-bottom: 3px; }\\n .redux-templates-collection-modal-sidebar ul.redux-templates-sidebar-dependencies li .components-base-control span {\\n float: none; }\\n .redux-templates-collection-modal-sidebar .redux-templates-select-actions {\\n margin: 0 0 10px 15px;\\n display: inline-flex; }\\n .redux-templates-collection-modal-sidebar .redux-templates-select-actions i.challenge-dot {\\n margin-left: 10px; }\\n .redux-templates-collection-modal-sidebar .redux-templates-select-actions.disabled a {\\n pointer-events: none;\\n cursor: default;\\n text-decoration: none;\\n opacity: 0.6; }\\n .redux-templates-collection-modal-sidebar .redux-templates-sidebar-dependencies li a {\\n display: inline-block;\\n margin-left: 10px; }\\n .redux-templates-collection-modal-sidebar #redux-templates-filter-dependencies h3 {\\n margin-top: 0;\\n padding-top: 3px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-collections-modal-body {\\n display: flex;\\n flex: 1;\\n overflow-y: auto; }\\n\\n.redux-templates-builder-modal {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 9999;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n pointer-events: none; }\\n .redux-templates-builder-modal.hidden {\\n display: none; }\\n .redux-templates-builder-modal .wp-full-overlay-sidebar .wp-core-ui .button-group.button-hero .button,\\n .redux-templates-builder-modal .wp-full-overlay-sidebar .wp-core-ui .button.button-hero {\\n text-align: center !important; }\\n .redux-templates-builder-modal * {\\n box-sizing: border-box;\\n pointer-events: all; }\\n .redux-templates-builder-modal .redux-templates-pagelist-modal-overlay {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n background: #f00;\\n left: 0;\\n top: 0;\\n z-index: -1;\\n background: rgba(3, 8, 15, 0.75); }\\n .redux-templates-builder-modal .components-base-control__field {\\n display: flex; }\\n .redux-templates-builder-modal textarea {\\n width: 100%;\\n height: 80px; }\\n .redux-templates-builder-modal .redux-icon-wrapper {\\n display: inline-block; }\\n .redux-templates-builder-modal button.components-button {\\n z-index: unset; }\\n\\n.redux-templates-builder-modal-header {\\n display: flex;\\n border-bottom: 1px solid #e2e4e7;\\n background: #fff; }\\n .redux-templates-builder-modal-header .template-search-box {\\n position: relative;\\n width: 270px; }\\n .redux-templates-builder-modal-header .template-search-box > div {\\n padding: 10px; }\\n .redux-templates-builder-modal-header .template-search-box i {\\n font-size: 13px;\\n color: #757575;\\n position: absolute;\\n top: 50%;\\n right: 30px;\\n transform: translateY(-50%); }\\n .redux-templates-builder-modal-header .template-search-box i.challenge-dot {\\n right: 20px;\\n left: auto; }\\n .redux-templates-builder-modal-header .template-search-box i.clear-search {\\n right: 20px;\\n left: auto;\\n color: #fff;\\n font-size: 12px;\\n display: none;\\n cursor: pointer;\\n padding: 5px; }\\n .redux-templates-builder-modal-header .template-search-box input {\\n display: block;\\n width: 100%;\\n box-shadow: 0 0 0 transparent;\\n transition: box-shadow 0.1s linear;\\n border-radius: 2px;\\n line-height: normal;\\n display: block;\\n padding: 16px 48px 16px 16px;\\n background: #f3f4f5;\\n border: none;\\n width: 100%;\\n height: 40px;\\n font-size: 13px; }\\n .redux-templates-builder-modal-header .template-search-box input::-webkit-input-placeholder {\\n /* WebKit browsers */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input:-moz-placeholder {\\n /* Mozilla Firefox 4 to 18 */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input::-moz-placeholder {\\n /* Mozilla Firefox 19+ */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input:-ms-input-placeholder {\\n /* Internet Explorer 10+ */\\n color: #606a73;\\n font-style: italic;\\n opacity: 1; }\\n .redux-templates-builder-modal-header .template-search-box input:focus {\\n border-color: #007cba;\\n border-color: var(--wp-admin-theme-color);\\n background: #fff;\\n box-shadow: 0 0 0 1.5px #007cba;\\n box-shadow: 0 0 0 1.5px var(--wp-admin-theme-color);\\n outline: 2px solid transparent; }\\n .redux-templates-builder-modal-header .template-search-box:hover .clear-search {\\n display: block; }\\n\\n.redux-templates-pagelist-modal-inner {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n background: #f1f1f1;\\n width: 85.9375%;\\n height: 89.537037%;\\n max-width: 1650px;\\n max-height: 967px;\\n box-shadow: 0 0 45px 10px rgba(3, 8, 15, 0.2);\\n animation: components-modal__appear-animation 0.1s ease-out;\\n animation-fill-mode: forwards; }\\n .redux-templates-pagelist-modal-inner .redux-templates-collection-modal-content-area {\\n flex-grow: 1;\\n max-height: 100%;\\n overflow-y: auto;\\n position: relative; }\\n\\n.redux-templates-template-list-header {\\n text-align: center;\\n position: relative;\\n flex-grow: 1;\\n padding-right: 50px; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal) {\\n flex-grow: 1;\\n line-height: 28px;\\n margin-top: 6px;\\n padding: 14px 15px 13px 15px;\\n text-align: left;\\n font-weight: 600;\\n width: 150px;\\n align-items: center;\\n background: none;\\n position: relative;\\n margin-bottom: -1px;\\n border-width: 0;\\n z-index: 1;\\n cursor: pointer;\\n outline: none;\\n border-color: transparent;\\n box-shadow: none;\\n border-bottom: unset; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal)::after {\\n content: attr(data-label);\\n display: block;\\n height: 0;\\n overflow: hidden;\\n speak: none;\\n visibility: hidden; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal):hover {\\n color: #007cba;\\n color: var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal):focus {\\n box-shadow: inset 0 0 0 1.5px #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).active {\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px transparent, inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).active::before {\\n content: \\\"\\\";\\n position: absolute;\\n top: 0;\\n bottom: 1px;\\n right: 0;\\n left: 0;\\n border-bottom: 4px solid transparent; }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).active:focus {\\n box-shadow: inset 0 0 0 1.5px #007cba, inset 0 -4px 0 0 #007cba;\\n box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color), inset 0 -4px 0 0 var(--wp-admin-theme-color); }\\n .redux-templates-template-list-header button:not(.redux-templates-builder-close-modal).disabled {\\n opacity: 0.5; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal {\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 60px;\\n height: 60px;\\n margin: 0;\\n padding: 0;\\n border: 1px solid transparent;\\n background: none;\\n font-size: 15px;\\n cursor: pointer;\\n outline: none;\\n transition: color 0.1s ease-in-out, background 0.1s ease-in-out; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal i {\\n -webkit-text-stroke: 1.2px #fff; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal svg {\\n margin-top: 4px; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal:hover, .redux-templates-template-list-header .redux-templates-builder-close-modal:active {\\n color: #00a0d2; }\\n .redux-templates-template-list-header .redux-templates-builder-close-modal:focus {\\n color: #00a0d2;\\n border-color: #5b9dd9;\\n box-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\\n /* Only visible in Windows High Contrast mode */\\n outline: 2px solid transparent; }\\n\\n.redux-templates-template-list-sub-header {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 23px 25px 0; }\\n .redux-templates-template-list-sub-header h4 {\\n font-size: 21px;\\n color: #0e2244;\\n font-weight: 500;\\n margin: 0; }\\n .redux-templates-template-list-sub-header h4 i.challenge-dot {\\n margin-left: 10px; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filters {\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group {\\n background: #f8fafb;\\n display: inline-flex;\\n border: 1px solid #d8d8d8;\\n border-radius: 4px;\\n margin-left: 10px; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button {\\n display: inline-flex;\\n line-height: 28px;\\n padding: 5px 18px;\\n align-items: center;\\n background: none;\\n border: none;\\n color: #587e97;\\n position: relative;\\n z-index: 1;\\n cursor: pointer; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button:focus {\\n outline: none;\\n box-shadow: 0 0 0 1.5px #007cba;\\n box-shadow: 0 0 0 1.5px var(--wp-admin-theme-color);\\n outline: 1px solid transparent; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button:last-child {\\n color: #f5a623; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.active {\\n background: #f5a623;\\n color: #fff; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.disabled {\\n opacity: 0.5; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button img {\\n display: inline-block;\\n width: auto;\\n height: 14px;\\n margin-right: 4px; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button:not(:last-child)::after {\\n content: \\\"\\\";\\n height: 13px;\\n background-color: #c4cbcf;\\n width: 1px;\\n right: 0px;\\n top: 50%;\\n position: absolute;\\n transform: translateY(-50%); }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.active::after {\\n display: none; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button::before {\\n content: \\\"\\\";\\n position: absolute;\\n background: #f5a623;\\n height: calc(100% + 4px);\\n width: calc(100% + 4px);\\n left: -2px;\\n top: -2px;\\n z-index: -1;\\n border-radius: 4px;\\n box-shadow: 0 0 4px rgba(33, 32, 249, 0.3);\\n opacity: 0; }\\n .redux-templates-template-list-sub-header .redux-templates-template-filter-button-group button.active::before {\\n opacity: 1; }\\n\\n.redux-templates-modal-loader {\\n display: inline-block;\\n position: absolute;\\n width: 80px;\\n height: 80px;\\n line-height: 80px;\\n text-align: center;\\n left: 50%;\\n margin-left: -50px;\\n top: 50%;\\n margin-top: -50px;\\n font-size: 24px;\\n color: #1e7ed8; }\\n\\n.redux-templates-modal-loader img {\\n height: 80px;\\n width: 80px; }\\n\\n/*block style*/\\n.redux-templates-builder-template-found-empty {\\n text-align: center;\\n border-color: transparent !important; }\\n .redux-templates-builder-template-found-empty .redux-templates-builder-empty-title {\\n display: block;\\n width: 100%; }\\n\\n.redux-templates-pro-badge {\\n position: absolute;\\n background: rgba(255, 0, 0, 0.75);\\n cursor: pointer;\\n padding: 5px 6px;\\n border-radius: 3px;\\n color: #fff;\\n font-size: 10px;\\n right: 20px;\\n top: 20px;\\n line-height: 1;\\n transition: background 0.1s linear; }\\n\\n.redux-templates-missing-badge {\\n position: absolute;\\n cursor: pointer;\\n background: rgba(242, 168, 72, 0.75);\\n border-radius: 3px;\\n color: #fff;\\n font-size: 10px;\\n right: 20px;\\n top: 20px;\\n line-height: 1;\\n transition: background 0.1s linear; }\\n .redux-templates-missing-badge i {\\n margin: 5px; }\\n\\n.redux-templates-button-overlay .redux-templates-pro-badge {\\n background: rgba(255, 0, 0, 0.85); }\\n\\n.redux-templates-button-overlay .redux-templates-missing-badge {\\n background: rgba(242, 168, 72, 0.85); }\\n\\n.redux-templates-default-template-image {\\n /* background-image: url('/img/redux-templates-medium.jpg');\\n background-size: cover; */\\n background: #888;\\n transition: 300ms; }\\n .redux-templates-default-template-image .imageloader-loaded {\\n max-height: 285px; }\\n .redux-templates-default-template-image img {\\n width: 100%;\\n display: block; }\\n\\n.redux-templates-item-wrapper {\\n position: relative; }\\n .redux-templates-item-wrapper .redux-templates-button-overlay {\\n position: absolute;\\n width: 100%;\\n opacity: 0;\\n background: rgba(0, 0, 0, 0.5);\\n height: 100%;\\n top: 0;\\n left: 0;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n transition: 300ms; }\\n .redux-templates-item-wrapper .redux-templates-button-overlay .redux-templates-tmpl-title {\\n margin: 0 0 15px;\\n color: #fff;\\n font-size: 19px;\\n font-weight: 400; }\\n .redux-templates-item-wrapper.focused .redux-templates-button-overlay, .redux-templates-item-wrapper:hover .redux-templates-button-overlay {\\n opacity: 1; }\\n .redux-templates-item-wrapper.focused .redux-templates-default-template-image, .redux-templates-item-wrapper:hover .redux-templates-default-template-image {\\n filter: blur(3px); }\\n .redux-templates-item-wrapper.missing_requirements .warn_notice {\\n opacity: 1; }\\n .redux-templates-item-wrapper.missing_requirements .redux-templates-button-download {\\n background-color: #fdbb05;\\n background-image: none;\\n border-color: #ffc107; }\\n\\n.redux-templates-template-option-header {\\n padding: 20px 20px 0; }\\n .redux-templates-template-option-header .redux-templates-template-back {\\n cursor: pointer; }\\n .redux-templates-template-option-header .redux-templates-template-back .dashicons {\\n vertical-align: text-bottom; }\\n\\n#wpwrap .edit-post-visual-editor .import-collection-btn-container {\\n text-align: center;\\n margin-top: 20px; }\\n\\n#wpwrap .edit-post-visual-editor .import-collection-btn-container #importCollectionBtn {\\n color: #fff;\\n font-size: 13px; }\\n\\n.redux-templates-template-back {\\n cursor: pointer; }\\n .redux-templates-template-back .dashicons {\\n vertical-align: text-bottom; }\\n\\n.spinner-wrapper {\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.5); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-collection-details-view {\\n padding: 40px 22.5px 60px;\\n width: 100%;\\n justify-content: center;\\n position: relative;\\n display: flex; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left {\\n width: 600px;\\n margin: 0 37px 0 17px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-back {\\n height: 32px;\\n line-height: 20px;\\n color: #818a91;\\n font-size: 15px;\\n font-weight: 600;\\n display: -webkit-inline-box;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n cursor: pointer;\\n margin-bottom: 20px;\\n -webkit-transition: color 0.1s ease;\\n transition: color 0.1s ease; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-preview {\\n background-position: center top;\\n background-size: contain;\\n width: 100%;\\n background-repeat: no-repeat;\\n transition: background 1.5s ease;\\n height: 84.71%; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-preview.has_full {\\n transition: background-position 1.5s linear;\\n background-position: center top;\\n background-size: cover;\\n width: 100%;\\n background-repeat: no-repeat;\\n -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1); }\\n .redux-templates-collection-details-view .redux-templates-collection-details-left .details-preview.has_full:hover {\\n background-position: center bottom;\\n background-size: cover; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right {\\n width: 520px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-title {\\n height: 30px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n padding: 2px 25px 0 10px;\\n margin-bottom: 20px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-title h3 {\\n color: rgba(3, 8, 15, 0.92);\\n font-size: 28px;\\n font-weight: 600;\\n line-height: 34px;\\n margin: 0; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-title span {\\n color: #818a91;\\n font-size: 13px;\\n font-weight: 600;\\n line-height: 16px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-list {\\n height: 84.71%; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .details-list .details-inner {\\n height: 100%;\\n overflow-y: auto; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select {\\n width: 150px;\\n height: 150px;\\n overflow: hidden;\\n margin: 0 8px 15px;\\n -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n position: relative;\\n display: inline-block;\\n cursor: pointer;\\n -webkit-transition: all 0.1s ease-in-out;\\n transition: all 0.1s ease-in-out; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::before, .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::after {\\n content: \\\"\\\";\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n pointer-events: none;\\n opacity: 0;\\n box-sizing: border-box; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::before {\\n opacity: 0.7;\\n z-index: 2; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select::after {\\n opacity: 0.7;\\n z-index: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image {\\n width: 100%;\\n height: 150px;\\n background-repeat: no-repeat;\\n background-size: cover;\\n border: 1px solid #ececec;\\n position: relative; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .pro,\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .install {\\n position: absolute;\\n background: #f00;\\n padding: 2px 3px;\\n border-radius: 3px;\\n color: #fff;\\n font-size: 9px;\\n right: 5px;\\n top: 5px;\\n text-transform: uppercase;\\n line-height: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .pro {\\n background: #f00; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-image .install {\\n background: #f2a848; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select .detail-label {\\n border-top: 1px solid #f2f4f7;\\n width: 100%;\\n height: 30px;\\n opacity: 1;\\n background-color: rgba(255, 255, 255, 0.9);\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n color: #23282d;\\n font-family: pn, \\\"Open Sans\\\", Arial, sans-serif;\\n font-size: 13px;\\n font-weight: 600;\\n line-height: 30px;\\n padding-left: 10px; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select:hover {\\n -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select:hover::before, .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select:hover::after {\\n opacity: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active {\\n -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active::before, .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active::after,\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active .detail-label {\\n opacity: 1; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-right .detail-select.detail-select-active::before {\\n border: 3px solid #24b0a6; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer {\\n width: 100%;\\n height: 60px;\\n background: #fff;\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n z-index: 2; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer .footer-grid {\\n width: 100%;\\n padding: 0 10px;\\n height: 100%;\\n margin: auto;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer .import-button {\\n margin-left: 11.5px;\\n background-color: #3dbfe8;\\n color: #fff;\\n font-family: pn, \\\"Open Sans\\\", Arial, sans-serif;\\n font-size: 15px;\\n font-weight: 600;\\n line-height: 18px;\\n padding: 9px 32px;\\n border-radius: 3px;\\n cursor: pointer;\\n -webkit-transition: background-color 150ms linear;\\n transition: background-color 150ms linear; }\\n .redux-templates-collection-details-view .redux-templates-collection-details-footer .import-button:hover {\\n background: rgba(61, 191, 232, 0.8); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-two-sections {\\n position: absolute;\\n width: 85.9375%;\\n height: 89.537037%;\\n max-width: 1650px;\\n max-height: 967px;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n border-radius: 5px;\\n overflow: hidden;\\n -webkit-box-shadow: 0 45px 10px rgba(3, 8, 15, 0.2);\\n box-shadow: 0 0 45px 10px rgba(3, 8, 15, 0.2); }\\n\\n.redux-templates-two-sections__grid {\\n width: 100%;\\n height: 100%;\\n padding: 40px 22.5px;\\n position: relative;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex; }\\n\\n.redux-templates-two-sections__grid__column {\\n width: 100%; }\\n\\n.redux-templates-two-sections__grid-clear {\\n -webkit-box-orient: vertical;\\n -webkit-box-direction: normal;\\n -ms-flex-direction: column;\\n flex-direction: column;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n height: 100%; }\\n\\n.redux-templates-two-sections__grid-clear-text {\\n opacity: 0.9;\\n color: #818a91;\\n font-family: pn, \\\"Open Sans\\\", Arial, sans-serif;\\n font-size: 14px;\\n font-weight: 600;\\n line-height: 17px;\\n margin: 0 0 20px; }\\n\\n.redux-templates-two-sections__grid-clear-image-saved {\\n width: 322px;\\n height: 145px;\\n margin-top: -21px;\\n pointer-events: none; }\\n\\n.redux-templates-two-sections__grid-clear-image-global {\\n width: 524px;\\n height: 207px;\\n margin-top: -28px;\\n pointer-events: none; }\\n\\n.redux-templates-two-section {\\n position: relative;\\n margin: 0 17.5px 35px;\\n cursor: pointer;\\n outline: 3px solid transparent;\\n -webkit-transition: outline 0.3s ease-in-out;\\n transition: outline 0.3s ease-in-out;\\n -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);\\n border-radius: 3px; }\\n .redux-templates-two-section:last-child {\\n margin-bottom: 0; }\\n .redux-templates-two-section .redux-templates-two-section-remove {\\n position: absolute;\\n z-index: 4;\\n top: -7px;\\n right: -7px;\\n opacity: 0;\\n -webkit-transform: scale(0.7);\\n transform: scale(0.7);\\n -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n width: 28px;\\n height: 28px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n font-size: 12px;\\n border-radius: 28px;\\n background-color: #fff;\\n color: #03080f;\\n -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);\\n box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);\\n cursor: pointer; }\\n .redux-templates-two-section:hover .redux-templates-two-section-remove {\\n opacity: 1;\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;\\n transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }\\n .redux-templates-two-section:hover .redux-templates-two-section-remove:hover {\\n color: #f00; }\\n .redux-templates-two-section:hover .redux-templates-two-section-item::before {\\n border-color: #3dbfe8; }\\n .redux-templates-two-section:hover .redux-templates-two-section-item::after {\\n border-color: #ececec; }\\n\\n.redux-templates-two-section .preview-image-wrapper {\\n transition: all 0.05s ease-in-out;\\n width: 100%;\\n min-height: 130px;\\n max-height: 300px;\\n overflow: hidden; }\\n .redux-templates-two-section .preview-image-wrapper img {\\n animation-name: fadeIn;\\n animation-fill-mode: both;\\n animation-delay: 200ms;\\n animation-duration: 200ms;\\n width: 100%;\\n height: auto; }\\n\\n.redux-templates-two-section .saved-section-title {\\n border-top: 1px solid #f2f4f7;\\n background: rgba(255, 255, 255, 0.9);\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n margin: 0;\\n color: #23282d;\\n padding: 13px 15px;\\n font-size: 15px;\\n text-align: center;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n\\n.no-section {\\n display: flex;\\n width: 100%;\\n align-items: center;\\n justify-content: center;\\n font-size: 16px; }\\n\\n.preview-image-wrapper .block-editor-block-preview__container {\\n transition: all 0.05s ease-in-out;\\n background: #fff;\\n margin: 0 auto;\\n min-height: 130px; }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"#collections-sections-list {\\n width: 100%;\\n display: flex;\\n flex-wrap: wrap;\\n padding: 10px 10px 0 10px; }\\n #collections-sections-list > div {\\n width: 33.3333%;\\n padding: 15px;\\n position: relative; }\\n @media (max-width: 1199px) {\\n #collections-sections-list > div {\\n width: 50%; } }\\n #collections-sections-list > div.redux-templates-builder-template-found-empty {\\n width: 100%;\\n text-align: center;\\n opacity: 0.5;\\n border: none !important;\\n padding-top: 70px !important; }\\n #collections-sections-list.redux-templates-frontend-section-list {\\n display: block;\\n padding-bottom: 10px;\\n padding-top: 0px; }\\n #collections-sections-list.redux-templates-frontend-section-list > div {\\n width: 100%;\\n display: flex;\\n flex-wrap: nowrap;\\n border-bottom: 1px solid #e2e4e7;\\n font-weight: 600;\\n padding: 12px 0 12px 15px;\\n margin-bottom: 0;\\n align-items: center; }\\n #collections-sections-list.redux-templates-frontend-section-list > div.redux-templates-reusable-list-title {\\n color: #adafb2; }\\n #collections-sections-list.redux-templates-frontend-section-list > div:first-child {\\n border-top: 1px solid #e2e4e7; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-content {\\n flex-grow: 1; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-info {\\n flex-grow: 1;\\n max-width: 165px;\\n display: flex;\\n flex-wrap: nowrap; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button {\\n margin-left: 30px; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button {\\n display: inline-block;\\n padding: 0;\\n border: none;\\n transition: 300ms;\\n cursor: pointer;\\n background-color: transparent; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button:not(:last-child) {\\n margin-right: 10px; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button i {\\n font-size: 16px;\\n color: #cdcfd1; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button:hover i {\\n color: #007cba; }\\n #collections-sections-list.redux-templates-frontend-section-list > div .redux-templates-reusable-list-button button:last-child:hover i {\\n color: #f00; }\\n #collections-sections-list .redux-templates-pagelist-column.loading {\\n height: 100px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".wp-full-overlay {\\n margin-left: 300px; }\\n\\n@media screen and (min-width: 1667px) {\\n .wp-full-overlay {\\n margin-left: 18%; } }\\n\\nbutton {\\n box-sizing: border-box;\\n pointer-events: all; }\\n\\n.wp-full-overlay.hide {\\n display: none; }\\n\\n.theme-screenshot-wrap {\\n overflow: hidden;\\n position: relative;\\n max-height: 300px;\\n margin: 15px 0;\\n border: 1px solid #ccc; }\\n\\n.install-theme-info {\\n padding-bottom: 0px; }\\n .install-theme-info h3 a {\\n float: right;\\n opacity: 0.6; }\\n .install-theme-info h3 a:hover {\\n opacity: 1; }\\n\\n.install-theme-info .theme-screenshot {\\n width: 100% !important;\\n border: none !important;\\n margin: 0 !important;\\n display: block; }\\n\\n.expanded .wp-full-overlay-footer {\\n height: 111px !important;\\n left: initial; }\\n .expanded .wp-full-overlay-footer .button-hero {\\n text-align: center; }\\n\\n.wp-full-overlay .wp-full-overlay-sidebar-content {\\n bottom: 100px; }\\n .wp-full-overlay .wp-full-overlay-sidebar-content .redux-templates-dependencies-list {\\n border-top: 1px solid #eee;\\n color: #82878c;\\n font-size: 13px;\\n font-weight: 400;\\n margin: 30px 0 0 0; }\\n .wp-full-overlay .wp-full-overlay-sidebar-content .redux-templates-dependencies-list h4 {\\n color: #23282d;\\n font-size: 1.1em;\\n text-align: center; }\\n .wp-full-overlay .wp-full-overlay-sidebar-content .redux-templates-dependencies-list .redux-templates-dependency-blocks .redux-templates-dependency-name {\\n color: #444;\\n font-weight: 600;\\n margin-right: 5px; }\\n\\n.footer-import-button-wrap {\\n padding: 10px 20px;\\n display: flex;\\n justify-content: center; }\\n\\n.wp-full-overlay-footer .view-site,\\n.wp-full-overlay-footer .go-pro,\\n.wp-full-overlay-footer .redux-templates-import {\\n width: 100%; }\\n\\n.redux-templates-button-download {\\n border: 1px solid #3dbfe8;\\n background: #3dbfe8;\\n box-shadow: 0 1px 0 #165cb4;\\n color: #fff; }\\n\\n.wp-full-overlay-main {\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n height: 100%;\\n -webkit-transition: background-color 1000ms linear;\\n -ms-transition: background-color 1000ms linear;\\n transition: background-color 1000ms linear;\\n background-color: unset; }\\n .wp-full-overlay-main.loaded::before {\\n display: none !important; }\\n .wp-full-overlay-main.loaded iframe {\\n background-color: #fff; }\\n .wp-full-overlay-main .components-spinner {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translateX(-50%) translateY(-50%); }\\n\\n.theme-install-overlay iframe {\\n height: 100%;\\n width: 100%;\\n z-index: 20;\\n transition: opacity 0.3s; }\\n\\n.redux-templates-dependency-blocks {\\n display: flex; }\\n .redux-templates-dependency-blocks .block-head {\\n text-align: center;\\n width: 60px;\\n margin-right: 10px; }\\n\\n.requirements-list {\\n width: 100%; }\\n .requirements-list ul {\\n margin: 0;\\n padding: 0;\\n list-style: none; }\\n .requirements-list ul li {\\n cursor: pointer;\\n line-height: 20px;\\n padding-bottom: 25px;\\n clear: left;\\n transition: 300ms; }\\n .requirements-list ul li svg {\\n margin-right: 5px; }\\n .requirements-list ul li svg * {\\n fill: #9a9a9a; }\\n .requirements-list ul li svg,\\n .requirements-list ul li span,\\n .requirements-list ul li div {\\n float: left; }\\n .requirements-list ul li .redux-icon-wrapper {\\n display: inline; }\\n .requirements-list ul li span.pluginURL {\\n float: right; }\\n .requirements-list ul li i {\\n font-size: 1.1em; }\\n .requirements-list ul li .redux-icon-wrapper {\\n padding-left: 5px; }\\n .requirements-list ul li i.fa-exclamation-triangle {\\n font-size: 0.9em;\\n line-height: 1.5em;\\n color: #b27823; }\\n .requirements-list ul li:hover svg * {\\n fill: dimgray; }\\n .requirements-list ul li:hover i.fa-exclamation-triangle {\\n color: #f5a623; }\\n\\n.redux-block-pills ul {\\n margin: 0;\\n padding: 0; }\\n .redux-block-pills ul li {\\n margin: 0px 5px 10px 0;\\n float: left; }\\n .redux-block-pills ul li span {\\n --bg-opacity: 1 !important;\\n background-color: #edf2f7 !important;\\n background-color: rgba(237, 242, 247, var(--bg-opacity)) !important;\\n border-radius: 9999px !important;\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n padding-left: 0.75rem !important;\\n padding-right: 0.75rem !important;\\n --text-opacity: 1 !important;\\n color: #4a5568 !important;\\n color: rgba(74, 85, 104, var(--text-opacity)) !important; }\\n\\n.redux-templates-modal-preview-box {\\n background: #f1f1f1; }\\n .redux-templates-modal-preview-box img {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translateX(-50%) translateY(-50%);\\n max-width: 100%;\\n max-height: 100%; }\\n\\n.theme-hash {\\n text-align: center;\\n font-size: 14px;\\n position: relative; }\\n .theme-hash i {\\n cursor: pointer;\\n margin-right: 5px;\\n margin-left: 5px; }\\n .theme-hash .copied {\\n color: #656a6f;\\n position: absolute;\\n line-height: 75%;\\n margin-left: 10px;\\n opacity: 0.6; }\\n .theme-hash .the-copy {\\n border-bottom-right-radius: 0 !important;\\n border-top-right-radius: 0 !important; }\\n .theme-hash .the-hash {\\n border-bottom-left-radius: 0 !important;\\n border-top-left-radius: 0 !important;\\n border-left: 0 !important; }\\n .theme-hash .hideMe {\\n -webkit-animation: cssAnimation 3s forwards;\\n animation: cssAnimation 3s forwards; }\\n\\n@keyframes cssAnimation {\\n 0% {\\n opacity: 1; }\\n 90% {\\n opacity: 1; }\\n 100% {\\n opacity: 0; } }\\n\\n@-webkit-keyframes cssAnimation {\\n 0% {\\n opacity: 1; }\\n 90% {\\n opacity: 1; }\\n 100% {\\n opacity: 0; } }\\n\", \"\"]);\n\n","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".redux-templates-modal-overlay {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: rgba(255, 255, 255, 0.6);\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n z-index: 600000; }\\n\\n.redux-templates-modal-wrapper {\\n width: 550px;\\n height: 400px;\\n background: #fcfcfc;\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-direction: column;\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7); }\\n .redux-templates-modal-wrapper div {\\n width: 100%; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header {\\n border-bottom: 1px solid #ddd;\\n flex: 0 0 60px;\\n padding: 10px 15px;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header h3 {\\n margin: 0;\\n font-size: 1.2rem; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header button {\\n border: none;\\n cursor: pointer; }\\n .redux-templates-modal-wrapper .redux-templates-modal-header .redux-templates-modal-close {\\n font-size: 20px;\\n background: transparent;\\n color: #9b9b9b; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body {\\n flex: 1 1 auto;\\n padding-left: 30px;\\n padding-right: 30px;\\n box-sizing: border-box;\\n background: #fff;\\n position: relative; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body h5 {\\n font-size: 1.1em;\\n font-weight: 600; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body ul {\\n list-style-position: inside;\\n list-style-type: disc; }\\n .redux-templates-modal-wrapper .redux-templates-modal-body .error {\\n color: #f00; }\\n .redux-templates-modal-wrapper .redux-templates-modal-footer {\\n border-top: 1px solid #ddd;\\n flex: 0 0 60px;\\n align-items: center;\\n display: flex;\\n padding: 0 20px;\\n box-sizing: border-box; }\\n .redux-templates-modal-wrapper .redux-templates-modal-footer .button {\\n margin-right: 20px;\\n cursor: pointer; }\\n .redux-templates-modal-wrapper .redux-templates-modal-footer i.fas {\\n margin-right: 3px; }\\n .redux-templates-modal-wrapper .redux-templates-modal-spinner-wrapper {\\n flex: 1 1 auto;\\n align-items: center;\\n justify-content: center;\\n display: flex; }\\n\", \"\"]);\n\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9 17.7H7.4l-.9-1.5 2.1-2.4 2.3 3.9zm-5.3-1.6l-1.5 1.6h-4L4 13.3l1.6 2.8z\",\n fill: \"#011627\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00a7e5\",\n d: \"M6.1 15.6L.4 5.9h3.5l2.7 4.5 8-9.1h4.3L6.1 15.6z\"\n});\n\nvar SvgIconColor = function SvgIconColor(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 19 19\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgIconColor;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9 17.7H7.4l-.9-1.5 2.1-2.4 2.3 3.9zm-5.3-1.6l-1.5 1.6h-4L4 13.3l1.6 2.8zM6.1 15.6L.4 5.9h3.5l2.7 4.5 8-9.1h4.3L6.1 15.6z\"\n});\n\nvar SvgIcon = function SvgIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 19 19\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgIcon;","import {__} from '@wordpress/i18n';\n\nconst { registerBlockType } = wp.blocks;\nimport * as importBlock from './import';\nimport * as libraryBlock from './library';\n\nexport function registerBlocks() {\n\n registerBlockType( `redux/${ libraryBlock.name }`, { ...libraryBlock.settings } );\n\tregisterBlockType( `redux/${ importBlock.name }`, { ...importBlock.settings } );\n\n}\nregisterBlocks();\n","/**\n * Internal dependencies\n */\nimport importReusableBlock from '../utils/import';\nimport insertImportedBlocks from '../utils/insert';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\nconst { withInstanceId } = wp.compose;\nconst { Fragment, Component } = wp.element;\nconst { MediaUploadCheck } = wp.blockEditor;\nconst { DropZone, FormFileUpload, Placeholder, Notice } = wp.components;\n\nconst ALLOWED_BG_MEDIA_TYPES = [ 'json' ];\n\n/**\n * Block edit function\n */\nclass Edit extends Component {\n constructor() {\n super( ...arguments );\n\n this.state = {\n isLoading: false,\n error: null,\n };\n\n this.isStillMounted = true;\n this.addFile = this.addFile.bind( this );\n }\n\n componentDidMount() {\n const { file } = this.props.attributes;\n\n if ( file ) {\n this.setState( { isLoading: true } );\n this.addFile( file );\n }\n }\n\n componentWillUnmount() {\n this.isStillMounted = false;\n }\n\n addFile( files ) {\n let file = files[ 0 ];\n\n if ( files.target ) {\n file = event.target.files[ 0 ];\n }\n\n if ( ! file ) {\n return;\n }\n this.setState( { isLoading: true } );\n\n importReusableBlock( file )\n .then( ( reusableBlock ) => {\n if ( ! this.isStillMounted ) {\n return;\n }\n\n this.setState( { isLoading: false } );\n insertImportedBlocks( this.props.clientId, reusableBlock, this.props.onClose );\n } )\n .catch( ( error ) => {\n if ( ! this.isStillMounted ) {\n return;\n }\n\n let uiMessage;\n switch ( error.message ) {\n case 'Invalid JSON file':\n uiMessage = __( 'Invalid JSON file', redux_templates.i18n );\n break;\n case 'Invalid Reusable Block JSON file':\n uiMessage = __( 'Invalid Reusable Block JSON file', redux_templates.i18n );\n break;\n default:\n uiMessage = __( 'Unknown error', redux_templates.i18n );\n }\n\n this.setState( { isLoading: false, error: uiMessage } );\n } );\n }\n\n render() {\n const { isLoading, error } = this.state;\n\n return (\n <Placeholder\n icon=\"download\"\n label={ __( 'Import a Template from JSON - Redux', redux_templates.i18n ) }\n instructions={ __( 'Drag a file or upload a new one from your device.', redux_templates.i18n ) }\n className=\"editor-media-placeholder\"\n notices={ error && (\n <Notice status=\"error\">\n { error }\n </Notice>\n ) }\n >\n <Fragment>\n <MediaUploadCheck>\n <DropZone\n onFilesDrop={ this.addFile }\n label={ __( 'Import from JSON', redux_templates.i18n ) }\n />\n <FormFileUpload\n isLarge\n className=\"editor-media-placeholder__button button button-primary\"\n onChange={ this.addFile }\n accept={ ALLOWED_BG_MEDIA_TYPES }\n isBusy={ isLoading }\n disabled={ isLoading }\n multiple={ false }\n >\n { __( 'Upload', redux_templates.i18n ) }\n </FormFileUpload>\n </MediaUploadCheck>\n </Fragment>\n </Placeholder>\n );\n }\n}\n\nexport default withInstanceId( Edit );\n","/**\n * WordPress dependencies\n */\nconst { SVG } = wp.components;\n\nexport default <SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\" /><path d=\"M9.17 6l2 2H20v10H4V6h5.17M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z\" /></SVG>;\n","/**\n * Internal dependencies\n */\nimport edit from './components/edit';\nimport icon from './icon';\nimport transforms from './transforms';\nimport { colorizeIcon } from '../../icons';\n\n/**\n * WordPress dependencies\n */\nconst { __ } = wp.i18n;\n\n/**\n * Block constants\n */\nconst name = 'import';\n\nconst category = 'common';\nconst schema = {\n\tfile: {\n\t\ttype: 'object',\n\t},\n};\n\nconst title = __( 'Template Import', redux_templates.i18n );\n\nconst keywords = [\n __( 'import', redux_templates.i18n ),\n __( 'download', redux_templates.i18n ),\n __( 'migrate', redux_templates.i18n ),\n];\n\n\n\nconst settings = {\n\ttitle: title,\n description: __( 'Import blocks exported using Redux plugin.', redux_templates.i18n ),\n\n\tcategory: category,\n\tkeywords: keywords,\n\n attributes: schema,\n\n supports: {\n align: true,\n alignWide: false,\n alignFull: false,\n customClassName: false,\n className: false,\n html: false,\n },\n\n transforms: transforms,\n edit: edit,\n save() {\n return null;\n },\n};\n\nexport { name, title, category, icon, settings };\n","/**\n * WordPress dependencies\n */\nconst { createBlock } = wp.blocks;\n\nconst transforms = {\n from: [\n {\n type: 'files',\n isMatch( files ) {\n return files[ 0 ].type === 'application/json';\n },\n // We define a lower priorty (higher number) than the default of 10. This\n // ensures that the Import block is only created as a fallback.\n priority: 13,\n transform: ( files ) => {\n const blocks = [];\n\n blocks.push( createBlock( 'redux/import', {\n file: files,\n } ) );\n\n return blocks;\n },\n },\n ],\n};\n\nexport default transforms;\n","/**\n * Reads the textual content of the given file.\n *\n * @param {File} file File.\n * @return {Promise<string>} Content of the file.\n */\nexport function readTextFile( file ) {\n const reader = new window.FileReader();\n return new Promise( ( resolve ) => {\n reader.onload = function() {\n resolve( reader.result );\n };\n reader.readAsText( file );\n } );\n}\n","/**\n * External dependencies\n */\nimport { isString } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { readTextFile } from './file';\nconst { dispatch, select } = wp.data;\nconst { editPost } = dispatch('core/editor');\n\n/**\n * Import a reusable block from a JSON file.\n *\n * @param {File} file File.\n * @return {Promise} Promise returning the imported reusable block.\n */\nasync function importReusableBlock( file ) {\n const fileContent = await readTextFile( file );\n let parsedContent;\n try {\n parsedContent = JSON.parse(JSON.parse(JSON.stringify(fileContent)));\n } catch ( e ) {\n throw new Error( 'Invalid JSON file' );\n }\n\n if ( parsedContent.__file === 'redux_template' ) {\n\t\teditPost( { 'template': 'redux-templates_full_width' } );\n return parsedContent.content;\n }\n\n if (\n parsedContent.__file !== 'wp_block' ||\n ! parsedContent.title ||\n ! parsedContent.content ||\n ! isString( parsedContent.title ) ||\n ! isString( parsedContent.content )\n ) {\n\t if ( '' === select( 'core/editor' ).getEditedPostAttribute( 'template' ) ) {\n\t\t editPost({'template': 'redux-templates_contained'});\n\t }\n return importCoreBlocks( parsedContent );\n }\n\n const postType = await wp.apiFetch( { path: '/wp/v2/types/wp_block' } );\n const reusableBlock = await wp.apiFetch( {\n path: `/wp/v2/${ postType.rest_base }`,\n data: {\n title: parsedContent.title,\n content: parsedContent.content,\n status: 'publish',\n },\n method: 'POST',\n } );\n\n if ( reusableBlock.id ) {\n return '<!-- wp:block {\"ref\":' + reusableBlock.id + '} /-->';\n }\n throw new Error( 'Invalid Reusable Block JSON file contents' );\n}\n\nfunction importCoreBlocks( parsedContent ) {\n if (\n parsedContent.__file !== 'core_block' ||\n ! parsedContent.content ||\n ! isString( parsedContent.content )\n ) {\n throw new Error( 'Invalid JSON file' );\n }\n\n return parsedContent.content;\n}\n\nexport default importReusableBlock;\n","/**\n * WordPress dependencies\n */\nconst { select, dispatch } = wp.data;\nconst { parse, createBlock } = wp.blocks;\n\nexport default function insertImportedBlocks( clientId, blocks, onClose ) {\n blocks = parse( blocks );\n const toSelect = [];\n const blockIndex = select( 'core/block-editor' ).getBlockInsertionPoint();\n if ( blocks.length > 0 ) {\n for ( const block in blocks ) {\n const created = createBlock( blocks[ block ].name, blocks[ block ].attributes, blocks[ block ].innerBlocks );\n dispatch( 'core/block-editor' ).insertBlocks( created, parseInt( blockIndex.index ) + parseInt( block ) );\n\n if ( typeof created !== 'undefined' ) {\n toSelect.push( created.clientId );\n }\n }\n\n //remove insertion point if empty\n dispatch( 'core/block-editor' ).removeBlock( clientId );\n\n //select inserted blocks\n if ( toSelect.length > 0 ) {\n dispatch( 'core/block-editor' ).multiSelect( toSelect[ 0 ], toSelect.reverse()[ 0 ] );\n }\n }\n\n onClose();\n}\n","/**\n * External dependencies.\n */\nimport { ReduxTemplatesIcon } from '~redux-templates/icons'\n// import { ModalDesignLibrary } from '~stackable/components'\nimport {ModalManager} from '../../modal-manager';\nimport LibraryModal from '../../modal-library';\n\n/**\n * WordPress dependencies.\n */\nimport {\n\tButton, Placeholder,\n} from '@wordpress/components'\nimport { compose } from '@wordpress/compose'\nimport { createBlock, parse } from '@wordpress/blocks'\nimport { withDispatch } from '@wordpress/data'\nimport { useState } from '@wordpress/element'\nimport { __ } from '@wordpress/i18n'\nimport { applyFilters } from '@wordpress/hooks'\n\nconst edit = ( { removeLibraryBlock, preview } ) => {\n\tif (preview) {\n\t\talert('here i am');\n\t}\n\n\treturn (\n\t\t<div className=\"redux-template-library-block\">\n\t\t\t<Placeholder\n\t\t\t\ticon={ <ReduxTemplatesIcon /> }\n\t\t\t\tlabel={ __( 'Redux Template Library', redux_templates.i18n ) }\n\t\t\t\tinstructions={ __( 'Open the Design Library and select a pre-designed block or layout.', redux_templates.i18n ) }\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\tisSecondary\n\t\t\t\t\tisLarge\n\t\t\t\t\thasIcon\n\t\t\t\t\tclassName=\"redux-template-library-block__button\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tModalManager.open(<LibraryModal />);\n\t\t\t\t\t\tremoveLibraryBlock()\n\t\t\t\t\t} }\n\t\t\t\t>{ __( 'Open Design Library', redux_templates.i18n ) }</Button>\n\t\t\t</Placeholder>\n\t\t</div>\n\t)\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch, {\n\t\tclientId,\n\t} ) => {\n\t\tconst { removeBlocks } = dispatch( 'core/block-editor' )\n\t\treturn {\n\t\t\tremoveLibraryBlock: serializedBlock => {\n\t\t\t\tremoveBlocks( clientId );\n\t\t\t},\n\t\t}\n\t} ),\n] )( edit )\n","/**\n * BLOCK: Design Library\n */\n/**\n * External dependencies\n */\nimport { ReduxTemplatesIcon } from '~redux-templates/icons'\n\n/**\n * Internal dependencies\n */\nimport edit from './edit'\nimport InsertLibraryButton from './insert-library-button'\nconst { registerBlockType } = wp.blocks;\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n'\nimport domReady from '@wordpress/dom-ready'\nimport { render } from '@wordpress/element'\nimport { ReduxTemplatesIconColor } from '../../icons';\n\n\n\nconst name = 'library';\nconst icon = InsertLibraryButton\n\nconst category = 'common';\nconst schema = {}\n\nconst title = __( 'Template Library', redux_templates.i18n );\nconst description = __( 'Choose a section, template, or template kit from the Redux Template Library.', redux_templates.i18n );\n\nconst keywords = [\n\t__( 'Template Library', redux_templates.i18n ),\n\t__( 'Design Library', redux_templates.i18n ),\n\t__( 'Element Layouts', redux_templates.i18n ),\n\t__( 'Redux', redux_templates.i18n ),\n];\n\nconst blockAttributes = {\n\tfile: {\n\t\ttype: 'object',\n\t},\n};\n\nconst settings = {\n\ttitle: title,\n\tdescription: description,\n\ticon: ReduxTemplatesIconColor,\n\tcategory: 'layout',\n\tkeywords: keywords,\n\tattributes: schema,\n\tsupports: {\n\t\tcustomClassName: false,\n\t\t// inserter: ! disabledBlocks.includes( name ), // Hide if disabled.\n\t},\n\n\texample: {\n\t\tattributes: {\n\t\t\t// backgroundColor: '#000000',\n\t\t\t// opacity: 0.8,\n\n\t\t\t// padding: 30,\n\t\t\t// textColor: '#FFFFFF',\n\t\t\t// radius: 10,\n\t\t\t// title: __( 'I am a slide title', 'wp-presenter-pro' ),\n\t\t},\n\t},\n\n\tedit: edit,\n\n\tsave() {\n\t\treturn null;\n\t},\n};\n\nconst renderButton = function(toolbar) {\n\n\tconst buttonDiv = document.createElement( 'div' )\n\ttoolbar.appendChild( buttonDiv )\n\n\trender( <InsertLibraryButton />, buttonDiv )\n}\n\ndomReady( () => {\n\tlet toolbar = document.querySelector( '.edit-post-header__toolbar' );\n\tif ( ! toolbar ) {\n\t\ttoolbar = document.querySelector( '.edit-post-header__toolbar' );\n\t}\n\tif ( ! toolbar ) {\n\t\tsetTimeout(function(){\n\t\t\tlet toolbar = document.querySelector( '.edit-post-header__toolbar' );\n\t\t\tif ( toolbar ) {\n\t\t\t\trenderButton( toolbar );\n\t\t\t}\n\t\t}, 500);\n\t\treturn;\n\t}\n\trenderButton(toolbar);\n} )\n\nexport { name, title, category, icon, settings };\n","/**\n * External dependencies\n */\nimport { ReduxTemplatesIcon, ReduxTemplatesIconColorize } from '~redux-templates/icons'\n\n/**\n * WordPress dependencies\n */\nimport {Button, Tooltip} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {ModalManager} from '../../modal-manager';\nimport LibraryModal from '../../modal-library';\nimport './style.scss'\n\nconst InsertLibraryButton = () => {\n\treturn (\n\t\t<Tooltip text={__( 'Redux Templates Library', redux_templates.i18n )} position={'bottom'}>\n\t\t\t<Button data-tut=\"tour__library_button\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tModalManager.open(<LibraryModal />);\n\t\t\t\t\t} }\n\t\t\t\t\tclassName=\"redux-templates-insert-library-button\"\n\t\t\t\t\tlabel={ __( 'Open Library', redux_templates.i18n ) }\n\t\t\t\t\ticon={ <ReduxTemplatesIcon /> }\n\t\t\t>{ __( 'Templates', redux_templates.i18n ) }</Button>\n\t\t</Tooltip>\n\t)\n}\n\nexport default InsertLibraryButton\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport CONFIG from '../config';\nimport './style.scss'\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\n// currentStep : indicates where the step is\n// step: 1~8 etc\nexport default function ChallengeStepItem(props) {\n const {currentStep, step, caption, finalStatus} = props;\n const [iconClassname, setIconClassname] = useState('fa circle');\n const [itemClassname, setItemClassname] = useState('challenge-item');\n useEffect(() => {\n if (currentStep < step) { // not completed step\n setItemClassname('challenge-item');\n setIconClassname('far fa-circle');\n }\n if (currentStep === step) { // current step\n setItemClassname('challenge-item challenge-item-current');\n setIconClassname('fas fa-circle');\n } \n if (currentStep > step || finalStatus) {\n setItemClassname('challenge-item challenge-item-completed');\n setIconClassname('fas fa-check-circle');\n }\n }, [step, currentStep, finalStatus]);\n \n return <li className={itemClassname}><i className={iconClassname} />{caption}</li>;\n}","const {useState, useEffect, memo} = wp.element;\nimport CONFIG from '../config';\nexport default memo(function ProgressBar({currentStep}){\n const [width, setWidth] = useState(0);\n useEffect(() => {\n setWidth( currentStep <= 0 ? 0 : (currentStep / CONFIG.totalStep * 100) );\n }, [currentStep])\n return (\n <div className='challenge-bar'>\n <div style={{width: width + '%'}}></div>\n </div>\n );\n});","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport ChallengeStepItem from './ChallengeStepItem';\nimport ProgressBar from './ProgressBar';\nimport CONFIG from '../config';\nimport './style.scss'\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\nfunction ChallengeListBlock(props) {\n const {started, onStarted} = props;\n const {challengeStep, finalStatus, setChallengeOpen, setChallengeStep} = props;\n const [buttonRowClassname, setButtonRowClassname] = useState('challenge-button-row');\n useEffect(() => {\n setButtonRowClassname(challengeStep !== CONFIG.beginningStep ? 'challenge-button-row started' : 'challenge-button-row');\n }, [challengeStep])\n \n const onCancelChallenge = () => {\n setChallengeOpen(false);\n setChallengeStep(-1);\n }\n\n return (\n <div className='challenge-list-block'>\n <p>{__('Complete the challenge and get up and running within 5 minutes', redux_templates.i18n)}</p>\n <ProgressBar currentStep={finalStatus === 'success' ? CONFIG.totalStep : challengeStep} />\n <ul className='challenge-list'>\n {\n CONFIG.list.map((item, i) => {\n return (<ChallengeStepItem key={i} step={i} currentStep={challengeStep} finalStatus={finalStatus} caption={item.caption} />);\n })\n }\n </ul>\n { finalStatus === '' &&\n <div className={buttonRowClassname}>\n {challengeStep === CONFIG.beginningStep && \n <button className='btn-challenge-start' onClick={onStarted}>{__('Start Challenge', redux_templates.i18n)}</button>}\n {challengeStep === CONFIG.beginningStep && <button className='btn-challenge-skip' onClick={onCancelChallenge}>{__('Skip Challenge', redux_templates.i18n)}</button>}\n {challengeStep !== CONFIG.beginningStep && <button className='btn-challenge-cancel' onClick={onCancelChallenge}>{__('Cancel Challenge', redux_templates.i18n)}</button>}\n </div>\n }\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeOpen, setChallengeStep} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeOpen,\n setChallengeStep\n };\n }),\n\n withSelect((select) => {\n const {getChallengeStep, getChallengeFinalStatus} = select('redux-templates/sectionslist');\n return {\n challengeStep: getChallengeStep(),\n finalStatus: getChallengeFinalStatus()\n };\n })\n])(ChallengeListBlock);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport './style.scss'\nimport config from '../config';\nimport helper from '../helper';\nimport classnames from 'classnames';\nconst {compose} = wp.compose;\nconst {withSelect, withDispatch} = wp.data;\nconst {useState, useEffect, useRef} = wp.element;\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nfunction ChallengeTimer(props) {\n const {started, expanded, setChallengeListExpanded, isChallengeOpen, finalStatus} = props;\n const [secondsLeft, setSecondsLeft] = useState(helper.getSecondsLeft());\n const [paused, setPaused] = useState(false);\n\n // only timer\n useEffect(() => {\n window.addEventListener('focus', resume);\n window.addEventListener('blur', pause);\n return () => {\n window.removeEventListener('focus', resume);\n window.removeEventListener('blur', pause);\n };\n });\n\n // setup timer\n useEffect(() => {\n setSecondsLeft(helper.getSecondsLeft());\n if (helper.loadStep() === -1) {\n setSecondsLeft(config.initialSecondsLeft);\n }\n }, [isChallengeOpen]);\n\n // run timer\n useInterval(() => {\n setSecondsLeft(secondsLeft < 0 ? 0 : secondsLeft - 1);\n helper.saveSecondsLeft(secondsLeft < 0 ? 0 : secondsLeft - 1);\n }, (started && (paused === false) && secondsLeft >= 0 && finalStatus === '') ? 1000 : null);\n\n\n // Pause the timer.\n const pause = () => {\n setPaused(true);\n }\n\n // Resume the timer.\n const resume = () => {\n setPaused(false);\n }\n\n return (\n <div className='block-timer'>\n <div>\n <h3>{__('Redux Challenge', redux_templates.i18n)}</h3>\n <p><span>{helper.getFormatted(secondsLeft)}</span>{__(' remaining', redux_templates.i18n)}</p>\n </div>\n <div className={classnames('caret-icon', {'closed': expanded})} onClick={() => setChallengeListExpanded(!expanded)}>\n <i className=\"fa fa-caret-down\"></i>\n </div>\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeListExpanded} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeListExpanded\n };\n }),\n withSelect((select) => {\n const {getChallengeOpen, getChallengeFinalStatus, getChallengeListExpanded} = select('redux-templates/sectionslist');\n return {\n isChallengeOpen: getChallengeOpen(),\n finalStatus: getChallengeFinalStatus(),\n expanded: getChallengeListExpanded()\n };\n })\n])(ChallengeTimer);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n'\nimport {animateScroll} from 'react-scroll';\nimport {dispatch, select} from '@wordpress/data';\nconst {setTourActiveButtonGroup, setImportingTemplate} = dispatch('redux-templates/sectionslist');\nconst {getPageData} = select('redux-templates/sectionslist');\nimport {ModalManager} from '~redux-templates/modal-manager';\nimport PreviewModal from '~redux-templates/modal-preview';\nexport default {\n initialSecondsLeft: 300,\n beginningStep: -1,\n totalStep: 7,\n list: [\n {\n selector: '[data-tut=\"tour__navigation\"]',\n caption: __('Template Type Tabs', redux_templates.i18n),\n offset: {\n x: 0,\n y: 50,\n arrowX: 0,\n arrowY: -20\n },\n box: {\n width: 250\n },\n direction: 'top',\n content: () => (\n <div>\n {__('These are the different types of templates we have.', redux_templates.i18n)}\n <ul>\n <li>\n <strong>{__('Sections', redux_templates.i18n)}</strong>\n {__(' are the building blocks of a page. Each \"row\" of content on a page we consider a section.', redux_templates.i18n)}\n </li>\n <li>\n <strong>{__('Pages', redux_templates.i18n)}</strong>\n {__(' are, you guessed it, a group of multiple sections making up a page.', redux_templates.i18n)}\n </li>\n <li>\n <strong>{__('Template Kits', redux_templates.i18n)}</strong>\n {__(' are groups of pages that all follow a style or theme.', redux_templates.i18n)}\n </li>\n <li>\n <strong>{__('Saved', redux_templates.i18n)}</strong>\n {__(' are reusable blocks that you may have previously saved for later.', redux_templates.i18n)}\n </li>\n </ul>\n </div>\n )\n },\n {\n selector: '[data-tut=\"tour__filtering\"]',\n caption: __('Sidebar', redux_templates.i18n),\n content: __('This area is where you can search and filter to find the right kind of templates you want.', redux_templates.i18n),\n direction: 'left',\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 250,\n height: 130\n },\n action: () => {\n animateScroll.scrollToTop({\n containerId: 'redux-templates-collection-modal-sidebar',\n duration: 0,\n });\n },\n },\n {\n selector: '[data-tut=\"tour__filtering\"]',\n caption: __('Plugins Filter', redux_templates.i18n),\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 290,\n height: 185\n },\n content: () => (\n <div>\n {__('Some templates require certain plugins. You can filter or select those templates. Hint, if the text is a ', redux_templates.i18n)}\n <a href=\"#\" className=\"missing-dependency\">{__('little orange', redux_templates.i18n)}</a>\n {__(', you don`t have that plugin installed yet, but don`t worry. Redux will help you with that too.', redux_templates.i18n)}\n </div>\n ),\n action: () => {\n animateScroll.scrollToBottom({\n containerId: 'redux-templates-collection-modal-sidebar',\n duration: 0,\n });\n },\n direction: 'left'\n },\n {\n selector: '[data-tut=\"tour__main_body\"]',\n caption: __('Templates List', redux_templates.i18n),\n content: __('This area is where the templates will show up that match the filters you\\'ve selected. You can click on many of them to preview or import them.', redux_templates.i18n),\n direction: 'left',\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 250,\n height: 150\n },\n action: () => {\n animateScroll.scrollToTop({\n containerId: 'redux-templates-collection-modal-sidebar',\n duration: 0,\n });\n setTourActiveButtonGroup(null);\n }\n },\n {\n selector: '#modalContainer .redux-templates-single-item-inner:first-child',\n caption: __('Template Hover', redux_templates.i18n),\n content: __('When you hover over a template you can see via icons what plugins are required for this template. You can then choose to Preview or Import a design.', redux_templates.i18n),\n action: () => {\n ModalManager.closeCustomizer();\n const pageData = getPageData();\n if (pageData && pageData.length > 0) {\n setTourActiveButtonGroup(pageData[0])\n }\n },\n direction: 'left',\n offset: {\n x: 40,\n y: 10,\n arrowX: -20,\n arrowY: 0\n },\n box: {\n width: 240,\n height: 169\n },\n },\n {\n selector: '.wp-full-overlay-sidebar',\n caption: __('Preview Dialog', redux_templates.i18n),\n content: __('This is the preview dialog. It gives more details about the template and helps you to see what you could expect the templates to look like.', redux_templates.i18n),\n action: () => {\n setTourActiveButtonGroup(null);\n setImportingTemplate(null);\n const pageData = getPageData();\n if (pageData && pageData.length > 0) {\n ModalManager.openCustomizer(\n <PreviewModal startIndex={0} currentPageData={pageData}/>\n )\n }\n },\n position: 'center'\n },\n {\n selector: '.redux-templates-import-wizard-wrapper',\n caption: __('Import Wizard', redux_templates.i18n),\n content: __('When you click to import a template, sometimes you will be missing one of the required plugins. Redux will do its best to help you install what\\'s missing. If some of them are premium plugins, you will be provided details on where you can get them.', redux_templates.i18n),\n direction: 'right',\n offset: {\n x: 0,\n y: 85,\n arrowX: 40,\n arrowY: 25\n },\n box: {\n width: 250,\n height: 169\n },\n action: () => {\n // if (ModalManager.isModalOpened() === false) ModalManager.open(<LibraryModal autoTourStart={false} />)\n if (document.getElementsByClassName('tooltipster-box'))\n document.getElementsByClassName('tooltipster-box')[0].style.display = 'none';\n ModalManager.show();\n ModalManager.closeCustomizer();\n const pageData = getPageData();\n if (pageData && pageData.length > 0) setImportingTemplate(pageData[0]);\n setTimeout(() => {\n const openedPanel = document.getElementsByClassName('redux-templates-modal-wrapper');\n if (openedPanel && openedPanel.length > 0) {\n let openPanel = openedPanel[0].getBoundingClientRect();\n let box = {top: openPanel.top + 90, left: openPanel.left - 320};\n dispatch('redux-templates/sectionslist').setChallengeTooltipRect(box);\n }\n if (document.getElementsByClassName('tooltipster-box'))\n document.getElementsByClassName('tooltipster-box')[0].style.display = 'block';\n }, 0)\n }\n }\n ]\n};\n","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport CONFIG from '../config';\nimport helper from '../helper';\n\nconst { compose } = wp.compose;\nconst { withDispatch, withSelect } = wp.data;\n\n\nconst ratingStars = (\n <span className=\"rating-stars\">\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n </span>\n);\n\nfunction ChallengeCongrats(props) {\n const {setChallengeStep, setChallengeFinalStatus, setChallengeOpen} = props;\n const closeModal = () => {\n setChallengeStep(CONFIG.beginningStep);\n setChallengeFinalStatus('');\n setChallengeOpen(false);\n }\n return (\n <div className=\"redux-templates-modal-overlay\">\n <div className=\"redux-templates-modal-wrapper challenge-popup-wrapper\">\n <div className=\"challenge-popup-header challenge-popup-header-congrats\"\n style={{backgroundImage: `url(${redux_templates.plugin + 'assets/img/popup-congrats.png'})`}}>\n <a className=\"challenge-popup-close\" onClick={closeModal}>\n <i className='fas fa-times' />\n </a>\n </div>\n <div className=\"challenge-popup-content\">\n <h3>{__( 'Congrats, you did it!', redux_templates.i18n )}</h3>\n <p>\n {__( 'You completed the Redux Challenge in ', redux_templates.i18n )}<b>{helper.getLocalizedDuration()}</b>.\n {__('Share your success story with other Redux users and help us spread the word', redux_templates.i18n)}\n <b>{__('by giving Redux a 5-star rating (', redux_templates.i18n)} {ratingStars}{__(') on WordPress.org', redux_templates.i18n)}</b>.\n {__('Thanks for your support and we look forward to bringing more awesome features.', redux_templates.i18n)}\n </p>\n <a href=\"https://wordpress.org/support/plugin/redux-framework/reviews/?filter=5#new-post\" className=\"challenge-popup-btn challenge-popup-rate-btn\" target=\"_blank\" rel=\"noopener\">\n {__( 'Rate Redux on Wordpress.org', redux_templates.i18n ) }\n <span className=\"dashicons dashicons-external\"></span>\n </a>\n </div>\n </div>\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const { setChallengeStep, setChallengeFinalStatus, setChallengeOpen } = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep,\n setChallengeFinalStatus,\n setChallengeOpen\n };\n })\n])(ChallengeCongrats);\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n'\nimport CONFIG from '../config';\nimport {CheckboxControl} from '@wordpress/components';\n\nconst {compose} = wp.compose;\nconst {useState} = wp.element;\nconst {withDispatch, withSelect} = wp.data;\n\n\nconst ratingStars = (\n <span className=\"rating-stars\">\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n <i className=\"fa fa-star\"></i>\n </span>\n);\n\nfunction ChallengeContact(props) {\n const { setChallengeStep, setChallengeFinalStatus, setChallengeOpen } = props;\n const [comment, setComment] = useState('');\n const [agreeToContactFurther, setAgreement] = useState(false);\n const closeModal = () => {\n setChallengeStep(CONFIG.beginningStep);\n setChallengeFinalStatus('');\n setChallengeOpen(false);\n }\n\n const handleChange = (e) => {\n setComment(e.target.value);\n }\n\n const contactRedux = () => {\n //sending data\n console.log('contact information', comment, agreeToContactFurther);\n closeModal();\n }\n\n return (\n <div className=\"redux-templates-modal-overlay\">\n <div className=\"redux-templates-modal-wrapper challenge-popup-wrapper\">\n <div className=\"challenge-popup-header challenge-popup-header-contact\"\n style={{ backgroundImage: `url(${redux_templates.plugin + 'assets/img/popup-contact.png'})` }}>\n <a className=\"challenge-popup-close\" onClick={closeModal}>\n <i className='fas fa-times' />\n </a>\n </div>\n <div className=\"challenge-popup-content challenge-contact\">\n <h3>{__('Help us improve Redux', redux_templates.i18n)}</h3>\n <p>\n {__('We\\'re sorry that it took longer than 5 minutes to try our challenge. We aim to ensure our Block Template library is as beginner friendly as possible. Please take a moment to let us know how we can improve our challenge.', redux_templates.i18n)}\n </p>\n <textarea value={comment} onChange={handleChange}></textarea>\n <CheckboxControl\n label={__('Yes, I give Redux permission to contact me for any follow up questions.', redux_templates.i18n)}\n checked={agreeToContactFurther}\n onChange={() => setAgreement(!agreeToContactFurther)}\n />\n <button className=\"challenge-popup-btn challenge-popup-rate-btn\" onClick={contactRedux}>\n {__('Submit Feedback', redux_templates.i18n)}\n </button>\n </div>\n </div>\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const { setChallengeStep, setChallengeFinalStatus, setChallengeOpen } = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep,\n setChallengeFinalStatus,\n setChallengeOpen\n };\n })\n])(ChallengeContact);\n","/**\n * WordPress dependencies\n */\nimport ChallengeCongrats from './congrats';\nimport ChallengeContact from './contact';\nimport './style.scss'\n\nexport default function ChallengeFinalTemplate({finalStatus}) {\n\treturn <ChallengeCongrats />\n\t// TODO - When feedback is working, uncomment this.\n // if (finalStatus === 'success') return <ChallengeCongrats />\n // return <ChallengeContact />;\n}\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n'\nimport CONFIG from './config';\nexport default {\n\n /**\n * Get number of seconds left to complete the Challenge.\n */\n getSecondsLeft: function() {\n var secondsLeft = localStorage.getItem( 'reduxChallengeSecondsLeft' );\n\n secondsLeft = isNaN(secondsLeft) || secondsLeft == null ? CONFIG.initialSecondsLeft : parseInt( secondsLeft, 10 );\n\n return secondsLeft;\n },\n\n /**\n * Save number of seconds left to complete the Challenge.\n */\n saveSecondsLeft: function( secondsLeft ) {\n\n localStorage.setItem( 'reduxChallengeSecondsLeft', secondsLeft );\n },\n\n /**\n * Get 'minutes' part of timer display.\n */\n getMinutesFormatted: function( secondsLeft ) {\n return Math.floor( secondsLeft / 60 );\n },\n\n /**\n * Get 'seconds' part of timer display.\n */\n getSecondsFormatted: function( secondsLeft ) {\n return secondsLeft % 60;\n },\n\n /**\n * Get formatted timer for display.\n */\n getFormatted: function( secondsLeft ) {\n\n if (secondsLeft < 0) return '0:00';\n\n var timerMinutes = this.getMinutesFormatted( secondsLeft );\n var timerSeconds = this.getSecondsFormatted( secondsLeft );\n\n return timerMinutes + ( 9 < timerSeconds ? ':' : ':0' ) + timerSeconds;\n },\n\n /**\n * Get Localized time string for display\n */\n getLocalizedDuration: function() {\n let secondsLeft = this.getSecondsLeft();\n secondsLeft = CONFIG.initialSecondsLeft - secondsLeft;\n\n var timerMinutes = this.getMinutesFormatted( secondsLeft );\n var timerSeconds = this.getSecondsFormatted( secondsLeft );\n\n const minutesString = timerMinutes ? timerMinutes + ' ' + __( 'minutes', redux_templates.i18n ) + ' ' : '';\n const secondsString = timerSeconds ? timerSeconds + ' ' + __( 'seconds', redux_templates.i18n ) : '';\n return minutesString + secondsString;\n },\n\n /**\n * Get last saved step.\n */\n loadStep: function() {\n\n var step = localStorage.getItem( 'reduxChallengeStep' );\n step = isNaN(step) ? -1 : parseInt( step, 10 );\n\n return step;\n },\n\n /**\n * Save Challenge step.\n */\n saveStep: function( step ) {\n localStorage.setItem( 'reduxChallengeStep', step );\n },\n};\n","/**\n * WordPress dependencies\n */\nimport {__} from '@wordpress/i18n'\nimport './style.scss'\nimport helper from './helper';\nimport CONFIG from './config';\nimport ChallengeListBlock from './challenge-list-block';\nimport ChallengeTimer from './challenge-timer';\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\nfunction ReduxChallenge(props) {\n const {autoChallengeStart} = props;\n const {isOpen, challengeStep, setChallengeStep, listExpanded} = props;\n const [challengeClassname, setChallengeClassname] = useState('redux-templates-challenge');\n const [started, setStarted] = useState(false);\n\n useEffect(() => {\n if (challengeStep !== CONFIG.beginningStep && isOpen) {\n setChallengeClassname('redux-templates-challenge started')\n setStarted(true);\n }\n }, [challengeStep, isOpen]);\n\n const onStarted = () => {\n setChallengeStep(0);\n setStarted(true);\n }\n\n return (\n <div className={challengeClassname} style={{display: isOpen ? 'block' : 'none'}}>\n { listExpanded && <ChallengeListBlock onStarted={onStarted} /> }\n <ChallengeTimer started={started} />\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeStep} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep\n };\n }),\n\n withSelect((select) => {\n const {getChallengeStep, getChallengeOpen, getChallengeListExpanded} = select('redux-templates/sectionslist');\n return {\n challengeStep: getChallengeStep(),\n isOpen: getChallengeOpen(),\n listExpanded: getChallengeListExpanded()\n };\n })\n])(ReduxChallenge);\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {compose} from '@wordpress/compose';\nimport {withDispatch, withSelect} from '@wordpress/data';\nimport CONFIG from '../config';\nconst {findDOMNode, useRef, useEffect} = wp.element;\nfunction ChallengeDot(props) {\n const {step, challengeStep, isOpen, setChallengeTooltipRect} = props;\n const selectedElement = useRef(null);\n useEffect(() => {\n window.addEventListener('resize', onResize);\n return () => {\n window.removeEventListener('resize', onResize);\n };\n }, [])\n\n useEffect(() => {\n if (isOpen === false) return;\n const stepInformation = CONFIG.list[challengeStep];\n if (stepInformation && stepInformation.action && typeof stepInformation.action === 'function') {\n stepInformation.action();\n onResize();\n setTimeout(onResize, 0);\n } else\n onResize();\n }, [challengeStep, isOpen]);\n\n const isVisible = () => {\n return ((challengeStep >= 0 && challengeStep < CONFIG.totalStep) && isOpen);\n }\n\n const onResize = () => {\n const box = getElementBounding();\n if (box) setChallengeTooltipRect(box);\n };\n\n const getElementBounding = () => {\n if (selectedElement && selectedElement.current) {\n const rect = findDOMNode(selectedElement.current).getBoundingClientRect();\n return {left: rect.left, top: rect.top, width: rect.width, height: rect.height};\n }\n return null;\n }\n if (isVisible() && challengeStep === step)\n return <i className=\"challenge-dot tooltipstered\" ref={selectedElement}>\n &nbsp;\n </i>;\n return null;\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setChallengeTooltipRect} = dispatch('redux-templates/sectionslist');\n return {\n setChallengeTooltipRect\n };\n }),\n withSelect((select, props) => {\n const { getChallengeOpen, getChallengeStep } = select('redux-templates/sectionslist');\n return {\n isOpen: getChallengeOpen(),\n challengeStep: getChallengeStep()\n };\n })\n])(ChallengeDot);\n","import {__} from '@wordpress/i18n';\n\nconst { compose } = wp.compose;\nconst { withDispatch, withSelect } = wp.data;\nconst { useState, useEffect } = wp.element;\nimport {ModalManager} from '~redux-templates/modal-manager';\nimport CONFIG from '../config';\nimport helper from '../helper';\nconst ARROW_BOX = 30;\nconst DEFAULT_BOX_WIDTH = 250;\nconst DEFAULT_BOX_HEIGHT = 300;\nconst DEFAULT_OFFSET_X = 0;\nconst DEFAULT_OFFSET_Y = 20;\nconst DEFAULT_ARROW_OFFSET_X = 20;\nconst DEFAULT_ARROW_OFFSET_Y = 20;\nfunction TooltipBox(props) {\n const { challengeStep, tooltipRect, isOpen, setChallengeStep, setChallengeFinalStatus, setChallengePassed, setChallengeListExpanded, setImportingTemplate } = props;\n const [style, setStyle] = useState({});\n const [arrowStyle, setArrowStyle] = useState({});\n const [content, setContent] = useState('');\n const [wrapperClassname, setWrapperClassname] = useState('');\n\n const isVisible = () => {\n return ((challengeStep >= 0 || challengeStep > CONFIG.totalStep) && isOpen);\n }\n\n const calculateWithStepInformation = () => {\n const stepInformation = CONFIG.list[challengeStep];\n const boxWidth = (stepInformation.box && stepInformation.box.width) ? stepInformation.box.width : DEFAULT_BOX_WIDTH;\n const boxHeight = (stepInformation.box && stepInformation.box.height) ? stepInformation.box.height : DEFAULT_BOX_HEIGHT;\n const offsetX = stepInformation.offset ? stepInformation.offset.x :DEFAULT_OFFSET_X;\n const offsetY = stepInformation.offset ? stepInformation.offset.y :DEFAULT_OFFSET_Y;\n switch(stepInformation.direction) {\n case 'right':\n return [tooltipRect.left + offsetX, tooltipRect.top + offsetY - boxHeight / 2];\n case 'left':\n return [tooltipRect.left + offsetX, tooltipRect.top + offsetY - boxHeight / 2];\n case 'top':\n return [tooltipRect.left + offsetX - boxWidth / 2, tooltipRect.top + offsetY ];\n case 'bottom':\n return [tooltipRect.left + offsetX - boxWidth / 2, tooltipRect.top - boxHeight + offsetY];\n default:\n return [tooltipRect.left + offsetX, tooltipRect.top + offsetY];\n }\n }\n\n const calculateArrowOffset = () => {\n const stepInformation = CONFIG.list[challengeStep];\n const boxWidth = (stepInformation.box && stepInformation.box.width) ? stepInformation.box.width : DEFAULT_BOX_WIDTH;\n const boxHeight = (stepInformation.box && stepInformation.box.height) ? stepInformation.box.height : DEFAULT_BOX_HEIGHT;\n const arrowOffsetX = (stepInformation.offset && isNaN(stepInformation.offset.arrowX) === false) ? stepInformation.offset.arrowX : DEFAULT_ARROW_OFFSET_X;\n const arrowOffsetY = (stepInformation.offset && isNaN(stepInformation.offset.arrowY) === false) ? stepInformation.offset.arrowY : DEFAULT_ARROW_OFFSET_Y;\n switch(stepInformation.direction) {\n case 'top':\n return [boxWidth / 2 + arrowOffsetX, arrowOffsetY];\n case 'bottom':\n return [boxWidth / 2 + arrowOffsetX, arrowOffsetY];\n case 'left':\n return [arrowOffsetX, arrowOffsetY + boxHeight / 2 - ARROW_BOX / 2];\n case 'right':\n return [boxWidth + arrowOffsetX, arrowOffsetY + boxHeight / 2 - ARROW_BOX / 2];\n default:\n return [arrowOffsetX, arrowOffsetY];\n }\n }\n // adjust position and content upon steps change\n useEffect(() => {\n if (isVisible() && tooltipRect) {\n const stepInformation = CONFIG.list[challengeStep];\n if (stepInformation) {\n const [boxLeft, boxTop] = calculateWithStepInformation();\n const [arrowOffsetX, arrowOffsetY] = calculateArrowOffset();\n setStyle({\n ...style,\n display: 'block',\n width: stepInformation.box ? stepInformation.box.width : DEFAULT_BOX_WIDTH,\n left: boxLeft,\n top: boxTop//tooltipRect.top + offsetY + PADDING_Y + ARROW_HEIGHT\n });\n setContent(stepInformation.content);\n setArrowStyle({\n ...arrowStyle,\n display: 'block',\n left: boxLeft + arrowOffsetX, // calculateLeftWithStepInformation(),\n top: boxTop + arrowOffsetY // tooltipRect.top + offsetY + PADDING_Y\n });\n }\n } else {\n setStyle({ ...style, display: 'none' });\n setArrowStyle({...arrowStyle, display: 'none'});\n }\n }, [JSON.stringify(tooltipRect), challengeStep, isOpen]);\n\n // update wrapper class name based on step change\n useEffect(() => {\n const stepInformation = CONFIG.list[challengeStep];\n if (stepInformation) {\n switch(stepInformation.direction) {\n case 'top':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-top');\n break;\n case 'bottom':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-bottom');\n break;\n case 'left':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-left');\n break;\n case 'right':\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-right');\n break;\n default:\n setWrapperClassname('challenge-tooltip tooltipster-sidetip tooltipster-left');\n }\n\n }\n }, [challengeStep])\n\n const toNextStep = () => {\n if (challengeStep === CONFIG.totalStep - 1) {\n // finalize challenge\n ModalManager.show();\n setChallengeFinalStatus((helper.getSecondsLeft() > 0) ? 'success' : 'contact');\n setChallengeStep(CONFIG.beginningStep);\n setChallengePassed(true);\n setChallengeListExpanded(true);\n setImportingTemplate(null);\n } else\n setChallengeStep(challengeStep + 1);\n }\n\n\n return (\n <div className={wrapperClassname}>\n <div className=\"tooltipster-box\" style={style}>\n {content}\n <div className=\"btn-row\">\n <button className=\"challenge-done-btn\" onClick={toNextStep}>{__('Next', redux_templates.i18n)}</button>\n </div>\n </div>\n <div className=\"tooltipster-arrow\" style={arrowStyle}>\n <div className=\"tooltipster-arrow-uncropped\">\n <div className=\"tooltipster-arrow-border\"></div>\n <div className=\"tooltipster-arrow-background\"></div>\n </div>\n </div>\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const { setChallengeStep, setChallengeFinalStatus, setChallengePassed, setChallengeListExpanded, setImportingTemplate } = dispatch('redux-templates/sectionslist');\n return {\n setChallengeStep,\n setChallengeFinalStatus,\n setChallengePassed,\n setChallengeListExpanded,\n setImportingTemplate\n };\n }),\n\n withSelect((select, props) => {\n const { getChallengeTooltipRect, getChallengeOpen, getChallengeStep, getChallengeFinalStatus } = select('redux-templates/sectionslist');\n return {\n tooltipRect: getChallengeTooltipRect(),\n isOpen: getChallengeOpen(),\n challengeStep: getChallengeStep(),\n finalStatus: getChallengeFinalStatus()\n };\n })\n])(TooltipBox);\n","const {apiFetch} = wp;\nconst {useState} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {parse} = wp.blocks;\n\nimport {BlockPreview} from '@wordpress/block-editor';\nimport {installedBlocksTypes} from '~redux-templates/stores/actionHelper';\nimport './style.scss'\n\nfunction BackgroundImage(props) {\n const {data, appendErrorMessage, activeItemType} = props;\n const [dataLoaded, setDataLoaded] = useState(false);\n const [blocks, setBlocks] = useState(null);\n\n if (data && dataLoaded === false) {\n const type = activeItemType === 'section' ? 'sections' : 'pages';\n let the_url = 'redux/v1/templates/template?type=' + type + '&id=' + data.id + '&uid=' + window.userSettings.uid;\n if ('source' in data) {\n the_url += '&source=' + data.source;\n }\n\n const options = {\n method: 'GET',\n path: the_url,\n headers: {'Content-Type': 'application/json', 'Registered-Blocks': installedBlocksTypes()}\n };\n\n apiFetch(options).then(response => {\n if (response.success) {\n setBlocks(response.data);\n } else {\n appendErrorMessage(response.data.error);\n }\n setDataLoaded(true);\n }).catch(error => {\n appendErrorMessage(error.code + ' : ' + error.message);\n setDataLoaded(true);\n });\n }\n\n if (dataLoaded === true) {\n let parsed = parse(blocks.template);\n return (\n <div>\n <BlockPreview blocks={parsed} />\n </div>\n );\n }\n return null;\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n appendErrorMessage\n } = dispatch('redux-templates/sectionslist');\n\n return {\n appendErrorMessage\n };\n }),\n withSelect((select) => {\n const {getActiveItemType} = select('redux-templates/sectionslist');\n return {\n activeItemType: getActiveItemType()\n };\n })\n])(BackgroundImage);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const {compose} = wp.compose;\nconst {withSelect} = wp.data;\nimport {useEffect, useState} from '@wordpress/element';\nimport PreviewImportButton from '../preview-import-button';\nimport DependentPlugins from '../dependent-plugins';\nimport './style.scss'\n\nfunction ButtonGroup (props) {\n const {importingTemplate, showDependencyBlock, index, data, pageData} = props;\n const [rootClassName, setRootClassName] = useState('redux-templates-import-button-group');\n\n // When some action is in progress, disable the button groups\n useEffect(() => {\n if (importingTemplate === null && rootClassName !== 'redux-templates-import-button-group')\n setRootClassName('redux-templates-import-button-group')\n if (importingTemplate !== null && rootClassName === 'redux-templates-import-button-group')\n setRootClassName('redux-templates-import-button-group disabled');\n }, [importingTemplate])\n return (\n <div className={rootClassName}>\n <PreviewImportButton index={index} data={data} pageData={pageData} />\n <DependentPlugins showDependencyBlock={showDependencyBlock} data={data} />\n </div>\n )\n}\n\n\n\nexport default compose([\n withSelect((select) => {\n const {getImportingTemplate} = select('redux-templates/sectionslist');\n return {importingTemplate: getImportingTemplate()};\n })\n])(ButtonGroup);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {Tooltip} from '@wordpress/components';\nimport * as Icons from '~redux-templates/icons'\nimport './style.scss'\nconst {__} = wp.i18n;\n\nexport default function DependentPlugins (props) {\n const {data, showDependencyBlock} = props;\n const {id} = data;\n\n const isMissingPlugin = (plugin) => {\n return ((data.proDependenciesMissing && data.proDependenciesMissing.indexOf(plugin) >=0)\n || (data.installDependenciesMissing && data.installDependenciesMissing.indexOf(plugin) >=0))\n }\n\n if (showDependencyBlock) {\n\t let index = data.dependencies.indexOf('core');\n\t if ( index > -1 ) {\n\t\t data.dependencies.splice(index, 1);\n\t\t data.dependencies.push( 'core' );\n\t }\n\t return (\n\t\t <div className=\"redux-templates-button-display-dependencies\">\n\t\t\t { data.dependencies &&\n\t\t\t data.dependencies.map(plugin => {\n\t\t\t \tlet pluginInstance = null;\n\t\t\t\t const plugin_name = plugin.replace('-pro', '').replace('-premium', '').replace(/\\W/g, '').toLowerCase();\n\t\t\t \tif ( 'core' == plugin ) {\n\t\t\t\t\t pluginInstance = {\n\t\t\t\t\t \tname: 'WordPress Native'\n\t\t\t\t\t }\n\t\t\t\t } else {\n\t\t\t\t\t pluginInstance = redux_templates.supported_plugins[plugin];\n\t\t\t\t }\n\t\t\t\t\tif ( !pluginInstance ) {\n\t\t\t\t\t\tpluginInstance = redux_templates.supported_plugins[plugin.replace('-pro', '').replace('-premium', '')];\n\t\t\t\t\t}\n\n\t\t\t\t // We don't want two of the same icons showing up.\n\t\t\t\t if ( ! plugin.includes('-pro') && ! plugin.includes('-premium') ) {\n\t\t\t\t\t if ( data.dependencies.includes(plugin + '-pro') || data.dependencies.includes( plugin + '-premium' ) ) {\n\t\t\t\t\t\t return;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t if (!pluginInstance) {\n\t\t\t\t\t console.log( 'Missing plugin details for '+ plugin+' - ' + plugin.replace('-pro', '').replace('-premium', '') );\n\t\t\t\t\t console.log( redux_templates.supported_plugins );\n\t\t\t\t\t return;\n\t\t\t\t }\n\t\t\t\t if ( 'redux' === plugin_name ) {\n\t\t\t\t\t return;\n\t\t\t\t }\n\t\t\t\t const IconComponent = Icons[plugin_name];\n\t\t\t\t if (IconComponent && pluginInstance) {\n\t\t\t\t\t return (\n\t\t\t\t\t\t <Tooltip text={(isMissingPlugin(plugin) && 'core' !== plugin ? pluginInstance.name+ ' ( '+__('Not Installed', redux_templates.i18n)+' )' : pluginInstance.name)} position=\"bottom center\" key={id + plugin}>\n <span className={isMissingPlugin(plugin) && 'core' !== plugin ? 'missing-dependency' : ''}>\n <IconComponent/>\n </span>\n\t\t\t\t\t\t </Tooltip>\n\t\t\t\t\t );\n\t\t\t\t } else if ( 'shareablockcom' !== plugin_name && 'gutenberghubcom' !== plugin_name ) {\n\t\t\t\t\t console.log('Need icon for ' + plugin_name);\n\t\t\t\t }\n\n\t\t\t })\n\t\t\t }\n\t\t\t { data.dependencies['core'] &&\n\t\t\t <Tooltip text={__('WordPress Core', redux_templates.i18n)} position=\"bottom center\" key={id + 'core'}>\n\t\t\t\t <span>\n\t\t\t\t <IconComponent/>\n\t\t\t\t </span>\n\t\t\t </Tooltip>\n\n\t\t\t }\n\t\t </div>\n\t );\n }\n\n return null;\n}\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n';\nimport {compose} from '@wordpress/compose';\nimport {withDispatch} from '@wordpress/data';\nimport {Notice} from '@wordpress/components';\n\nimport './style.scss';\n\nexport function ErrorNotice(props) {\n const {discardAllErrorMessages, errorMessages} = props;\n return (\n <div className='redux-templates-error-notice'>\n <Notice status=\"error\" onRemove={discardAllErrorMessages}>\n <p>\n {\n errorMessages.join(', ')\n }\n </p>\n </Notice>\n </div>\n );\n\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n discardAllErrorMessages\n } = dispatch('redux-templates/sectionslist');\n\n return {\n discardAllErrorMessages\n };\n })\n])(ErrorNotice);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","export default {\n position: {\n bottom: 0,\n right: 0,\n },\n event: 'click',\n\n mainButtonStyles: {\n backgroundColor: '#24B0A6',\n fill: '#ffffff',\n transform: 'none',\n transition: 'none',\n transformOrigin: 'none',\n },\n alwaysShowTitle: false,\n actionButtonStyles: {\n backgroundColor: '#19837C',\n }\n}\n","import {Fab, Action} from 'react-tiny-fab';\nimport config from './config';\nimport './styles.scss';\nimport {__} from '@wordpress/i18n';\n\nimport * as Icons from '~redux-templates/icons'\nimport { ModalManager } from '~redux-templates/modal-manager';\nimport FeedbackDialog from '~redux-templates/modal-feedback';\n\nconst schema = {\n type: 'object',\n properties: {\n comment: {\n type: 'string'\n },\n agreeToContactFurther: {\n type: 'boolean',\n title: __('Yes, I give Redux permission to contact me for any follow up questions.', redux_templates.i18n)\n }\n }\n}\nconst uiSchema = {\n 'comment': {\n 'ui:widget': 'textarea',\n 'ui:options': {\n label: false\n }\n }\n};\n\nexport default function FabWrapper() {\n const {mainButtonStyles, actionButtonStyles, position, event, alwaysShowTitle} = config;\n\n return (\n <Fab\n mainButtonStyles={mainButtonStyles}\n position={position}\n icon={Icons.ReduxTemplatesIcon()}\n event={event}\n // onClick={testing}\n\n text={__('See Quick Links', redux_templates.i18n)}\n >\n\n {/*<Action*/}\n {/* style={actionButtonStyles}*/}\n {/* text={__('Suggest a Feature', redux_templates.i18n)}*/}\n {/* onClick={e => {*/}\n {/* window.open(redux_templates.u, \"_blank\")*/}\n {/* }}*/}\n {/*>*/}\n {/* <i className=\"fa fa-lightbulb-o\"/>*/}\n {/*</Action>*/}\n {/*<Action*/}\n {/* style={actionButtonStyles}*/}\n {/* text={__('Contact Us', redux_templates.i18n)}*/}\n {/* onClick={e => {*/}\n {/* ModalManager.openFeedback(<FeedbackDialog */}\n {/* title={__('Help us improve Redux', redux_templates.i18n)} */}\n {/* description={__('Thank you for reaching out. We will do our best to contact you ba.', redux_templates.i18n)}*/}\n {/* schema={schema}*/}\n {/* uiSchema={uiSchema}*/}\n {/* headerImage={<img className=\"header-background\" src={`${redux_templates.plugin}assets/img/popup-contact.png` } />}*/}\n {/* buttonLabel={__('Submit Feedback', redux_templates.i18n)}*/}\n {/* />)*/}\n {/* }}*/}\n {/*>*/}\n {/* <i className=\"fa fa-comments\"/>*/}\n {/*</Action>*/}\n\t <Action\n\t\t style={actionButtonStyles}\n\t\t text={__('Get Support', redux_templates.i18n)}\n\t\t onClick={e => {\n\t\t\t window.open('https://wordpress.org/support/plugin/redux-framework/#new-topic-0', '_blank')\n\t\t }}\n\t >\n\t\t <i className=\"far fa-question-circle \"/>\n\t </Action>\n <Action\n style={actionButtonStyles}\n text={__('Join our Community', redux_templates.i18n)}\n onClick={e => {\n window.open('https://www.facebook.com/groups/reduxframework', '_blank')\n }}\n >\n <i className=\"fa fa-comments\"/>\n </Action>\n\t {\n\t\t redux_templates.mokama === '1' &&\n\t\t <Action\n\t\t\t style={actionButtonStyles}\n\t\t\t text={__('Visit our Website', redux_templates.i18n)}\n\t\t\t onClick={e => {\n\t\t\t\t window.open( redux_templates.u + 'tinyfab', '_blank')\n\t\t\t }}\n\t\t >\n\t\t\t <i className=\"fas fa-external-link-alt\"/>\n\t\t </Action>\n\t }\n\t {/*{*/}\n\t\t {/* redux_templates.left !== 999 &&*/}\n\t\t {/* <Action*/}\n\t\t\t{/* style={actionButtonStyles}*/}\n\t\t\t{/* className=\"tour-icon\"*/}\n\t\t\t{/* text={__( 'Take the Redux Challenge', redux_templates.i18n )}*/}\n\t\t\t{/* onClick={e => {*/}\n\t\t\t{/*\t setTourOpen();*/}\n\t\t\t{/* }}*/}\n\t\t {/* >*/}\n\t\t\t{/* <i className=\"fas fa-map-signs tour-icon\"/>*/}\n\t\t {/* </Action>*/}\n\t {/*}*/}\n\n\t {\n\t\t redux_templates.mokama !== '1' &&\n\t\t <Action\n\t\t\t style={{backgroundColor:'#00a7e5'}}\n\t\t\t text={__('Upgrade to Redux Pro', redux_templates.i18n)}\n\t\t\t onClick={e => {\n\t\t\t\t window.open(redux_templates.u + 'help_bubble', '_blank')\n\t\t\t }}\n\t\t >\n\t\t\t <i className=\"fa fa-star\"/>\n\t\t </Action>\n\t }\n </Fab>\n );\n}\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./styles.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./styles.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./styles.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import ButtonGroup from '../button-group';\n\nconst {__} = wp.i18n\nimport {Tooltip} from '@wordpress/components';\nimport {requiresInstall, requiresPro} from '~redux-templates/stores/dependencyHelper';\nimport SafeImageLoad from '~redux-templates/components/safe-image-load';\nimport './style.scss'\n\nconst MultipleItem = (props) => {\n\n const {data, onSelectCollection} = props;\n const {pages, homepageData, ID, name} = data;\n const {image} = homepageData || {};\n\n return (\n <div className=\"redux-templates-multiple-template-box\">\n <div className=\"multiple-template-view\" onClick={ () => onSelectCollection( ID ) } >\n <div className=\"redux-templates-box-shadow\">\n <div className=\"redux-templates-default-template-image\">\n <SafeImageLoad url={image} alt={__('Default Template', redux_templates.i18n)} />\n {requiresPro(data) && <span className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</span>}\n {!requiresPro(data) && requiresInstall(data) && <div className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></div>}\n </div>\n <div className=\"redux-templates-button-overlay\">\n {requiresPro(data) && <Tooltip text={__('Premium Requirements', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><span className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</span></Tooltip>}\n {!requiresPro(data) && requiresInstall(data) && <Tooltip text={__('Not Installed', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><div className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></div></Tooltip>}\n <div className=\"redux-templates-import-button-group\">\n <div className=\"action-buttons\"><a className=\"redux-templates-button download-button\">{__('View Templates', redux_templates.i18n)}</a></div>\n </div>\n </div>\n </div>\n <div className=\"redux-templates-tmpl-info\">\n <h5 className=\"redux-templates-tmpl-title\" dangerouslySetInnerHTML={{__html:name}}/>\n <span className=\"redux-templates-temp-count\">{ pages ? pages.length : 0 } {__('Templates', redux_templates.i18n)}</span>\n </div>\n </div>\n </div>\n );\n}\n\nexport default MultipleItem\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const { useState, useEffect, Fragment} = wp.element;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {__} = wp.i18n\n\nimport './style.scss';\n\nimport {pageSizeMap} from '../../stores/helper';\n\nfunction Pagination(props) {\n const {currentPage, pageData, columns} = props;\n const {setCurrentPage} = props;\n const [totalPages, setTotalPages] = useState(1);\n const [firstButtonClass, setFirstButtonClass] = useState('tablenav-pages-navspan button');\n const [prevButtonClass, setPrevButtonClass] = useState('tablenav-pages-navspan button');\n const [nextButtonClass, setNextButtonClass] = useState('tablenav-pages-navspan button');\n const [lastButtonClass, setLastButtonClass] = useState('tablenav-pages-navspan button');\n\n useEffect(() => {\n const enabledClassname = 'tablenav-pages-navspan button ';\n const disabledClassname = 'tablenav-pages-navspan button disabled';\n setFirstButtonClass((currentPage === 0) ? disabledClassname : enabledClassname);\n setPrevButtonClass((currentPage === 0) ? disabledClassname : enabledClassname);\n setNextButtonClass((currentPage === totalPages - 1) ? disabledClassname : enabledClassname);\n setLastButtonClass((currentPage === totalPages - 1) ? disabledClassname : enabledClassname);\n }, [currentPage, totalPages]);\n\n useEffect(() => {\n let colStr = (columns === '') ? 'medium' : columns;\n setTotalPages(Math.ceil(pageData.length / pageSizeMap[colStr]));\n }, [pageData]);\n\n const gotoPage = (pageNum, className) => {\n if (className.indexOf('disabled') > 0) return;\n document.getElementById('modalContent').scrollTop = 0;\n setCurrentPage(pageNum);\n }\n\n\n return (\n <Fragment>\n\n {\n totalPages > 0 &&\n <div className=\"tablenav-pages\">\n <span className=\"displaying-num\">{pageData.length} items</span>\n <span className=\"pagination-links\">\n <span className={firstButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(0, firstButtonClass)}>«</span>\n <span className={prevButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(currentPage - 1, prevButtonClass)}>‹</span>\n <span className=\"screen-reader-text\">{__('Current Page', redux_templates.i18n)}</span>\n <span id=\"table-paging\" className=\"paging-input\">\n <span className=\"tablenav-paging-text\">{currentPage + 1} of <span\n className=\"total-pages\">{totalPages}</span></span>\n </span>\n <span className={nextButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(currentPage + 1, nextButtonClass)}>›</span>\n <span className={lastButtonClass} aria-hidden=\"true\"\n onClick={() => gotoPage(totalPages - 1, lastButtonClass)}>»</span>\n </span>\n </div>\n }\n </Fragment>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setCurrentPage\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setCurrentPage\n };\n }),\n\n withSelect((select) => {\n const {getCurrentPage, getPageData, getColumns} = select('redux-templates/sectionslist');\n return {\n currentPage: getCurrentPage(),\n pageData: getPageData(),\n columns: getColumns()\n };\n })\n])(Pagination);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n';\n\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nimport {openSitePreviewModal} from '~redux-templates/stores/actionHelper';\nimport ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';\nimport './style.scss'\n\nfunction PreviewImportButton(props) {\n const {data, index, pageData} = props;\n const {setImportingTemplate, tourActiveButtonGroup} = props;\n let spinner = null;\n const triggerImportTemplate = (data) => {\n if (spinner === null) {\n spinner = data.ID;\n setImportingTemplate(data);\n }\n }\n\n return (\n <div className=\"action-buttons\">\n {\n pageData[index] && pageData[index]['source'] !== 'wp_block_patterns' &&\n <a className=\"redux-templates-button preview-button\" target=\"_blank\"\n onClick={() => openSitePreviewModal(index, pageData)}>\n <i className=\"fa fa-share\"/> {__('Preview', redux_templates.i18n)}\n </a>\n }\n\n <a className=\"redux-templates-button download-button\"\n onClick={() => triggerImportTemplate(data)}>\n <i className=\"fas fa-download\"/>{__('Import', redux_templates.i18n)}\n </a>\n {tourActiveButtonGroup && tourActiveButtonGroup.ID === pageData[index].ID && <ChallengeDot step={4} /> }\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setImportingTemplate\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setImportingTemplate\n };\n }),\n withSelect((select, props) => {\n const {getTourActiveButtonGroup} = select('redux-templates/sectionslist');\n return {\n tourActiveButtonGroup: getTourActiveButtonGroup()\n };\n })\n])(PreviewImportButton);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","const { Spinner } = wp.components;\nimport ImageLoader from 'react-load-image';\n\nconst placeholderImage = redux_templates.plugin + 'assets/img/reduxtemplates-medium.jpg';\nconst spinnerStyle = {height: 120, display: 'flex', alignItems: 'top', paddingTop: '40px', justifyContent: 'center', background: '#fff'};\nexport default function SafeImageLoad({url, alt, className}) {\n return (\n <ImageLoader src={url}>\n <img alt={alt} className={className} />\n <img src={placeholderImage} alt={alt} className={className} />\n <div style={spinnerStyle}>\n <Spinner />\n </div>\n </ImageLoader>\n );\n\n}\n","import {Tooltip} from '@wordpress/components';\n\nconst {__} = wp.i18n\nconst {withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\n\nimport ButtonGroup from '../button-group';\nimport SafeImageLoad from '~redux-templates/components/safe-image-load';\nimport BackgroundImage from '../background-image';\nimport {requiresInstall, requiresPro} from '~redux-templates/stores/dependencyHelper';\n\nimport './style.scss'\n\n\nfunction SingleItem (props) {\n // Decoupling props\n const {pageData, tourActiveButtonGroup, index} = props;\n const [data, setData] = useState(null);\n // const {ID, image, url, pro, source, requirements} = data;\n const [innerClassname, setInnerClassname] = useState('redux-templates-single-item-inner redux-templates-item-wrapper ');\n\n useEffect(() => {\n if (pageData) setData(pageData[index]);\n }, [index, pageData]);\n\n useEffect(() => {\n setInnerClassname((pageData && pageData[index] && tourActiveButtonGroup && tourActiveButtonGroup.ID === pageData[index].ID) ?\n 'redux-templates-single-item-inner redux-templates-item-wrapper focused' : 'redux-templates-single-item-inner redux-templates-item-wrapper');\n }, [tourActiveButtonGroup, pageData, index]);\n\n if (!data) return null;\n return (\n <div className=\"redux-templates-single-section-item\">\n <div className={innerClassname}>\n <div className=\"redux-templates-default-template-image\">\n {data.source !== 'wp_block_patterns' && <SafeImageLoad url={data.image}/> }\n {data.source === 'wp_block_patterns' && <BackgroundImage data={data} />}\n {requiresPro(data) && <span className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</span>}\n {!requiresPro(data) && requiresInstall(data) && <span className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></span>}\n <div className=\"redux-templates-tmpl-title\">{data.name}</div>\n </div>\n {/* redux-templates-default-template-image */}\n <div className=\"redux-templates-button-overlay\">\n\t {requiresPro(data) && <Tooltip text={__('Premium Requirements', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><div className=\"redux-templates-pro-badge\">{__('Premium', redux_templates.i18n)}</div></Tooltip>}\n {!requiresPro(data) && requiresInstall(data) && <Tooltip text={__('Not Installed', redux_templates.i18n)} position=\"bottom\" key={data.source+data.source_id}><div className=\"redux-templates-missing-badge\"><i className=\"fas fa-exclamation-triangle\" /></div></Tooltip>}\n <ButtonGroup index={index} showDependencyBlock={true} data={data} pageData={pageData} />\n </div>\n\n </div>\n {/* redux-templates-item-wrapper */}\n </div>\n )\n}\n\n\nexport default withSelect((select, props) => {\n const {getTourActiveButtonGroup, getPageData} = select('redux-templates/sectionslist');\n return {\n pageData: getPageData(),\n tourActiveButtonGroup: getTourActiveButtonGroup()\n };\n})(SingleItem);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","import {__} from '@wordpress/i18n';\nimport {compose} from '@wordpress/compose';\nimport {withDispatch, withSelect} from '@wordpress/data';\nimport {ModalManager} from '../../modal-manager';\nimport ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';\nexport function TabHeader(props) {\n const { activeItemType, searchContext, activeCollection, isChallengeOpen } = props;\n const { setActiveItemType, setSearchContext, setChallengeOpen, clearSearch } = props;\n\n const isActive = (itemType) => {\n return (activeItemType === itemType) ? 'active' : '';\n }\n\n const onSearchContextUpdate = (e) => {\n if (activeItemType !=='saved') setSearchContext(e.target.value);\n }\n\n const changeTab = (tabName) => {\n if (document.getElementById('modalContent')) document.getElementById('modalContent').scrollTop = 0;\n setActiveItemType(tabName);\n }\n\n const closeModal = () => {\n if (isChallengeOpen === false) {\n ModalManager.close();\n }\n }\n\n return (\n <div className=\"redux-templates-builder-modal-header\">\n <div className=\"template-search-box\">\n {\n ((activeItemType !== 'collection' || activeCollection === null) && activeItemType !== 'saved') &&\n <div>\n <input type=\"text\" placeholder={__('Search for a template', redux_templates.i18n)} className=\"form-control\" value={searchContext} onChange={onSearchContextUpdate} />\n <ChallengeDot step={1} />\n <i className=\"fas fa-search\" />\n </div>\n }\n </div>\n\n <div className=\"redux-templates-template-list-header\" data-tut=\"tour__navigation\">\n <button className={ isActive('section') } onClick={e => changeTab('section')}> {__('Sections', redux_templates.i18n)} </button>\n <button className={ isActive('page') } onClick={e => changeTab('page')}> {__('Templates', redux_templates.i18n)} </button>\n <button className={ isActive('collection') } onClick={e => changeTab('collection')}> {__('Template Kits', redux_templates.i18n)} </button>\n <button className={ isActive('saved') } onClick={e => changeTab('saved')}> {__('Saved', redux_templates.i18n)} </button>\n <ChallengeDot step={0} />\n <button className=\"redux-templates-builder-close-modal\" onClick={closeModal} >\n\t\t\t\t\t<svg width=\"24\" height=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" role=\"img\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13 11.9l3.3-3.4-1.1-1-3.2 3.3-3.2-3.3-1.1 1 3.3 3.4-3.5 3.6 1 1L12 13l3.5 3.5 1-1z\"></path></svg>\n </button>\n </div>\n </div>\n );\n}\n\nexport default compose([\n withDispatch((dispatch) => {\n const {\n setActiveItemType,\n setSearchContext,\n clearSearch\n } = dispatch('redux-templates/sectionslist');\n\n return {\n setActiveItemType,\n setSearchContext,\n clearSearch\n };\n }),\n\n withSelect((select, props) => {\n const { getActiveItemType, getSearchContext, getActiveCollection, getChallengeOpen } = select('redux-templates/sectionslist');\n return { activeItemType: getActiveItemType(), searchContext: getSearchContext(), activeCollection: getActiveCollection(), isChallengeOpen: getChallengeOpen() };\n })\n\n])(TabHeader);\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38 12H12v26h26V12z\"\n});\n\nvar SvgViewFew = function SvgViewFew(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 50 50\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgViewFew;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 12.5H0V0h12.5v12.5zM31.2 0H18.8v12.5h12.5V0zM50 0H37.5v12.5H50V0zM12.5 18.8H0v12.5h12.5V18.8zm18.7 0H18.8v12.5h12.5V18.8zm18.8 0H37.5v12.5H50V18.8zM12.5 37.5H0V50h12.5V37.5zm18.7 0H18.8V50h12.5V37.5zm18.8 0H37.5V50H50V37.5z\"\n});\n\nvar SvgViewMany = function SvgViewMany(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 50 50\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgViewMany;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.1 5.3H5.3v15.8h15.8V5.3zm23.6 0H28.9v15.8h15.8V5.3zM21.1 28.9H5.3v15.8h15.8V28.9zm23.6 0H28.9v15.8h15.8V28.9z\"\n});\n\nvar SvgViewNormal = function SvgViewNormal(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 50 50\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgViewNormal;","const {__, sprintf} = wp.i18n;\nconst {compose} = wp.compose;\nconst {withDispatch, withSelect} = wp.data;\nconst {useState, useEffect} = wp.element;\nimport ChallengeDot from '~redux-templates/challenge/tooltip/ChallengeDot';\nimport {Button, Notice} from '@wordpress/components'\nimport SVGViewFew from './images/view-few.svg'\nimport SVGViewMany from './images/view-many.svg'\nimport SVGViewNormal from './images/view-normal.svg'\nimport {reloadLibrary} from '~redux-templates/stores/actionHelper';\nimport * as Icons from '~redux-templates/icons';\nimport './style.scss'\n\nfunction TemplateListSubHeader(props) {\n const {itemType, sortBy, activeCollection, challengePassed, pageData, columns, loading} = props;\n const {setSortBy, setColumns, setChallengeOpen, setChallengeListExpanded} = props;\n const [triggerTourClassname, setTriggerTourClassname] = useState('far fa-question-circle tour-icon');\n\n useEffect(() => {\n setTriggerTourClassname(challengePassed ? 'fas fa-trophy tour-icon' : 'fas fa-map-signs tour-icon');\n }, [challengePassed]);\n\n const itemTypeLabel = () => {\n if (itemType === 'section') return __('Sections', redux_templates.i18n);\n if (itemType === 'page') return __('Templates', redux_templates.i18n);\n if (itemType === 'collection' && activeCollection === null) return __('Template Kits', redux_templates.i18n);\n if (itemType === 'collection' && activeCollection !== null) return __('Sections', redux_templates.i18n);\n };\n\n const dataLength = pageData ? pageData.length : '';\n\n let pageTitle = '';\n if (loading === false && dataLength && dataLength !== 0) {\n pageTitle = <span>{dataLength} {itemTypeLabel()}</span>;\n }\n\n return (\n <div className=\"redux-templates-template-list-sub-header\">\n <h4>\n {pageTitle}\n <ChallengeDot step={3} />\n </h4>\n\n <div className=\"redux-templates-template-filters\">\n\t <div className='trial_notice'>\n\t\t { ! redux_templates.mokama &&\n\t\t <div style={{verticalAlign:'middle'}}>\n\t\t\t <Notice status=\"info\" isDismissible={false}>\n\t\t\t\t <strong style={{display:'inline-block', marginRight:'10px', verticalAlign:'middle'}}>\n\t\t\t\t\t { '0' === redux_templates.left &&\n\t\t\t\t\t \t<>\n\t\t\t\t\t\t\t {sprintf( __( 'You\\'ve imported %d/%d Templates', redux_templates.i18n ), 5-redux_templates.left, 5 )}\n\t\t\t\t\t\t </>\n\t\t\t\t\t }\n\t\t\t\t\t { '0' !== redux_templates.left &&\n\t\t\t\t\t <>\n\t\t\t\t\t\t {sprintf( __( 'Trial: %d/%d Imports Remaining', redux_templates.i18n ), redux_templates.left, 5 )}\n\t\t\t\t\t </>\n\t\t\t\t\t }\n\t\t\t\t </strong>\n\t\t\t\t <Button isPrimary\n\t\t\t\t isSmall\n\t\t\t\t icon={Icons.redux}\n\t\t\t\t label={__('Upgrade to Redux Pro', redux_templates.i18n)}\n\t\t\t\t onClick={()=> window.open( redux_templates.u + 'subheader', '_blank')}>Get Pro</Button>\n\t\t\t </Notice>\n\n\n\t\t </div>\n\n\t\t }</div>\n <Button\n icon={<i className={triggerTourClassname} />}\n label={__('Take the Redux Challenge', redux_templates.i18n)}\n onClick={() => {setChallengeOpen(true); setChallengeListExpanded(true); }}\n />\n <Button\n icon=\"image-rotate\"\n label={__('Refresh Library', redux_templates.i18n)}\n className=\"refresh-library\"\n onClick={reloadLibrary}\n />\n <Button\n icon={<SVGViewFew width=\"18\" height=\"18\"/>}\n className={columns === 'large' ? 'is-active' : ''}\n label={__('Large preview', redux_templates.i18n)}\n onClick={() => setColumns('large')}\n />\n <Button\n icon={<SVGViewNormal width=\"18\" height=\"18\"/>}\n className={columns === '' ? 'is-active' : ''}\n label={__('Medium preview', redux_templates.i18n)}\n onClick={(e) => setColumns('')}\n />\n <Button\n icon={<SVGViewMany width=\"18\" height=\"18\"/>}\n className={columns === 'small' ? 'is-active' : ''}\n label={__('Small preview', redux_templates.i18n)}\n onClick={(e) => setColumns('small')}\n />\n <div className=\"\">\n <select name=\"sortBy\" id=\"sortBy\" value={sortBy} onChange={(e) => setSortBy(e.target.value)}>\n <option value=\"name\">{__('Name', redux_templates.i18n)}</option>\n {/*<option value=\"popularity\">{__('Popularity', redux_templates.i18n)}</option>*/}\n <option value=\"updated\">{__('Updated', redux_templates.i18n)}</option>\n </select>\n </div>\n </div>\n\n </div>\n );\n}\n\n\nexport default compose([\n withDispatch((dispatch) => {\n const {setLibrary, setActivePriceFilter, setActiveCollection, setSortBy, setColumns, setChallengeOpen, setChallengeListExpanded} = dispatch('redux-templates/sectionslist');\n return {\n setLibrary,\n setActivePriceFilter,\n setActiveCollection,\n setSortBy,\n setColumns,\n setChallengeOpen,\n setChallengeListExpanded\n };\n }),\n\n withSelect((select, props) => {\n const {fetchLibraryFromAPI, getActiveItemType, getColumns, getPageData, getActiveCollection, getStatistics, getSortBy, getLoading, getChallengePassed} = select('redux-templates/sectionslist');\n return {\n fetchLibraryFromAPI,\n itemType: getActiveItemType(),\n pageData: getPageData(),\n columns: getColumns(),\n statistics: getStatistics(),\n sortBy: getSortBy(),\n activeCollection: getActiveCollection(),\n loading: getLoading(),\n challengePassed: getChallengePassed()\n };\n })\n])(TemplateListSubHeader);\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","/**\n * WordPress dependencies.\n */\nconst { __ } = wp.i18n;\n\nconst {\n\tFragment,\n\tuseEffect,\n\tuseRef\n} = wp.element;\n\nconst CSSEditor = ({\n\t attributes,\n\t setAttributes,\n\t clientId\n }) => {\n\tuseEffect( () => {\n\t\tlet classes = getClassName();\n\n\t\tif ( attributes.customCSS ) {\n\t\t\tconst generatedCSS = ( attributes.customCSS ).replace( /.ticss-[a-zA-Z0-9_-]*/g, 'selector' );\n\t\t\tcustomCSSRef.current = generatedCSS;\n\t\t} else {\n\t\t\tcustomCSSRef.current = 'selector {\\n}\\n';\n\t\t}\n\n\t\teditorRef.current = wp.CodeMirror( document.getElementById( 'redux-css-editor' ), {\n\t\t\tvalue: customCSSRef.current,\n\t\t\tautoCloseBrackets: true,\n\t\t\tcontinueComments: true,\n\t\t\tlineNumbers: true,\n\t\t\tlineWrapping: true,\n\t\t\tmatchBrackets: true,\n\t\t\tlint: true,\n\t\t\tgutters: [ 'CodeMirror-lint-markers' ],\n\t\t\tstyleActiveLine: true,\n\t\t\tstyleActiveSelected: true,\n\t\t\textraKeys: {\n\t\t\t\t'Ctrl-Space': 'autocomplete',\n\t\t\t\t'Alt-F': 'findPersistent',\n\t\t\t\t'Cmd-F': 'findPersistent'\n\t\t\t}\n\t\t});\n\n\t\teditorRef.current.on( 'change', () => {\n\t\t\tconst regex = new RegExp( 'selector', 'g' );\n\t\t\tconst generatedCSS = editorRef.current.getValue().replace( regex, `.${ classArRef.current }` );\n\t\t\tcustomCSSRef.current = generatedCSS;\n\n\t\t\tif ( ( 'selector {\\n}\\n' ).replace( /\\s+/g, '' ) === customCSSRef.current.replace( /\\s+/g, '' ) ) {\n\t\t\t\treturn setAttributes({ customCSS: null });\n\t\t\t}\n\n\t\t\tsetAttributes({ customCSS: customCSSRef.current });\n\t\t});\n\t}, []);\n\n\tuseEffect( () => {\n\t\tlet classes = getClassName();\n\n\t\tsetAttributes({\n\t\t\thasCustomCSS: true,\n\t\t\tclassName: classes\n\t\t});\n\t}, [ attributes ]);\n\n\tconst getClassName = () => {\n\t\tlet classes;\n\n\t\tconst uniqueId = clientId.substr( 0, 8 );\n\n\t\tif ( null !== customCSSRef.current && ( 'selector {\\n}\\n' ).replace( /\\s+/g, '' ) === customCSSRef.current.replace( /\\s+/g, '' ) ) {\n\t\t\treturn attributes.className;\n\t\t}\n\n\t\tif ( attributes.className ) {\n\t\t\tclasses = attributes.className;\n\n\t\t\tif ( ! classes.includes( 'ticss-' ) ) {\n\t\t\t\tclasses = classes.split( ' ' );\n\t\t\t\tclasses.push( `ticss-${ uniqueId }` );\n\t\t\t\tclasses = classes.join( ' ' );\n\t\t\t}\n\n\t\t\tclassArRef.current = classes.split( ' ' );\n\t\t\tclassArRef.current = classArRef.current.find( i => i.includes( 'ticss' ) );\n\t\t} else {\n\t\t\tclasses = `ticss-${ uniqueId }`;\n\t\t\tclassArRef.current = classes;\n\t\t}\n\n\t\treturn classes;\n\t};\n\n\tconst editorRef = useRef( null );\n\tconst customCSSRef = useRef( null );\n\tconst classArRef = useRef( null );\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<p>{ __( 'Add your custom CSS.' ) }</p>\n\n\t\t\t<div id=\"redux-css-editor\" className=\"redux-css-editor\"/>\n\n\t\t\t<p>{ __( 'Use' ) } <code>selector</code> { __( 'to target block wrapper.' ) }</p>\n\t\t\t<p>{ __( '' ) }</p>\n\t\t\t<p>{ __( 'Example:' ) }</p>\n\n\t\t\t<pre className=\"redux-css-editor-help\">\n\t\t\t\t{ 'selector {\\n background: #000;\\n}\\n\\nselector img {\\n border-radius: 100%;\\n}'}\n\t\t\t</pre>\n\n\t\t\t<p>{ __( 'You can also use other CSS syntax here, such as media queries.' ) }</p>\n\t\t</Fragment>\n\t);\n};\n\nexport default CSSEditor;\n","/**\n * WordPress dependencies.\n */\nconst { assign } = lodash;\n\nconst { __ } = wp.i18n;\n\nconst { hasBlockSupport } = wp.blocks;\n\nconst { PanelBody } = wp.components;\n\nconst { createHigherOrderComponent } = wp.compose;\n\nconst { InspectorControls } = wp.blockEditor || wp.editor;\n\nconst { Fragment } = wp.element;\n\nconst { addFilter, removeFilter } = wp.hooks;\n\n/**\n * Internal dependencies.\n */\nimport './style.scss';\n\nimport CSSEditor from './editor.js';\n\nimport './inject-css.js';\n\nconst addAttribute = ( settings ) => {\n\tif ( hasBlockSupport( settings, 'customClassName', true ) ) {\n\t\tsettings.attributes = assign( settings.attributes, {\n\t\t\thasCustomCSS: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false\n\t\t\t},\n\t\t\tcustomCSS: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: null\n\t\t\t}\n\t\t});\n\t}\n\n\treturn settings;\n};\n\nconst withInspectorControls = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn ( props ) => {\n\t\tconst hasCustomClassName = hasBlockSupport( props.name, 'customClassName', true );\n\t\tif ( hasCustomClassName && props.isSelected ) {\n\t\t\treturn (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody\n\t\t\t\t\t\t\ttitle={ __( 'Custom CSS' ) }\n\t\t\t\t\t\t\ticon={<i className={'fa fa'}></i>}\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CSSEditor\n\t\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\t\tsetAttributes={ props.setAttributes }\n\t\t\t\t\t\t\t\tattributes={ props.attributes }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</Fragment>\n\t\t\t);\n\t\t}\n\n\t\treturn <BlockEdit { ...props } />;\n\t};\n}, 'withInspectorControl' );\n\n// Remove block-css fields.\nremoveFilter( 'blocks.registerBlockType', 'themeisle-custom-css/attribute' );\nremoveFilter( 'editor.BlockEdit', 'themeisle-custom-css/with-inspector-controls' );\n\naddFilter( 'blocks.registerBlockType', 'redux-custom-css/attribute', addAttribute );\naddFilter( 'editor.BlockEdit', 'redux-custom-css/with-inspector-controls', withInspectorControls );\n\n","/**\n * WordPress dependencies.\n */\nconst { __ } = wp.i18n;\n\nconst { parse } = wp.blocks;\n\nconst {\n\tselect,\n\tsubscribe\n} = wp.data;\n\nconst addStyle = style => {\n\tlet element = document.getElementById( 'redux-css-editor-styles' );\n\n\tif ( null === element ) {\n\t\telement = document.createElement( 'style' );\n\t\telement.setAttribute( 'type', 'text/css' );\n\t\telement.setAttribute( 'id', 'redux-css-editor-styles' );\n\t\tdocument.getElementsByTagName( 'head' )[0].appendChild( element );\n\t}\n\n\tif ( element.textContent === style ) {\n\t\treturn null;\n\t}\n\n\treturn element.textContent = style;\n};\n\nlet style = '';\n\nconst cycleBlocks = ( blocks, reusableBlocks ) => {\n\tblocks.forEach( block => {\n\t\tif ( block.attributes.hasCustomCSS ) {\n\t\t\tif ( block.attributes.customCSS && ( null !== block.attributes.customCSS ) ) {\n\t\t\t\tstyle += block.attributes.customCSS + '\\n';\n\t\t\t}\n\t\t}\n\n\t\tif ( 'core/block' === block.name && null !== reusableBlocks ) {\n\t\t\tlet reBlocks = reusableBlocks.find( i => block.attributes.ref === i.id );\n\t\t\tif ( reBlocks ) {\n\t\t\t\treBlocks = parse( reBlocks.content.raw );\n\t\t\t\tcycleBlocks( reBlocks, reusableBlocks );\n\t\t\t};\n\t\t}\n\n\t\tif ( undefined !== block.innerBlocks && 0 < ( block.innerBlocks ).length ) {\n\t\t\tcycleBlocks( block.innerBlocks, reusableBlocks );\n\t\t}\n\t});\n};\n\nconst subscribed = subscribe( () => {\n\tstyle = '';\n\tconst { getBlocks } = select( 'core/block-editor' ) || select( 'core/editor' );\n\tconst blocks = getBlocks();\n\tconst reusableBlocks = select( 'core' ).getEntityRecords( 'postType', 'wp_block' );\n\tcycleBlocks( blocks, reusableBlocks );\n\taddStyle( style );\n});\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./style.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./editor.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./editor.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./editor.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 19.8v-.2V10c0-.2.1-.2.2-.3 1.7-.7 3.5-1.4 5.2-2.2 1.3-.5 2.6-1.1 3.8-1.6.3-.1.3-.1.3.2v9.1c0 .1 0 .2-.2.3-.9.4-1.9.9-2.8 1.3-.8.4-1.7.8-2.5 1.2-1 .5-1.9.9-2.9 1.4-.3.1-.7.2-1.1.4zm1-5.4v3.7c0 .2 0 .2.2.1 2.4-1.1 4.7-2.2 7.1-3.4.1-.1.2-.1.2-.3V7.4c0-.2 0-.2-.2-.1-2.4 1-4.7 2-7.1 3-.1.1-.2.1-.2.2v3.9zM19.4 4.2c-1-.4-2-.9-3-1.3-1.2-.5-2.4-1-3.7-1.6C11.8 1 10.9.6 10 .2c-.1 0-.1-.1-.2 0-.6.3-1.1.5-1.7.7-.7.3-1.4.7-2.1 1-.7.3-1.5.6-2.2 1-.7.3-1.3.6-2 .9-.6.1-1.1.3-1.7.6.2.1.4.2.6.2 1.9.8 3.8 1.6 5.7 2.5 1.1.4 2.2.9 3.2 1.4.1.1.2.1.4 0 .4-.2.8-.3 1.1-.5 1.5-.6 3-1.3 4.5-1.9 1.1-.5 2.2-.9 3.4-1.4.2-.1.5-.2.7-.3-.1-.1-.2-.1-.3-.2zm-5.9-.8h-1.1c-.1 0-.2 0-.2.2 0 .5 0 .5.5.5h.7c.1 0 .1 0 .1.1v.5c0 .1 0 .1-.1.1h-1c-.1 0-.2 0-.2.2v1c0 .1 0 .1-.1.1h-.6c-.1 0-.1 0-.1-.1v-.5c-.3.3-.5.4-.8.5-.3 0-.6 0-.9-.1 0 0-.1-.1-.2 0h-.1c-.2.1-.4.1-.6.1-.1 0-.2 0-.2-.1-.2-.4-.2-.4-.6-.4h-.6c-.1 0-.1 0-.2.1-.1.4-.1.4-.5.4h-.3c-.1 0-.2 0-.1-.1.3-.7.6-1.4.9-2.2.1-.3.3-.6.4-1 0-.1.1-.1.2-.1.4 0 .4 0 .6.4.1.2.2.5.3.7.3-.6.7-.9 1.3-1 .6-.1 1.1.1 1.6.5v-.4c0-.1 0-.1.1-.1h1.9c.1 0 .1 0 .1.1v.5c0 .1-.1.1-.2.1zM9.5 10c0-.1 0-.2-.1-.2-.3-.1-.5-.2-.7-.3-2.4-1-4.7-2-7.1-3-.5-.2-1-.4-1.6-.7v9.4c0 .1 0 .2.1.2.2.1.3.1.5.2L3 16.8c1.3.6 2.5 1.2 3.8 1.8.8.4 1.7.8 2.5 1.2.2.1.2.1.2-.1v-7V10zm-1.2 8.2c-2.4-1.1-4.8-2.3-7.2-3.4-.1 0-.1 0-.1-.1V7.5c0-.1 0-.2.2-.1l7.2 3c.1 0 .1.1.1.2v7.6c0 .1 0 .1-.2 0z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.4 4.3c0 .1 0 .1 0 0 0 .2 0 .3-.2.3-.1 0-.2 0-.2.2-.2.4-.6.6-1 .5-.5-.2-.8-.5-.8-1 0-.4.3-.8.7-.9.4-.1.8.1 1 .5 0 .1.1.1.2.1.3.1.3.1.3.3zM7.8 4c.1 0 .1 0 0 0 .2.3.3.5.3.7h-.6c.2-.2.3-.5.3-.7zM7.6 15.5v.1c.1.2.1.3-.1.5v.1c.1.1.1.2.1.4v.1h-.1c-.1-.1-.3-.2-.3-.3v-.2c.1.1.1.3.3.3 0-.1-.1-.3-.3-.4 0 0-.1 0-.1-.1-.1-.1-.2 0-.2.1 0 .2.1.3.4.4.1 0 .1 0 .1.1v.1c.1 0 .2.1.2.1s.1.1 0 .1h-.1c-.4-.2-.8-.4-1.3-.6l-.1-.1c0-.3-.2-.5-.4-.6-.1-.1-.3-.1-.4 0l-.1.1h.1c.4.1.7.2.7.5v.1s-.1 0-.1-.1c-.1-.2-.2-.3-.4-.3 0 .1 0 .1.1.1h.1v.1h-.1c-.2-.1-.3-.1-.5-.2-.1-.1-.1-.1 0-.2l.1-.1c-.1 0-.2-.1-.3 0l-.1.1c-.1.2-.2.1-.2 0-.2-.4-.2-.4-.4-.5 0 .1.1.2.1.3 0 .1 0 .1-.1.1s-.1 0-.2-.1c-.1 0-.2 0-.1-.2s-.2-.3-.3-.3c0 0-.1.1-.1 0v-.1c0-.1 0-.1.1-.1.2 0 .3.1.4.2 0 .1.1.1.1.2h.1v-.1c-.1-.3-.4-.5-.7-.5-.1 0-.2 0-.2.2 0 .1 0 .1-.1.1-.4-.2-.9-.4-1.3-.6 0 0-.1 0-.1-.1s.1 0 .1 0c.1 0 .2.2.2 0 0 0 .1 0 .1.1.1.1.1.1.2 0 .1 0 .1-.1.1-.2-.1-.2-.2-.3-.5-.4-.1 0-.1 0-.2.1v.1H2s0-.1.1-.1v.1c0 .1-.1.1-.2.1h-.3c-.1 0-.1-.3 0-.3.1-.1.1-.2 0-.3-.1-.1-.1-.3-.1-.4 0-.1 0-.1.1-.1s0 .1 0 .1c-.1.2 0 .4.2.6.1.1.2.1.3.2.1.1.2.2.2.4 0 .1 0 .1.1.1.1.1.2.2.2.4 0 .1.1.1.1 0 .1-.2.3-.2.5-.2 0-.1 0-.1-.1-.1-.5-.5-.9-1.1-1.2-1.7-.2-.5-.3-1-.2-1.6 0-.1.1-.2.1-.3 0-.1 0-.2-.1-.2-.2-.1-.3-.3-.4-.5V10c.1-.3 0-.6.1-1 0-.1 0-.1.1-.1.5.1.5.2.5.3v.6c0 .1.1.2.2.2s.2.1.3 0v-.1c0-.1-.1-.2-.2-.2s-.1 0-.1-.1c.2 0 .5.2.4.4 0 .1-.2.2-.3.1 0 0-.1-.1-.1 0-.1 0-.2-.1-.2 0v.3l.1.1c.2.2.2.2.4 0l.1-.1c.3-.3.3-.4.1-.8 0-.1-.1-.2-.2-.4.1 0 .1.1.2.1.1.3.3.5.6.6.1.1.2.1.3 0-.1-.1-.2-.1-.4-.2s-.4-.3-.4-.5H3c0 .1.2.2.3.4.1-.1.1-.2.1-.2.1 0 .1-.1.2 0s0 .1 0 .1c-.1.1-.1.3 0 .4.1.1.2.1.4 0 .2-.2.4-.2.6 0 .1.1.2.2.4.2s.4.2.5.4c.1.1.1.2.2.3 0 .1.1.2.2.2 0 0 .1 0 .2-.1s0-.2-.1-.2v-.1s.1 0 .1.1.1.1.1.2c0 .2.1.2.2.1h.2c.1 0 .2.1.1.2 0 .1-.1.1-.2.1s-.2-.1-.4-.1c-.1 0-.1-.1-.2 0 0 .1 0 .1.1.1.2.2.4.2.7.1.1 0 .1-.1.2 0 0 .1 0 .1-.1.1-.2.2-.2.5-.1.8l.3.6c.1 0 .2.1.4.1.1 0 .2 0 .2-.2 0-.1 0-.2-.1-.2-.1.1.1.2-.1.3-.1 0-.2 0-.2-.1s-.1-.2 0-.2c.1-.1.1.1.3.1 0-.1-.2-.2-.3-.2-.2-.2-.3-.3-.3-.5s.1-.2.3-.2c.1 0 .1.1.2.1v.1h-.1c-.1 0-.2-.2-.2 0-.1.1 0 .2.1.3.1.1.2.1.3.2.1.1.1 0 .1-.1v-.6-.1c.1 0 .1.1.1.1V13c0 .1-.2.2-.3.2 0 0-.1-.1-.1 0v.1c.2.4.2.8.1 1.2-.1.6-.4 1.1-1.1 1.2-.1 0-.2.1-.4 0 .3.2.5.4.6.7 0 .1.1.1.1 0s.1-.2.2-.1c.1 0 .1 0 .1-.1.1-.2.2-.2.3-.1.2.1.4.1.5-.1.1-.1 0-.2-.1-.3-.1-.2-.1-.2 0-.2zm-3.9-4.4c-.1-.1-.1 0-.2 0-.2.2-.4.4-.3.7.2-.1.4-.2.5-.3.1 0 .1-.1.1 0s0 .1-.1.1c-.1.1-.3.1-.4.2-.1.2-.2.2-.1.4 0 0 0 .1.1.1.5.7.9 1.4 1.4 2 .1.1.2.1.3.1.5-.2.9-.5 1.4-.7.1-.1.1-.1 0-.2-.2-.3-.4-.5-.6-.8 0 0-.1 0 0-.1h.1c0 .1.1.3.2.4.1.1.2.3.3.4 0-.5-.2-.8-.4-1.2h.1c.2.4.4.8.5 1.3v.1c.1 0 .1-.1.2-.1s0-.1 0-.1c-.1-.2-.1-.4-.2-.5-.1-.2-.2-.5-.4-.7-.1-.2-.1-.2-.2-.1s-.2.1-.3.2c0 0-.1.1-.1 0v-.1l.2-.2c.2-.1.2-.2.1-.4l-.6-.6c-.1-.1-.2-.2-.4-.1h-.1c.2.1.4.3.6.4.3.2.4.4.4.5-.3-.2-.5-.5-.9-.7.2.2.3.4.4.6 0 0 .1.1 0 .1h-.1c-.1-.2-.3-.4-.4-.6-.1-.1-.1-.1-.2-.1-.1.1-.2.1-.3.2 0 0-.1.1-.1 0s0-.1.1-.1c.1-.1.3-.1.4-.2-.1 0-.1 0-.2-.1-.2 0-.4-.1-.7-.1-.1.2-.1.2-.1.3zm2.8 2.7c-.5.2-1 .5-1.5.7 0 0-.1 0 0 0 0 0 0 .1.1.1.3.1.6.1.9-.1.2-.1.5-.3.5-.7zm-3.4-1.5c0 .2 0 .4.1.5.2.6.6 1.1 1.2 1.5h.1v-.1c-.2-.2-.3-.4-.5-.6-.3-.4-.6-.9-.9-1.3zm-.2-2.4c.1.3-.1.4-.2.6-.2.2-.3.5-.4.7 0 .2.1.2.2.2s.1-.1.1-.2c.1-.3.2-.5.4-.7.1-.1.1-.2.1-.3 0 0-.1-.1-.2-.3zm4.3 3.8c0-.4-.1-.7-.3-1.1-.1-.3-.4-.6-.3-1-.3.1-.3.2-.2.5.2.3.4.7.4 1.1.1.3.2.5.4.5zM3 9.9c0 .1.1.1.1.2.1.2.3.3.5.3h.7c.1 0 .2 0 .2-.1s-.1-.1-.2-.1c-.2-.1-.4-.1-.6-.1-.2 0-.4 0-.7-.2zm3.6 3.8c-.1.4-.1.7-.4.9-.1 0-.2.1-.2.1 0 .1.2.1.2.1.1 0 .1.1.2 0 .2-.1.3-.3.3-.5 0-.1.1-.2.1-.3 0 0-.1-.1-.2-.3zM3 12c-.1 0-.1.1-.2.1s-.1.1-.1.1c.1.3.2.7.4 1 .1.2.3.3.5.4-.4-.5-.6-1-.6-1.6zm3.5-.5c-.2-.1-.4-.1-.6-.3-.2-.3-.5-.5-.8-.7 0 0-.1-.1-.1 0v.1c.1.2.2.2.3.3.2.2.5.4.7.6.2.3.3.2.5 0zm-1.7 3.3c0 .2.1.3.2.2h.2c.5 0 .9.1 1.3.4h.2c.1-.1 0-.1-.1-.1-.2-.2-.5-.3-.8-.3-.3-.1-.5 0-.8-.1-.1-.2-.2-.2-.2-.1zm-1.9-1.4c0 .2.2.2.3.3.5.2.8.5 1.2.9.1.1.2.3.3.4 0-.4 0-.4-.2-.5-.2-.1-.4-.3-.6-.5-.2-.2-.5-.4-.8-.5-.1-.1-.1-.1-.2-.1zm.1-.1c-.2-.4-.3-.7-.4-1.1 0-.1-.1-.2-.2-.3h-.1c0 .1 0 .2.1.3 0 .3.2.6.3.9.1.2.2.2.3.2zm4.2 1c.1-.1-.1-.1-.2-.2-.1 0-.1.1-.1.1-.1.2-.2.5-.3.6-.1.2-.1.2 0 .2s.2.2.2.1c.2-.2.4-.5.4-.8zm-2.6-3.4c-.1-.1-.1-.3-.3-.3-.2-.1-.5-.1-.7-.1 0 0-.1 0-.1.1v.3c0 .1.1.1.2 0 .2-.1.4-.1.5 0h.4zm-1.7 1c0-.1.1-.1.1-.2 0-.3.2-.5.4-.7.1 0 .1-.1.1-.1 0-.1-.3-.2-.4-.1-.2.1-.3.3-.4.6 0 .1-.1.2 0 .3.1 0 .2.1.2.2zm2.6 3.3c.2 0 .5.1.7.2.1 0 .2.1.2 0s-.1-.1-.1-.1h-.1c-.4-.2-.8-.3-1.2-.1 0-.1 0 0 0 0s0 .1.1 0h.4zm-2.4-1.4c0 .1.1.2.2.3.5.2.8.5 1.1.9 0 0 0 .1.1.1V15c-.3-.6-.8-1-1.4-1.2zm1.8-3.1v-.4c0-.1-.1-.1-.1-.1h-.1c-.1.2-.1.3 0 .5 0 .1.1.1.2.1s0 0 0-.1zm.3 4.7c.3.1.6.2.9.1-.3-.2-.6-.2-.9-.1zm-2.4-3.6c0-.1-.2-.3-.4-.3l-.1.1.3.3c.2.1.2.1.2-.1zM7.1 14h.1v-.1c-.1-.1-.1-.2-.2-.2h-.2v.2s.1.1.3.1zm-3.6.3c.1.2.6.6.8.6-.1-.2-.6-.6-.8-.6zm1.2.8c-.1 0-.1.1-.1.2s.1.3.2.3c0 0 .1-.1.1-.2 0-.2-.1-.3-.2-.3zM4.1 10c.1 0 .3.1.4.1h.1V10c-.2-.2-.4-.2-.5 0zm1.3.6c0-.2-.2-.4-.4-.4h-.1v.1c.2.1.3.2.5.3z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 11.8c-.1 0-.1-.1-.1-.2v-.8-.1H2c0 .1.2.1.2.2-.2-.1-.2 0-.2.2v.7zM7.7 13.9v.5s0 .1-.1.1 0 0 0-.1v-.7c0-.1 0-.2-.1-.3l-.1-.1c0-.1.1 0 .1 0 .2 0 .2.1.2.3v.3zM2.2 10.2c.1 0 .2.1.2.2s0 .1-.1.1-.2-.1-.2-.2c-.1-.1 0-.1.1-.1zM7.2 11.4c.1 0 .3.3.2.4 0 0 0 .1-.1 0 0 0-.1-.1-.1-.4 0 .1 0 0 0 0zM6 10.7c0 .1.1.1 0 .2h-.2c-.1-.1-.1-.1-.1-.2s.1-.1.2-.1l.1.1zM2.9 9.2c-.1-.1-.2-.2-.4-.3 0 0-.1 0 0-.1h.1c.2.2.4.3.6.4v.1c-.1 0-.2-.1-.3-.1zM2.1 9.2c0-.1.1-.2.1-.2.1 0 .2.1.2.2s-.1.1-.2.1c-.1.1-.1 0-.1-.1zM7.1 11.1c-.1 0-.2-.1-.3-.1-.1-.1-.3-.1-.4-.2 0 0-.1 0 0-.1h.1c.1.1.3.2.6.4 0-.1 0-.1 0 0zM7.7 11.4v.1c-.1 0-.1-.1-.1-.1 0-.1-.2-.2-.3-.2 0 0-.1 0-.1-.1s.1 0 .1 0c.1.1.2.1.2.1l.2.2zM3.9 9.8s0 .1 0 0c-.2.1-.3 0-.3-.1s0-.1.1-.1.2 0 .2.2zM2.4 8.8c-.1 0-.2 0-.2-.1-.1 0-.2 0-.2.1h-.1v-.1-.2c.1-.1.1 0 .1 0 .2.2.3.2.4.3zM7.4 15.7c-.2 0-.3-.1-.4-.1v-.1h.1c.1 0 .2.1.3.2zM7.6 15.5c-.1-.1-.2-.1-.3-.2 0 0-.1 0 0-.1 0-.1.1 0 .1 0 .1 0 .2.1.3.1-.1.1 0 .2-.1.2zM2.2 13.1c.1.1.2.1.3.2 0 0 .1 0 0 .1h-.1s-.2-.1-.2-.3c-.1.1-.1.1 0 0-.1.1-.1.1 0 0zM2.3 12.9c0 .1 0 .1 0 0-.2 0-.3-.1-.4-.1v-.1c.2.1.3.1.4.2zM14.1 16.3c-.6 0-1-.1-1.5-.5-.3-.3-.5-.6-.6-.9 0-.3-.1-.6 0-.9 0-.6.2-1.1.4-1.6s.5-.9.8-1.3c.4-.4.8-.8 1.3-1.1.4-.3.9-.5 1.3-.6.9-.2 1.7-.1 2.3.7.2.3.3.6.4 1v.5c0 .7-.2 1.4-.5 2-.3.7-.8 1.3-1.4 1.8-.5.5-1.2.8-1.9 1-.2-.1-.4-.1-.6-.1zm4.3-4.9c0-.5-.2-1.1-.8-1.5-.4-.3-.9-.4-1.3-.4-.3 0-.6.1-.8.2-.5.2-.9.4-1.3.7-.4.3-.8.7-1.1 1.1-.4.5-.6 1-.8 1.6-.1.5-.2 1.1 0 1.6.3.9.9 1.3 1.7 1.4.4.1.7 0 1.1-.1.7-.2 1.2-.6 1.7-1 .4-.4.8-.8 1.1-1.3.2-.7.5-1.3.5-2.3zM4.5 12.7c0 .2 0 .4.2.6.1.1.2.1.3.1.1-.1.1-.2.1-.3-.1-.1-.1-.2-.2-.1 0 0-.1.1-.1 0v-.1l.1-.1c.2.2.3.2.5.1h.1v.1s-.1.1-.2.1-.1 0-.1.1 0 .3-.2.3-.3-.1-.4-.2c-.3-.2-.3-.5-.3-.8v-.1c0-.3.2-.4.5-.2.2.1.3.2.4.4v.1h-.1c-.1-.1-.1-.2-.2-.3-.1-.1-.2-.2-.4-.1-.1 0-.1.2-.1.3.1 0 .1.1.1.1zM6.6 13.3c-.1-.4-.2-.8-.5-1.1.3.1.6.8.5 1.1zM3.7 11.1c.1.1.2.3.3.5-.2-.2-.3-.3-.3-.5zM2.8 11.4c.1-.2.2-.4.4-.6h.1v.1c-.2.2-.3.4-.3.6h-.1c-.1 0 0 0-.1-.1z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 12.2c.1-.3.3-.5.4-.7.3-.4.6-.7.9-.9.4-.3.8-.5 1.2-.6.5-.1.9-.1 1.3 0 0 0 .1 0 .1.1s-.1.1-.1.1c-.4.3-.4.7-.1 1.1.3.3.3.6.2 1-.1.5-.3 1.1-.4 1.6-.1-.1-.1-.2-.2-.4-.2-.5-.4-1.1-.6-1.6-.1-.1-.1-.3-.2-.4-.1-.1 0-.1.1-.2s.2-.1.3-.2c0 0 .1-.1 0-.1 0-.1-.1 0-.1 0-.3.2-.7.3-1 .4-.1 0-.3.1-.4.1-.1 0-.1.1-.1.2s.1.1.2 0c.2-.1.3 0 .3.2l.3.6c.1.1 0 .3 0 .4-.1.2-.1.5-.2.7-.1.3-.2.6-.3 1-.2-.3-.3-.6-.4-.9l-.6-1.5c0-.1 0-.2.1-.2s.2-.1.2-.1v-.1c0-.1-.1 0-.1 0-.2.2-.5.3-.8.4z\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.3 13.1c.3.6.5 1.2.8 1.9v.1c-.4.3-.9.5-1.4.6-.2 0-.2 0-.2-.2.2-.6.4-1.3.6-1.9.1-.1.1-.3.2-.5zM14.1 15.7c-.5-.1-.9-.2-1.1-.6-.4-.5-.5-1-.4-1.6 0-.2.1-.4.1-.7 0 0 0-.1.1-.1l.1.1c.2.4.4.8.5 1.2.2.6.4 1.1.7 1.7zM16.7 14.6c.1-.4.2-.8.4-1.2l.6-1.8c.1-.3.2-.6.1-.9.2.2.2.4.3.6.1.5 0 1.1-.1 1.6-.1.4-.4.8-.6 1.2-.4.1-.5.3-.7.5z\"\n});\n\nvar SvgAcfBlocks = function SvgAcfBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4, _ref5);\n};\n\nexport default SvgAcfBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.4 9l.8 2.1H3.7c0-.2.3-.8.4-1.1l.3-1s0 .1 0 0zm8.7.3h1v1.5h-1c-.1.5-.5 1-1 1.3-1.6 1.1-3.9.1-4-2.1 0-1.3 1-2.3 2.1-2.5 1.3-.2 2.6.6 2.9 1.8zM0 14.5h2.3l.5-1.3c0-.1 0 0 .1-.1H6c0 .2.5 1.2.5 1.3h2.4l-.1-.3c.7.2 1.2.4 2.1.4 1 0 2-.5 2.6-1l.3-.3.3-.3v1.6h2.2v-1.7-1.7h3.5v-2h-3.5v-.8-.8H20V5.4h-5.9V7c-.4-.4-.3-.4-.8-.7-1-.7-2.4-1-3.6-.7-.9.2-1.6.6-2.2 1.2l-.2.2c-.3.2-.7.9-.8 1.3l-.1.1c-.1-.3-.8-1.8-.9-2.3-.1-.2-.2-.5-.3-.7H3.6L0 14.5z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n});\n\nvar SvgAdvancedCustomFields = function SvgAdvancedCustomFields(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgAdvancedCustomFields;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z\"\n});\n\nvar SvgAdvancedGutenbergBlocks = function SvgAdvancedGutenbergBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgAdvancedGutenbergBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.3 13.9h1.3l.7-1.9h3.3l.7 1.9h1.3l-3-7.8H9.3l-3 7.8zM10 7.8l1.2 3H8.8l1.2-3z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"atomic-blocks_svg__st0\",\n d: \"M18.9 5.7c.4-.5.6-1.2.6-1.9 0-1.9-1.5-3.4-3.3-3.4-.7 0-1.4.2-1.9.6-1.3-.6-2.7-1-4.2-1C4.6 0 .2 4.4.2 9.9s4.4 9.9 9.9 9.9S20 15.4 20 9.9c-.1-1.4-.5-2.9-1.1-4.2zM15.1 2h1.1c.5 0 1.1.3 1.1.9 0 .4-.3.6-.3.6s.5.2.5.8c0 .6-.5 1-1.1 1h-1.2V2zM10 18.2c-4.5 0-8.2-3.7-8.2-8.2 0-4.5 3.7-8.2 8.2-8.2 1.1 0 2.2.2 3.1.6-.2.4-.3.9-.3 1.4 0 1.9 1.5 3.4 3.3 3.4.5 0 1-.1 1.4-.3.4 1 .6 2 .6 3.1.1 4.5-3.6 8.2-8.1 8.2z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"atomic-blocks_svg__st0\",\n d: \"M16.7 3c0-.3-.2-.4-.5-.4h-.5v.8h.5c.3 0 .5-.1.5-.4zM16.8 4.4c0-.3-.2-.4-.5-.4h-.6v.9h.6c.3-.1.5-.2.5-.5z\"\n});\n\nvar SvgAtomicBlocks = function SvgAtomicBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3);\n};\n\nexport default SvgAtomicBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.8 19.5c-.6.1-.8-.4-1-.8-1.5-1.8-3-3.6-4.5-5.3-.4-.5-.8-.9-1.2-1.4-.1-.2-.1-.4-.1-.6.3-1 .7-2 1.1-3 .7-2 1.5-3.9 2.2-5.9.1-.3.2-.4.5-.5 3-.5 5.9-1.1 8.9-1.5.6-.1 1 0 1.4.5 1 1.3 2 2.5 3 3.7.9 1.1 1.8 2.1 2.7 3.2.2.2.3.4.2.7-.5 1.3-.9 2.5-1.4 3.8-.6 1.7-1.2 3.3-1.9 5-.1.3-.2.4-.5.4-2.7.4-5.3.9-8 1.4-.5.1-.9.2-1.4.3zm-2.5-3.4h.9c2.4-.3 4.7-.5 7.1-.8.4 0 .5-.2.6-.6.4-2.1 1.3-4.1 2.7-5.7.2-.2.2-.3 0-.5-.9-1.1-1.9-2.2-2.8-3.4-.2-.2-.3-.2-.6-.1-1.9 1.1-4 1.6-6.2 1.6-.3 0-.5.1-.5.4-.5 1.8-1 3.5-1.6 5.3-.2.8-.5 1.6-.7 2.4 1.1-.8 2.1-1.7 3.1-2.5.5-.4.8-.9.8-1.5 0-.3.1-.6.2-.9.7-1.2 2.3-1 3.1-.4.2.2 0 .2-.1.3-.4.1-.9.3-1.3.4-.3.1-.4.3-.4.6s.1.6.3.8c.2.2.3.3.6.2.4-.2.9-.3 1.3-.4.1 0 .2-.1.3 0 .1.1 0 .2 0 .3-.4 1-1.4 1.7-2.5 1.5-.5-.1-.9 0-1.2.4-.2.2-.4.3-.6.5-.9.6-1.7 1.4-2.5 2.1zm14.5-8.6c-.1-.1-.2-.2-.2-.3-.5-.6-1.1-1.3-1.6-1.9-.8-.9-1.6-1.9-2.4-2.8-.1-.1-.2-.3-.4-.1-.4.4-.9.7-1.3 1.1-.1.1-.1.2 0 .3 1.4 1.6 2.7 3.3 4.1 4.9.1.2.2.2.4 0 .4-.4.8-.7 1.3-1.1-.1 0 0-.1.1-.1z\"\n});\n\nvar SvgBlockOptions = function SvgBlockOptions(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgBlockOptions;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"style\", null, \".block-slider_svg__st0{fill:#6171b5}\");\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"block-slider_svg__st0\",\n d: \"M2.9 16.2c0-1.2.2-2.3.4-3.5 0-.2.1-.5.3-.7.2-.3.5-.6.9-.6.3 0 .3.5.3.7.6 1.7 1.4 3.2 2.7 4.5.4.4.8.7 1.2.9.2.2.5.2.3.5-.1.3-.1.8-.6.8-1.8 0-3.5-.3-5.2-1-.3-.1-.4-.3-.3-.6v-1zM17 3.8c0 1.3-.2 2.6-.5 4-.1.6-.4.8-.9.9-.4.1-.6.1-.6-.4-.2-2-1-3.8-2.4-5.3l-.3-.3c-.2-.2-.7-.3-.5-.7.2-.4.5-.7 1-.7.4 0 .7 0 1.1.1.9.2 1.7.5 2.5.7.4.1.7.4.6.9v.8z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1 11.4c-1-1.5-2.3-2.7-3.6-4-1-.9-1.8-2-2.3-3.3-.5-1.4-.6-2.8.8-4.1-2.1 0-3.9.6-5.4 1.8-2.4 2-3 4.9-1.3 7.5.5.8 1.1 1.6 1.8 2.4 1.3 1.4 2.5 2.7 3.5 4.3.8 1.2 1.3 2.5.5 4 1.7 0 3.2-.5 4.6-1.4 2.1-1.5 3.5-4.2 1.4-7.2zm-2.7 7c-.2 0-.4-.1-.4-.3 0-.2.2-.3.4-.3s.3.1.3.3c0 .2-.1.3-.3.3zm1-.6c-.2 0-.3-.2-.3-.4s.1-.3.3-.3c.2 0 .3.1.3.3 0 .2-.1.4-.3.4zm.7-.9c-.2 0-.3-.2-.3-.4s.2-.3.4-.3.3.2.3.3c-.1.3-.2.4-.4.4z\",\n fill: \"#1b214c\"\n});\n\nvar SvgBlockSlider = function SvgBlockSlider(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"block-slider_svg__Layer_1\",\n viewBox: \"0 0 20 20\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3);\n};\n\nexport default SvgBlockSlider;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.64.986l8.602-.002c1.626 0 2.217.17 2.813.489a3.342 3.342 0 011.387 1.382c.32.596.493 1.187.5 2.818l.042 8.62c.008 1.63-.158 2.222-.474 2.818a3.297 3.297 0 01-1.373 1.383c-.593.319-1.182.489-2.809.489l-8.6.001c-1.627 0-2.218-.169-2.814-.488a3.342 3.342 0 01-1.387-1.382c-.32-.596-.493-1.187-.5-2.818l-.042-8.62c-.008-1.63.158-2.222.474-2.818a3.297 3.297 0 011.373-1.383C3.425 1.156 4.014.986 5.64.986zm-.656 2.998a1 1 0 00-1 1v10a1 1 0 001 1h3a1 1 0 001-1v-10a1 1 0 00-1-1zm7 7a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1v-3a1 1 0 00-1-1zm0-7a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1v-3a1 1 0 00-1-1z\"\n});\n\nvar SvgCoblocks = function SvgCoblocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgCoblocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.264 39.566L38.219 5.16l16.519 53.558-38.079 38.281zM69.376 112.381l35.607-35.607-46.088-13.51-38.006 38.006zM106.68 70.824L61.239 57.415 43.697 2.22 72.022 8.8l4.6 13.991 16.77 3.792 13.288 44.241zM64.633 53.949l35.664 10.522-10.291-34.264-16.699-3.775-4.604-13.999-18.641-4.337 14.571 45.853z\"\n});\n\nvar SvgCreativeBlocks = function SvgCreativeBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgCreativeBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.4 0c1.1.1 1.9.5 2.3 1.5.5 1 .3 2-.5 2.8-1.6 1.7-7.5 7.6-8.9 8.9-.6.6-.7 1.5-1.1 2.2-.4.9-.8 1.9-1.1 2.9-.1.8-1.3.7-1.3.7l-5.4.7c-.4.1-.9.5-1.3.1-.3-.3.1-1.2.1-1.2l1-6.5s.3-.3.5-.4c1.5-.6 2.9-1.1 4.4-1.7.2 0 .4-.2.5-.3L15.4.9c.6-.5 1.2-.9 2-.9zM1.3 19c.5.1.8.1 1.1 0 1.3-.3 2.6-.4 3.9-.6 1 0 1.5-.4 1.8-1.4.7-2.2 1.4-4.4 3.4-5.8.3-.2.3-.5 0-.8-.5-.4-.9-.9-1.3-1.3-1.1-1-1.1-1-2.2.1-.5.5-.9 1.1-1.6 1.4-1.3.5-2.7 1.1-4.1 1.6-.5.2-.6.4-.7.8-.3 1.7-.5 3.3-.8 5 0 .2-.1.4.1.7 1-1 2-2 3-3.1.2-.2.2-.5.2-.7-.1-.7.4-1.3 1.1-1.3.6 0 1.2.6 1.2 1.2s-.6 1.1-1.2 1c-.3 0-.5 0-.8.2-1 .9-2 1.9-3.1 3zM17.4.8c-.6 0-1 .1-1.4.5-2 2-4 4.1-6.1 6.1-.3.2-.2.4 0 .6l2.1 2.1c.3.3.4.2.7 0l1.9-1.9L18.8 4c.5-.5.7-1.6.4-2.2-.4-.7-1-1.1-1.8-1z\"\n});\n\nvar SvgEditorplus = function SvgEditorplus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgEditorplus;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.04 4.76L9.2 7.44v11.68l-8.12-2.76m10.16 2.8l8.2-2.8V4.84L11.28 7.4m-1.04-1.36l7.52-2.44-7.52-2.28L2.52 3.6\"\n});\n\nvar SvgElegantBlocks = function SvgElegantBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgElegantBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 210.86,\n cy: 44.87,\n r: 12.79\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.85 0A100.85 100.85 0 000 100.85V256h155.15A100.85 100.85 0 00256 155.15V0zm-59 149.49l-8.29 8.28a4.83 4.83 0 11-6.83-6.83l8.28-8.28a4.83 4.83 0 116.84 6.83zm34.86 53.16a9.31 9.31 0 010-13.13l10.69-10.69A9.28 9.28 0 01100.57 192l-10.69 10.65a9.31 9.31 0 01-13.13 0zm35.92 18.92l-7.41 7.43a5.75 5.75 0 01-8.13-8.13l7.45-7.45a5.75 5.75 0 018.13 8.13zM123.24 211a4.84 4.84 0 01-6.83 0l-1.23-1.24a4.81 4.81 0 010-6.8l31.07-31.48a8.4 8.4 0 000-11.88l-.89-.89a8.4 8.4 0 00-11.88 0l-16.94 16.94a8.41 8.41 0 01-11.89 0l-1.06-1.06a8.41 8.41 0 010-11.89l15.08-15.08a8.4 8.4 0 000-11.88l-.89-.89a8.41 8.41 0 00-11.89 0L90.8 149.93a8.42 8.42 0 01-13-1.35 8.61 8.61 0 011.33-10.76l16.71-16.71a8.41 8.41 0 000-11.89l-.88-.88a8.4 8.4 0 00-11.89 0L51.8 139.56a4.83 4.83 0 01-6.8-6.83l50.13-50.15 78.26 78.27zm52.54-52.54L97.52 80.19l3.28-3.28 78.27 78.26zm48.34-95.19a22.15 22.15 0 01-11.47 6.1 28.49 28.49 0 00-8.17 2.82 65.85 65.85 0 00-10.35 7.18c-10.3 11.06-12.26 20-12.25 26 0 16 14.07 26.16 9.68 37.63-1.91 5-6.41 7.87-9.38 9.38L143 113.18l-39.28-39.24c1.51-3 4.39-7.47 9.38-9.38 11.47-4.39 21.58 9.68 37.63 9.68 6 0 15-1.95 26-12.25a75.27 75.27 0 005.62-7.69 31.65 31.65 0 004.17-11 22.25 22.25 0 1137.58 19.94z\"\n});\n\nvar SvgEnhancedBlocks = function SvgEnhancedBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 256 256\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgEnhancedBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n filterUnits: \"objectBoundingBox\",\n id: \"essential-blocks_svg__a\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 15,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 11,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\",\n in: \"shadowBlurOuter1\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M135.028 96h103.944l.497.216h.373c6.217 0 11.273 2.774 15.169 8.322 1.326 2.305 1.989 4.683 1.989 7.133 0 5.98-3.398 10.59-10.195 13.833-2.321.937-4.642 1.405-6.963 1.405H133.909c-4.973 0-9.366-1.981-13.179-5.944-2.487-2.882-3.73-5.836-3.73-8.862v-1.297c0-4.755 2.735-8.826 8.206-12.212 2.984-1.585 5.927-2.378 8.828-2.378h.497l.497-.216zm1.242 77.273l58.078.21c3.862 0 7.995 1.544 12.397 4.632 3.503 3.158 5.255 6.596 5.255 10.316 0 5.193-3.1 9.438-9.298 12.736-3.054 1.404-6.019 2.106-8.893 2.106h-58.752c-5.75 0-10.735-2.246-14.958-6.737-2.066-2.526-3.099-5.053-3.099-7.58v-1.262c0-4.772 3.19-8.877 9.567-12.316 3.234-1.263 6.289-1.895 9.163-1.895h.27c.18 0 .27-.07.27-.21zM241.632 173h.736c5.685 0 10.14 2.968 13.369 8.905.842 2.12 1.263 4.17 1.263 6.148 0 5.936-2.912 10.495-8.737 13.675-2.105.848-3.965 1.272-5.579 1.272h-1.473c-4.772 0-8.843-2.509-12.211-7.527-1.333-2.544-2-5.052-2-7.526 0-5.795 2.877-10.318 8.632-13.569 2.175-.919 4.175-1.378 6-1.378zm-106.604 75.727h103.944c0 .142 1.284.318 3.854.53 4.31.919 7.584 2.58 9.822 4.983 2.901 2.897 4.352 6.219 4.352 9.964 0 5.725-3.398 10.248-10.195 13.57-2.073.635-3.482.953-4.228.953H131.423c-2.901 0-6.383-1.66-10.444-4.982-2.653-3.039-3.979-6.113-3.979-9.223v-.954c0-5.23 3.108-9.505 9.325-12.827 1.824-.918 4.642-1.554 8.455-1.908 0-.07.083-.106.248-.106z\",\n id: \"essential-blocks_svg__b\"\n}));\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n fill: \"#FFF\",\n cx: 187,\n cy: 187,\n r: 187\n}), /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#000\",\n filter: \"url(#essential-blocks_svg__a)\",\n xlinkHref: \"#essential-blocks_svg__b\"\n}), /*#__PURE__*/React.createElement(\"use\", {\n fill: \"#23282D\",\n xlinkHref: \"#essential-blocks_svg__b\"\n}));\n\nvar SvgEssentialBlocks = function SvgEssentialBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgEssentialBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"style\", null, \".forms-gutenberg_svg__st5{opacity:.1}.forms-gutenberg_svg__st6{opacity:.16}.forms-gutenberg_svg__st7{opacity:.6}.forms-gutenberg_svg__st8{fill:#fff}.forms-gutenberg_svg__st9{opacity:.3}\");\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_1_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 23.101,\n y1: 4.596,\n x2: 17.855,\n y2: 19.01,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#4facfe\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00f2fe\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 13.1l-1-2.8-5.2 1.9c0 .1.1.3.1.4.1.2.1.5.1.7 0 .1 0 .3.1.4v.8c0 .5.1 1 0 1.6v1c-.1.5-.1 1-.3 1.6h.1c-.1.5-.2 1-.5 1.4-.1.4-.3.8-.4 1.2-.2.4-.3.7-.5 1.1-.1.2-.2.4-.3.5-.1.2-.2.3-.3.5-.2.4-.5.7-.7 1-.1.2-.3.4-.4.5-.1.1-.2.3-.3.4-.1.1-.2.3-.3.4l-.9.9-.4.4c-.3.2-.6.5-.9.7-.1.1-.2.2-.3.2-.2.2-.4.3-.7.5-.1.1-.2.1-.2.2-.2.1-.3.2-.5.3-.2.1-.3.2-.5.3l-.6.3c-.2.1-.3.2-.5.2-.1 0-.1.1-.2.1 0 0-.1 0-.1.1-.1 0-.2.1-.3.1-.2.1-.5.2-.7.3 1.8.3 3.7.4 5.5 0 1.8-.3 3.6-1 5.2-2 2.2-1.3 3.9-3.2 5.1-5.3 1.2-2.1 1.7-4.5 1.5-6.8-.1-1.2-.3-2.1-.7-3.1z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_1_)\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_2_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 20.054,\n y1: 13.455,\n x2: 18.011,\n y2: 19.068,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#00c6fb\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#005bea\"\n}));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.8 12.2l-6.4 2.3c-.4.1-.8.4-1.1.6-.3.3-.6.6-.8 1-.2.4-.3.8-.4 1.2 0 .4 0 .8.2 1.2.1.4.4.7.6 1 .3.3.6.5 1 .7.4.2.8.2 1.3.2.4 0 .9-.1 1.3-.2l4.4-1.6c.5-2.2.4-4.4-.1-6.4z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_2_)\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_3_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 15.53,\n y1: 4.084,\n x2: 8.873,\n y2: 22.373,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#89f7fe\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#66a6ff\"\n}));\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5 19.9c-.4.9-1 1.7-1.7 2.4s-1.6 1.2-2.6 1.6c-.4.2-.9.3-1.4.4-.5.1-.9.1-1.4.1-1.4 0-2.7-.4-3.8-1.1-.2-.1-.4-.2-.7-.3-2-1-3.7-2.5-4.9-4.3-1.2-1.8-1.8-3.9-1.9-6v-.2c-1.8 2.9-2.3 6.2-1.5 9.2s2.9 5.6 5.8 7.2c1.2.6 2.5 1.1 3.8 1.3 3.2-1.2 6-3.2 7.9-5.8 1.1-1.5 1.9-2.9 2.4-4.5z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_3_)\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_4_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 19.95,\n y1: 23.365,\n x2: 17.904,\n y2: 28.987,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#4facfe\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00f2fe\"\n}));\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.5 1.6l-5.9 2.1c0 .1-.1.2-.1.3-.1.3-.2.5-.2.8-.2.6-.5 1.3-.8 1.9-.1.1-.1.2-.2.4v.1c-.1.2-.2.3-.3.5-.1.2-.2.3-.3.5-.1.1-.2.3-.3.4-.1.1-.1.2-.2.3l-.2.2c-.1.1-.2.2-.2.3l-.1.1c-.1.1-.2.3-.3.4v.1c-.1.1-.2.3-.4.4-.1.1-.2.3-.3.4 0 .1-.1.1-.1.1l-.3.3-.4.4-.3.3c.1-.1.3-.1.4-.2l6.4-2.3 1.2-.6c1.3-.8 2.3-1.9 2.9-3.3.4-1.2.4-2.6 0-3.9z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_4_)\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"forms-gutenberg_svg__SVGID_5_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 15.998,\n y1: 11.362,\n x2: 10.556,\n y2: 26.312,\n gradientTransform: \"matrix(1 0 0 -1 0 33)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#00c6fb\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#005bea\"\n}));\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.6 3.8l-6.8 2.5c-3 1.1-5.6 3.1-7.3 5.7-.1.1-.2.3-.3.4v1.1c0 .2 0 .4.1.6 0 .1 0 .2.1.3 0 .1.1.3.1.4 0 .1.1.2.1.3v.2l.3.9c0 .1.1.1.1.2s0 .1.1.2v.1s0 .1.1.1c0 .1.1.2.2.4 0 0 0 .1.1.1.1.2.1.3.2.5.1.1.1.2.2.3 0 .1.1.1.1.2.2.3.3.5.5.8.1.1.1.2.2.2.3.4.6.8 1 1.2l.3.3c.2.2.5.4.7.6.1.1.2.2.3.2.3.2.6.5.9.7.2.1.3.2.5.3.2.1.3.2.5.3 0 0 .1 0 .1.1.2.1.3.2.5.2-1.1-.7-1.9-1.7-2.4-2.9-.1-.8-.2-1.6-.1-2.5 0-.8.3-1.7.7-2.5.8-1.4 2.1-2.6 3.7-3.3l.3-.3.4-.4.3-.3.1-.1c.1-.1.2-.2.3-.4l.4-.4V10c.1-.1.2-.3.3-.4l.1-.1c.1-.1.2-.2.2-.3L16 9c.1-.1.1-.2.2-.3.1-.1.2-.3.3-.4.1-.2.2-.3.3-.5.1-.2.2-.3.3-.5v-.1c.1-.1.1-.2.2-.4.3-.6.6-1.2.8-1.9.1-.3.2-.5.2-.8.2-.1.3-.2.3-.3z\",\n fill: \"url(#forms-gutenberg_svg__SVGID_5_)\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st5\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2 23.8c-.4.2-.9.3-1.4.4-2 1.7-4.7 3.2-8.4 4.6 1.2.6 2.5 1.1 3.8 1.3 3.2-1.2 6-3.2 7.9-5.8 1-1.4 1.8-2.8 2.3-4.4-.4.9-1 1.7-1.7 2.4s-1.6 1.2-2.5 1.5z\"\n}));\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st6\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.8 12.2l-.6.2c.2 2.3-.3 4.7-1.4 6.9l2-.7c.6-2.2.5-4.4 0-6.4z\"\n}));\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st5\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.2 8.9c-1.1.9-2 1.9-2.8 3.1-.1.1-.2.3-.3.4v1.1c0 .2 0 .4.1.6 0 .1 0 .2.1.3 0 .1.1.3.1.4 0 .1.1.2.1.3v.2l.3.9c0 .1.1.1.1.2s0 .1.1.2v.1s0 .1.1.1c0 .1.1.2.2.4 0 0 0 .1.1.1.1.2.1.3.2.5.1.1.1.2.2.3 0 .1.1.1.1.2.2.3.3.5.5.8.1.1.1.2.2.2.3.4.6.8 1 1.2l.3.3c.2.2.5.4.7.6.1.1.2.2.3.2.3.2.6.5.9.7.2.1.3.2.5.3.2.1.3.2.5.3 0 0 .1 0 .1.1.2.1.3.2.5.2-1.1-.7-1.9-1.7-2.4-2.9C7.4 18 6 14.4 6.9 9.1c.3-.1.3-.2.3-.2z\"\n}));\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st5\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5 2.4l-3.9 1.4c0 .1-.1.2-.1.3-.1.3-.2.5-.2.8-.2.6-.5 1.3-.8 1.9-.1.1-.1.2-.2.4v.1c-.1.2-.2.3-.3.5-.1.2-.2.3-.3.5-.1.1-.2.3-.3.4-.1.1-.1.2-.2.3-.1 0-.1 0-.2.1s-.2.2-.2.3l-.1.1c-.1.1-.2.3-.3.4v.1c-.1.1-.2.3-.4.4-.1.1-.2.3-.3.4 0 .1-.1.1-.1.1l-.3.3-.4.4-.3.3c.1-.1.3-.1.4-.2l1.7-.6c2.9-2.4 5.2-5.3 6.8-8.5-.1 0-.1-.1 0-.2z\"\n}));\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"forms-gutenberg_svg__st8\",\n d: \"M22.1 21.1c-.8 1.9-2 3.6-3.5 5.1-1.5 1.5-3.3 2.7-5.3 3.6.1 0 .2-.1.5-.2.2-.1.4-.1.6-.2.3-.1.5-.2.8-.3.1-.1.3-.1.4-.2.1-.1.3-.2.4-.3l.9-.6c.3-.2.6-.4.9-.7.3-.3.6-.5.9-.8.3-.3.6-.6.8-.9.3-.3.5-.6.7-.9l.6-.9c.2-.3.3-.5.5-.8.1-.3.2-.5.3-.7.1-.2.1-.4.2-.6.2-.4.2-.6.3-.6z\"\n})));\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"forms-gutenberg_svg__st8\",\n d: \"M18.6 3.8l-.2.4-.5 1-.3.6c-.1.2-.2.5-.4.7L16.3 8c-.3.5-.6 1-.9 1.4-.1.2-.2.4-.4.6-.2.2-.3.4-.4.6-.3.4-.5.7-.7.9-.1.2-.2.3-.2.3 2.4-2.3 4.1-5 4.9-8z\"\n})));\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st7\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"forms-gutenberg_svg__st8\",\n d: \"M4.9 16.2c-.4-1.2-.7-2.4-.7-3.6v.6c0 .5 0 1 .1 1.5.1.7.3 1.4.5 2 .1.3.2.7.4 1 .2.4.4.7.6 1.1.2.3.5.7.7 1 .1.2.3.3.4.5l.4.4c.3.3.6.5.9.7.3.2.5.4.8.6.2.2.5.3.8.4l.6.3c.3.1.5.2.5.2-2.8-1.5-4.9-3.8-6-6.7z\"\n})));\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st9\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.5 1.6L11.8 6.2c-3 1.1-5.6 3.1-7.3 5.7.3-.4.6-.7.9-1.1.3-.4.6-.7 1-1 .3-.3.6-.5.9-.8-.1 0 0 0 0 0 .4-.3.8-.6 1.1-.8.4-.3.8-.5 1.2-.7.5-.3 1-.5 1.4-.7.4-.2.9-.3 1.3-.5l1.4-.5 2.7-1 2.7-1c1.1-.4 2.1-.8 3.2-1.2.7-.2 1.3-.5 2-.8l.1.2.1.5.1.5v1l-.1.5-.1.5-.2.5-.2.6-.2.5-.4.4-.3.4-.4.4-.4.4-.4.4-.5.3c1.3-.8 2.3-1.9 2.9-3.3.6-1.3.6-2.7.2-4z\"\n}));\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"g\", {\n className: \"forms-gutenberg_svg__st9\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 13.1l-1-2.8-4.5 1.6c.8-.2 1.5-.5 2.3-.7.7-.2 1.4-.4 2.1-.7l.7 2.2c.1.4.3.8.4 1.2l.3 1.2c.1.4.1.8.1 1.2v1.2c0 .4-.1.8-.1 1.2-.1.4-.1.8-.3 1.2-.1.4-.2.8-.4 1.2-.1.2-.2.4-.2.6l-.3.6-.3.6-.3.6c-.1.2-.2.4-.3.5-.1.2-.2.4-.4.5l-.4.5-.4.4c-.1.2-.3.3-.4.5l-.5.5c-.3.3-.7.6-1 .9-.3.3-.7.5-1.1.8 2.2-1.3 3.9-3.2 5.1-5.3 1.2-2.1 1.7-4.5 1.5-6.8 0-1-.2-1.9-.6-2.9z\"\n}));\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"text\", {\n transform: \"translate(300 167.5)\",\n fontFamily: \"MyriadPro-Regular\",\n fontSize: 12\n}, \"32\");\n\nvar SvgFormsGutenberg = function SvgFormsGutenberg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"forms-gutenberg_svg__Layer_1\",\n viewBox: \"0 0 32 32\",\n xmlSpace: \"preserve\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21);\n};\n\nexport default SvgFormsGutenberg;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b3c315\",\n d: \"M70 54h41v18H70z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#96a40a\",\n d: \"M65 54h5v18h-5z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b3c315\",\n d: \"M94 50h13v3H94z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#96a40a\",\n d: \"M89 50h5v3h-5z\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b3c315\",\n d: \"M74 50h13v3H74z\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#96a40a\",\n d: \"M69 50h5v3h-5z\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b977c7\",\n d: \"M72 92h13v3H72z\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#9e5cac\",\n d: \"M67 92h5v3h-5z\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#b977c7\",\n d: \"M51 92h13v3H51z\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#9e5cac\",\n d: \"M46 92h5v3h-5z\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#49c3f5\",\n d: \"M92 75h19v19H92z\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#109ad4\",\n d: \"M87 75h5v19h-5z\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 97h86l-18 19H43L25 97z\",\n fill: \"#b977c7\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#9e5cac\",\n d: \"M20 97l18 19h5L25 97z\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111 36H25l18-19h50l18 19z\",\n fill: \"#f1b014\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f09108\",\n d: \"M43 17h-5L20 36h5z\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f1b014\",\n d: \"M51 12h14v3H51z\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f09108\",\n d: \"M46 12h5v3h-5z\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f1b014\",\n d: \"M73 12h14v3H73z\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#f09108\",\n d: \"M68 12h5v3h-5z\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#49c3f5\",\n d: \"M25 39h18v26H25z\"\n});\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#109ad4\",\n d: \"M20 39h5v26h-5z\"\n});\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#d25e4d\",\n d: \"M20 68h5v26h-5z\"\n});\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#e67666\",\n d: \"M25 68h18v26H25z\"\n});\n\nvar SvgGetwid = function SvgGetwid(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 128 128\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24);\n};\n\nexport default SvgGetwid;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201 94.59h12.5H201zm-146 0h12.5H55zm20.038 115.868c-6.137-3.161-13.675-.749-16.836 5.388-3.162 6.137-.75 13.675 5.387 16.837l11.45-22.225zm117.373 22.225c6.137-3.162 8.549-10.7 5.387-16.837-3.161-6.137-10.699-8.549-16.836-5.388l11.449 22.225zM128 33.5c33.318 0 60.5 27.256 60.5 61.09h25c0-47.45-38.185-86.09-85.5-86.09v25zm60.5 61.09c0 33.835-27.182 61.091-60.5 61.091v25c47.315 0 85.5-38.639 85.5-86.09h-25zM128 155.682c-33.319 0-60.5-27.256-60.5-61.09h-25c0 47.451 38.185 86.09 85.5 86.09v-25zm-60.5-61.09C67.5 60.756 94.681 33.5 128 33.5v-25c-47.315 0-85.5 38.64-85.5 86.09h25zm-3.91 138.092c40.937 21.089 87.883 21.089 128.821 0l-11.449-22.225c-33.754 17.389-72.17 17.389-105.924 0L63.59 232.683z\"\n});\n\nvar SvgGhostkit = function SvgGhostkit(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgGhostkit;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"style\", null);\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"guteblock_svg__prefix__Layer_1\"\n}, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"guteblock_svg__prefix__SVGID_1_\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 68.035,\n y1: 10.602,\n x2: 33.222,\n y2: 86.651\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#ffd500\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.258,\n stopColor: \"#ff683e\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.498,\n stopColor: \"#ff1d6b\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.781,\n stopColor: \"#5d25cd\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#3eb9fa\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.95 17.49L17.49 31.95c-9.14 9.14-9.14 23.96 0 33.1L34.94 82.5c9.14 9.14 23.96 9.14 33.1 0L82.5 68.04c9.14-9.14 9.14-23.96 0-33.1L65.06 17.49c-9.15-9.14-23.96-9.14-33.11 0z\",\n fill: \"url(#guteblock_svg__prefix__SVGID_1_)\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.81 36.74c-3.94 0-7.64 1.53-10.43 4.32l-5.85 5.85a6.488 6.488 0 000 9.17 6.488 6.488 0 009.17 0l5.85-5.85c.43-.43.92-.52 1.26-.52.34 0 .83.09 1.26.52.43.43.52.92.52 1.26 0 .34-.09.83-.52 1.26L52.98 66.83c-.05.05-.1.1-.14.15-.44.47-.96.58-1.32.58-.36.01-.88-.08-1.33-.54L32.98 49.81c-.69-.69-.72-1.79-.09-2.52l14.17-14.17c.05-.05.1-.1.14-.15.67-.71 1.78-.73 2.54-.04l.98.95c2.57 2.49 6.68 2.43 9.17-.14 2.49-2.57 2.43-6.68-.14-9.17l-1.03-1c-.03-.03-.05-.05-.08-.07-5.94-5.57-15.25-5.33-20.82.51l-14.2 14.2c-.05.05-.1.1-.14.15a14.744 14.744 0 00.33 20.61l17.21 17.22c2.8 2.81 6.51 4.34 10.47 4.34h.24c4.01-.06 7.73-1.69 10.49-4.59l14.02-14.02c2.79-2.79 4.32-6.49 4.32-10.43 0-3.94-1.53-7.64-4.32-10.43a14.668 14.668 0 00-10.43-4.32z\",\n fill: \"#fff\"\n}));\n\nvar SvgGuteblock = function SvgGuteblock(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 100 100\",\n \"aria-hidden\": \"true\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgGuteblock;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.388 5.75l-6.716-3.91a1.173 1.173 0 00-1.104 0l-.184.092c0 .046.046.092.046.138v2.3c0 .138-.092.276-.276.276h-2.3c-.138 0-.276-.092-.276-.276v-.828l-.506.276v2.53a.297.297 0 01-.276.276H3.22a.297.297 0 01-.276-.276v-.736l-.138.092c-.322.184-.552.598-.552.966v1.15H3.68c.138 0 .23.092.23.23v2.208c0 .138-.092.23-.23.23H2.254v3.956c0 .368.23.782.552.966l6.716 3.91c.322.184.782.184 1.104 0l6.762-3.864c.322-.184.552-.598.552-.966V6.67c0-.322-.23-.736-.552-.92zm-3.358 7.038l-3.864 2.3L6.21 12.88l-.092-4.508 3.864-2.3 3.68 2.07-.46.782-3.22-1.794-2.944 1.748.046 3.45 2.99 1.656 2.944-1.748v-.644l-2.668-.046v-.92l3.542.092v2.07zM2.3 5.014a.099.099 0 01-.092.092h-.782c-.046 0-.046-.046-.046-.092v-.736c0-.046 0-.092.046-.092h.736c.092 0 .138.046.138.092v.736zM1.518 7.222c0 .092-.046.138-.138.138H.138C.046 7.36 0 7.314 0 7.222V5.98c0-.092.046-.138.138-.138H1.38c.092 0 .138.046.138.138v1.242z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.496 4.048h2.162V6.21H3.496zM7.038 2.254h1.978v1.978H7.038zM3.68 3.174c0 .046-.046.138-.138.138H2.346c-.092 0-.138-.092-.138-.138V1.932c0-.092.046-.138.138-.138h1.196c.092 0 .138.092.138.138v1.242zM6.164 2.622c0 .092-.046.138-.138.138H4.83c-.092 0-.138-.046-.138-.138V1.426c0-.092.046-.138.138-.138h1.196c.092 0 .138.046.138.138v1.196zM8.05 1.38a.099.099 0 01-.092.092H6.9a.099.099 0 01-.092-.092V.322c0-.046.046-.092.092-.092h1.012c.046 0 .092.046.092.092V1.38zM1.564 8.28H3.45v1.886H1.564z\"\n});\n\nvar SvgGutentor = function SvgGutentor(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"-1.1 -0.2 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgGutentor;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.145 6.164L7.855 41.837V6.164h32.29z\",\n fillOpacity: 0.502,\n fillRule: \"nonzero\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.145 41.836L7.855 6.163v35.673h32.29z\",\n fillRule: \"nonzero\"\n});\n\nvar SvgKadenceBlocks = function SvgKadenceBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 48 48\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n strokeLinejoin: \"round\",\n strokeMiterlimit: 1.414,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2);\n};\n\nexport default SvgKadenceBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.706 7.854l.004.01c.734 2.723.003 5.708-1.395 8.169-1.669 2.927-4.184 5.357-7.464 6.256-4.204 1.164-7.863-.293-10.944-3.149C-.097 15.427-1.665 9.8 2.303 5.352a17.352 17.352 0 015.683-4.009A14.566 14.566 0 0112.498.077c1.734-.184 3.298-.075 4.885.732a14.601 14.601 0 013.615 2.583 9.982 9.982 0 012.708 4.462zm-12.659 4.272a.03.03 0 01.025.012l2.536 3.432c.25.338.66.54 1.1.54h1.573c.246 0 .485-.075.682-.213.502-.353.605-1.02.228-1.49l-2.343-2.924a1.188 1.188 0 01.05-1.558l2.045-2.26a.91.91 0 00.24-.61c0-.523-.453-.946-1.011-.946H14.66a1.37 1.37 0 00-1.07.502l-2.534 3.173a.032.032 0 01-.025.012c-.009 0-.016-.007-.016-.015V7.359c0-.69-.598-1.25-1.336-1.25h-.925c-.739 0-.81.56-.81 1.25v7.5c0 .69.071 1.25.81 1.25h.94c.738 0 1.337-.56 1.337-1.25v-2.718c0-.008.007-.015.015-.015z\"\n});\n\nvar SvgKiokenBlocks = function SvgKiokenBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 -0.5 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgKiokenBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.831 7.877l.001-.009-.001-.009a3.675 3.675 0 01-.132-.247l-.057-.115c-.277-.498-.381-.99-1.033-1.064h-.048a.91.91 0 00-.908.862v.002c.674.126 1.252.278 1.813.468l-.092-.027.283.096.147.053s.028 0 .028-.011z\"\n});\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.982 13.574a68.843 68.843 0 00-.39-7.112l.026.299.07-.019a1.1 1.1 0 00.052-2.09l-.008-.002h-.026a2.306 2.306 0 01-1.149-.861l-.005-.007C19.852-.178 14.3.001 14.3.001S8.75-.178 6.05 3.782c-.28.401-.676.704-1.14.862l-.016.005a1.097 1.097 0 00-.754 1.04v.026-.001l-.001.034c0 .493.335.907.789 1.029l.007.002.045.011a65.7 65.7 0 00-.364 6.801v.012s-9.493 13.012-1.277 17.515c4.733 2.431 6.881-.769 6.881-.769s1.397-1.661-1.784-3.355v-4.609a.638.638 0 01.625-.628h1.212v-.59c0-.275.223-.498.498-.498h1.665a.498.498 0 01.496.498v.59h2.721v-.59c0-.275.223-.498.498-.498h1.665c.271.005.49.226.49.498v.59h1.209c.349 0 .633.28.639.627v4.584c-3.193 1.703-1.784 3.355-1.784 3.355s2.148 3.193 6.879.769c8.222-4.503-1.269-17.515-1.269-17.515zm-1.396-3.313a6.398 6.398 0 01-1.563 3.797l.007-.008c-1.703 2.01-4.407 3.249-6.721 4.432-2.325-1.177-5.026-2.416-6.736-4.432a6.43 6.43 0 01-1.555-3.769l-.001-.02c-.126-2.22.583-5.929 3.044-6.74 2.416-.788 3.947 1.288 4.494 2.227a.863.863 0 001.488.004l.002-.004c.551-.932 2.08-3.008 4.494-2.22 2.474.805 3.174 4.513 3.046 6.734z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.463 10.087h-.028c-.192.026-.121.251-.047.356.254.349.407.787.407 1.26v.018-.001a1.277 1.277 0 01-.633 1.1l-.006.003c-.739.426-1.377-.145-2.054-.398a7.5 7.5 0 00-2.42-.455h-.009v-1.033a4.886 4.886 0 002.551-1.486l.004-.004a.916.916 0 00-.158-1.383l-.003-.002a4.738 4.738 0 00-2.764-.881 4.752 4.752 0 00-2.819.92l.013-.009a.9.9 0 00-.146 1.317l-.001-.001a4.906 4.906 0 002.553 1.53l.033.007v1.05a8.061 8.061 0 00-2.118.343l.057-.015a5.578 5.578 0 00-.908.358l.033-.015c-.519.26-1.037.436-1.58.121a1.218 1.218 0 01-.617-1.058v-.007-.007c0-.47.153-.905.411-1.257l-.004.006c.047-.068.089-.17.026-.241s-.189 0-.27.03a1.592 1.592 0 00-.479.381l-.002.002a1.716 1.716 0 00-.394 1.097v.011-.001a1.93 1.93 0 00.964 1.651l.009.005c.296.178.654.283 1.036.283.364 0 .706-.095 1.001-.263l-.01.005a6.51 6.51 0 013.225-.728h-.01.03c1.277 0 2.382.266 3.266.775.27.159.594.253.94.253h.003c.355-.002.688-.098.974-.265l-.009.005a2.028 2.028 0 001.007-1.75v-.004l.002-.086c0-.625-.34-1.171-.846-1.462l-.008-.004a.388.388 0 00-.199-.07h-.001zm-6.362-1.256c-.238.213-.468.581-.832.345a.933.933 0 01-.161-.136.352.352 0 01.081-.555l.002-.001c.594-.309 1.203-.543 1.884-.49-.324.281-.649.56-.973.837z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.89 13.578a1.988 1.988 0 01-3.173.005l-.004-.005a.36.36 0 10-.576.427 2.707 2.707 0 004.323.007l.005-.007a.362.362 0 00-.072-.498l-.001-.001a.356.356 0 00-.501.071l-.001.001zM18.507 11.707a.35.35 0 11-.702 0 .35.35 0 01.702 0zM17.389 11.049a.35.35 0 11-.702 0 .35.35 0 01.702 0zM10.798 11.707a.35.35 0 11-.702 0 .35.35 0 01.702 0zM11.918 11.049a.35.35 0 11-.702 0 .35.35 0 01.702 0zM8.773 7.877l-.002-.009.002-.009c.047-.081.089-.164.132-.247.019-.038.036-.079.057-.115.275-.498.379-.99 1.033-1.064h.046c.487 0 .884.382.91.862v.002c-.678.124-1.261.277-1.827.468l.092-.027-.275.096-.1.036-.045.017s-.023 0-.023-.011z\"\n});\n\nvar SvgOtterBlocks = function SvgOtterBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 29 32\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref, _ref2, _ref3, _ref4);\n};\n\nexport default SvgOtterBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h21v21H0z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.296 9.925c.014.013.029.022.042.034l-2.456 2.455A5.376 5.376 0 014.697 10.9C4.232 10.024 4 9.02 4 7.884c0-1.134.232-2.15.697-3.045.21-.402.456-.76.732-1.081l2.514 2.514c-.245.432-.375.966-.375 1.612 0 .902.243 1.582.728 2.04zm7.782-7.707v12.19l-4.393-4.394c.053-.044.108-.08.159-.13.499-.485.749-1.172.749-2.06 0-.68-.15-1.24-.441-1.679l3.926-3.927z\",\n fill: \"#444\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.593 11.7c-.793 1.312-1.928 1.968-3.405 1.968a4.878 4.878 0 01-2.614-.728 4.966 4.966 0 01-.691-.525L8.338 9.96c.478.433 1.054.654 1.732.654.614 0 1.15-.207 1.615-.598l4.393 4.393V19h-3.485v-7.3zm3.485-9.597v.116l-3.926 3.927a2.476 2.476 0 00-2.082-1.09c-.684 0-1.272.242-1.764.727-.144.143-.26.31-.363.49L5.43 3.759a5.031 5.031 0 011.155-1.01A4.795 4.795 0 019.188 2c1.531 0 2.666.588 3.405 1.764V2.103h3.485z\",\n fill: \"#000\"\n}));\n\nvar SvgQodeblock = function SvgQodeblock(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgQodeblock;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.38 8.8c0-2.42-.88-4.4-2.53-6.05C13.2 1.1 11.11.22 8.8.22s-4.4.88-6.05 2.53C1.1 4.4.22 6.38.22 8.8s.88 4.4 2.53 6.05c1.65 1.65 3.63 2.53 6.05 2.53.99 0 1.98-.11 2.86-.44l-2.42-2.53c-.11-.11-.33-.22-.44-.22-1.54 0-2.75-.55-3.74-1.54-1.1-.99-1.54-2.31-1.54-3.85s.55-2.86 1.54-3.85c.99-.99 2.2-1.54 3.74-1.54s2.75.55 3.74 1.54c.99.99 1.54 2.31 1.54 3.85 0 .77-.11 1.54-.44 2.2-.22.55-.88.66-1.32.22-1.21-1.21-3.08-1.32-4.4-.22l2.75 2.86 2.31 2.42c.99.99 2.64 1.1 3.74.11l.33-.33-1.43-1.43c-.22-.22-.22-.44 0-.66a8.383 8.383 0 001.76-5.17z\"\n});\n\nvar SvgQubely = function SvgQubely(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"-1 -1 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgQubely;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.982 16.711a4.48 4.48 0 01-7.965 0A4.972 4.972 0 0110 14.709c1.629 0 3.074.789 3.982 2.002zm-.748-7.657c-.314 2.56 1.248 2.919 1.248 5.603a4.5 4.5 0 01-.205 1.344 5.635 5.635 0 00-8.554 0 4.5 4.5 0 01-.205-1.344c0-2.684 1.563-3.043 1.247-5.603C6.403 6.126 2.45 6.589 2.45 3.72A2.857 2.857 0 015.308.862C7.017.862 8.073 2.42 10 2.42c1.926 0 2.982-1.558 4.691-1.558a2.857 2.857 0 012.857 2.858c.001 2.869-3.952 2.406-4.314 5.334zM8.557 4.107h-.708a.9.9 0 01-.901.9.9.9 0 01-.901-.9h-.708a1.609 1.609 0 103.218 0zm.979 7.141a.568.568 0 00-.566-.568.567.567 0 10.566.568zm2.062 0a.569.569 0 00-.568-.568.567.567 0 10.568.568zm3.062-7.141h-.707a.9.9 0 01-1.802 0h-.707a1.61 1.61 0 003.216 0z\"\n});\n\nvar SvgSnowMonkeyBlocks = function SvgSnowMonkeyBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgSnowMonkeyBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.08 136L23 176.66a4.75 4.75 0 003.53 8.15l86.91.14zM177.91 128.39a17 17 0 00-5-12.07L71.39 14.72 26.61 59.5a17 17 0 00-5 12.05 17 17 0 005 12.05l101.55 101.6v-.07l44.76-44.76a17 17 0 005-12zM172.95 14.69H86.12l49.42 49.62 40.92-41.16a5 5 0 00-3.51-8.46z\"\n});\n\nvar SvgStackableUltimateGutenbergBlocks = function SvgStackableUltimateGutenbergBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 200 200\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgStackableUltimateGutenbergBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.9.3C12.2.3.3 12.2.3 26.8s11.9 26.5 26.5 26.5c14.7 0 26.5-11.9 26.5-26.5S41.5.3 26.9.3zm-2 27.7c0 1.1-.1 2.2-.4 3.2-.3 1-.7 1.8-1.3 2.6-.6.7-1.3 1.3-2.2 1.7-.9.4-2 .6-3.2.6-1.3 0-2.4-.2-3.3-.7-.9-.4-1.7-1-2.2-1.8-.6-.7-1-1.6-1.3-2.6-.3-1-.4-2-.4-3.1v-8.3h3.8V28c0 .6.1 1.2.2 1.8s.3 1.1.6 1.5c.3.4.6.8 1.1 1.1s1 .4 1.6.4 1.2-.1 1.6-.4.8-.6 1.1-1.1c.3-.4.5-1 .6-1.5.1-.6.2-1.2.2-1.8v-8.3h3.8c-.3 0-.3 8.3-.3 8.3zm17.2 8H39v-1.6c-1.2 1.1-2.7 1.7-4.3 1.7-1.1 0-2.1-.2-3-.6-.9-.4-1.8-1-2.5-1.7s-1.3-1.6-1.7-2.6c-.4-1-.6-2.2-.6-3.4 0-1.1.2-2.2.6-3.2.4-1 1-1.9 1.7-2.6.7-.7 1.6-1.3 2.6-1.7 1-.4 2.1-.6 3.2-.6 1.5 0 2.8.3 4 1 1.1.6 2 1.5 2.5 2.6l-2.8 2.1c-.4-.7-.9-1.3-1.6-1.7-.7-.4-1.4-.6-2.3-.6-.6 0-1.2.1-1.7.4s-1 .6-1.3 1.1-.7 1-.8 1.6c-.2.6-.3 1.2-.3 1.9s.1 1.4.3 1.9c.2.6.5 1.1.9 1.5.4.4.8.8 1.4 1 .5.2 1.1.4 1.8.4 1.5 0 2.8-.7 4-2v-.5h-3.2v-2.7h6.3c-.1-.2-.1 8.3-.1 8.3z\"\n});\n\nvar SvgUltimateAddonsForGutenberg = function SvgUltimateAddonsForGutenberg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 54 54\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgUltimateAddonsForGutenberg;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.9 10v4.1c0 .7-.3 1.2-.9 1.6-2.4 1.4-4.7 2.7-7.1 4.1-.6.4-1.3.4-1.9 0-2.3-1.4-4.6-2.8-7-4.1-.6-.4-.9-.9-.9-1.6V6c0-.7.3-1.2.9-1.6C4.4 3 6.7 1.6 9.1.3c.6-.4 1.3-.4 1.9 0 2.3 1.3 4.6 2.7 7 4 .6.4.9.9.9 1.6V10zm-8.7-6c-.5 0-1 .2-1.5.4-.3.2-.7.4-1.1.6-.9.6-1.8 1.1-2.8 1.7-.2.1-.4.4-.4.7 0 .3.2.5.4.6.3.2.6.1.9 0C7 7.3 8.2 6.5 9.5 5.8c.8-.4 1.7-.2 2.1.5.4.7.1 1.6-.6 2.1-.5.3-1 .6-1.4.8-.8.5-1.6.9-2.5 1.4-.3.2-.4.5-.4.8.1.3.3.6.6.6.2 0 .4 0 .6-.1 1.3-.7 2.5-1.5 3.8-2.2.7-.4 1.6-.2 2 .4.5.7.3 1.7-.5 2.2-1.3.7-2.6 1.5-3.8 2.2-.4.2-.5.7-.3 1.1.2.4.7.5 1.1.3 1.3-.8 2.6-1.5 4-2.3 1.2-.7 1.7-2.1 1.3-3.4-.3-1.1-1-1.8-2.1-2.1-.1 0-.2-.1-.1-.2.1-.2.1-.4.1-.6C13.4 5.5 12 4 10.2 4zm-5.8 7.3c0 .2 0 .4.1.7.5 2 2.7 3 4.5 1.9 1.3-.7 2.6-1.5 3.8-2.2.4-.2.5-.7.3-1.1-.2-.4-.7-.5-1.1-.3-.4.2-.7.4-1.1.6-.9.5-1.8 1-2.7 1.6-.6.3-1.1.3-1.7-.1-.9-.6-.8-1.9.2-2.5 1.3-.7 2.6-1.5 3.8-2.2.5-.2.7-.7.4-1-.2-.4-.7-.5-1.1-.3-1.3.7-2.6 1.5-3.9 2.2-1 .6-1.4 1.5-1.5 2.7z\"\n});\n\nvar SvgUltimateBlocks = function SvgUltimateBlocks(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgUltimateBlocks;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 0C4 0 0 4 0 9s4 9 9 9 9-4 9-9-4-9-9-9zM6.5 12.6c-.1.1-.1.1-.2.1l-2 .1c-.2 0-.3-.1-.4-.3l-.1-2c0-.1 0-.2.1-.2l5.5-6.4c.1-.1.3-.2.5 0L12 5.7c.1.1.2.3 0 .5l-5.5 6.4zm7.5.2H9.5c-.2 0-.4-.2-.4-.5 0-.2.2-.5.4-.5H14c.2 0 .4.2.4.5s-.2.5-.4.5zm0-1.8h-2.8c-.2 0-.4-.2-.4-.5 0-.2.2-.5.4-.5H14c.2 0 .4.2.4.5s-.2.5-.4.5zm.1-1.8h-1.2c-.2 0-.3-.2-.3-.5s.1-.5.3-.5h1.2c.2 0 .3.2.3.5s-.1.5-.3.5z\"\n});\n\nvar SvgUltimatePost = function SvgUltimatePost(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 18 18\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgUltimatePost;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01A8.87 8.87 0 0110 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z\"\n});\n\nvar SvgWordpress = function SvgWordpress(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"-2 -2 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _ref);\n};\n\nexport default SvgWordpress;","/**\n * External dependencies\n */\nimport React, {Component} from 'react';\n\nimport SVGRedux from '../../assets/img/icon.svg'\nimport SVGAcfBlocks from './images/acf-blocks.svg'\nimport SVGAtomicBlocks from './images/atomic-blocks.svg'\nimport SVGAdvancedCustomFields from './images/advanced-custom-fields.svg'\nimport SVGAdvancedGutenbergBlocks from './images/advanced-gutenberg-blocks.svg'\nimport SVGBlockOptions from './images/block-options.svg'\nimport SVGBlockSlider from './images/block-slider.svg'\nimport SVGCoblocks from './images/coblocks.svg'\nimport SVGCreativeBlocks from './images/creative-blocks.svg'\nimport SVGEditorPlus from './images/editorplus.svg'\nimport SVGElegantBlocks from './images/elegant-blocks.svg'\nimport SVGEnhancedBlocks from './images/enhanced-blocks.svg'\nimport SVGEssentialBlocks from './images/essential-blocks.svg'\nimport SVGFormsGutenberg from './images/forms-gutenberg.svg'\nimport SVGGetwid from './images/getwid.svg'\nimport SVGGhostkit from './images/ghostkit.svg'\nimport SVGGuteblock from './images/guteblock.svg'\n// import SVGGutenbergBlock from './images/gutenberg-blocks.png'\nimport SVGGutentor from './images/gutentor.svg'\nimport SVGKadenceBlocks from './images/kadence-blocks.svg'\nimport SVGKiokenBlocks from './images/kioken-blocks.svg'\nimport SVGOtterBlocks from './images/otter-blocks.svg'\nimport SVGQodeblock from './images/qodeblock.svg'\nimport SVGQubely from './images/qubely.svg'\nimport SVGSnowMonkeyBlocks from './images/snow-monkey-blocks.svg'\nimport SVGStackableUltimateGutenbergBlocks from './images/stackable-ultimate-gutenberg-blocks.svg'\nimport SVGUltimateAddonsForGutenberg from './images/ultimate-addons-for-gutenberg.svg'\nimport SVGUltimateBlocks from './images/ultimate-blocks.svg'\nimport SVGUltimatePost from './images/ultimate-post.svg'\nimport SVGWordPress from './images/wordpress.svg'\n\n// export const gutentor = () => {\n// \treturn <SVGGutentorIcon width=\"20\" height=\"20\"/>\n// }\n\n\nexport const redux = () => { return <SVGRedux width=\"20\" height=\"20\"/> }\nexport const acfblocks = () => { return <SVGAcfBlocks width=\"20\" height=\"20\"/> }\nexport const atomicblocks = () => { return <SVGAtomicBlocks width=\"20\" height=\"20\"/> }\nexport const advancedcustomfields = () => { return <SVGAdvancedCustomFields width=\"20\" height=\"20\"/> }\nexport const advancedgutenbergblocks = () => { return <SVGAdvancedGutenbergBlocks width=\"20\" height=\"20\"/> }\nexport const blockoptions = () => { return <SVGBlockOptions width=\"20\" height=\"20\"/> }\nexport const blockslider = () => { return <SVGBlockSlider width=\"20\" height=\"20\"/> }\nexport const coblocks = () => { return <SVGCoblocks width=\"20\" height=\"20\"/> }\nexport const creativeblocks = () => { return <SVGCreativeBlocks width=\"20\" height=\"20\"/> }\nexport const editorplus = () => { return <SVGEditorPlus width=\"20\" height=\"20\"/> }\nexport const elegantblocks = () => { return <SVGElegantBlocks width=\"20\" height=\"20\"/> }\nexport const enhancedblocks = () => { return <SVGEnhancedBlocks width=\"20\" height=\"20\"/> }\nexport const essentialblocks = () => { return <SVGEssentialBlocks width=\"20\" height=\"20\"/> }\nexport const formsgutenberg = () => { return <SVGFormsGutenberg width=\"20\" height=\"20\"/> }\nexport const getwid = () => { return <SVGGetwid width=\"20\" height=\"20\"/> }\nexport const ghostkit = () => { return <SVGGhostkit width=\"20\" height=\"20\"/> }\nexport const guteblock = () => { return <SVGGuteblock width=\"20\" height=\"20\"/> }\nexport const gutenbergblock = () => { return <SVGGutenbergBlock width=\"20\" height=\"20\"/> }\nexport const gutentor = () => { return <SVGGutentor width=\"20\" height=\"20\"/> }\nexport const kadenceblocks = () => { return <SVGKadenceBlocks width=\"20\" height=\"20\"/> }\nexport const kiokenblocks = () => { return <SVGKiokenBlocks width=\"20\" height=\"20\"/> }\nexport const otterblocks = () => { return <SVGOtterBlocks width=\"20\" height=\"20\"/> }\nexport const qodeblock = () => { return <SVGQodeblock width=\"20\" height=\"20\"/> }\nexport const qubely = () => { return <SVGQubely width=\"20\" height=\"20\"/> }\nexport const snowmonkeyblocks = () => { return <SVGSnowMonkeyBlocks width=\"20\" height=\"20\"/> }\nexport const stackableultimategutenbergblocks = () => { return <SVGStackableUltimateGutenbergBlocks width=\"20\" height=\"20\"/> }\nexport const ultimateaddonsforgutenberg = () => { return <SVGUltimateAddonsForGutenberg width=\"20\" height=\"20\"/> }\nexport const ultimateblocks = () => { return <SVGUltimateBlocks width=\"20\" height=\"20\"/> }\nexport const ultimatepost = () => { return <SVGUltimatePost width=\"20\" height=\"20\"/> }\nexport const wordpress = () => { return <SVGWordPress width=\"20\" height=\"20\"/> }\n\nimport SVGReduxTemplatesIcon from '../../assets/img/icon.svg'\nimport SVGReduxTemplatesColorIcon from '../../assets/img/icon-color.svg'\n//\n//\n// export const reqSvgs = require.context ( './images/third-party', true, /\\.svg$/ )\n//\n// export const reqSvgsKeys = reqSvgs.keys()\n//\n// const iconLoader = (path) => import(path);\n//\n// export const icons = {\n// \t'redux': ico