WP Mail Logging - Version 1.10.3

Version Description

  • 2022-01-31 =
  • Removed: Redux Framework template lib and banner loading. Thanks @kprovance!
Download this release

Release Info

Developer tautvidas
Plugin Icon 128x128 WP Mail Logging
Version 1.10.3
Comparing to
See all releases

Code changes from version 1.10.2 to 1.10.3

Files changed (163) hide show
  1. Gruntfile.js +1 -1
  2. languages/wp-mail-logging.pot +4 -4
  3. lib/vendor/redux-framework/CHANGELOG.md +530 -0
  4. lib/vendor/redux-framework/CODE_OF_CONDUCT.md +46 -0
  5. lib/vendor/redux-framework/README.md +134 -0
  6. lib/vendor/redux-framework/ReduxCore/README.md +4 -0
  7. lib/vendor/redux-framework/class-redux-framework-plugin.php +16 -20
  8. lib/vendor/redux-framework/extendify-sdk/LICENSE +339 -0
  9. lib/vendor/redux-framework/extendify-sdk/app/Admin.php +176 -0
  10. lib/vendor/redux-framework/extendify-sdk/app/ApiRouter.php +137 -0
  11. lib/vendor/redux-framework/extendify-sdk/app/App.php +111 -0
  12. lib/vendor/redux-framework/extendify-sdk/app/Controllers/AuthController.php +43 -0
  13. lib/vendor/redux-framework/extendify-sdk/app/Controllers/MetaController.php +30 -0
  14. lib/vendor/redux-framework/extendify-sdk/app/Controllers/PingController.php +30 -0
  15. lib/vendor/redux-framework/extendify-sdk/app/Controllers/PluginController.php +67 -0
  16. lib/vendor/redux-framework/extendify-sdk/app/Controllers/SiteSettingsController.php +42 -0
  17. lib/vendor/redux-framework/extendify-sdk/app/Controllers/TaxonomyController.php +29 -0
  18. lib/vendor/redux-framework/extendify-sdk/app/Controllers/TemplateController.php +43 -0
  19. lib/vendor/redux-framework/extendify-sdk/app/Controllers/UserController.php +80 -0
  20. lib/vendor/redux-framework/extendify-sdk/app/Frontend.php +62 -0
  21. lib/vendor/redux-framework/extendify-sdk/app/Http.php +151 -0
  22. lib/vendor/redux-framework/extendify-sdk/app/Plugin.php +318 -0
  23. lib/vendor/redux-framework/extendify-sdk/app/Shared.php +247 -0
  24. lib/vendor/redux-framework/extendify-sdk/app/SiteSettings.php +72 -0
  25. lib/vendor/redux-framework/extendify-sdk/app/User.php +154 -0
  26. lib/vendor/redux-framework/extendify-sdk/bootstrap.php +48 -0
  27. lib/vendor/redux-framework/extendify-sdk/config.json +7 -0
  28. lib/vendor/redux-framework/extendify-sdk/editorplus/EditorPlus.php +221 -0
  29. lib/vendor/redux-framework/extendify-sdk/editorplus/editorplus-template.php +50 -0
  30. lib/vendor/redux-framework/extendify-sdk/editorplus/editorplus.js +29 -0
  31. lib/vendor/redux-framework/extendify-sdk/extendify.php +2 -0
  32. lib/vendor/redux-framework/extendify-sdk/loader.php +50 -0
  33. lib/vendor/redux-framework/extendify-sdk/public/assets/modal-extendify-black.png +0 -0
  34. lib/vendor/redux-framework/extendify-sdk/public/assets/modal-extendify-purple.png +0 -0
  35. lib/vendor/redux-framework/extendify-sdk/public/assets/preview.png +0 -0
  36. lib/vendor/redux-framework/extendify-sdk/public/build/extendify-utilities.css +11 -0
  37. lib/vendor/redux-framework/extendify-sdk/public/build/extendify.css +1 -0
  38. lib/vendor/redux-framework/extendify-sdk/public/build/extendify.js +2 -0
  39. lib/vendor/redux-framework/extendify-sdk/public/build/extendify.js.LICENSE.txt +20 -0
  40. lib/vendor/redux-framework/extendify-sdk/public/editorplus/editorplus.min.js +1 -0
  41. lib/vendor/redux-framework/extendify-sdk/readme.txt +148 -0
  42. lib/vendor/redux-framework/extendify-sdk/routes/api.php +48 -0
  43. lib/vendor/redux-framework/extendify-sdk/src/ExtendifyLibrary.js +62 -0
  44. lib/vendor/redux-framework/extendify-sdk/src/api/General.js +14 -0
  45. lib/vendor/redux-framework/extendify-sdk/src/api/Plugins.js +19 -0
  46. lib/vendor/redux-framework/extendify-sdk/src/api/SiteSettings.js +16 -0
  47. lib/vendor/redux-framework/extendify-sdk/src/api/Taxonomies.js +7 -0
  48. lib/vendor/redux-framework/extendify-sdk/src/api/Templates.js +69 -0
  49. lib/vendor/redux-framework/extendify-sdk/src/api/User.js +54 -0
  50. lib/vendor/redux-framework/extendify-sdk/src/api/axios.js +72 -0
  51. lib/vendor/redux-framework/extendify-sdk/src/app.css +158 -0
  52. lib/vendor/redux-framework/extendify-sdk/src/app.js +45 -0
  53. lib/vendor/redux-framework/extendify-sdk/src/blocks/blocks.js +1 -0
  54. lib/vendor/redux-framework/extendify-sdk/src/blocks/library/block.js +38 -0
  55. lib/vendor/redux-framework/extendify-sdk/src/blocks/library/block.json +15 -0
  56. lib/vendor/redux-framework/extendify-sdk/src/buttons.js +136 -0
  57. lib/vendor/redux-framework/extendify-sdk/src/components/DevHelpers.js +32 -0
  58. lib/vendor/redux-framework/extendify-sdk/src/components/ImportCounter.js +67 -0
  59. lib/vendor/redux-framework/extendify-sdk/src/components/ImportTemplateBlock.js +172 -0
  60. lib/vendor/redux-framework/extendify-sdk/src/components/LibraryAccessModal.js +112 -0
  61. lib/vendor/redux-framework/extendify-sdk/src/components/LoginInterface.js +218 -0
  62. lib/vendor/redux-framework/extendify-sdk/src/components/SiteTypeSelector.js +241 -0
  63. lib/vendor/redux-framework/extendify-sdk/src/components/TaxonomySection.js +49 -0
  64. lib/vendor/redux-framework/extendify-sdk/src/components/TypeSelect.js +37 -0
  65. lib/vendor/redux-framework/extendify-sdk/src/components/buttons/Primary.js +10 -0
  66. lib/vendor/redux-framework/extendify-sdk/src/components/icons/index.js +14 -0
  67. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/alert.js +25 -0
  68. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-block-icon.js +17 -0
  69. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-logo.js +32 -0
  70. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-mark.js +17 -0
  71. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/download.js +21 -0
  72. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/download2.js +18 -0
  73. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/featured.js +21 -0
  74. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/growth-arrow.js +17 -0
  75. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/layouts.js +20 -0
  76. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/patterns.js +54 -0
  77. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/star.js +20 -0
  78. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/success.js +70 -0
  79. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/support.js +39 -0
  80. lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/user.js +17 -0
  81. lib/vendor/redux-framework/extendify-sdk/src/components/modals/InstallStandaloneModal.js +105 -0
  82. lib/vendor/redux-framework/extendify-sdk/src/components/modals/Modal.js +75 -0
  83. lib/vendor/redux-framework/extendify-sdk/src/components/modals/NoImportModal.js +84 -0
  84. lib/vendor/redux-framework/extendify-sdk/src/components/modals/ProModal.js +53 -0
  85. lib/vendor/redux-framework/extendify-sdk/src/components/modals/SettingsModal.js +24 -0
  86. lib/vendor/redux-framework/extendify-sdk/src/components/modals/SplitModal.js +65 -0
  87. lib/vendor/redux-framework/extendify-sdk/src/components/notices/FeedbackNotice.js +27 -0
  88. lib/vendor/redux-framework/extendify-sdk/src/components/notices/FooterNotice.js +107 -0
  89. lib/vendor/redux-framework/extendify-sdk/src/components/notices/InstallStandaloneNotice.js +66 -0
  90. lib/vendor/redux-framework/extendify-sdk/src/components/notices/PromotionNotice.js +23 -0
  91. lib/vendor/redux-framework/extendify-sdk/src/components/notices/WelcomeNotice.js +50 -0
  92. lib/vendor/redux-framework/extendify-sdk/src/hooks/helpers.js +81 -0
  93. lib/vendor/redux-framework/extendify-sdk/src/hooks/useModal.js +48 -0
  94. lib/vendor/redux-framework/extendify-sdk/src/hooks/useTaxonomies.js +27 -0
  95. lib/vendor/redux-framework/extendify-sdk/src/listeners/index.js +3 -0
  96. lib/vendor/redux-framework/extendify-sdk/src/listeners/softerror-encountered.js +24 -0
  97. lib/vendor/redux-framework/extendify-sdk/src/listeners/template-inserted.js +24 -0
  98. lib/vendor/redux-framework/extendify-sdk/src/middleware/NeedsPermissionModal.js +65 -0
  99. lib/vendor/redux-framework/extendify-sdk/src/middleware/NeedsRegistrationModal.js +140 -0
  100. lib/vendor/redux-framework/extendify-sdk/src/middleware/ReloadRequiredModal.js +49 -0
  101. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ActivatePluginsModal.js +78 -0
  102. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ActivatingModal.js +58 -0
  103. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ErrorActivating.js +34 -0
  104. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/index.js +19 -0
  105. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/ErrorInstalling.js +33 -0
  106. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/InstallingModal.js +57 -0
  107. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/RequiredPluginsModal.js +95 -0
  108. lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/index.js +19 -0
  109. lib/vendor/redux-framework/extendify-sdk/src/middleware/helpers.js +61 -0
  110. lib/vendor/redux-framework/extendify-sdk/src/middleware/index.js +46 -0
  111. lib/vendor/redux-framework/extendify-sdk/src/pages/GridView.js +206 -0
  112. lib/vendor/redux-framework/extendify-sdk/src/pages/MainWindow.js +54 -0
  113. lib/vendor/redux-framework/extendify-sdk/src/pages/Sidebar.js +77 -0
  114. lib/vendor/redux-framework/extendify-sdk/src/pages/layout/HasSidebar.js +16 -0
  115. lib/vendor/redux-framework/extendify-sdk/src/pages/layout/Layout.js +80 -0
  116. lib/vendor/redux-framework/extendify-sdk/src/pages/layout/Toolbar.js +36 -0
  117. lib/vendor/redux-framework/extendify-sdk/src/state/GlobalState.js +35 -0
  118. lib/vendor/redux-framework/extendify-sdk/src/state/Importing.js +22 -0
  119. lib/vendor/redux-framework/extendify-sdk/src/state/SiteSettings.js +21 -0
  120. lib/vendor/redux-framework/extendify-sdk/src/state/Taxonomies.js +14 -0
  121. lib/vendor/redux-framework/extendify-sdk/src/state/Templates.js +121 -0
  122. lib/vendor/redux-framework/extendify-sdk/src/state/User.js +141 -0
  123. lib/vendor/redux-framework/extendify-sdk/src/util/general.js +58 -0
  124. lib/vendor/redux-framework/extendify-sdk/src/util/templateInjection.js +32 -0
  125. lib/vendor/redux-framework/extendify-sdk/src/utility-control/index.js +123 -0
  126. lib/vendor/redux-framework/extendify-sdk/utility-framework/block-styles/cover-angled.css +19 -0
  127. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/clip-path.css +11 -0
  128. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/columns.css +122 -0
  129. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/direction.css +7 -0
  130. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-caption.css +3 -0
  131. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-inserter.css +10 -0
  132. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-resize.css +10 -0
  133. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/pointer-events.css +3 -0
  134. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/fallback.css +10 -0
  135. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/inline-list.css +19 -0
  136. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/misc.css +4 -0
  137. lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/text-stroke.css +23 -0
  138. lib/vendor/redux-framework/extendify-sdk/utility-framework/extendify-utilities.css +136 -0
  139. lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/colors.css +88 -0
  140. lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/font-sizes.css +64 -0
  141. lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/grid.css +143 -0
  142. lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/group.css +35 -0
  143. lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/image.css +10 -0
  144. lib/vendor/redux-framework/extendify-sdk/utility-framework/suggestions.json +570 -0
  145. lib/vendor/redux-framework/extendify-sdk/vendor/autoload.php +7 -0
  146. lib/vendor/redux-framework/extendify-sdk/vendor/composer/ClassLoader.php +445 -0
  147. lib/vendor/redux-framework/extendify-sdk/vendor/composer/InstalledVersions.php +654 -0
  148. lib/vendor/redux-framework/extendify-sdk/vendor/composer/LICENSE +21 -0
  149. lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_classmap.php +9 -0
  150. lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_namespaces.php +9 -0
  151. lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_psr4.php +10 -0
  152. lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_real.php +55 -0
  153. lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_static.php +31 -0
  154. lib/vendor/redux-framework/extendify-sdk/vendor/composer/installed.json +1 -0
  155. lib/vendor/redux-framework/extendify-sdk/vendor/composer/installed.php +395 -0
  156. lib/vendor/redux-framework/gulpfile.js +756 -0
  157. lib/vendor/redux-framework/license.txt +2 -2
  158. lib/vendor/redux-framework/readme.txt +40 -5
  159. lib/vendor/redux-framework/redux-core/appsero/Client.php +5 -3
  160. lib/vendor/redux-framework/redux-core/assets/css/color-picker.css.map +1 -1
  161. lib/vendor/redux-framework/redux-core/assets/css/redux-admin.css.map +1 -1
  162. lib/vendor/redux-framework/redux-core/assets/css/redux-fields.min.css +1 -1
  163. lib/vendor/redux-framework/redux-core/assets/css/redux-fields.min.css.map +1 -1
Gruntfile.js CHANGED
@@ -224,7 +224,7 @@ module.exports = function (grunt) {
224
  grunt.registerTask('copy', ['shell:git_checkout']);
225
  grunt.registerTask('clean_pre_build', ['clean:pre_build']);
226
  grunt.registerTask('version_number', ['replace:core_file', 'replace:readme']);
227
- grunt.registerTask('pre_vcs', ['shell:composer', 'version_number', 'copy', 'copyto:vendor', 'compress']);
228
  grunt.registerTask('do_git', [/*'gitadd',*/ 'gitcommit', 'gittag', 'gitpush']);
229
 
230
  grunt.registerTask('just_build', ['clean_pre_build', 'shell:composer', 'makepot', 'potomo', 'copy', 'copyto:vendor', 'shell:copy_redux','shell:clean_build_dependencies', 'assert-valid-copy', 'compress']);
224
  grunt.registerTask('copy', ['shell:git_checkout']);
225
  grunt.registerTask('clean_pre_build', ['clean:pre_build']);
226
  grunt.registerTask('version_number', ['replace:core_file', 'replace:readme']);
227
+ grunt.registerTask('pre_vcs', ['shell:composer', 'version_number', 'copy', 'copyto:vendor', 'shell:copy_redux','shell:clean_build_dependencies', 'compress']);
228
  grunt.registerTask('do_git', [/*'gitadd',*/ 'gitcommit', 'gittag', 'gitpush']);
229
 
230
  grunt.registerTask('just_build', ['clean_pre_build', 'shell:composer', 'makepot', 'potomo', 'copy', 'copyto:vendor', 'shell:copy_redux','shell:clean_build_dependencies', 'assert-valid-copy', 'compress']);
languages/wp-mail-logging.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2021 Wysija
2
  # This file is distributed under the GPLv3.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WP Mail Logging 1.10.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
- "POT-Creation-Date: 2021-11-28 02:16:08+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
  "X-Generator: grunt-wp-i18n 0.5.4\n"
1
+ # Copyright (C) 2022 Wysija
2
  # This file is distributed under the GPLv3.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WP Mail Logging 1.10.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
+ "POT-Creation-Date: 2022-01-30 23:03:54+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2022-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
  "X-Generator: grunt-wp-i18n 0.5.4\n"
lib/vendor/redux-framework/CHANGELOG.md ADDED
@@ -0,0 +1,530 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Redux Changelog
2
+
3
+ ## 4.3.9
4
+ * Fixed: Extendify Library JavaScript error.
5
+ * Release date: January 26, 2022
6
+
7
+ ## 4.3.8
8
+ * Fixed: Spacing field defaults to `px` if no default is set.
9
+ * Fixed: Remove plugin.php hack in Appsero SDK.
10
+ * Updated: Default Google Fonts list brought up to current release
11
+ * Updated: Extendify Library.
12
+ * Release date: January 25, 2022
13
+
14
+ ## 4.3.7
15
+ * Fixed: #3861 - Incorrect global variable assignment. Thanks, @webbudesign.
16
+ * Release date: January 11, 2022
17
+
18
+ ## 4.3.6
19
+ * Modified: Update to the Extendify Library.
20
+ * Modified: Moved Extendify and Redux templates libraries back to root folder.
21
+ * Modified: Removed "Gutenberg is currently disabled" notice when the Classic Editor plugin is active.
22
+ * Fixed: `date` shortcode without attributes producing error.
23
+ * Fixed: Various jQuery deprecation fixes.
24
+ * Release date: January 11, 2022
25
+ *
26
+ ## 4.3.5
27
+ * Added: Add former premium feature: Option panel Search Bar. See Sample demo or the [docs site](https://devs.redux.io/core-extensions).
28
+ * Added: Add former premium feature: Shortcodes. See Sample demo or the [docs site](https://devs.redux.io/core-extensions).
29
+ * Fixed: #3852 - Editor in metaboxes not saving HTML. WIll now save the same HTML posts/pages allows.
30
+ * Fixed: Front end formatting issue with the Extendify template library.
31
+ * Release date: December 01, 2021
32
+
33
+ ## 4.3.4
34
+ * Fixed: CSS and JS not loading when embedding Redux due to malformed path.
35
+ * Modified: Update to the Extendify template library.
36
+ * Release date: November 24, 2021
37
+
38
+ ## 4.3.3
39
+ * Modified: Move template libraries to redux-core directory.
40
+ * Modified: Update to the Extendify template library.
41
+ * Release date: November 16, 2021
42
+
43
+ ## 4.3.2
44
+ * Added: Metaboxes!
45
+ * Fixed: Incorrect return type in Options Constructor.
46
+ * Modified: Prefixed Browser class to avoid conflict with older versions in other projects.
47
+ * Release date: November 11, 2021
48
+
49
+ ## 4.3.1
50
+ * Fixed: `wp_mail has been declared by another process or plugin` message.
51
+ * Fixed: Malformed README wouldn't allow clicking of some support links.
52
+ * Release date: September 22, 2021
53
+
54
+ ## 4.3.0
55
+ * Added: Gutenberg Template Library updated to the new Extendify library. See more information here about this upgrade and how to access the legacy library: [https://redux.io/gutenberg-template-library-upgrade](https://redux.io/gutenberg-template-library-upgrade).
56
+ * Added: Option to enable/disable Template libraries. Found under Settings > Redux > Templates
57
+ * Added: Redux debug data moved to WordPress Site Health Info screen.
58
+ * Removed: Redux Framework Health Screen.
59
+ * Modified: Tools > Redux Framework screen moved to Settings > Redux
60
+ * Modified: Redux Templates disabled by default.
61
+ * Release date: September 21, 2021
62
+
63
+ ## 4.2.14
64
+ * Fixed: Parse error in Import/Export module due to old versions of PHP. Remember folks, recommended minimum for WordPress is PHP 7.4.
65
+
66
+ ## 4.2.13
67
+ * Fixed: #3822 - Default value function returns string or array to prevent type error.
68
+ * Modified: #3820 - Better support for Redux embedded in themes.
69
+ * Modified: `install_plugins` security level now required to install Template blocks that require additional plugins. This was done for security reasons.
70
+ * Added: New global arg `load_on_cron`. Set to true if you require Redux to run within a cron initiated function.
71
+ * Removed: URL based Import/Export option due to security concerns. Manual Import/Export features remain.
72
+ * Removed: Support URL feature due to security issues. Please use WordPress Site Health 'copy to clipboard' compiler to submit system data when reporting issues.
73
+
74
+ ## 4.2.11
75
+ * Fixed: Removed type declarations on core return values to support improperly written third-party extensions.
76
+ * Fixed: Added shim to prevent errors on functions calls outdated extensions are still using.
77
+ * Fixed: Removed type declarations on field code to support outdated versions of PHP (PHP 7.4 is the minimum recommendation from WordPress...please update if you are able. [https://wordpress.org/about/requirements](https://wordpress.org/about/requirements) ).
78
+ * Fixed: Support URL button kicking back a JavaScript error.
79
+
80
+ ## 4.2.10
81
+ * Fixed: Output on the frontend triggering error.
82
+ * Fixed: Updated shims to support older extensions not authored by Redux.io
83
+
84
+ ## 4.2.9
85
+ * Fixed: WordPress data class now works properly.
86
+
87
+ ## 4.2.8
88
+ * Fixed Redux instances returning null. Saved options now show on the front end.
89
+
90
+ ## 4.2.7
91
+ * Fixed: Options reverting or not saving.
92
+
93
+ ## 4.2.6
94
+ * Fixed: Fatal error if passing null as an option section.
95
+ * Fixed: Error in connection banner routine.
96
+
97
+ ## 4.2.5
98
+ * Fixed: Return type mismatch in Redux Helpers.
99
+
100
+ ## 4.2.4
101
+ * Fixed: Taxonomy WordPress data not handled properly in fields that support WordPress data.
102
+
103
+ ## 4.2.3
104
+ * Fixed: Return type error in Redux templates.
105
+
106
+ ## 4.2.2
107
+ * Fixed: WordPress data options not handling WP_Error properly.
108
+
109
+ ## 4.2.1
110
+ * Fixed: Type mismatch regarding select boxes and callbacks.
111
+
112
+ ## 4.2.0
113
+ * New: Typography features: Top and bottom margins, text-shadow.
114
+ * New: Media Image Filters (greyscale, sepia, opacity, contrast, invert, blur, saturate, brightness, hue-rotate).
115
+ * New: Filters (type, reach, angle) for Gradient color field.
116
+ * New: Box Shadow field.
117
+ * New: Flyout Submenus: `flyout_submenus` global arg.
118
+ * New: Alpha color option for color field: `color_alpha` field arg for fields that support color pickers.
119
+ * Updated: select2 library to 4.1.0.
120
+ * Updated: readme.txt to conform to wp.org standards.
121
+ * Fixed: Remove PHP 7.2 syntax to keep older versions of PHP 7 happy.
122
+ * Fixed: Redux templates not showing on 'page attributes' for some.
123
+ * Fixed: Additional PHP 8.0 compatibility.
124
+ * Fixed: Widget screen would not load due to conflict with template library.
125
+ * Added: WordPress 5.8 compatibility.
126
+ * Improved: Better Gutenberg block editor detection.
127
+ * Modified: Redux Pro no longer required for automatic Google font updates.
128
+ * Modified: Rename Parsedown class for the raw field to avoid conflicts with other plugins.
129
+ * Removed: `async_typography` global arg. Google no longer supports it. Use `font_display` with one of the following `auto|block|swap|fallback|optional`. See: [https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display)
130
+
131
+ ## 4.1.29
132
+ * Fixed: All PHP 7.4 specific syntax backed out. It caused older versions of PHP to report fatal errors.
133
+ * Fixed: Index error in the image_select field.
134
+
135
+ ## 4.1.28
136
+ * Fixed: #217 - Redux templates loading on post types with no block editor.
137
+ * Fixed: #158 - Redux theme checks no longer prevent theme check plugin from functioning.
138
+ * Fixed: #215 - Heartbeat check no longer eats the function if disregarded.
139
+ * Fixed: #222 - Background field image now hides preview image upon removal.
140
+ * Fixed: RAW field in sample config now works.
141
+ * Fixed: Helper function is_field_in_use now returns false, instead of null.
142
+ * Fixed: Palette field rendering improperly.
143
+ * Fixed: Google font update fail.
144
+ * Modified: buttonset() jQuery widget deprecated. Replaced with controlgroup().
145
+ * Modified: Additional JavaScript updates to fix jQuery deprecation notices.
146
+
147
+ ## 4.1.27
148
+ * Fixed: Image select not selecting default value.
149
+ * Modified: #209 - Link color field overridden by theme. Added 'important' arg to the output array to fix. See sample config.
150
+ * Fixed: #208 - Same config not setting footer background in Twenty-twenty theme due to incorrect class.
151
+ * Fixed: #207 - Radio field not displaying text after save/refresh when displaying WordPress data.
152
+ * Modified: #210 - Donation text removed.
153
+ * Fixed: #206 - Link color CSS compiling incorrectly due to late escaping.
154
+
155
+ ## 4.1.26
156
+ * Added: Menu accent introduced in WordPress 5.7.
157
+ * Updated: ACE Editor 1.4.12.
158
+ * Updated select2 to support cssContainer.
159
+ * Fixed: Multiple submenus in metaboxes; the last submenu it cut off.
160
+ * Fixed: #200 - Fatal error: Can't use function return value in write context.
161
+ * Fixed: #203 - PHP 8.0 deprecation warnings.
162
+ * Fixed: Malformed HTML causing Redux pro alpha color-picker to not render.
163
+ * Fixed: Improved class checks for Redux Pro.
164
+ * Fixed: jQuery 3.x deprecation notices.
165
+ * Fixed: Malformed SCSS.
166
+ * Release date: March 17, 2021
167
+
168
+ ## 4.1.25
169
+ * Fixed: #186 - Erroneous icon on button_set field after WP 5.6 update.
170
+ * Fixed: #179 - Erroneous icon on palette field after WP 5.6 update.
171
+ * Fixed: PHP error in init_delay function during heartbeat API.
172
+ * Fixed: #188 - Options object field not rendering.
173
+ * Release date: Jan 21, 2021
174
+
175
+ ## 4.1.24
176
+ * Fixed: Select2 callback fix for select fields.
177
+ * Added: Shim: empty field_*.php files to fix developers including files improperly.
178
+ * Fixed: Changed use of ctype_xdigit to account for hosts where it's disabled.
179
+ * Added: Shim for people using terms data key, but using taxonomies instead of taxonomy.
180
+ * Fixed: Static call mismatch in redux colors.
181
+ * Fixed: CSRF security issue with a flipped if conditional. Thanks, @ErwanLR.
182
+ * Fixed: WordPress 4.6 API warnings.
183
+ * Fixed: WordPress 4.6 customizer issue where fields not displaying properly.
184
+ * Fixed: Massive speed improvement to the library.
185
+ * Fixed: Pro template count error if previously activated and Redux Pro not enabled.
186
+ * Release date: Dec 12, 2020
187
+
188
+ ## 4.1.23
189
+ * Fixed: Massive speed improvement to the library.
190
+ * Fixed: Pro template count error if previously activated and Redux Pro not enabled.
191
+ * Release date: Oct 24, 2020
192
+
193
+ ## 4.1.22
194
+ * Fixed: Menu locations WordPress data object not providing name.
195
+ * Added: Undefined if menu location is not assigned to a menu.
196
+ * Fixed: Another import/export edge case.
197
+ * Fixed: Fix setField API value.
198
+ * Fixed: Older extension compatibility.
199
+ * Fixed: Text field error with data/options args not displaying properly.
200
+ * Fixed: Import/Export now properly respects order of objects. Now using PHP over JS json_encode.
201
+ * Release date: Oct 23, 2020
202
+
203
+ ## 4.1.21
204
+ * Fixed: Fixed connection banner to hide even if JS is broken by jQuery migrate issue (WP 5.5).
205
+ * Fixed: Resolved all remaining legacy extension compatibility issues.
206
+ * Fixed: Custom callback with select field.
207
+ * Fixed: Typography bug when style was hidden.
208
+ * Fixed: Issue with text labels.
209
+ * Fixed: Google fonts html validation issues.
210
+ * Added: Feedback modal.
211
+ * Fixed: Import logic flaw.
212
+ * Fixed: Security bug. Thanks, @lenonleite of www.lenonleite.com.br.
213
+ * Release date: Oct 08, 2020
214
+
215
+ ## 4.1.20
216
+ * Added: Properly adjust the blocked editor page width based on template selected.
217
+ * Added: Remove Qubely Pro update notice if Redux Pro is activated.
218
+ * Added: Broke out third-party premium plugins for filtering to help with understanding of what comes with Redux Pro.
219
+ * Added: Update block editor width when selecting a Redux template.
220
+ * Fixed: Some styling issues with preview modal.
221
+ * Fixed: Issue where plugin titles were not alphabetical.
222
+ * Fixed: Disabled third party premium dependencies.
223
+ * Fixed: Issue where crash would occur when Redux could not write out a file.
224
+ * Fixed: CSS selectors with HTML entities, like >, were not getting decoded for the passed compiler values.
225
+ * Fixed: Invalid logic causing some extensions not to run.
226
+ * Release date: Sep 18, 2020
227
+
228
+ ## 4.1.18
229
+ * Fixed: Bug with typography output and non-array values for CSS selectors.
230
+ * Fixed: Bug with spacing field not adding the units when a default is provided.
231
+ * Added: Redux Pro install and activation flow.
232
+ * Fixed: Templates trial wasn't working properly! It works now. :)
233
+ * Release date: Sept 9, 2020
234
+
235
+ ## 4.1.17
236
+ * Fixed: Edge case where enable Gutenberg notice doesn't disappear.
237
+ * Release date: Aug 27, 2020
238
+
239
+ ## 4.1.16
240
+ * Fixed: Issue when null values were sent to Redux::set();
241
+ * Fixed: Default for Google fonts is now swap.
242
+ * Fixed: Fix for developers calling the API without checking for files.
243
+ * Fixed: Edge case for filter var not working on some sites.
244
+ * Fixed: Proper loading to override Redux 3 plugin.
245
+ * Added: Site name to WP data return.
246
+ * Fixed: Set height for library button when other plugins modify the CSS for the Gutenberg toolbar.
247
+ * Fixed: Don't show template messages on the front-end if an extension is missing. How did that get through?
248
+ * Fixed: Non-array values for WP data. Thanks, @wilokecom.
249
+ * Added: Notification so users can enable Gutenberg when disabled.
250
+ * Added: Welcome guide to Gutenberg screen.
251
+ * Fixed: Some readme issues.
252
+ * Release date: Aug 26, 2020
253
+
254
+ ## 4.1.15
255
+ * Fixed: Defaults were not saving in some situations.
256
+ * Added: Various fallback calls for JS when fetching opt_names.
257
+ * Fixed: Warnings with Rest API due to WP 5.5.
258
+ * Fixed: Subsets now are full-width in typography when rendered after page load.
259
+ * Fixed: for subsets loading when font-family is not specified.
260
+ * Added: No opt-in to tracking when embedded. Google Fonts and panel notices are still there though.
261
+ * Fixed: Is local checks conflicting with some servers.
262
+ * Fixed: WooCommerce race condition with their autoloader causing issues with some sites.
263
+ * Updated: Complete overhaul of WordPress data class.
264
+ * Fixed: Backtrace errors when blocked on servers.
265
+ * Fixed: Select2 and required fixes.
266
+ * Fixed: Customizer sidebar not showing in some cases.
267
+ * Added: Google Fonts now load ~20% faster!!!
268
+ * Release date: Aug 19, 2020
269
+
270
+ ## 4.1.14
271
+ * Added: Shim for ReduxFramework->get_default_value()
272
+ * Fixed: Local issue with WP and strtolower. Sites that couldn't find classes should work now.
273
+ * Fixed: Ajax for select boxes is now working again.
274
+ * Fixed: Autoloading to bypass other embedded versions of Redux.
275
+ * Fixed: Customizer interactions are MUCH faster now. Had a greedy CSS selector before.
276
+ * Fixed: If opt_names had multiple dashes in them, JS errors occurred by a non-global replace.
277
+ * Fixed: Fix for servers that disable output buffers.
278
+ * Fixed: Ajax now does not load anything else, faster calls.
279
+ * Fixed: .folds replace issue when opt_name selector wasn't properly found.
280
+ * Release date: Aug 11, 2020
281
+
282
+ ## 4.1.13
283
+ * Fixed: Major typography bug affecting saving in the panel as well as third-party extensions.
284
+ * Fixed: Customizer issue with some external extensions.
285
+ * Added: Removed `FS_METHOD` define completely.
286
+ * Release date: Aug 5, 2020
287
+
288
+ ## 4.1.12
289
+ * Fixed: Direct calls to ReduxFramework were causing unexpected errors.
290
+ * Fixed: JS error on .replace because opt_name wasn't found.
291
+ * Added: `FS_METHOD` define location, had to move lower in the stack.
292
+ * Release date: Aug 5, 2020
293
+
294
+ ## 4.1.11
295
+ * Fixed: Templates JS not loading and conflicting with other plugins. Need to namespace or something.
296
+ * Added: `FS_METHOD` define method for environments where it is not properly defined.
297
+ * Release date: Aug 4, 2020
298
+
299
+ ## 4.1.10
300
+ * Fixed: Minified templates directory now loads.
301
+ * Added: Shadow files from old repo to stop errors from previously included third-party developer includes.
302
+ * Release date: Aug 4, 2020
303
+
304
+ ## 4.1.9
305
+ * Fixed: Compatibility issue when developers made custom panel templates. The opt_name wasn't fetched and thus saving broke.
306
+ * Release date: Aug 1, 2020
307
+
308
+ ## 4.1.8
309
+ * Fixed: Map files are now all present.
310
+ * Fixed: Path fix for how developers called the typography file directory.
311
+ * Release date: Aug 1, 2020
312
+
313
+ ## 4.1.7
314
+ * Fixed: Issue with sortable in text mode not properly passing the name attribute and thus not saving properly.
315
+ * Fixed: Compatibility with old extension names to not crash other plugins.
316
+ * Release date: July 31, 2020
317
+
318
+ ## 4.1.6
319
+ * Fixed: Issue with customizer double loading the PHP classes and causing an exception.
320
+ * Fixed: Chanced a class name as to not conflict with a 6+ year old version of Redux.
321
+ * Release date: July 30, 2020
322
+
323
+ ## 4.1.5
324
+ * Fixed: Google fonts not working when old configs used string vs an array for output.
325
+ * Release date: July 30, 2020
326
+
327
+ ## 4.1.4
328
+ * Fixed: Google fonts loading over non-secure breaks fonts. Forced all SSL for Google fonts. :)
329
+ * Release date: July 30, 2020
330
+
331
+ ## 4.1.3
332
+ * Fixed: Issue where theme devs tried to bypass the framework. Literally I made an empty file to fix their coding. :P
333
+ * Release date: July 29, 2020
334
+
335
+ ## 4.1.2
336
+ * Fixed: Don't try to set empty defaults when none are present.
337
+ * Fixed: Issue where the WP Data argument was misused.
338
+ * Release date: July 29, 2020
339
+
340
+ ## 4.1.1
341
+ * Fixed: CSS decode when esc_attr replaces the HTML characters and CSS outputs are set with >'s.
342
+ * Release date: July 29, 2020
343
+
344
+ ## 4.1.0
345
+ * Fixed: Compatibility with certain themes using the deprecated $_is_plugin variable.
346
+ * Release date: July 29, 2020
347
+
348
+ ## 4.0.9
349
+ * Fixed: Complete compatibility fix for older Redux extensions.
350
+ * Release date: July 28, 2020
351
+
352
+ ## 4.0.8
353
+ * Fixed: Initial library load was failing on some server setups.
354
+ * Release date: July 28, 2020
355
+
356
+ ## 4.0.7
357
+ * Fixed: Race condition for PHP include for Redux_Typography causing blank white screens.
358
+ * Release date: July 28, 2020
359
+
360
+ ## 4.0.5
361
+ * Fixed: Issues where the site crashes because of varied ways Redux was called.
362
+ * Fixed: Varied implementations of opt_names resulting in option panels not working as expected.
363
+ * Release date: July 28, 2020
364
+
365
+ ## 4.0.4.2
366
+ * Fixed: PHP issue when Redux was called in legacy methods.
367
+ * Fixed: CSS output not rendering properly.
368
+
369
+ ## 4.0.4
370
+ * Fixed: PHPCS, all.
371
+ * Added: Redux Templates.
372
+ * Added: Complete rewrite of the underlying code base is complete and complies with all WordPress coding standards.
373
+
374
+ ## 4.0.3
375
+ * Fixed: PHPCS findings.
376
+ * Added: New output_variables flags that dynamically add CSS variables to pages even on fields that do not support
377
+ dynamic CSS output. Thanks, @andrejarh, for the idea!
378
+
379
+ ## 4.0.2
380
+ * Fixed: PHP backwards compatibility for extensions. Still have to work on JS, probably.
381
+
382
+ ## 4.0.1.9
383
+ * Fixed: #33 - Reset Section and Reset All not show appropriate message. Thanks, @voldemortensen!
384
+ * Fixed: #29 - Multi-Text class not saving properly per new field. Adding to parent container only instead.
385
+ * Fixed: #48 - Color RGBa field alpha was not showing.
386
+ * Removed: Deprecated notices for old Redux API is fine.
387
+ * Fixed: Fixes for color and comma numeric validations.
388
+ * Fixed: #30 - Initial load of typography always initiates a redux_change. Resolved, thanks @kprovance.
389
+ * Fixed: #31 - Text field not show the correct type, thanks @adrix71!
390
+
391
+ ## 4.0.1.8
392
+ * Fixed: #30 - Typography field causing a "save" notice.
393
+ * Added: Start of Redux Builder API for fields.
394
+ * Modified: Moved some methods to new classes.
395
+ * Fixed: Fix underscore naming convention in Redux_Field,
396
+ * Modified: Move two ajax saves routines to Redux_Functions_Ex for advanced customizer validation on save.
397
+
398
+ ## 4.0.1.7
399
+ * Fixed: #20 - variable missing $ dev.
400
+ * Fixed: Customizer saving.
401
+ * Fixed Customizer 'required'.
402
+ * Fixed: button_set field not saving or loading in multimode.
403
+ * Fixed: Section disable and section hidde in customizer.
404
+ * Fixed: Some malformed field ids in sample-config, for some reason.
405
+ * Change: #19 - `validate_msg` field arg replaces `msg` for validation schemes. Shim in place for backward compatibility.
406
+
407
+ ## 4.0.1.6
408
+ * Modified: Metabox lite loop not using correct extension key.
409
+ * Fixed: Error when no theme is installed, which is possible, apparently.
410
+
411
+ ## 4.0.1.5
412
+ * Fixed: redux_post_meta returning null always.
413
+ * Added: New Redux API get_post_meta to retrieve Metabox values.
414
+
415
+ ## 4.0.1.4
416
+ * Fixed: Metabox lite css/js not minifying on compile.
417
+ * New: Redux APIs set_field, set_fields
418
+
419
+ ## 4.0.1.3
420
+ * Improved: Improvement record caller and warning fixes Thanks @Torfadel.
421
+ * Fixed: Errors on 'Get Support' page.
422
+
423
+ ## 4.0.1.2
424
+ * Fixed: #14 - Malformed enqueue URLs when embedding.
425
+
426
+ ## 4.0.1.1
427
+ * Fixed: Section field not hiding with required calls.
428
+ * Fixed: Tour pointer not remembering closed state.
429
+
430
+ ## 4.0.1
431
+ * New: Initial public beta release.
432
+
433
+ ## 4.0.0.22
434
+ * Added: `allow_empty_line_height` arg for the typography field to prevent font-size from overriding a blank line-height field.
435
+
436
+ ## 4.0.0.21
437
+ * Fixed: Editor field not saving.
438
+
439
+ ## 4.0.0.20
440
+ * Modified: Continued work for compatibility with the forthcoming Redux Pro.
441
+ * New: Global arg `elusive_frontend` to enqueue the internal Elusive Font CSS on the front end.
442
+
443
+ ## 4.0.0.19
444
+ * Added: Metaboxes Lite. See READ ME & sample config (sample-metabox-config.php).
445
+ * Added: Removed "welcome" screen. Replaced with 'What is this?' screen that no longer appears on first launch.
446
+ * Fixed: Demo mode activates in Network Enabled mode.
447
+ * Modified: Additional WPCS work.
448
+ * Modified: Improved tracking.
449
+
450
+ ## 4.0.0.18
451
+ * Added: Field/section disabling. See README.
452
+
453
+ ## 4.0.0.17
454
+ * Fixed: Data caching for WordPress data class.
455
+
456
+ ## 4.0.0.16
457
+ * Added: Optional AJAX loading for select2 fields. See README.
458
+ * Disabled: WordPress Data caching. It's broke. See issue tracker.
459
+
460
+ ## 4.0.0.15
461
+ * Added: Field sanitizing added. See README.
462
+ * Added: Sanitizing examples added to sample config.
463
+ * Fixed: Multi text not removing new added boxes until after save.
464
+
465
+ ## 4.0.0.14
466
+ * Fixed: Sections in customizer not rendering properly when customizer is set to false. Thanks, @onurdemir.
467
+ * Fixed: Function in ajax save class bombing when v3 is embedded. Thanks, @danielbarenkamp.
468
+
469
+ ## 4.0.0.13
470
+ * Nope. I'm superstitious!
471
+
472
+ ## 4.0.0.12
473
+ * Modified: Core to accept v3 based extensions with deprecation notice.
474
+ * Modified: @Torfindel's work on the extension/builder abstract.
475
+ * Finished: New Spinner UI, with extra args.
476
+
477
+ ## 4.0.0.11
478
+ * Fixed: Typo in redux.js caused panel to stall. My bad. :)
479
+ * Updated: Gulp to version 4 to solve vulnerability issues.
480
+ * Modified: Linting of remaining JS files.
481
+
482
+ ## 4.0.0.10
483
+ * Modified: redux.js opt_name logic to shim in older versions of metaboxes.
484
+ * Updated: Spinner field mods. New look. No more jQuery deprecated notices.
485
+
486
+ ## 4.0.0.9
487
+ * Fixed: Import/Export feature not importing. Damn typesafe decs got me again!!! Thanks, WPCS. ;-)
488
+ * Modified: Replace wpFileSystemInit in sample-config.php with a more practical solution. Thanks, @Torfindel
489
+
490
+ ## 4.0.0.8
491
+ * Modified: Changed typography update localize handle. Too generic. Conflicted with something else.
492
+ * Fixed: Template head structure cause template notice to fail. Thanks, @anikitas.
493
+ * Fixed: Google font update choked over incorrect protocol.
494
+ * Fixed: Required logic was operating backward. Damn those typesafe operators!
495
+ * Fixed: Redux v3 templates no longer crash v4 panel.
496
+ * Modified: Sample config to default settings. They got all wonky for testing various things.
497
+
498
+ ## 4.0.0.7
499
+ * Added: 'sites' to the select field data argument to return blog urls.
500
+ * Fixed: Old extensions that extend to the ReduxFramework class failed to save.
501
+ * Fixed: Extraneous semicolon output in admin notices.
502
+ * Fixed: Redux v4 plugin trips fatal error on activation when v3 is embedded in a project.
503
+ * Modified: Moved new functions in Redux_Helpers due to incompatibility with embedded v3.
504
+ * Fixed: Section field malformed when two or more section use together with no indentation.
505
+ * Fixed: CDN loading failed even on success due to typesafe comparison (whoops, my bad) - kp.
506
+
507
+ ## 4.0.0.6 (Welcome Fundraiser participants)
508
+ * Fixed: Admin notices were malformed due to mis-escaped code.
509
+ * Added: Abstract class for extensions.
510
+ * Modified: Last of the JavaScript mods from JSHint and JSCS. Travis checks will no longer fail.
511
+
512
+ ## 4.0.0.3
513
+ * Fixed: Remove plugins_loaded hook to init plugin. Broke backward compat with Redux 3.
514
+
515
+ ## 4.0.0.2
516
+ * Modified: Sorter 'checkbox' now 'toggle' with UI redesign. Full backward compatibility in place.
517
+ * Added: Shim for redux localization JS objects from 3.x where the optName is not appended. This broke repeater.
518
+
519
+ ## 4.0.0.1
520
+ * Rewrite: Core. Now modularized.
521
+ * Update: Select2 v4.0.3
522
+ * Added: Dimension and spacing fields now contain extra and new units.
523
+ * Modified: The field 'validate' argument now supports an array of values.
524
+ * Updated: Removed 'color_rgba' validation. 'color' validation now supports and sanitizes all color fields.
525
+ * Added: New global arg 'admin_theme'. The Redux Pro UI now mimics the WordPress menu system in terms of theme colors and behaviour. Set this arg to 'classic' to use the old Redux UI.
526
+ * Fixed: Tracking opt-in and newsletters popups now appear due to malformed inline javascript.
527
+ * Added: Redux::disable_demo to the Redux API to disable the demo mode. No more actions hooks.
528
+ * Added: Redux::instance($opt_name) to the Redux API to obtain an instance of Redux based on the opt_name argument.
529
+ * Added: Redux::get_all_instances() to the Redux API to return an array of all available Redux instances with the opt_name as they key.
530
+ * Modified: All outputting variables fully escaped to comply with wp.org and themeforest standards.
lib/vendor/redux-framework/CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ ## Our Standards
8
+
9
+ Examples of behavior that contributes to creating a positive environment include:
10
+
11
+ * Using welcoming and inclusive language
12
+ * Being respectful of differing viewpoints and experiences
13
+ * Gracefully accepting constructive criticism
14
+ * Focusing on what is best for the community
15
+ * Showing empathy towards other community members
16
+
17
+ Examples of unacceptable behavior by participants include:
18
+
19
+ * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
+ * Trolling, insulting/derogatory comments, and personal or political attacks
21
+ * Public or private harassment
22
+ * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
24
+
25
+ ## Our Responsibilities
26
+
27
+ Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
+
29
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
+
31
+ ## Scope
32
+
33
+ This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
+
35
+ ## Enforcement
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at support@redux.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
+
39
+ Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
+
41
+ ## Attribution
42
+
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
+
45
+ [homepage]: http://contributor-covenant.org
46
+ [version]: http://contributor-covenant.org/version/1/4/
lib/vendor/redux-framework/README.md ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## Gutenberg Template Library & Redux Framework
2
+ [![WordPress plugin](https://img.shields.io/wordpress/plugin/v/redux-framework.svg?maxAge=3600)](https://wordpress.org/plugins/redux-framework) [![WordPress](https://img.shields.io/wordpress/v/redux-framework.svg?maxAge=3600)](https://wordpress.org/download/) [![Build Status](https://travis-ci.org/reduxframework/redux-framework.png?branch=master)](https://travis-ci.org/reduxframework/redux-framework) [![Slack](https://redux-slackin.herokuapp.com/badge.svg)](https://redux-slackin.herokuapp.com)
3
+
4
+ #### Redux is powered by the Extendify team. Learn more at [extendify.com](https://extendify.com) ####
5
+
6
+ ## New to Version 4.3 ##
7
+ * METABOXES!
8
+ * REPEATER EXTENSION!
9
+ * Gutenberg Template Library updated to the new Extendify library. See more information here about this upgrade and how to access the legacy library: [https://redux.io/gutenberg-template-library-upgrade](https://redux.io/gutenberg-template-library-upgrade).
10
+
11
+ ## Beta testing instructions for the Repeater extension ##
12
+ * Repeater config is includes in the sample config.
13
+ * If you are already using the Repeater extension of Redux Pro, there is nothing you need to update. The version of the Repeater field within the Redux core will override both the extension and Pro.
14
+ * Please verify the repeater field in your existing project still function normally.
15
+ * Please do not use this code in your production releases yet. Internal beta testing for your organization fine and encouraged.
16
+
17
+ ## New to Version 4.2 ##
18
+ ### See the sample folder for examples for the new and improved fields. ###
19
+ * Additional Typography features: Top and bottom margins, text shadow.
20
+ * New Media Image Filters (greyscale, sepia, opacity, contrast, invert, blur, saturate, brightness, hue-rotate).
21
+ * New Gradient Field Filters (type, reach, angle), including output for autogenerated CSS.
22
+ * New Box Shadow field with output for autogenerated CSS.
23
+ * New Flyout Submenus: `flyout_submenus` global arg.
24
+ * New Alpha color option for color field: `color_alpha` field arg for fields that support color pickers.
25
+ * Removed: `async_typography` global arg. Google no longer supports it. Use `font_display` with one of the following `auto|block|swap|fallback|optional`. See: [https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display)
26
+ * Automatic update option for Google Fonts without a Pro subscription.
27
+
28
+ ## Follow us on Social Media! ##
29
+ [![Follow us on Twitter](https://www.download82.com/images/produse/iconuri/twitter-for-android.png "Follow us on Twitter")](https://www.twitter.com/ReduxFramework)
30
+ [![Like us on Facebook](https://addons.thunderbird.net/user-media/addon_icons/79/79494-64.png "Like us on Facebook")](https://www.facebook.com/ReduxFramework/)
31
+
32
+ ## Changelog ##
33
+ See [Changelog.md](https://github.com/reduxframework/redux-framework/blob/master/CHANGELOG.md)
34
+
35
+ ## Documentation ##
36
+ Need a little help with Redux? Come check out our brand-new documentation site at [devs.redux.io](http://devs.redux.io), chock-full of tutorials and examples!
37
+
38
+
39
+
40
+ ## Template and Pattern Library
41
+
42
+ Redux Framework includes access to the Extendify template and pattern library that can be accessed by clicking the "Library" button in the menu bar of the editor. We provide a variety of templates and patterns to serve different use cases and are adding more templates every week.
43
+
44
+ ## Privacy
45
+
46
+ The Extendify library uses a custom API to fetch block patterns and page layouts from our servers. API requests are only made when a user clicks on the Library button. In order to provide and improve this service, Extendify passes site data along with an API request, including:
47
+
48
+ * Browser
49
+
50
+ * Referring site
51
+
52
+ * Category selection
53
+
54
+ * WP language
55
+
56
+ * Active theme
57
+
58
+ * Active plugins
59
+
60
+ * Anonymized UUID
61
+
62
+ * Anonymized IP address
63
+
64
+ By accessing the Extendify library, you agree to the Extendify [privacy policy](https://extendify.com/privacy-policy) and [terms of service](https://extendify.com/terms-of-service).
65
+
66
+ ## Help Us Translate Redux ##
67
+ Please head over to the plugin page to learn how you can help us translate Redux quickly. Any and all are translations are welcome. We appreciate your help!
68
+ https://translate.wordpress.org/projects/wp-plugins/redux-framework/
69
+
70
+ ## Features ##
71
+ * Uses the [WordPress Settings API](http://codex.wordpress.org/Settings_API "WordPress Settings API")
72
+ * Multiple built in field types
73
+ * Multiple layout field types
74
+ * Fields can be overloaded with a callback function, for custom field types
75
+ * Easily extendable by creating Field Classes
76
+ * Built in Validation Classes
77
+ * Easily extendable by creating Validation Classes
78
+ * Custom Validation error handling, including error counts for each section, and custom styling for error fields
79
+ * Custom Validation warning handling, including warning counts for each section, and custom styling for warning fields
80
+ * Multiple Hook Points for customisation
81
+ * Import / Export Functionality - including cross site importing of settings
82
+ * Easily add page help through the class
83
+ * Fully responsive options panel
84
+ * Much more
85
+
86
+ ## What's new in version 4? ##
87
+
88
+ ### Core Rewrite
89
+ Our code base has been rebuilt from the ground up. With compartmentalized code, autoloading, and class inheritance, Redux is now faster and more efficient than it’s ever been!
90
+
91
+ ### Top of the Line Security!
92
+ Redux meets security standards laid out by WordPress Coding Standards, WordPress VIP Standards, and ThemeForest Guidelines. Focus includes escaping, sanitizing, and nonces verification, and database query prep/caching.
93
+
94
+ ### Gutenberg Template Library
95
+ 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. See the [WordPress plugin page](https://wordpress.org/plugins/redux-framework/#description) for much more information!
96
+
97
+ ### Automatic Google Font Updates.
98
+ This is one of the crown jewels of Redux v4! Your users will have the ability to update Google Fonts as updates are available or automatic ‘behind the scenes’ updates. No more waiting for updates and no API key required!
99
+
100
+ ### Field Sanitizing
101
+ Field sanitizing allows one to pass an array of function names as an argument to a field in which the return value will be the sanitizing string. This feature will only work with text based fields including text, textarea, and multi_text (ACE Editor and WP Editor not included).
102
+
103
+ One may use any existing function including PHP functions, WordPress functions and custom written functions. The return value of any used function must be that of a string. Any other return value will be disregarded.
104
+
105
+ Please view the [sample-config.php](https://github.com/reduxframework/redux-framework/blob/master/sample/sample-config.php) file for specific examples.
106
+
107
+ ### Select2 AJAX Loading
108
+ The AJAX loading routines for the select2 fields have been fixed/finished. See the 'capabilities' field in the demo panel for an example.
109
+
110
+ For the interim, this feature will only work when used in conjunction with the `data` argument (that is, the one that fetches WordPress data).
111
+
112
+ To set AJAX loading, add the `'ajax' => true` argument to your select field. The `min_input_length` argument may also be added to specify how many characters should be typed before results are shown. Default is `1`.
113
+
114
+ ### Field/Section Disabling
115
+ This feature has been request quite a few times over the years. Fields and sections can now be disabled by adding the `'disabled' => true` argument to either a section or a field. The section or field will then appear 'greyed out' and not respond to input. This comes in handy in the event one may want to offer teasers for premium versions of their products.
116
+
117
+ Since those with a little CSS know-how could easily reactivate disabled fields with a little CSS, we took the added precaution of having Redux remove any `name` attributes on disabled fields/sections. This way, even if a clever user reactivates the field, it will never save.
118
+
119
+ ### Updated Panel Interface
120
+ The option panel interface has been brought up to date with the current WordPress admin design. It is also now ‘theme aware’. Panel colors will now follow suit with the selected admin theme.
121
+
122
+ ### Improved Field Validation
123
+ Due to the need for multiple field validations, Redux now supports an array of validations versus the previously limiting single argument. Validation results now appear in real time after a save without the need for page refresh.
124
+
125
+ ### Full v3 Backward Compatibility
126
+ We take backward compatibility very seriously here and strive to maintain it. Redux v4 has been designed to act as a drop in replacement to offer new functionality without breaking existing functionality.
127
+
128
+ ## FAQs ##
129
+
130
+ 1. Why should we use ```require_once``` instead of ```get_template_part```?
131
+ * First, because ```get_template_part``` is for... you guessed it, themes! Redux is designed to work with both themes *and* plugins.
132
+ * Second, read [this](http://kovshenin.com/2013/get_template_part/).
133
+ 2. Why shouldn't we edit ```sample-config.php``` in the plugin directory?
134
+ * Because ```sample-config.php``` will be replaced at each update of the plugin. You will lose all your work.
lib/vendor/redux-framework/ReduxCore/README.md ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ # Shim directory for old integrations.
2
+
3
+ We found a number of theme developers tried including files directly. To alleviate issues with this we've created this
4
+ shadow directory.
lib/vendor/redux-framework/class-redux-framework-plugin.php CHANGED
@@ -30,7 +30,7 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
30
  /**
31
  * Use this value as the text domain when translating strings from this plugin. It should match
32
  * the Text Domain field set in the plugin header, as well as the directory name of the plugin.
33
- * Additionally, text domains should only contain letters, number and hypens, not underscores
34
  * or spaces.
35
  *
36
  * @access protected
@@ -52,7 +52,7 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
52
  * Class instance.
53
  *
54
  * @access private
55
- * @var \Redux_Framework_Plugin $instance The one true Redux_Framework_Plugin
56
  * @since 3.0.0
57
  */
58
  private static $instance;
@@ -61,7 +61,7 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
61
  * Crash flag.
62
  *
63
  * @access private
64
- * @var \Redux_Framework_Plugin $crash Crash flag if inside a crash.
65
  * @since 4.1.15
66
  */
67
  public static $crash = false;
@@ -75,6 +75,7 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
75
  */
76
  public static function instance(): ?Redux_Framework_Plugin {
77
  $path = REDUX_PLUGIN_FILE;
 
78
 
79
  if ( function_exists( 'get_plugin_data' ) && file_exists( $path ) ) {
80
  $data = get_plugin_data( $path );
@@ -104,7 +105,7 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
104
  }
105
 
106
  /**
107
- * Shim for geting instance
108
  *
109
  * @access public
110
  * @since 4.0.1
@@ -162,17 +163,20 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
162
  require_once dirname( __FILE__ ) . '/redux-core/framework.php';
163
  }
164
 
165
- /* // Including extendify sdk.
 
 
 
166
  if ( true === (bool) get_option( 'use_extendify_templates', true ) ) {
167
- if ( file_exists( plugin_dir_path( REDUX_PLUGIN_FILE ) . 'extendify-sdk/loader.php' ) ) {
168
- $GLOBALS['extendifySdkSourcePlugin'] = 'Redux';
169
  require_once dirname( __FILE__ ) . '/extendify-sdk/loader.php';
170
  }
171
  }
172
 
173
  if ( file_exists( dirname( __FILE__ ) . '/redux-templates/redux-templates.php' ) ) {
174
  require_once dirname( __FILE__ ) . '/redux-templates/redux-templates.php';
175
- }*/
176
 
177
  if ( isset( Redux_Core::$as_plugin ) ) {
178
  Redux_Core::$as_plugin = true;
@@ -268,13 +272,10 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
268
  * Fired on plugin activation
269
  *
270
  * @access public
271
- * @since 3.0.0
272
- *
273
- * @param boolean $network_wide True if plugin is network activated, false otherwise.
274
- *
275
  * @return void
 
276
  */
277
- public static function activate( ?bool $network_wide ) {
278
  delete_site_transient( 'update_plugins' );
279
  }
280
 
@@ -343,11 +344,11 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
343
 
344
  $var = '0';
345
 
346
- // Get an array of IDs (We have to do it this way because WordPress says so, however reduntant).
347
  $result = wp_cache_get( 'redux-blog-ids' );
348
  if ( false === $result ) {
349
 
350
- // WordPress asys get_col is discouraged? I found no alternative. So...ignore! - kp.
351
  // phpcs:ignore WordPress.DB.DirectDatabaseQuery
352
  $result = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE archived = %s AND spam = %s AND deleted = %s", $var, $var, $var ) );
353
 
@@ -365,8 +366,6 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
365
  * @return void
366
  */
367
  private static function single_activate() {
368
- $notices = array();
369
-
370
  $nonce = wp_create_nonce( 'redux_framework_demo' );
371
 
372
  $notices = get_option( 'ReduxFrameworkPlugin_ACTIVATED_NOTICES', array() );
@@ -410,12 +409,9 @@ if ( ! class_exists( 'Redux_Framework_Plugin', false ) ) {
410
  *
411
  * @access public
412
  * @since 3.0.0
413
- * @global string $pagenow The current page being displayed
414
  * @return void
415
  */
416
  public function options_toggle_check() {
417
- global $pagenow;
418
-
419
  if ( isset( $_GET['nonce'] ) && wp_verify_nonce( sanitize_key( $_GET['nonce'] ), 'redux_framework_demo' ) ) {
420
  if ( isset( $_GET['redux-framework-plugin'] ) && 'demo' === $_GET['redux-framework-plugin'] ) {
421
  $url = admin_url( add_query_arg( array( 'page' => 'redux-framework' ), 'options-general.php' ) );
30
  /**
31
  * Use this value as the text domain when translating strings from this plugin. It should match
32
  * the Text Domain field set in the plugin header, as well as the directory name of the plugin.
33
+ * Additionally, text domains should only contain letters, number and hyphens, not underscores
34
  * or spaces.
35
  *
36
  * @access protected
52
  * Class instance.
53
  *
54
  * @access private
55
+ * @var Redux_Framework_Plugin $instance The one true Redux_Framework_Plugin
56
  * @since 3.0.0
57
  */
58
  private static $instance;
61
  * Crash flag.
62
  *
63
  * @access private
64
+ * @var Redux_Framework_Plugin $crash Crash flag if inside a crash.
65
  * @since 4.1.15
66
  */
67
  public static $crash = false;
75
  */
76
  public static function instance(): ?Redux_Framework_Plugin {
77
  $path = REDUX_PLUGIN_FILE;
78
+ $res = false;
79
 
80
  if ( function_exists( 'get_plugin_data' ) && file_exists( $path ) ) {
81
  $data = get_plugin_data( $path );
105
  }
106
 
107
  /**
108
+ * Shim for getting instance
109
  *
110
  * @access public
111
  * @since 4.0.1
163
  require_once dirname( __FILE__ ) . '/redux-core/framework.php';
164
  }
165
 
166
+ Redux_Core::$redux_templates_enabled = (bool) get_option( 'use_redux_templates' );
167
+ Redux_Core::$extendify_templates_enabled = (bool) get_option( 'use_extendify_templates', true );
168
+
169
+ // Including extendify sdk.
170
  if ( true === (bool) get_option( 'use_extendify_templates', true ) ) {
171
+ if ( file_exists( dirname( __FILE__ ) . '/extendify-sdk/loader.php' ) ) {
172
+ $GLOBALS['extendify_sdk_partner'] = 'Redux';
173
  require_once dirname( __FILE__ ) . '/extendify-sdk/loader.php';
174
  }
175
  }
176
 
177
  if ( file_exists( dirname( __FILE__ ) . '/redux-templates/redux-templates.php' ) ) {
178
  require_once dirname( __FILE__ ) . '/redux-templates/redux-templates.php';
179
+ }
180
 
181
  if ( isset( Redux_Core::$as_plugin ) ) {
182
  Redux_Core::$as_plugin = true;
272
  * Fired on plugin activation
273
  *
274
  * @access public
 
 
 
 
275
  * @return void
276
+ * @since 3.0.0
277
  */
278
+ public static function activate() {
279
  delete_site_transient( 'update_plugins' );
280
  }
281
 
344
 
345
  $var = '0';
346
 
347
+ // Get an array of IDs (We have to do it this way because WordPress says so, however redundant).
348
  $result = wp_cache_get( 'redux-blog-ids' );
349
  if ( false === $result ) {
350
 
351
+ // WordPress says get_col is discouraged? I found no alternative. So...ignore! - kp.
352
  // phpcs:ignore WordPress.DB.DirectDatabaseQuery
353
  $result = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs WHERE archived = %s AND spam = %s AND deleted = %s", $var, $var, $var ) );
354
 
366
  * @return void
367
  */
368
  private static function single_activate() {
 
 
369
  $nonce = wp_create_nonce( 'redux_framework_demo' );
370
 
371
  $notices = get_option( 'ReduxFrameworkPlugin_ACTIVATED_NOTICES', array() );
409
  *
410
  * @access public
411
  * @since 3.0.0
 
412
  * @return void
413
  */
414
  public function options_toggle_check() {
 
 
415
  if ( isset( $_GET['nonce'] ) && wp_verify_nonce( sanitize_key( $_GET['nonce'] ), 'redux_framework_demo' ) ) {
416
  if ( isset( $_GET['redux-framework-plugin'] ) && 'demo' === $_GET['redux-framework-plugin'] ) {
417
  $url = admin_url( add_query_arg( array( 'page' => 'redux-framework' ), 'options-general.php' ) );
lib/vendor/redux-framework/extendify-sdk/LICENSE ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ {description}
294
+ Copyright (C) {year} {fullname}
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ {signature of Ty Coon}, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
+ Public License instead of this License.
lib/vendor/redux-framework/extendify-sdk/app/Admin.php ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Admin.
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ use Extendify\Library\App;
9
+ use Extendify\Library\User;
10
+ use Extendify\Library\SiteSettings;
11
+
12
+ /**
13
+ * This class handles any file loading for the admin area.
14
+ */
15
+ class Admin
16
+ {
17
+
18
+ /**
19
+ * The instance
20
+ *
21
+ * @var $instance
22
+ */
23
+ public static $instance = null;
24
+
25
+ /**
26
+ * Adds various actions to set up the page
27
+ *
28
+ * @return self|void
29
+ */
30
+ public function __construct()
31
+ {
32
+ if (self::$instance) {
33
+ return self::$instance;
34
+ }
35
+
36
+ self::$instance = $this;
37
+ $this->loadScripts();
38
+
39
+ \add_filter('plugin_action_links_' . EXTENDIFY_PLUGIN_BASENAME, [ $this, 'pluginActionLinks' ]);
40
+ }
41
+
42
+ /**
43
+ * Adds action links to the plugin list table
44
+ *
45
+ * @param array $links An array of plugin action links.
46
+ * @return array An array of plugin action links.
47
+ */
48
+ public function pluginActionLinks($links)
49
+ {
50
+ $theme = get_option('template');
51
+ $label = esc_html__('Upgrade', 'extendify');
52
+
53
+ $links['upgrade'] = sprintf('<a href="%1$s" target="_blank"><b>%2$s</b></a>', "https://extendify.com/pricing?utm_source=extendify-plugin&utm_medium=wp-dash&utm_campaign=action-link&utm_content=$label&utm_term=$theme", $label);
54
+
55
+ return $links;
56
+ }
57
+
58
+ /**
59
+ * Adds scripts to the admin
60
+ *
61
+ * @return void
62
+ */
63
+ public function loadScripts()
64
+ {
65
+ \add_action(
66
+ 'admin_enqueue_scripts',
67
+ function ($hook) {
68
+ if (!current_user_can(App::$requiredCapability)) {
69
+ return;
70
+ }
71
+
72
+ if (!$this->checkItsGutenbergPost($hook)) {
73
+ return;
74
+ }
75
+
76
+ if (!$this->isLibraryEnabled()) {
77
+ return;
78
+ }
79
+
80
+ $this->addScopedScriptsAndStyles();
81
+ }
82
+ );
83
+ }
84
+
85
+ /**
86
+ * Makes sure we are on the correct page
87
+ *
88
+ * @param string $hook - An optional hook provided by WP to identify the page.
89
+ * @return boolean
90
+ */
91
+ public function checkItsGutenbergPost($hook = '')
92
+ {
93
+ if (isset($GLOBALS['typenow']) && \use_block_editor_for_post_type($GLOBALS['typenow'])) {
94
+ return $hook && in_array($hook, ['post.php', 'post-new.php'], true);
95
+ }
96
+
97
+ return false;
98
+ }
99
+
100
+ /**
101
+ * Adds various JS scripts
102
+ *
103
+ * @return void
104
+ */
105
+ public function addScopedScriptsAndStyles()
106
+ {
107
+ $version = App::$environment === 'PRODUCTION' ? App::$version : uniqid();
108
+
109
+ \wp_register_script(
110
+ App::$slug . '-scripts',
111
+ EXTENDIFY_BASE_URL . 'public/build/extendify.js',
112
+ [
113
+ 'wp-i18n',
114
+ 'wp-components',
115
+ 'wp-element',
116
+ 'wp-editor',
117
+ ],
118
+ $version,
119
+ true
120
+ );
121
+ \wp_localize_script(
122
+ App::$slug . '-scripts',
123
+ 'extendifyData',
124
+ [
125
+ 'root' => \esc_url_raw(rest_url(APP::$slug . '/' . APP::$apiVersion)),
126
+ 'nonce' => \wp_create_nonce('wp_rest'),
127
+ 'user' => json_decode(User::data('extendifysdk_user_data'), true),
128
+ 'sitesettings' => json_decode(SiteSettings::data()),
129
+ 'sdk_partner' => \esc_attr(APP::$sdkPartner),
130
+ 'asset_path' => \esc_url(EXTENDIFY_URL . 'public/assets'),
131
+ 'standalone' => \esc_attr(APP::$standalone),
132
+ ]
133
+ );
134
+ \wp_enqueue_script(App::$slug . '-scripts');
135
+
136
+ \wp_set_script_translations(App::$slug . '-scripts', 'extendify');
137
+
138
+ // Inline the library styles to keep them out of the iframe live preview.
139
+ // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
140
+ $css = file_get_contents(EXTENDIFY_PATH . 'public/build/extendify.css');
141
+ \wp_register_style(App::$slug, false, [], $version);
142
+ \wp_enqueue_style(App::$slug);
143
+ \wp_add_inline_style(App::$slug, $css);
144
+ }
145
+
146
+ /**
147
+ * Check if current user is Admin
148
+ *
149
+ * @return Boolean
150
+ */
151
+ private function isAdmin()
152
+ {
153
+ if (\is_multisite()) {
154
+ return \is_super_admin();
155
+ }
156
+
157
+ return in_array('administrator', \wp_get_current_user()->roles, true);
158
+ }
159
+
160
+ /**
161
+ * Check if scripts should add
162
+ *
163
+ * @return Boolean
164
+ */
165
+ public function isLibraryEnabled()
166
+ {
167
+ $settings = json_decode(SiteSettings::data());
168
+
169
+ // If it's disabled, only show it for admins.
170
+ if (isset($settings->state) && (isset($settings->state->enabled)) && !$settings->state->enabled) {
171
+ return $this->isAdmin();
172
+ }
173
+
174
+ return true;
175
+ }
176
+ }
lib/vendor/redux-framework/extendify-sdk/app/ApiRouter.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * API router
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ use Extendify\Library\App;
9
+ use Extendify\Library\Http;
10
+
11
+ /**
12
+ * Simple router for the REST Endpoints
13
+ */
14
+ class ApiRouter extends \WP_REST_Controller
15
+ {
16
+
17
+ /**
18
+ * The class instance.
19
+ *
20
+ * @var $instance
21
+ */
22
+ protected static $instance = null;
23
+
24
+ /**
25
+ * The capablity required for access.
26
+ *
27
+ * @var $capability
28
+ */
29
+ protected $capability;
30
+
31
+
32
+ /**
33
+ * The constructor
34
+ */
35
+ public function __construct()
36
+ {
37
+ $this->capability = App::$requiredCapability;
38
+ add_filter(
39
+ 'rest_request_before_callbacks',
40
+ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed
41
+ function ($response, $handler, $request) {
42
+ // Add the request to our helper class.
43
+ if ($request->get_header('x_extendify')) {
44
+ Http::init($request);
45
+ }
46
+
47
+ return $response;
48
+ },
49
+ 10,
50
+ 3
51
+ );
52
+ }
53
+
54
+ /**
55
+ * Check the authorization of the request
56
+ *
57
+ * @return boolean
58
+ */
59
+ public function checkPermission()
60
+ {
61
+ // Check for the nonce on the server (used by WP REST).
62
+ if (isset($_SERVER['HTTP_X_WP_NONCE']) && \wp_verify_nonce(sanitize_text_field(wp_unslash($_SERVER['HTTP_X_WP_NONCE'])), 'wp_rest')) {
63
+ return \current_user_can($this->capability);
64
+ }
65
+
66
+ return false;
67
+ }
68
+
69
+ /**
70
+ * Register dynamic routes
71
+ *
72
+ * @param string $namespace - The api name space.
73
+ * @param string $endpoint - The endpoint.
74
+ * @param function $callback - The callback to run.
75
+ *
76
+ * @return void
77
+ */
78
+ public function getHandler($namespace, $endpoint, $callback)
79
+ {
80
+ \register_rest_route(
81
+ $namespace,
82
+ $endpoint,
83
+ [
84
+ 'methods' => 'GET',
85
+ 'callback' => $callback,
86
+ 'permission_callback' => [
87
+ $this,
88
+ 'checkPermission',
89
+ ],
90
+ ]
91
+ );
92
+ }
93
+
94
+ /**
95
+ * The post handler
96
+ *
97
+ * @param string $namespace - The api name space.
98
+ * @param string $endpoint - The endpoint.
99
+ * @param string $callback - The callback to run.
100
+ *
101
+ * @return void
102
+ */
103
+ public function postHandler($namespace, $endpoint, $callback)
104
+ {
105
+ \register_rest_route(
106
+ $namespace,
107
+ $endpoint,
108
+ [
109
+ 'methods' => 'POST',
110
+ 'callback' => $callback,
111
+ 'permission_callback' => [
112
+ $this,
113
+ 'checkPermission',
114
+ ],
115
+ ]
116
+ );
117
+ }
118
+
119
+ /**
120
+ * The caller
121
+ *
122
+ * @param string $name - The name of the method to call.
123
+ * @param array $arguments - The arguments to pass in.
124
+ *
125
+ * @return mixed
126
+ */
127
+ public static function __callStatic($name, array $arguments)
128
+ {
129
+ $name = "{$name}Handler";
130
+ if (is_null(self::$instance)) {
131
+ self::$instance = new static();
132
+ }
133
+
134
+ $r = self::$instance;
135
+ return $r->$name(APP::$slug . '/' . APP::$apiVersion, ...$arguments);
136
+ }
137
+ }
lib/vendor/redux-framework/extendify-sdk/app/App.php ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The App details file
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ use Extendify\Library\Plugin;
9
+
10
+ /**
11
+ * Controller for handling various app data
12
+ */
13
+ class App
14
+ {
15
+
16
+ /**
17
+ * Plugin name
18
+ *
19
+ * @var string
20
+ */
21
+ public static $name = '';
22
+
23
+ /**
24
+ * Plugin slug
25
+ *
26
+ * @var string
27
+ */
28
+ public static $slug = '';
29
+
30
+ /**
31
+ * Plugin version
32
+ *
33
+ * @var string
34
+ */
35
+ public static $version = '';
36
+
37
+ /**
38
+ * Plugin API REST version
39
+ *
40
+ * @var string
41
+ */
42
+ public static $apiVersion = 'v1';
43
+
44
+ /**
45
+ * Whether this is the standalone plugin
46
+ *
47
+ * @var boolean
48
+ */
49
+ public static $standalone;
50
+
51
+ /**
52
+ * Plugin environment
53
+ *
54
+ * @var string
55
+ */
56
+ public static $environment = '';
57
+
58
+ /**
59
+ * The partner plugin/theme
60
+ *
61
+ * @var string
62
+ */
63
+ public static $sdkPartner = 'standalone';
64
+
65
+ /**
66
+ * Host plugin
67
+ *
68
+ * @var string
69
+ */
70
+ public static $requiredCapability = 'upload_files';
71
+
72
+ /**
73
+ * Plugin config
74
+ *
75
+ * @var array
76
+ */
77
+ public static $config = [];
78
+
79
+ /**
80
+ * Process the readme file to get version and name
81
+ *
82
+ * @return void
83
+ */
84
+ public function __construct()
85
+ {
86
+ if (isset($GLOBALS['extendify_sdk_partner'])) {
87
+ self::$sdkPartner = $GLOBALS['extendify_sdk_partner'];
88
+ }
89
+
90
+ // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
91
+ $readme = file_get_contents(dirname(__DIR__) . '/readme.txt');
92
+
93
+ preg_match('/=== (.+) ===/', $readme, $matches);
94
+ self::$name = $matches[1];
95
+ self::$slug = strtolower(trim(preg_replace('/[^A-Za-z0-9-]+/', '-', self::$name), '-'));
96
+
97
+ preg_match('/Stable tag: ([0-9.:]+)/', $readme, $matches);
98
+ self::$version = $matches[1];
99
+
100
+ // An easy way to check if we are in dev mode is to look for a dev specific file.
101
+ $isDev = is_readable(EXTENDIFY_PATH . 'node_modules') || is_readable(EXTENDIFY_PATH . '.devbuild');
102
+ self::$environment = $isDev ? 'DEVELOPMENT' : 'PRODUCTION';
103
+
104
+ self::$standalone = self::$sdkPartner === 'standalone';
105
+
106
+ // Add the config.
107
+ // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
108
+ $config = file_get_contents(dirname(__DIR__) . '/config.json');
109
+ self::$config = json_decode($config, true);
110
+ }
111
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/AuthController.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls Auth
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\Http;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ /**
15
+ * The controller for dealing registration and authentication
16
+ */
17
+ class AuthController
18
+ {
19
+
20
+ /**
21
+ * Login a user to extendify - it will return the API key
22
+ *
23
+ * @param \WP_REST_Request $request - The request.
24
+ * @return WP_REST_Response|WP_Error
25
+ */
26
+ public static function login($request)
27
+ {
28
+ $response = Http::post('/login', $request->get_params());
29
+ return new \WP_REST_Response($response);
30
+ }
31
+
32
+ /**
33
+ * Handle registration - It will return the API key.
34
+ *
35
+ * @param \WP_REST_Request $request - The request.
36
+ * @return WP_REST_Response|WP_Error
37
+ */
38
+ public static function register($request)
39
+ {
40
+ $response = Http::post('/register', $request->get_params());
41
+ return new \WP_REST_Response($response);
42
+ }
43
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/MetaController.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls Http requests
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\Http;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ /**
15
+ * The controller for sending little bits of info
16
+ */
17
+ class MetaController
18
+ {
19
+ /**
20
+ * Send data about a specific topic
21
+ *
22
+ * @param \WP_REST_Request $request - The request.
23
+ * @return WP_REST_Response|WP_Error
24
+ */
25
+ public static function getAll($request)
26
+ {
27
+ $response = Http::get('/meta-data', $request->get_params());
28
+ return new \WP_REST_Response($response);
29
+ }
30
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/PingController.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls Http requests
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\Http;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ /**
15
+ * The controller for sending little bits of info
16
+ */
17
+ class PingController
18
+ {
19
+ /**
20
+ * Send data about a specific topic
21
+ *
22
+ * @param \WP_REST_Request $request - The request.
23
+ * @return WP_REST_Response|WP_Error
24
+ */
25
+ public static function ping($request)
26
+ {
27
+ $response = Http::post('/ping', $request->get_params());
28
+ return new \WP_REST_Response($response);
29
+ }
30
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/PluginController.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls Plugins
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\Plugin;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ /**
15
+ * The controller for plugin dependency checking, etc
16
+ */
17
+ class PluginController
18
+ {
19
+
20
+ /**
21
+ * Return all plugins
22
+ *
23
+ * @return array
24
+ */
25
+ public static function index()
26
+ {
27
+ if (! function_exists('get_plugins')) {
28
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
29
+ }
30
+
31
+ return \get_plugins();
32
+ }
33
+
34
+ /**
35
+ * List active plugins
36
+ *
37
+ * @return array
38
+ */
39
+ public static function active()
40
+ {
41
+ return \get_option('active_plugins');
42
+ }
43
+
44
+ /**
45
+ * Install plugins
46
+ *
47
+ * @param \WP_REST_Request $request - The request.
48
+ * @return bool|WP_Error
49
+ */
50
+ public static function install($request)
51
+ {
52
+ if (!\current_user_can('activate_plugins')) {
53
+ return new \WP_Error('not_allowed', \__('You are not allowed to activate plugins on this site.', 'extendify'));
54
+ }
55
+
56
+ $requiredPlugins = json_decode($request->get_param('plugins'), true);
57
+ foreach ($requiredPlugins as $plugin) {
58
+ $status = Plugin::install_and_activate_plugin($plugin);
59
+ if (\is_wp_error($status)) {
60
+ // Return first error encountered.
61
+ return $status;
62
+ }
63
+ }
64
+
65
+ return true;
66
+ }
67
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/SiteSettingsController.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls User info
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\SiteSettings;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ /**
15
+ * The controller for managing Extendify SiteSettings.
16
+ */
17
+ class SiteSettingsController
18
+ {
19
+
20
+ /**
21
+ * Return Current SiteSettings meta data
22
+ *
23
+ * @return array
24
+ */
25
+ public static function show()
26
+ {
27
+ return new \WP_REST_Response(SiteSettings::data());
28
+ }
29
+
30
+ /**
31
+ * Persist the data
32
+ *
33
+ * @param \WP_REST_Request $request - The request.
34
+ * @return array
35
+ */
36
+ public static function store($request)
37
+ {
38
+ $settingsData = json_decode($request->get_param('data'), true);
39
+ \update_option(SiteSettings::key(), $settingsData, true);
40
+ return new \WP_REST_Response(SiteSettings::data());
41
+ }
42
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/TaxonomyController.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls Taxonomies
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\Http;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ /**
15
+ * The controller for dealing with taxonomies
16
+ */
17
+ class TaxonomyController
18
+ {
19
+ /**
20
+ * Return all taxonomies
21
+ *
22
+ * @return WP_REST_Response|WP_Error
23
+ */
24
+ public static function index()
25
+ {
26
+ $response = Http::get('/taxonomies', []);
27
+ return new \WP_REST_Response($response);
28
+ }
29
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/TemplateController.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls Http requests
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\Http;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ /**
15
+ * The controller for dealing with templates
16
+ */
17
+ class TemplateController
18
+ {
19
+
20
+ /**
21
+ * Return info about a template
22
+ *
23
+ * @param \WP_REST_Request $request - The request.
24
+ * @return WP_REST_Response|WP_Error
25
+ */
26
+ public static function index($request)
27
+ {
28
+ $response = Http::post('/templates', $request->get_params());
29
+ return new \WP_REST_Response($response);
30
+ }
31
+
32
+ /**
33
+ * Send data about a specific template
34
+ *
35
+ * @param \WP_REST_Request $request - The request.
36
+ * @return WP_REST_Response|WP_Error
37
+ */
38
+ public static function ping($request)
39
+ {
40
+ $response = Http::post('/templates', $request->get_params());
41
+ return new \WP_REST_Response($response);
42
+ }
43
+ }
lib/vendor/redux-framework/extendify-sdk/app/Controllers/UserController.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Controls User info
4
+ */
5
+
6
+ namespace Extendify\Library\Controllers;
7
+
8
+ use Extendify\Library\Http;
9
+ use Extendify\Library\User;
10
+
11
+ if (!defined('ABSPATH')) {
12
+ die('No direct access.');
13
+ }
14
+
15
+ /**
16
+ * The controller for managing user data like API keys, etc
17
+ */
18
+ class UserController
19
+ {
20
+
21
+ /**
22
+ * Return the current user state
23
+ *
24
+ * @return array
25
+ */
26
+ public static function show()
27
+ {
28
+ return new \WP_REST_Response(User::state());
29
+ }
30
+
31
+ /**
32
+ * Return meta info about the current user
33
+ *
34
+ * @param \WP_REST_Request $request - The request.
35
+ * @return array
36
+ */
37
+ public static function meta($request)
38
+ {
39
+ $key = \sanitize_text_field(\wp_unslash($request->get_param('key')));
40
+ return new \WP_REST_Response(User::data($key));
41
+ }
42
+
43
+ /**
44
+ * Persist the data
45
+ *
46
+ * @param \WP_REST_Request $request - The request.
47
+ * @return array
48
+ */
49
+ public static function store($request)
50
+ {
51
+ $userData = json_decode($request->get_param('data'), true);
52
+ // Keep this key for historical reasons.
53
+ \update_user_meta(\get_current_user_id(), 'extendifysdk_user_data', $userData);
54
+
55
+ return new \WP_REST_Response(User::state());
56
+ }
57
+
58
+ /**
59
+ * Sign up the user to the mailing list.
60
+ *
61
+ * @param \WP_REST_Request $request - The request.
62
+ * @return WP_REST_Response|WP_Error
63
+ */
64
+ public static function mailingList($request)
65
+ {
66
+ $response = Http::post('/register-mailing-list', $request->get_params());
67
+ return new \WP_REST_Response($response);
68
+ }
69
+
70
+ /**
71
+ * Get the max imports
72
+ *
73
+ * @return WP_REST_Response|WP_Error
74
+ */
75
+ public static function maxImports()
76
+ {
77
+ $response = Http::get('/max-free-imports');
78
+ return new \WP_REST_Response($response);
79
+ }
80
+ }
lib/vendor/redux-framework/extendify-sdk/app/Frontend.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Manage any frontend related tasks here.
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ use Extendify\Library\App;
9
+
10
+ /**
11
+ * This class handles any file loading for the frontend of the site.
12
+ */
13
+ class Frontend
14
+ {
15
+
16
+ /**
17
+ * The instance
18
+ *
19
+ * @var $instance
20
+ */
21
+ public static $instance = null;
22
+
23
+ /**
24
+ * Adds various actions to set up the page
25
+ *
26
+ * @return self|void
27
+ */
28
+ public function __construct()
29
+ {
30
+ if (self::$instance) {
31
+ return self::$instance;
32
+ }
33
+
34
+ self::$instance = $this;
35
+ $this->loadScripts();
36
+ }
37
+
38
+ /**
39
+ * Adds scripts and styles to every page is enabled
40
+ *
41
+ * @return void
42
+ */
43
+ public function loadScripts()
44
+ {
45
+ \add_action(
46
+ 'wp_enqueue_scripts',
47
+ function () {
48
+ // TODO: Determine a way to conditionally load assets (https://github.com/extendify/company-product/issues/72).
49
+ $this->addStylesheets();
50
+ }
51
+ );
52
+ }
53
+
54
+ /**
55
+ * Adds stylesheets as needed
56
+ *
57
+ * @return void
58
+ */
59
+ public function addStylesheets()
60
+ {
61
+ }
62
+ }
lib/vendor/redux-framework/extendify-sdk/app/Http.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Helper class for making http requests
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ use Extendify\Library\App;
9
+ use Extendify\Library\User;
10
+
11
+ /**
12
+ * Controller for http communication
13
+ */
14
+ class Http
15
+ {
16
+
17
+ /**
18
+ * The api endpoint
19
+ *
20
+ * @var string
21
+ */
22
+ public $baseUrl = '';
23
+
24
+ /**
25
+ * Request data sent to the server
26
+ *
27
+ * @var array
28
+ */
29
+ public $data = [];
30
+
31
+ /**
32
+ * Any headers required
33
+ *
34
+ * @var array
35
+ */
36
+ public $headers = [];
37
+
38
+ /**
39
+ * The class instance.
40
+ *
41
+ * @var $instance
42
+ */
43
+ protected static $instance = null;
44
+
45
+ /**
46
+ * Set up the base object to send with every request
47
+ *
48
+ * @param \WP_REST_Request $request - The request.
49
+ * @return void
50
+ */
51
+ public function __construct($request)
52
+ {
53
+ // Redundant, but extra prodection!
54
+ if (!\wp_verify_nonce(sanitize_text_field(wp_unslash($request->get_header('x_wp_nonce'))), 'wp_rest')) {
55
+ return;
56
+ }
57
+
58
+ // Some special cases for development.
59
+ $this->baseUrl = $request->get_header('x_extendify_dev_mode') !== 'false' ? App::$config['api']['dev'] : App::$config['api']['live'];
60
+ $this->baseUrl = $request->get_header('x_extendify_local_mode') !== 'false' ? App::$config['api']['local'] : $this->baseUrl;
61
+
62
+ $this->data = [
63
+ 'wp_language' => \get_locale(),
64
+ 'wp_theme' => \get_option('template'),
65
+ 'mode' => App::$environment,
66
+ 'uuid' => User::data('uuid'),
67
+ 'library_version' => App::$version,
68
+ 'wp_active_plugins' => $request->get_method() === 'POST' ? \get_option('active_plugins') : [],
69
+ 'sdk_partner' => App::$sdkPartner,
70
+ ];
71
+
72
+ $this->headers = [
73
+ 'Accept' => 'application/json',
74
+ 'referer' => $request->get_header('referer'),
75
+ 'user_agent' => $request->get_header('user_agent'),
76
+ ];
77
+ }
78
+
79
+ /**
80
+ * Register dynamic routes
81
+ *
82
+ * @param string $endpoint - The endpoint.
83
+ * @param array $data - The data to include.
84
+ * @param array $headers - The headers to include.
85
+ *
86
+ * @return array
87
+ */
88
+ public function getHandler($endpoint, $data = [], $headers = [])
89
+ {
90
+ $url = \esc_url_raw(
91
+ \add_query_arg(
92
+ \urlencode_deep(\urldecode_deep(array_merge($this->data, $data))),
93
+ $this->baseUrl . $endpoint
94
+ )
95
+ );
96
+
97
+ $response = \wp_remote_get(
98
+ $url,
99
+ [
100
+ 'headers' => array_merge($this->headers, $headers),
101
+ ]
102
+ );
103
+
104
+ $responseBody = \wp_remote_retrieve_body($response);
105
+ return json_decode($responseBody, true);
106
+ }
107
+
108
+ /**
109
+ * Register dynamic routes
110
+ *
111
+ * @param string $endpoint - The endpoint.
112
+ * @param array $data - The arguments to include.
113
+ * @param array $headers - The headers to include.
114
+ *
115
+ * @return array
116
+ */
117
+ public function postHandler($endpoint, $data = [], $headers = [])
118
+ {
119
+ $response = \wp_remote_post(
120
+ $this->baseUrl . $endpoint,
121
+ [
122
+ 'headers' => array_merge($this->headers, $headers),
123
+ 'body' => array_merge($this->data, $data),
124
+ ]
125
+ );
126
+
127
+ $responseBody = \wp_remote_retrieve_body($response);
128
+ return json_decode($responseBody, true);
129
+ }
130
+
131
+ /**
132
+ * The caller
133
+ *
134
+ * @param string $name - The name of the method to call.
135
+ * @param array $arguments - The arguments to pass in.
136
+ *
137
+ * @return mixed
138
+ */
139
+ public static function __callStatic($name, array $arguments)
140
+ {
141
+ if ($name === 'init') {
142
+ self::$instance = new static($arguments[0]);
143
+ return;
144
+ }
145
+
146
+ $name = "{$name}Handler";
147
+ $r = self::$instance;
148
+
149
+ return $r->$name(...$arguments);
150
+ }
151
+ }
lib/vendor/redux-framework/extendify-sdk/app/Plugin.php ADDED
@@ -0,0 +1,318 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // phpcs:ignoreFile
3
+ // This class was copied from JetPack (mostly)
4
+ // so will be a bit of work to refactor
5
+ /**
6
+ * Manage plugin dependencies
7
+ */
8
+
9
+ namespace Extendify\Library;
10
+
11
+ class Plugin
12
+ {
13
+ /**
14
+ * Install and activate a plugin.
15
+ *
16
+ * @since 5.8.0
17
+ *
18
+ * @param string $slug Plugin slug.
19
+ *
20
+ * @return bool|WP_Error True if installation succeeded, error object otherwise.
21
+ */
22
+ public static function install_and_activate_plugin($slug)
23
+ {
24
+ $plugin_id = self::get_plugin_id_by_slug($slug);
25
+ if (! $plugin_id) {
26
+ $installed = self::install_plugin($slug);
27
+ if (is_wp_error($installed)) {
28
+ return $installed;
29
+ }
30
+ $plugin_id = self::get_plugin_id_by_slug($slug);
31
+ } elseif (is_plugin_active($plugin_id)) {
32
+ return true; // Already installed and active.
33
+ }
34
+
35
+ if (! current_user_can('activate_plugins')) {
36
+ return new \WP_Error('not_allowed', __('You are not allowed to activate plugins on this site.', 'jetpack'));
37
+ }
38
+ $activated = activate_plugin($plugin_id);
39
+ if (is_wp_error($activated)) {
40
+ return $activated;
41
+ }
42
+
43
+ return true;
44
+ }
45
+
46
+ /**
47
+ * Install a plugin.
48
+ *
49
+ * @since 5.8.0
50
+ *
51
+ * @param string $slug Plugin slug.
52
+ *
53
+ * @return bool|WP_Error True if installation succeeded, error object otherwise.
54
+ */
55
+ public static function install_plugin($slug)
56
+ {
57
+ if (is_multisite() && ! current_user_can('manage_network')) {
58
+ return new \WP_Error('not_allowed', __('You are not allowed to install plugins on this site.', 'jetpack'));
59
+ }
60
+
61
+ $skin = new PluginUpgraderSkin();
62
+ $upgrader = new \Plugin_Upgrader($skin);
63
+ $zip_url = self::generate_wordpress_org_plugin_download_link($slug);
64
+
65
+ $result = $upgrader->install($zip_url);
66
+
67
+ if (is_wp_error($result)) {
68
+ return $result;
69
+ }
70
+
71
+ $plugin = self::get_plugin_id_by_slug($slug);
72
+ $error_code = 'install_error';
73
+ if (! $plugin) {
74
+ $error = __('There was an error installing your plugin', 'jetpack');
75
+ }
76
+
77
+ if (! $result) {
78
+ $error_code = $upgrader->skin->get_main_error_code();
79
+ $message = $upgrader->skin->get_main_error_message();
80
+ $error = $message ? $message : __('An unknown error occurred during installation', 'jetpack');
81
+ }
82
+
83
+ if (! empty($error)) {
84
+ if ('download_failed' === $error_code) {
85
+ // For backwards compatibility: versions prior to 3.9 would return no_package instead of download_failed.
86
+ $error_code = 'no_package';
87
+ }
88
+
89
+ return new \WP_Error($error_code, $error, 400);
90
+ }
91
+
92
+ return (array) $upgrader->skin->get_upgrade_messages();
93
+ }
94
+
95
+ /**
96
+ * Get WordPress.org zip download link from a plugin slug
97
+ *
98
+ * @param string $plugin_slug Plugin slug.
99
+ */
100
+ protected static function generate_wordpress_org_plugin_download_link($plugin_slug)
101
+ {
102
+ return "https://downloads.wordpress.org/plugin/$plugin_slug.latest-stable.zip";
103
+ }
104
+
105
+ /**
106
+ * Get the plugin ID (composed of the plugin slug and the name of the main plugin file) from a plugin slug.
107
+ *
108
+ * @param string $slug Plugin slug.
109
+ */
110
+ public static function get_plugin_id_by_slug($slug)
111
+ {
112
+ // Check if get_plugins() function exists. This is required on the front end of the
113
+ // site, since it is in a file that is normally only loaded in the admin.
114
+ if (! function_exists('get_plugins')) {
115
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
116
+ }
117
+
118
+ /** This filter is documented in wp-admin/includes/class-wp-plugins-list-table.php */
119
+ $plugins = apply_filters('all_plugins', get_plugins());
120
+ if (! is_array($plugins)) {
121
+ return false;
122
+ }
123
+
124
+ foreach ($plugins as $plugin_file => $plugin_data) {
125
+ if (self::get_slug_from_file_path($plugin_file) === $slug) {
126
+ return $plugin_file;
127
+ }
128
+ }
129
+
130
+ return false;
131
+ }
132
+
133
+ /**
134
+ * Get the plugin slug from the plugin ID (composed of the plugin slug and the name of the main plugin file)
135
+ *
136
+ * @param string $plugin_file Plugin file (ID -- e.g. hello-dolly/hello.php).
137
+ */
138
+ protected static function get_slug_from_file_path($plugin_file)
139
+ {
140
+ // Similar to get_plugin_slug() method.
141
+ $slug = dirname($plugin_file);
142
+ if ('.' === $slug) {
143
+ $slug = preg_replace('/(.+)\.php$/', '$1', $plugin_file);
144
+ }
145
+
146
+ return $slug;
147
+ }
148
+
149
+ /**
150
+ * Get the activation status for a plugin.
151
+ *
152
+ * @since 8.9.0
153
+ *
154
+ * @param string $plugin_file The plugin file to check.
155
+ * @return string Either 'network-active', 'active' or 'inactive'.
156
+ */
157
+ public static function get_plugin_status($plugin_file)
158
+ {
159
+ if (is_plugin_active_for_network($plugin_file)) {
160
+ return 'network-active';
161
+ }
162
+
163
+ if (is_plugin_active($plugin_file)) {
164
+ return 'active';
165
+ }
166
+
167
+ return 'inactive';
168
+ }
169
+
170
+ /**
171
+ * Returns a list of all plugins in the site.
172
+ *
173
+ * @since 8.9.0
174
+ * @uses get_plugins()
175
+ *
176
+ * @return array
177
+ */
178
+ public static function get_plugins()
179
+ {
180
+ if (! function_exists('get_plugins')) {
181
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
182
+ }
183
+ /** This filter is documented in wp-admin/includes/class-wp-plugins-list-table.php */
184
+ $plugins = apply_filters('all_plugins', get_plugins());
185
+
186
+ if (is_array($plugins) && ! empty($plugins)) {
187
+ foreach ($plugins as $plugin_slug => $plugin_data) {
188
+ $plugins[ $plugin_slug ]['active'] = in_array(
189
+ self::get_plugin_status($plugin_slug),
190
+ array( 'active', 'network-active' ),
191
+ true
192
+ );
193
+ }
194
+ return $plugins;
195
+ }
196
+
197
+ return array();
198
+ }
199
+ }
200
+
201
+ include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
202
+ include_once ABSPATH . 'wp-admin/includes/file.php';
203
+
204
+ /**
205
+ * Allows us to capture that the site doesn't have proper file system access.
206
+ * In order to update the plugin.
207
+ */
208
+ class PluginUpgraderSkin extends \Automatic_Upgrader_Skin
209
+ {
210
+ /**
211
+ * Stores the last error key;
212
+ **/
213
+ protected $main_error_code = 'install_error';
214
+
215
+ /**
216
+ * Stores the last error message.
217
+ **/
218
+ protected $main_error_message = 'An unknown error occurred during installation';
219
+
220
+ /**
221
+ * Overwrites the set_upgrader to be able to tell if we e ven have the ability to write to the files.
222
+ *
223
+ * @param WP_Upgrader $upgrader
224
+ *
225
+ */
226
+ public function set_upgrader(&$upgrader)
227
+ {
228
+ parent::set_upgrader($upgrader);
229
+
230
+ // Check if we even have permission to.
231
+ $result = $upgrader->fs_connect(array( WP_CONTENT_DIR, WP_PLUGIN_DIR ));
232
+ if (! $result) {
233
+ // set the string here since they are not available just yet
234
+ $upgrader->generic_strings();
235
+ $this->feedback('fs_unavailable');
236
+ }
237
+ }
238
+
239
+ /**
240
+ * Overwrites the error function
241
+ */
242
+ public function error($error)
243
+ {
244
+ if (is_wp_error($error)) {
245
+ $this->feedback($error);
246
+ }
247
+ }
248
+
249
+ private function set_main_error_code($code)
250
+ {
251
+ // Don't set the process_failed as code since it is not that helpful unless we don't have one already set.
252
+ $this->main_error_code = ($code === 'process_failed' && $this->main_error_code ? $this->main_error_code : $code);
253
+ }
254
+
255
+ private function set_main_error_message($message, $code)
256
+ {
257
+ // Don't set the process_failed as message since it is not that helpful unless we don't have one already set.
258
+ $this->main_error_message = ($code === 'process_failed' && $this->main_error_code ? $this->main_error_code : $message);
259
+ }
260
+
261
+ public function get_main_error_code()
262
+ {
263
+ return $this->main_error_code;
264
+ }
265
+
266
+ public function get_main_error_message()
267
+ {
268
+ return $this->main_error_message;
269
+ }
270
+
271
+ /**
272
+ * Overwrites the feedback function
273
+ *
274
+ * @param string|array|WP_Error $data Data.
275
+ * @param mixed ...$args Optional text replacements.
276
+ */
277
+ public function feedback($data, ...$args)
278
+ {
279
+ $current_error = null;
280
+ if (is_wp_error($data)) {
281
+ $this->set_main_error_code($data->get_error_code());
282
+ $string = $data->get_error_message();
283
+ } elseif (is_array($data)) {
284
+ return;
285
+ } else {
286
+ $string = $data;
287
+ }
288
+
289
+ if (! empty($this->upgrader->strings[$string])) {
290
+ $this->set_main_error_code($string);
291
+
292
+ $current_error = $string;
293
+ $string = $this->upgrader->strings[$string];
294
+ }
295
+
296
+ if (strpos($string, '%') !== false) {
297
+ if (! empty($args)) {
298
+ $string = vsprintf($string, $args);
299
+ }
300
+ }
301
+
302
+ $string = trim($string);
303
+ $string = wp_kses(
304
+ $string,
305
+ array(
306
+ 'a' => array(
307
+ 'href' => true
308
+ ),
309
+ 'br' => true,
310
+ 'em' => true,
311
+ 'strong' => true,
312
+ )
313
+ );
314
+
315
+ $this->set_main_error_message($string, $current_error);
316
+ $this->messages[] = $string;
317
+ }
318
+ }
lib/vendor/redux-framework/extendify-sdk/app/Shared.php ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Manage any shared assets that load within the editor and the front-end.
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ use Extendify\Library\App;
9
+
10
+ /**
11
+ * This class handles assets that load within the editor and the front-end.
12
+ */
13
+ class Shared
14
+ {
15
+
16
+ /**
17
+ * Adds various actions to set up the page
18
+ *
19
+ * @return self|void
20
+ */
21
+ public function __construct()
22
+ {
23
+ \add_action(
24
+ 'wp_enqueue_scripts',
25
+ function () {
26
+ $this->themeCompatInlineStyles();
27
+ }
28
+ );
29
+
30
+ \add_action(
31
+ 'admin_init',
32
+ function () {
33
+ $this->themeCompatInlineStyles();
34
+ }
35
+ );
36
+ }
37
+
38
+ /**
39
+ * Inline styles to be applied for compatible themes
40
+ *
41
+ * @return void
42
+ */
43
+ // phpcs:ignore
44
+ public function themeCompatInlineStyles()
45
+ {
46
+ $css = '';
47
+ $theme = get_option('template');
48
+
49
+ if ($theme === 'kadence') {
50
+ $css = 'body, .editor-styles-wrapper {
51
+ --wp--preset--color--background: var(--global-palette8);
52
+ --wp--preset--color--foreground: var(--global-palette4);
53
+ --wp--preset--color--primary: var(--global-palette1);
54
+ --wp--preset--color--secondary: var(--global-palette2);
55
+ --wp--preset--color--tertiary: var(--global-palette7);
56
+ --wp--custom--spacing--large: clamp(var(--global-sm-spacing), 5vw, var(--global-xxl-spacing));
57
+ --wp--preset--font-size--large: var(--h2FontSize);
58
+ --wp--preset--font-size--huge: var(--h1FontSize);
59
+ }';
60
+ }
61
+
62
+ if ($theme === 'neve') {
63
+ $css = 'body, .editor-styles-wrapper {
64
+ --wp--preset--color--background: var(--nv-site-bg);
65
+ --wp--preset--color--foreground: var(--nv-text-color);
66
+ --wp--preset--color--primary: var(--nv-primary-accent);
67
+ --wp--preset--color--secondary: var(--nv-secondary-accent);
68
+ --wp--preset--color--tertiary: var(--nv-light-bg);
69
+ --wp--custom--spacing--large: clamp(15px, 5vw, 80px);
70
+ --wp--preset--font-size--large: var(--h2FontSize);
71
+ --wp--preset--font-size--huge: var(--h1FontSize);
72
+ }';
73
+ }
74
+
75
+ if ($theme === 'blocksy') {
76
+ $css = 'body, .editor-styles-wrapper {
77
+ --wp--preset--color--background: var(--paletteColor7);
78
+ --wp--preset--color--foreground: var(--color);
79
+ --wp--preset--color--primary: var(--paletteColor1);
80
+ --wp--preset--color--secondary: var(--paletteColor4);
81
+ }';
82
+ }
83
+
84
+ if ($theme === 'go') {
85
+ $css = 'body, .editor-styles-wrapper {
86
+ --wp--preset--color--background: var(--go--color--background);
87
+ --wp--preset--color--foreground: var(--go--color--text);
88
+ }';
89
+ }
90
+
91
+ if ($theme === 'astra') {
92
+ $css = 'body, .editor-styles-wrapper {
93
+ --wp--preset--color--background: #ffffff;
94
+ --wp--preset--color--foreground: var(--ast-global-color-2);
95
+ --wp--preset--color--primary: var(--ast-global-color-0);
96
+ --wp--preset--color--secondary: var(--ast-global-color-2);
97
+ }';
98
+ }
99
+
100
+ if ($theme === 'oceanwp') {
101
+ $background = get_theme_mod('ocean_background_color', '#ffffff');
102
+ $primary = get_theme_mod('ocean_primary_color', '#13aff0');
103
+ $secondary = get_theme_mod('ocean_hover_primary_color', '#0b7cac');
104
+ $gap = get_theme_mod('ocean_separate_content_padding', '30px');
105
+
106
+ $css = 'body, .editor-styles-wrapper {
107
+ --wp--preset--color--background: ' . $background . ';
108
+ --wp--preset--color--foreground: #1B1B1B;
109
+ --wp--preset--color--primary: ' . $primary . ';
110
+ --wp--preset--color--secondary: ' . $secondary . ';
111
+ --wp--style--block-gap: ' . $gap . ';
112
+ --wp--custom--spacing--large: clamp(2rem, 7vw, 8rem);
113
+ }';
114
+ }
115
+
116
+ if ($theme === 'generatepress') {
117
+ $settings = (array) get_option('generate_settings', []);
118
+
119
+ if (! array_key_exists('background_color', $settings)) {
120
+ $background = '#f7f8f9';
121
+ } else {
122
+ $background = $settings['background_color'];
123
+ }
124
+
125
+ if (! array_key_exists('text_color', $settings)) {
126
+ $foreground = '#222222';
127
+ } else {
128
+ $foreground = $settings['text_color'];
129
+ }
130
+
131
+ if (! array_key_exists('link_color', $settings)) {
132
+ $primary = '#1e73be';
133
+ } else {
134
+ $primary = $settings['link_color'];
135
+ }
136
+
137
+ if (! array_key_exists('link_color', $settings)) {
138
+ $primary = '#1e73be';
139
+ } else {
140
+ $primary = $settings['link_color'];
141
+ }
142
+
143
+ $css = 'body, .editor-styles-wrapper {
144
+ --wp--preset--color--background: ' . $background . ';
145
+ --wp--preset--color--foreground: ' . $foreground . ';
146
+ --wp--preset--color--primary: ' . $primary . ';
147
+ --wp--preset--color--secondary: #636363;
148
+ --wp--style--block-gap: 3rem;
149
+ --wp--custom--spacing--large: clamp(2rem, 7vw, 8rem);
150
+ --responsive--alignwide-width: 1120px;
151
+ }';
152
+ }//end if
153
+
154
+ if ($theme === 'twentytwentytwo') {
155
+ $css = 'body, .editor-styles-wrapper {
156
+ --extendify--spacing--large: clamp(2rem,8vw,8rem);
157
+ }';
158
+ }
159
+
160
+ if ($theme === 'twentytwentyone') {
161
+ $css = 'body, .editor-styles-wrapper {
162
+ --wp--preset--color--background: var(--global--color-background);
163
+ --wp--preset--color--foreground: var(--global--color-primary);
164
+ --wp--preset--color--primary: var(--global--color-gray);
165
+ --wp--preset--color--secondary: #464b56;
166
+ --wp--preset--color--tertiary: var(--global--color-light-gray);
167
+ --wp--style--block-gap: var(--global--spacing-unit);
168
+ --wp--preset--font-size--large: 2.5rem;
169
+ --wp--preset--font-size--huge: var(--global--font-size-xxl);
170
+ }
171
+ .has-foreground-background-color,
172
+ .has-primary-background-color,
173
+ .has-secondary-background-color {
174
+ --local--color-primary: var(--wp--preset--color--background);
175
+ --local--color-background: var(--wp--preset--color--primary);
176
+ }';
177
+ }
178
+
179
+ if ($theme === 'twentytwenty') {
180
+ $background = sanitize_hex_color_no_hash(get_theme_mod('background_color', 'f5efe0'));
181
+ $primary = get_theme_mod(
182
+ 'accent_accessible_colors',
183
+ [
184
+ 'content' => [ 'accent' => '#cd2653' ],
185
+ ]
186
+ );
187
+ $primary = $primary['content']['accent'];
188
+ $css = 'body, .editor-styles-wrapper {
189
+ --wp--preset--color--background: #' . $background . ';
190
+ --wp--preset--color--foreground: #000;
191
+ --wp--preset--color--primary: ' . $primary . ';
192
+ --wp--preset--color--secondary: #69603e;
193
+ --wp--style--block-gap: 3rem;
194
+ --wp--custom--spacing--large: clamp(2rem, 7vw, 8rem);
195
+ --responsive--alignwide-width: 120rem;
196
+ }';
197
+ }//end if
198
+
199
+ if ($theme === 'twentynineteen') {
200
+ /**
201
+ * Use the color from Twenty Nineteen's customizer value.
202
+ */
203
+ $primary = 199;
204
+ if (get_theme_mod('primary_color', 'default') !== 'default') {
205
+ $primary = absint(get_theme_mod('primary_color_hue', 199));
206
+ }
207
+
208
+ /**
209
+ * Filters Twenty Nineteen default saturation level.
210
+ *
211
+ * @since Twenty Nineteen 1.0
212
+ *
213
+ * @param int $saturation Color saturation level.
214
+ */
215
+ // phpcs:ignore
216
+ $saturation = apply_filters('twentynineteen_custom_colors_saturation', 100);
217
+ $saturation = absint($saturation) . '%';
218
+
219
+ /**
220
+ * Filters Twenty Nineteen default lightness level.
221
+ *
222
+ * @since Twenty Nineteen 1.0
223
+ *
224
+ * @param int $lightness Color lightness level.
225
+ */
226
+ // phpcs:ignore
227
+ $lightness = apply_filters('twentynineteen_custom_colors_lightness', 33);
228
+ $lightness = absint($lightness) . '%';
229
+
230
+ $css = 'body, .editor-styles-wrapper {
231
+ --wp--preset--color--foreground: #111;
232
+ --wp--preset--color--primary: hsl( ' . $primary . ', ' . $saturation . ', ' . $lightness . ' );
233
+ --wp--preset--color--secondary: #767676;
234
+ --wp--preset--color--tertiary: #f7f7f7;
235
+ }';
236
+ }//end if
237
+
238
+ // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
239
+ $content = file_get_contents(EXTENDIFY_PATH . 'public/build/extendify-utilities.css');
240
+ $version = App::$environment === 'PRODUCTION' ? App::$version : uniqid();
241
+ \wp_register_style(App::$slug . '-utilities', false, [], $version);
242
+ \wp_enqueue_style(App::$slug . '-utilities');
243
+ \wp_add_inline_style(App::$slug . '-utilities', $content . $css);
244
+ // Adds inline to the live preview.
245
+ \wp_add_inline_style('wp-components', $content . $css);
246
+ }
247
+ }
lib/vendor/redux-framework/extendify-sdk/app/SiteSettings.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Helper class for interacting with the user
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ /**
9
+ * Helper class for interacting with the user
10
+ */
11
+ class SiteSettings
12
+ {
13
+
14
+ /**
15
+ * SiteSettings option_name - For historical reasons do not change.
16
+ *
17
+ * @var string
18
+ */
19
+ protected $key = 'extendifysdk_sitesettings';
20
+
21
+ /**
22
+ * SiteSettings default value
23
+ *
24
+ * @var Json
25
+ */
26
+ protected $default = '{"state":{"enabled":true}}';
27
+
28
+ /**
29
+ * The class instance.
30
+ *
31
+ * @var $instance
32
+ */
33
+ protected static $instance = null;
34
+
35
+ /**
36
+ * Returns Setting
37
+ * Use it like Setting::data()
38
+ *
39
+ * @return mixed - Setting Data
40
+ */
41
+ private function dataHandler()
42
+ {
43
+ return \get_option($this->key, $this->default);
44
+ }
45
+
46
+ /**
47
+ * Returns Setting Key
48
+ * Use it like Setting::key()
49
+ *
50
+ * @return string - Setting key
51
+ */
52
+ private function keyHandler()
53
+ {
54
+ return $this->key;
55
+ }
56
+
57
+ /**
58
+ * Use it like Setting::method() e.g. Setting::data()
59
+ *
60
+ * @param string $name - The name of the method to call.
61
+ * @param array $arguments - The arguments to pass in.
62
+ *
63
+ * @return mixed
64
+ */
65
+ public static function __callStatic($name, array $arguments)
66
+ {
67
+ $name = "{$name}Handler";
68
+ self::$instance = new static();
69
+ $r = self::$instance;
70
+ return $r->$name(...$arguments);
71
+ }
72
+ }
lib/vendor/redux-framework/extendify-sdk/app/User.php ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Helper class for interacting with the user
4
+ */
5
+
6
+ namespace Extendify\Library;
7
+
8
+ use Extendify\Library\App;
9
+
10
+ /**
11
+ * Helper class for interacting with the user
12
+ */
13
+ class User
14
+ {
15
+
16
+ /**
17
+ * User unique, anonymous identifier
18
+ *
19
+ * @var string
20
+ */
21
+ public $uuid = '';
22
+
23
+ /**
24
+ * A WP user
25
+ *
26
+ * @var \WP_User
27
+ */
28
+ protected $user = null;
29
+
30
+ /**
31
+ * The DB key for scoping. For historical reasons do not change
32
+ *
33
+ * @var string
34
+ */
35
+ protected $key = 'extendifysdk_';
36
+
37
+ /**
38
+ * The class instance.
39
+ *
40
+ * @var $instance
41
+ */
42
+ protected static $instance = null;
43
+
44
+ /**
45
+ * Set up the user
46
+ *
47
+ * @param WP_User $user - A WP User object.
48
+ * @return void
49
+ */
50
+ public function __construct($user)
51
+ {
52
+ $this->user = $user;
53
+ }
54
+
55
+ /**
56
+ * Return the user ID
57
+ *
58
+ * @return void
59
+ */
60
+ private function setupUuid()
61
+ {
62
+ $uuid = \get_user_meta($this->user->ID, $this->key . 'uuid', true);
63
+ if (!$uuid) {
64
+ $id = \wp_hash(\wp_json_encode($this->user));
65
+ \update_user_meta($this->user->ID, $this->key . 'uuid', $id);
66
+ }
67
+
68
+ $this->uuid = $uuid;
69
+ }
70
+
71
+ /**
72
+ * Returns data about the user
73
+ * Use it like User::data('ID') to get the user id
74
+ *
75
+ * @param string $arguments - Right now a string of arguments, like ID.
76
+ * @return mixed - Data about the user.
77
+ */
78
+ private function dataHandler($arguments)
79
+ {
80
+ // Right now assume a single argument, but could expand to multiple.
81
+ if (isset($this->user->$arguments)) {
82
+ return $this->user->$arguments;
83
+ }
84
+
85
+ return \get_user_meta($this->user->ID, $this->key . $arguments, true);
86
+ }
87
+
88
+ /**
89
+ * Returns the application state for he current user
90
+ * Use it like User::data('ID') to get the user id
91
+ *
92
+ * @return string - JSON representation of the current state
93
+ */
94
+ private function stateHandler()
95
+ {
96
+ $state = \get_user_meta($this->user->ID, $this->key . 'user_data');
97
+
98
+ // Add some state boilerplate code for the first load.
99
+ if (!isset($state[0])) {
100
+ $state[0] = '{}';
101
+ }
102
+
103
+ $userData = json_decode($state[0], true);
104
+ if (!isset($userData['version'])) {
105
+ $userData['version'] = 0;
106
+ }
107
+
108
+ // This will reset the allowed max imports to 0 once a week which will force the library to re-check.
109
+ if (!get_transient('extendify_import_max_check_' . $this->user->ID)) {
110
+ set_transient('extendify_import_max_check_' . $this->user->ID, time(), strtotime('1 week', 0));
111
+ $userData['state']['allowedImports'] = 0;
112
+ }
113
+
114
+ // Similiar to above, this will give the user free imports once a month just for logging in.
115
+ if (!get_transient('extendify_free_extra_imports_check_' . $this->user->ID)) {
116
+ set_transient('extendify_free_extra_imports_check_' . $this->user->ID, time(), strtotime('first day of next month', 0));
117
+ $userData['state']['runningImports'] = 0;
118
+ }
119
+
120
+ if (!isset($userData['state']['sdkPartner']) || !$userData['state']['sdkPartner']) {
121
+ $userData['state']['sdkPartner'] = App::$sdkPartner;
122
+ }
123
+
124
+ $userData['state']['uuid'] = self::data('uuid');
125
+ $userData['state']['canInstallPlugins'] = \current_user_can('install_plugins');
126
+ $userData['state']['canActivatePlugins'] = \current_user_can('activate_plugins');
127
+ $userData['state']['isAdmin'] = \current_user_can('create_users');
128
+
129
+ return \wp_json_encode($userData);
130
+ }
131
+
132
+ /**
133
+ * Allows to dynamically setup the user with uuid
134
+ * Use it like User::data('ID') to get the user id
135
+ *
136
+ * @param string $name - The name of the method to call.
137
+ * @param array $arguments - The arguments to pass in.
138
+ *
139
+ * @return mixed
140
+ */
141
+ public static function __callStatic($name, array $arguments)
142
+ {
143
+ $name = "{$name}Handler";
144
+ if (is_null(self::$instance)) {
145
+ require_once ABSPATH . 'wp-includes/pluggable.php';
146
+ self::$instance = new static(\wp_get_current_user());
147
+ $r = self::$instance;
148
+ $r->setupUuid();
149
+ }
150
+
151
+ $r = self::$instance;
152
+ return $r->$name(...$arguments);
153
+ }
154
+ }
lib/vendor/redux-framework/extendify-sdk/bootstrap.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bootstrap the application
4
+ */
5
+
6
+ use Extendify\Library\Admin;
7
+ use Extendify\Library\Frontend;
8
+ use Extendify\Library\Shared;
9
+
10
+ if (!defined('ABSPATH')) {
11
+ die('No direct access.');
12
+ }
13
+
14
+ if (!defined('EXTENDIFY_PATH')) {
15
+ define('EXTENDIFY_PATH', \plugin_dir_path(__FILE__));
16
+ }
17
+
18
+ if (!defined('EXTENDIFY_URL')) {
19
+ define('EXTENDIFY_URL', \plugin_dir_url(__FILE__));
20
+ }
21
+
22
+ if (!defined('EXTENDIFY_PLUGIN_BASENAME')) {
23
+ define('EXTENDIFY_PLUGIN_BASENAME', \plugin_basename(__DIR__ . '/extendify.php'));
24
+ }
25
+
26
+ if (is_readable(EXTENDIFY_PATH . 'vendor/autoload.php')) {
27
+ require EXTENDIFY_PATH . 'vendor/autoload.php';
28
+ }
29
+
30
+ $extendifyAdmin = new Admin();
31
+ $extendifyFrontend = new Frontend();
32
+ $extendifyShared = new Shared();
33
+
34
+ require EXTENDIFY_PATH . 'routes/api.php';
35
+ require EXTENDIFY_PATH . 'editorplus/EditorPlus.php';
36
+
37
+ \add_action(
38
+ 'init',
39
+ function () {
40
+ \load_plugin_textdomain('extendify', false, EXTENDIFY_PATH . 'languages');
41
+ }
42
+ );
43
+
44
+ // To cover legacy conflicts.
45
+ // phpcs:ignore
46
+ class ExtendifySdk
47
+ {
48
+ }
lib/vendor/redux-framework/extendify-sdk/config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ {
2
+ "api": {
3
+ "live": "https://dashboard.extendify.com/api",
4
+ "dev": "https://testing.extendify.com/api",
5
+ "local": "http://templates.test/api"
6
+ }
7
+ }
lib/vendor/redux-framework/extendify-sdk/editorplus/EditorPlus.php ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Handles editor related changes.
4
+ * Loaded (or not) in /bootstrap.php
5
+ */
6
+
7
+ if (!class_exists('edpl__EditorPlus')) {
8
+ // phpcs:ignore Squiz.Classes.ClassFileName.NoMatch,Squiz.Commenting.ClassComment.Missing,PEAR.Commenting.ClassComment.Missing
9
+ final class ExtendifyEditorPlus
10
+ {
11
+
12
+ /**
13
+ * A reference to an instance of this class.
14
+ *
15
+ * @var $instance
16
+ */
17
+ public static $instance;
18
+
19
+ /**
20
+ * The array of templates that this plugin tracks.
21
+ *
22
+ * @var array $templates
23
+ */
24
+ protected $templates = ['editorplus-template.php' => 'Extendify Template'];
25
+
26
+ /**
27
+ * Returns an instance of this class.
28
+ *
29
+ * @return self
30
+ */
31
+ public static function getInstance()
32
+ {
33
+ if (!current_user_can('install_plugins')) {
34
+ return;
35
+ }
36
+
37
+ if (is_null(self::$instance)) {
38
+ self::$instance = new ExtendifyEditorPlus();
39
+ }
40
+
41
+ return self::$instance;
42
+ }
43
+
44
+ /**
45
+ * Check whether we need to use the Extendify/EP template.
46
+ */
47
+ public function __construct()
48
+ {
49
+ // Maybe show the styles on the frontend.
50
+ add_action('wp_head', function () {
51
+ if ($this->useDeprecatedTemplate()) {
52
+ $this->showStylesheet();
53
+ }
54
+ });
55
+
56
+ // Maybe show the styles in admin.
57
+ add_action('admin_head', function () {
58
+ if ($this->useDeprecatedTemplate()) {
59
+ $this->showStylesheet();
60
+ }
61
+ });
62
+
63
+ // Maybe load the JS to inject the admin styles.
64
+ add_action(
65
+ 'admin_enqueue_scripts',
66
+ function () {
67
+ wp_enqueue_script(
68
+ 'extendify-editorplus-scripts',
69
+ EXTENDIFY_BASE_URL . 'public/editorplus/editorplus.min.js',
70
+ [],
71
+ '1.0',
72
+ true
73
+ );
74
+ }
75
+ );
76
+
77
+ // Maybe add the body class name to the front end.
78
+ add_filter(
79
+ 'body_class',
80
+ function ($classes) {
81
+ if ($this->useDeprecatedTemplate()) {
82
+ $classes[] = 'eplus_styles';
83
+ }
84
+
85
+ return $classes;
86
+ }
87
+ );
88
+
89
+ // Maybe add the body class name to the admin.
90
+ add_filter(
91
+ 'admin_body_class',
92
+ function ($classes) {
93
+ if ($this->useDeprecatedTemplate()) {
94
+ $classes .= ' eplus_styles';
95
+ }
96
+
97
+ return $classes;
98
+ }
99
+ );
100
+
101
+ // Maybe register the template into WP.
102
+ add_filter('theme_page_templates', function ($templates) {
103
+ if (!$this->useDeprecatedTemplate()) {
104
+ return $templates;
105
+ }
106
+
107
+ return array_merge($templates, $this->templates);
108
+ });
109
+
110
+ // Maybe add template to the dropdown list.
111
+ add_filter('wp_insert_post_data', [$this, 'registerProjectTemplates']);
112
+
113
+ // Maybe add template file path.
114
+ add_filter('template_include', [$this, 'viewProjectTemplate']);
115
+ }
116
+
117
+ /**
118
+ * Checks whether the page needs the EP template
119
+ *
120
+ * @return boolean
121
+ */
122
+ public function useDeprecatedTemplate()
123
+ {
124
+ $post = get_post();
125
+ // phpcs:ignore WordPress.Security.NonceVerification.Recommended
126
+ if (is_admin() && isset($_GET['post'])) {
127
+ // This will populate on the admin.
128
+ // phpcs:ignore WordPress.Security.NonceVerification.Recommended
129
+ $post = get_post(sanitize_text_field(wp_unslash($_GET['post'])));
130
+ }
131
+
132
+ return isset($post->ID) && get_post_meta($post->ID, '_wp_page_template', true) === 'editorplus-template.php';
133
+ }
134
+
135
+ /**
136
+ * Used to echo out page template stylesheet if the page template is not active.
137
+ *
138
+ * @return void
139
+ */
140
+ public function showStylesheet()
141
+ {
142
+ $post = get_post();
143
+ $cssContent = apply_filters(
144
+ // For historical reasons do not change this key.
145
+ 'extendifysdk_template_css',
146
+ get_post_meta($post->ID, 'extendify_custom_stylesheet', true),
147
+ $post
148
+ );
149
+
150
+ // Note that esc_html() cannot be used because `div &gt; span` is not interpreted properly.
151
+ // See: https://github.com/WordPress/WordPress/blob/ccdb1766aead26d4cef79badb015bb2727fefd59/wp-includes/theme.php#L1824-L1833 for reference.
152
+ if ($cssContent) {
153
+ // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
154
+ echo "<style id='extendify-custom-stylesheet' type='text/css'>" . wp_strip_all_tags($cssContent) . '</style>';
155
+ }
156
+ }
157
+
158
+ /**
159
+ * Adds our template to the pages cache in order to trick WordPress,
160
+ * into thinking the template file exists where it doens't really exist.
161
+ *
162
+ * @param array $attributes - The attributes.
163
+ * @return array
164
+ */
165
+ public function registerProjectTemplates($attributes)
166
+ {
167
+ if (!$this->useDeprecatedTemplate()) {
168
+ return $attributes;
169
+ }
170
+
171
+ // Create the key used for the themes cache.
172
+ $cacheKey = 'page_templates-' . wp_hash(get_theme_root() . '/' . get_stylesheet());
173
+ // Retrieve the cache list.
174
+ // If it doesn't exist, or it's empty prepare an array.
175
+ $templates = wp_get_theme()->get_page_templates();
176
+ if (empty($templates)) {
177
+ $templates = [];
178
+ }
179
+
180
+ // New cache, therefore remove the old one.
181
+ wp_cache_delete($cacheKey, 'themes');
182
+ // Now add our template to the list of templates by merging our templates.
183
+ // with the existing templates array from the cache.
184
+ $templates = array_merge($templates, $this->templates);
185
+ // Add the modified cache to allow WordPress to pick it up for listing available templates.
186
+ wp_cache_add($cacheKey, $templates, 'themes', 1800);
187
+ return $attributes;
188
+ }
189
+
190
+ /**
191
+ * Checks if the template is assigned to the page.
192
+ *
193
+ * @param string $template - The template.
194
+ * @return string
195
+ */
196
+ public function viewProjectTemplate($template)
197
+ {
198
+ $post = get_post();
199
+ if (!$post || !$this->useDeprecatedTemplate()) {
200
+ return $template;
201
+ }
202
+
203
+ $currentTemplate = get_post_meta($post->ID, '_wp_page_template', true);
204
+
205
+ // Check that the set template is one we have defined.
206
+ if (!is_string($currentTemplate) || !array_key_exists($currentTemplate, $this->templates)) {
207
+ return $template;
208
+ }
209
+
210
+ $file = plugin_dir_path(__FILE__) . $currentTemplate;
211
+ if (!file_exists($file)) {
212
+ return $template;
213
+ }
214
+
215
+ return $file;
216
+ }
217
+ // phpcs:ignore Squiz.Classes.ClassDeclaration.SpaceBeforeCloseBrace
218
+ }
219
+
220
+ add_action('after_setup_theme', ['ExtendifyEditorPlus', 'getInstance']);
221
+ }//end if
lib/vendor/redux-framework/extendify-sdk/editorplus/editorplus-template.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Template Name: Extendify Template
4
+ * Template Post Type: post, page
5
+ */
6
+
7
+ ?>
8
+ <?php wp_head(); ?>
9
+ <body <?php body_class(); ?>>
10
+ <div class="ep-temp-container ep-container">
11
+
12
+ <div class="ep-temp-entry-content">
13
+ <?php
14
+ if (have_posts()) {
15
+ while (have_posts()) {
16
+ the_post();
17
+ the_content();
18
+ }
19
+ }
20
+ ?>
21
+
22
+ </div>
23
+
24
+
25
+ </div><!-- #site-content -->
26
+ <style>
27
+ .ep-temp-container {
28
+ margin-left: auto;
29
+ margin-right: auto;
30
+ }
31
+ @media(min-width: 700px) {
32
+ .ep-temp-container [class*=extendify-] [class*=wp-block] > * {
33
+ margin-top: 0px;
34
+ }
35
+ .ep-temp-container [class*=wp-block] > * .wp-block-button__link {
36
+ border-radius: 0px !important;
37
+ }
38
+ .ep-temp-container .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter) {
39
+ margin-top:0px;
40
+ }
41
+ body {background-color: #fff;}
42
+ html, body {
43
+ font-size: 16px !important;
44
+ }
45
+ }
46
+ </style>
47
+ </body>
48
+
49
+ <?php
50
+ wp_footer();
lib/vendor/redux-framework/extendify-sdk/editorplus/editorplus.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Quick method to hide the title if the template is active
2
+ if (window._wpLoadBlockEditor) {
3
+ const finished = window.wp.data.subscribe(() => {
4
+ const epTemplateSelected =
5
+ window.wp.data
6
+ .select('core/editor')
7
+ .getEditedPostAttribute('template') ===
8
+ 'editorplus-template.php'
9
+ const title = document.querySelector(
10
+ '.edit-post-visual-editor__post-title-wrapper',
11
+ )
12
+ const wrapper = document.querySelector('.editor-styles-wrapper')
13
+
14
+ // Too early
15
+ if (!title || !wrapper) return
16
+
17
+ if (epTemplateSelected) {
18
+ // GB needs to compute the height first
19
+ Promise.resolve().then(() => (title.style.display = 'none'))
20
+ wrapper.style.paddingTop = '0'
21
+ wrapper.style.backgroundColor = '#ffffff'
22
+ } else {
23
+ title.style.removeProperty('display')
24
+ wrapper.style.removeProperty('padding-top')
25
+ wrapper.style.removeProperty('background-color')
26
+ }
27
+ finished()
28
+ })
29
+ }
lib/vendor/redux-framework/extendify-sdk/extendify.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) { exit; } if (!class_exists('ExtendifySdk') && !class_exists('Extendify')) : final class Extendify { public static $loaded = false; public function __invoke() { if (!apply_filters('extendify_load_library', true) || !apply_filters('extendifysdk_load_library', true)) { return; } if (version_compare(PHP_VERSION, '5.6', '<') || version_compare($GLOBALS['wp_version'], '5.5', '<')) { return; } if (!self::$loaded) { self::$loaded = true; require dirname(__FILE__) . '/bootstrap.php'; $app = new Extendify\Library\App(); if (!defined('EXTENDIFY_BASE_URL')) { define('EXTENDIFY_BASE_URL', plugin_dir_url(__FILE__)); } } } } $extendify = new Extendify(); $extendify(); endif;
lib/vendor/redux-framework/extendify-sdk/loader.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file is used to help side load the library.
4
+ * Be sure to remove the front matter from extendify.php
5
+ */
6
+
7
+ if (!defined('ABSPATH')) {
8
+ exit;
9
+ }
10
+
11
+ if (!function_exists('extendifyCheckPluginInstalled')) {
12
+ /**
13
+ * Will be truthy if the plugin is installed.
14
+ *
15
+ * @param string $name name of the plugin 'extendify'.
16
+ * @return bool|string - will return path, ex. 'extendify/extendify.php'.
17
+ */
18
+ function extendifyCheckPluginInstalled($name)
19
+ {
20
+ if (!function_exists('get_plugins')) {
21
+ include_once ABSPATH . 'wp-admin/includes/plugin.php';
22
+ }
23
+
24
+ foreach (get_plugins() as $plugin => $data) {
25
+ if ($data['TextDomain'] === $name) {
26
+ return $plugin;
27
+ }
28
+ }
29
+
30
+ return false;
31
+ }
32
+ }//end if
33
+
34
+ $extendifyPluginName = extendifyCheckPluginInstalled('extendify');
35
+ if ($extendifyPluginName) {
36
+ // Exit if the library is installed and active.
37
+ // Remember, this file is only loaded by partner plugins.
38
+ if (is_plugin_active($extendifyPluginName)) {
39
+ // If the SDK is active then ignore the partner plugins.
40
+ $GLOBALS['extendify_sdk_partner'] = '';
41
+ return false;
42
+ }
43
+ }
44
+
45
+ // Next is first come, first serve. The later class is left in for historical reasons.
46
+ if (class_exists('Extendify') || class_exists('ExtendifySdk')) {
47
+ return false;
48
+ }
49
+
50
+ require_once plugin_dir_path(__FILE__) . 'extendify.php';
lib/vendor/redux-framework/extendify-sdk/public/assets/modal-extendify-black.png ADDED
Binary file
lib/vendor/redux-framework/extendify-sdk/public/assets/modal-extendify-purple.png ADDED
Binary file
lib/vendor/redux-framework/extendify-sdk/public/assets/preview.png ADDED
Binary file
lib/vendor/redux-framework/extendify-sdk/public/build/extendify-utilities.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ .ext-absolute{position:absolute!important}.ext-relative{position:relative!important}.ext-top-base{top:var(--wp--style--block-gap,1.75rem)!important}.ext-top-lg{top:var(--extendify--spacing--large)!important}.ext--top-base{top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--top-lg{top:calc(var(--extendify--spacing--large)*-1)!important}.ext-right-base{right:var(--wp--style--block-gap,1.75rem)!important}.ext-right-lg{right:var(--extendify--spacing--large)!important}.ext--right-base{right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--right-lg{right:calc(var(--extendify--spacing--large)*-1)!important}.ext-bottom-base{bottom:var(--wp--style--block-gap,1.75rem)!important}.ext-bottom-lg{bottom:var(--extendify--spacing--large)!important}.ext--bottom-base{bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--bottom-lg{bottom:calc(var(--extendify--spacing--large)*-1)!important}.ext-left-base{left:var(--wp--style--block-gap,1.75rem)!important}.ext-left-lg{left:var(--extendify--spacing--large)!important}.ext--left-base{left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--left-lg{left:calc(var(--extendify--spacing--large)*-1)!important}.ext-order-1{order:1!important}.ext-order-2{order:2!important}.ext-col-auto{grid-column:auto!important}.ext-col-span-1{grid-column:span 1/span 1!important}.ext-col-span-2{grid-column:span 2/span 2!important}.ext-col-span-3{grid-column:span 3/span 3!important}.ext-col-span-4{grid-column:span 4/span 4!important}.ext-col-span-5{grid-column:span 5/span 5!important}.ext-col-span-6{grid-column:span 6/span 6!important}.ext-col-span-7{grid-column:span 7/span 7!important}.ext-col-span-8{grid-column:span 8/span 8!important}.ext-col-span-9{grid-column:span 9/span 9!important}.ext-col-span-10{grid-column:span 10/span 10!important}.ext-col-span-11{grid-column:span 11/span 11!important}.ext-col-span-12{grid-column:span 12/span 12!important}.ext-col-span-full{grid-column:1/-1!important}.ext-col-start-1{grid-column-start:1!important}.ext-col-start-2{grid-column-start:2!important}.ext-col-start-3{grid-column-start:3!important}.ext-col-start-4{grid-column-start:4!important}.ext-col-start-5{grid-column-start:5!important}.ext-col-start-6{grid-column-start:6!important}.ext-col-start-7{grid-column-start:7!important}.ext-col-start-8{grid-column-start:8!important}.ext-col-start-9{grid-column-start:9!important}.ext-col-start-10{grid-column-start:10!important}.ext-col-start-11{grid-column-start:11!important}.ext-col-start-12{grid-column-start:12!important}.ext-col-start-13{grid-column-start:13!important}.ext-col-start-auto{grid-column-start:auto!important}.ext-col-end-1{grid-column-end:1!important}.ext-col-end-2{grid-column-end:2!important}.ext-col-end-3{grid-column-end:3!important}.ext-col-end-4{grid-column-end:4!important}.ext-col-end-5{grid-column-end:5!important}.ext-col-end-6{grid-column-end:6!important}.ext-col-end-7{grid-column-end:7!important}.ext-col-end-8{grid-column-end:8!important}.ext-col-end-9{grid-column-end:9!important}.ext-col-end-10{grid-column-end:10!important}.ext-col-end-11{grid-column-end:11!important}.ext-col-end-12{grid-column-end:12!important}.ext-col-end-13{grid-column-end:13!important}.ext-col-end-auto{grid-column-end:auto!important}.ext-row-auto{grid-row:auto!important}.ext-row-span-1{grid-row:span 1/span 1!important}.ext-row-span-2{grid-row:span 2/span 2!important}.ext-row-span-3{grid-row:span 3/span 3!important}.ext-row-span-4{grid-row:span 4/span 4!important}.ext-row-span-5{grid-row:span 5/span 5!important}.ext-row-span-6{grid-row:span 6/span 6!important}.ext-row-span-full{grid-row:1/-1!important}.ext-row-start-1{grid-row-start:1!important}.ext-row-start-2{grid-row-start:2!important}.ext-row-start-3{grid-row-start:3!important}.ext-row-start-4{grid-row-start:4!important}.ext-row-start-5{grid-row-start:5!important}.ext-row-start-6{grid-row-start:6!important}.ext-row-start-7{grid-row-start:7!important}.ext-row-start-auto{grid-row-start:auto!important}.ext-row-end-1{grid-row-end:1!important}.ext-row-end-2{grid-row-end:2!important}.ext-row-end-3{grid-row-end:3!important}.ext-row-end-4{grid-row-end:4!important}.ext-row-end-5{grid-row-end:5!important}.ext-row-end-6{grid-row-end:6!important}.ext-row-end-7{grid-row-end:7!important}.ext-row-end-auto{grid-row-end:auto!important}.ext-m-0:not([style*=margin]){margin:0!important}.ext-m-auto:not([style*=margin]){margin:auto!important}.ext-m-base:not([style*=margin]){margin:var(--wp--style--block-gap,1.75rem)!important}.ext-m-lg:not([style*=margin]){margin:var(--extendify--spacing--large)!important}.ext--m-base:not([style*=margin]){margin:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--m-lg:not([style*=margin]){margin:calc(var(--extendify--spacing--large)*-1)!important}.ext-mx-0:not([style*=margin]){margin-left:0!important;margin-right:0!important}.ext-mx-auto:not([style*=margin]){margin-left:auto!important;margin-right:auto!important}.ext-mx-base:not([style*=margin]){margin-left:var(--wp--style--block-gap,1.75rem)!important;margin-right:var(--wp--style--block-gap,1.75rem)!important}.ext-mx-lg:not([style*=margin]){margin-left:var(--extendify--spacing--large)!important;margin-right:var(--extendify--spacing--large)!important}.ext--mx-base:not([style*=margin]){margin-left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important;margin-right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--mx-lg:not([style*=margin]){margin-left:calc(var(--extendify--spacing--large)*-1)!important;margin-right:calc(var(--extendify--spacing--large)*-1)!important}.ext-my-0:not([style*=margin]){margin-bottom:0!important;margin-top:0!important}.ext-my-auto:not([style*=margin]){margin-bottom:auto!important;margin-top:auto!important}.ext-my-base:not([style*=margin]){margin-bottom:var(--wp--style--block-gap,1.75rem)!important;margin-top:var(--wp--style--block-gap,1.75rem)!important}.ext-my-lg:not([style*=margin]){margin-bottom:var(--extendify--spacing--large)!important;margin-top:var(--extendify--spacing--large)!important}.ext--my-base:not([style*=margin]){margin-bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important;margin-top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--my-lg:not([style*=margin]){margin-bottom:calc(var(--extendify--spacing--large)*-1)!important;margin-top:calc(var(--extendify--spacing--large)*-1)!important}.ext-mt-0:not([style*=margin]){margin-top:0!important}.ext-mt-auto:not([style*=margin]){margin-top:auto!important}.ext-mt-base:not([style*=margin]){margin-top:var(--wp--style--block-gap,1.75rem)!important}.ext-mt-lg:not([style*=margin]){margin-top:var(--extendify--spacing--large)!important}.ext--mt-base:not([style*=margin]){margin-top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--mt-lg:not([style*=margin]){margin-top:calc(var(--extendify--spacing--large)*-1)!important}.ext-mr-0:not([style*=margin]){margin-right:0!important}.ext-mr-auto:not([style*=margin]){margin-right:auto!important}.ext-mr-base:not([style*=margin]){margin-right:var(--wp--style--block-gap,1.75rem)!important}.ext-mr-lg:not([style*=margin]){margin-right:var(--extendify--spacing--large)!important}.ext--mr-base:not([style*=margin]){margin-right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--mr-lg:not([style*=margin]){margin-right:calc(var(--extendify--spacing--large)*-1)!important}.ext-mb-0:not([style*=margin]){margin-bottom:0!important}.ext-mb-auto:not([style*=margin]){margin-bottom:auto!important}.ext-mb-base:not([style*=margin]){margin-bottom:var(--wp--style--block-gap,1.75rem)!important}.ext-mb-lg:not([style*=margin]){margin-bottom:var(--extendify--spacing--large)!important}.ext--mb-base:not([style*=margin]){margin-bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--mb-lg:not([style*=margin]){margin-bottom:calc(var(--extendify--spacing--large)*-1)!important}.ext-ml-0:not([style*=margin]){margin-left:0!important}.ext-ml-auto:not([style*=margin]){margin-left:auto!important}.ext-ml-base:not([style*=margin]){margin-left:var(--wp--style--block-gap,1.75rem)!important}.ext-ml-lg:not([style*=margin]){margin-left:var(--extendify--spacing--large)!important}.ext--ml-base:not([style*=margin]){margin-left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.ext--ml-lg:not([style*=margin]){margin-left:calc(var(--extendify--spacing--large)*-1)!important}.ext-block{display:block!important}.ext-inline-block{display:inline-block!important}.ext-inline{display:inline!important}.ext-flex{display:flex!important}.ext-inline-flex{display:inline-flex!important}.ext-grid{display:grid!important}.ext-inline-grid{display:inline-grid!important}.ext-hidden{display:none!important}.ext-w-auto{width:auto!important}.ext-w-full{width:100%!important}.ext-max-w-full{max-width:100%!important}.ext-flex-1{flex:1 1 0%!important}.ext-flex-auto{flex:1 1 auto!important}.ext-flex-initial{flex:0 1 auto!important}.ext-flex-none{flex:none!important}.ext-flex-shrink-0{flex-shrink:0!important}.ext-flex-shrink{flex-shrink:1!important}.ext-flex-grow-0{flex-grow:0!important}.ext-flex-grow{flex-grow:1!important}.ext-list-none{list-style-type:none!important}.ext-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.ext-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ext-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ext-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.ext-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.ext-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.ext-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.ext-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.ext-grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.ext-grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.ext-grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.ext-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}.ext-grid-cols-none{grid-template-columns:none!important}.ext-grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))!important}.ext-grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))!important}.ext-grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))!important}.ext-grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))!important}.ext-grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))!important}.ext-grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))!important}.ext-grid-rows-none{grid-template-rows:none!important}.ext-flex-row{flex-direction:row!important}.ext-flex-row-reverse{flex-direction:row-reverse!important}.ext-flex-col{flex-direction:column!important}.ext-flex-col-reverse{flex-direction:column-reverse!important}.ext-flex-wrap{flex-wrap:wrap!important}.ext-flex-wrap-reverse{flex-wrap:wrap-reverse!important}.ext-flex-nowrap{flex-wrap:nowrap!important}.ext-items-start{align-items:flex-start!important}.ext-items-end{align-items:flex-end!important}.ext-items-center{align-items:center!important}.ext-items-baseline{align-items:baseline!important}.ext-items-stretch{align-items:stretch!important}.ext-justify-start{justify-content:flex-start!important}.ext-justify-end{justify-content:flex-end!important}.ext-justify-center{justify-content:center!important}.ext-justify-between{justify-content:space-between!important}.ext-justify-around{justify-content:space-around!important}.ext-justify-evenly{justify-content:space-evenly!important}.ext-justify-items-start{justify-items:start!important}.ext-justify-items-end{justify-items:end!important}.ext-justify-items-center{justify-items:center!important}.ext-justify-items-stretch{justify-items:stretch!important}.ext-gap-0{gap:0!important}.ext-gap-base{gap:var(--wp--style--block-gap,1.75rem)!important}.ext-gap-lg{gap:var(--extendify--spacing--large)!important}.ext-gap-x-0{-moz-column-gap:0!important;column-gap:0!important}.ext-gap-x-base{-moz-column-gap:var(--wp--style--block-gap,1.75rem)!important;column-gap:var(--wp--style--block-gap,1.75rem)!important}.ext-gap-x-lg{-moz-column-gap:var(--extendify--spacing--large)!important;column-gap:var(--extendify--spacing--large)!important}.ext-gap-y-0{row-gap:0!important}.ext-gap-y-base{row-gap:var(--wp--style--block-gap,1.75rem)!important}.ext-gap-y-lg{row-gap:var(--extendify--spacing--large)!important}.ext-justify-self-auto{justify-self:auto!important}.ext-justify-self-start{justify-self:start!important}.ext-justify-self-end{justify-self:end!important}.ext-justify-self-center{justify-self:center!important}.ext-justify-self-stretch{justify-self:stretch!important}.ext-rounded-none{border-radius:0!important}.ext-rounded-full{border-radius:9999px!important}.ext-rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.ext-rounded-t-full{border-top-left-radius:9999px!important;border-top-right-radius:9999px!important}.ext-rounded-r-none{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.ext-rounded-r-full{border-bottom-right-radius:9999px!important;border-top-right-radius:9999px!important}.ext-rounded-b-none{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ext-rounded-b-full{border-bottom-left-radius:9999px!important;border-bottom-right-radius:9999px!important}.ext-rounded-l-none{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.ext-rounded-l-full{border-bottom-left-radius:9999px!important;border-top-left-radius:9999px!important}.ext-rounded-tl-none{border-top-left-radius:0!important}.ext-rounded-tl-full{border-top-left-radius:9999px!important}.ext-rounded-tr-none{border-top-right-radius:0!important}.ext-rounded-tr-full{border-top-right-radius:9999px!important}.ext-rounded-br-none{border-bottom-right-radius:0!important}.ext-rounded-br-full{border-bottom-right-radius:9999px!important}.ext-rounded-bl-none{border-bottom-left-radius:0!important}.ext-rounded-bl-full{border-bottom-left-radius:9999px!important}.ext-border-0{border-width:0!important}.ext-border-t-0{border-top-width:0!important}.ext-border-r-0{border-right-width:0!important}.ext-border-b-0{border-bottom-width:0!important}.ext-border-l-0{border-left-width:0!important}.ext-p-0:not([style*=padding]){padding:0!important}.ext-p-base:not([style*=padding]){padding:var(--wp--style--block-gap,1.75rem)!important}.ext-p-lg:not([style*=padding]){padding:var(--extendify--spacing--large)!important}.ext-px-0:not([style*=padding]){padding-left:0!important;padding-right:0!important}.ext-px-base:not([style*=padding]){padding-left:var(--wp--style--block-gap,1.75rem)!important;padding-right:var(--wp--style--block-gap,1.75rem)!important}.ext-px-lg:not([style*=padding]){padding-left:var(--extendify--spacing--large)!important;padding-right:var(--extendify--spacing--large)!important}.ext-py-0:not([style*=padding]){padding-bottom:0!important;padding-top:0!important}.ext-py-base:not([style*=padding]){padding-bottom:var(--wp--style--block-gap,1.75rem)!important;padding-top:var(--wp--style--block-gap,1.75rem)!important}.ext-py-lg:not([style*=padding]){padding-bottom:var(--extendify--spacing--large)!important;padding-top:var(--extendify--spacing--large)!important}.ext-pt-0:not([style*=padding]){padding-top:0!important}.ext-pt-base:not([style*=padding]){padding-top:var(--wp--style--block-gap,1.75rem)!important}.ext-pt-lg:not([style*=padding]){padding-top:var(--extendify--spacing--large)!important}.ext-pr-0:not([style*=padding]){padding-right:0!important}.ext-pr-base:not([style*=padding]){padding-right:var(--wp--style--block-gap,1.75rem)!important}.ext-pr-lg:not([style*=padding]){padding-right:var(--extendify--spacing--large)!important}.ext-pb-0:not([style*=padding]){padding-bottom:0!important}.ext-pb-base:not([style*=padding]){padding-bottom:var(--wp--style--block-gap,1.75rem)!important}.ext-pb-lg:not([style*=padding]){padding-bottom:var(--extendify--spacing--large)!important}.ext-pl-0:not([style*=padding]){padding-left:0!important}.ext-pl-base:not([style*=padding]){padding-left:var(--wp--style--block-gap,1.75rem)!important}.ext-pl-lg:not([style*=padding]){padding-left:var(--extendify--spacing--large)!important}.ext-text-left{text-align:left!important}.ext-text-center{text-align:center!important}.ext-text-right{text-align:right!important}.ext-leading-none{line-height:1!important}.ext-leading-tight{line-height:1.25!important}.ext-leading-snug{line-height:1.375!important}.ext-leading-normal{line-height:1.5!important}.ext-leading-relaxed{line-height:1.625!important}.ext-leading-loose{line-height:2!important}.clip-path--rhombus img{-webkit-clip-path:polygon(15% 6%,80% 29%,84% 93%,23% 69%);clip-path:polygon(15% 6%,80% 29%,84% 93%,23% 69%)}.clip-path--diamond img{-webkit-clip-path:polygon(5% 29%,60% 2%,91% 64%,36% 89%);clip-path:polygon(5% 29%,60% 2%,91% 64%,36% 89%)}.clip-path--rhombus-alt img{-webkit-clip-path:polygon(14% 9%,85% 24%,91% 89%,19% 76%);clip-path:polygon(14% 9%,85% 24%,91% 89%,19% 76%)}.wp-block-columns[class*=fullwidth-cols]{margin-bottom:unset}.wp-block-column.editor\:pointer-events-none{margin-bottom:0!important;margin-top:0!important}.is-root-container.block-editor-block-list__layout>[data-align=full]:not(:first-of-type)>.wp-block-column.editor\:pointer-events-none,.is-root-container.block-editor-block-list__layout>[data-align=wide]>.wp-block-column.editor\:pointer-events-none{margin-top:calc(var(--wp--style--block-gap, 28px)*-1)!important}.ext .wp-block-columns .wp-block-column[style*=padding]{padding-left:0!important;padding-right:0!important}.ext .wp-block-columns+.wp-block-columns:not([class*=mt-]):not([class*=my-]):not([style*=margin]){margin-top:0!important}[class*=fullwidth-cols] .wp-block-column:first-child,[class*=fullwidth-cols] .wp-block-group:first-child{margin-top:0}[class*=fullwidth-cols] .wp-block-column:last-child,[class*=fullwidth-cols] .wp-block-group:last-child{margin-bottom:0}[class*=fullwidth-cols] .wp-block-column:first-child>*,[class*=fullwidth-cols] .wp-block-column>:first-child{margin-top:0}.ext .is-not-stacked-on-mobile .wp-block-column,[class*=fullwidth-cols] .wp-block-column>:last-child{margin-bottom:0}.wp-block-columns[class*=fullwidth-cols]:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:last-child){margin-bottom:var(--wp--style--block-gap,1.75rem)}@media (min-width:782px){.wp-block-columns[class*=fullwidth-cols]:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:last-child){margin-bottom:0}}.wp-block-columns[class*=fullwidth-cols].is-not-stacked-on-mobile>.wp-block-column{margin-bottom:0!important}@media (min-width:600px) and (max-width:781px){.wp-block-columns[class*=fullwidth-cols]:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n){margin-left:var(--wp--style--block-gap,2em)}}@media (max-width:781px){.tablet\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap}.tablet\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column,.tablet\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not([style*=margin]){margin-left:0!important}.tablet\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (max-width:1079px){.desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap}.desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column,.desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not([style*=margin]){margin-left:0!important}.desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}.desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:last-child){margin-bottom:var(--wp--style--block-gap,1.75rem)!important}}.direction-rtl{direction:rtl}.direction-ltr{direction:ltr}.is-style-inline-list{padding-left:0!important}.is-style-inline-list li{list-style-type:none!important}@media (min-width:782px){.is-style-inline-list li{display:inline!important;margin-right:var(--wp--style--block-gap,1.75rem)!important}}@media (min-width:782px){.is-style-inline-list li:first-child{margin-left:0!important}}@media (min-width:782px){.is-style-inline-list li:last-child{margin-right:0!important}}.bring-to-front{position:relative;z-index:10}.text-stroke{-webkit-text-stroke-color:var(--wp--preset--color--background)}.text-stroke,.text-stroke--primary{-webkit-text-stroke-width:var(
2
+ --wp--custom--typography--text-stroke-width,2px
3
+ )}.text-stroke--primary{-webkit-text-stroke-color:var(--wp--preset--color--primary)}.text-stroke--secondary{-webkit-text-stroke-width:var(
4
+ --wp--custom--typography--text-stroke-width,2px
5
+ );-webkit-text-stroke-color:var(--wp--preset--color--secondary)}.editor\:no-caption .block-editor-rich-text__editable{display:none!important}.editor\:no-inserter .wp-block-column:not(.is-selected)>.block-list-appender,.editor\:no-inserter .wp-block-cover__inner-container>.block-list-appender,.editor\:no-inserter .wp-block-group__inner-container>.block-list-appender,.editor\:no-inserter>.block-list-appender{display:none}.editor\:no-resize .components-resizable-box__handle,.editor\:no-resize .components-resizable-box__handle:after,.editor\:no-resize .components-resizable-box__side-handle:before{display:none;pointer-events:none}.editor\:no-resize .components-resizable-box__container{display:block}.editor\:pointer-events-none{pointer-events:none}.is-style-angled{justify-content:flex-end}.ext .is-style-angled>[class*=_inner-container],.is-style-angled{align-items:center}.is-style-angled .wp-block-cover__image-background,.is-style-angled .wp-block-cover__video-background{-webkit-clip-path:polygon(0 0,30% 0,50% 100%,0 100%);clip-path:polygon(0 0,30% 0,50% 100%,0 100%);z-index:1}@media (min-width:782px){.is-style-angled .wp-block-cover__image-background,.is-style-angled .wp-block-cover__video-background{-webkit-clip-path:polygon(0 0,55% 0,65% 100%,0 100%);clip-path:polygon(0 0,55% 0,65% 100%,0 100%)}}.has-foreground-color{color:var(--wp--preset--color--foreground,#000)!important}.has-foreground-background-color{background-color:var(--wp--preset--color--foreground,#000)!important}.has-background-color{color:var(--wp--preset--color--background,#fff)!important}.has-background-background-color{background-color:var(--wp--preset--color--background,#fff)!important}.has-primary-color{color:var(--wp--preset--color--primary,#4b5563)!important}.has-primary-background-color{background-color:var(--wp--preset--color--primary,#4b5563)!important}.has-secondary-color{color:var(--wp--preset--color--secondary,#9ca3af)!important}.has-secondary-background-color{background-color:var(--wp--preset--color--secondary,#9ca3af)!important}.ext.has-text-color h1,.ext.has-text-color h2,.ext.has-text-color h3,.ext.has-text-color h4,.ext.has-text-color h5,.ext.has-text-color h6,.ext.has-text-color p{color:currentColor}.has-white-color{color:var(--wp--preset--color--white,#fff)!important}.has-black-color{color:var(--wp--preset--color--black,#000)!important}.has-ext-foreground-background-color{background-color:var(
6
+ --wp--preset--color--foreground,var(--wp--preset--color--black,#000)
7
+ )!important}.has-ext-primary-background-color{background-color:var(
8
+ --wp--preset--color--primary,var(--wp--preset--color--cyan-bluish-gray,#000)
9
+ )!important}.wp-block-button__link.has-black-background-color{border-color:var(--wp--preset--color--black,#000)}.wp-block-button__link.has-white-background-color{border-color:var(--wp--preset--color--white,#fff)}.has-ext-small-font-size{font-size:var(--wp--preset--font-size--ext-small)!important}.has-ext-medium-font-size{font-size:var(--wp--preset--font-size--ext-medium)!important}.has-ext-large-font-size{font-size:var(--wp--preset--font-size--ext-large)!important;line-height:1.2}.has-ext-x-large-font-size{font-size:var(--wp--preset--font-size--ext-x-large)!important;line-height:1}.has-ext-xx-large-font-size{font-size:var(--wp--preset--font-size--ext-xx-large)!important;line-height:1}.has-ext-x-large-font-size:not([style*=line-height]),.has-ext-xx-large-font-size:not([style*=line-height]){line-height:1.1}.ext .wp-block-group>*{margin-bottom:0;margin-top:0}.ext .wp-block-group>*+*{margin-bottom:0}.ext .wp-block-group>*+*,.ext h2{margin-top:var(--wp--style--block-gap,1.75rem)}.ext h2{margin-bottom:var(--wp--style--block-gap,1.75rem)}.has-ext-x-large-font-size+h3,.has-ext-x-large-font-size+p{margin-top:.5rem}.ext .wp-block-buttons>.wp-block-button.wp-block-button__width-25{min-width:12rem;width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.ext .ext-grid>[class*=_inner-container]{display:grid}.ext>[class*=_inner-container]>.ext-grid:not([class*=columns]),.ext>[class*=_inner-container]>.wp-block>.ext-grid:not([class*=columns]){display:initial!important}.ext .ext-grid-cols-1>[class*=_inner-container]{grid-template-columns:repeat(1,minmax(0,1fr))!important}.ext .ext-grid-cols-2>[class*=_inner-container]{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ext .ext-grid-cols-3>[class*=_inner-container]{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ext .ext-grid-cols-4>[class*=_inner-container]{grid-template-columns:repeat(4,minmax(0,1fr))!important}.ext .ext-grid-cols-5>[class*=_inner-container]{grid-template-columns:repeat(5,minmax(0,1fr))!important}.ext .ext-grid-cols-6>[class*=_inner-container]{grid-template-columns:repeat(6,minmax(0,1fr))!important}.ext .ext-grid-cols-7>[class*=_inner-container]{grid-template-columns:repeat(7,minmax(0,1fr))!important}.ext .ext-grid-cols-8>[class*=_inner-container]{grid-template-columns:repeat(8,minmax(0,1fr))!important}.ext .ext-grid-cols-9>[class*=_inner-container]{grid-template-columns:repeat(9,minmax(0,1fr))!important}.ext .ext-grid-cols-10>[class*=_inner-container]{grid-template-columns:repeat(10,minmax(0,1fr))!important}.ext .ext-grid-cols-11>[class*=_inner-container]{grid-template-columns:repeat(11,minmax(0,1fr))!important}.ext .ext-grid-cols-12>[class*=_inner-container]{grid-template-columns:repeat(12,minmax(0,1fr))!important}.ext .ext-grid-cols-13>[class*=_inner-container]{grid-template-columns:repeat(13,minmax(0,1fr))!important}.ext .ext-grid-cols-none>[class*=_inner-container]{grid-template-columns:none!important}.ext .ext-grid-rows-1>[class*=_inner-container]{grid-template-rows:repeat(1,minmax(0,1fr))!important}.ext .ext-grid-rows-2>[class*=_inner-container]{grid-template-rows:repeat(2,minmax(0,1fr))!important}.ext .ext-grid-rows-3>[class*=_inner-container]{grid-template-rows:repeat(3,minmax(0,1fr))!important}.ext .ext-grid-rows-4>[class*=_inner-container]{grid-template-rows:repeat(4,minmax(0,1fr))!important}.ext .ext-grid-rows-5>[class*=_inner-container]{grid-template-rows:repeat(5,minmax(0,1fr))!important}.ext .ext-grid-rows-6>[class*=_inner-container]{grid-template-rows:repeat(6,minmax(0,1fr))!important}.ext .ext-grid-rows-none>[class*=_inner-container]{grid-template-rows:none!important}.ext .ext-items-start>[class*=_inner-container]{align-items:flex-start!important}.ext .ext-items-end>[class*=_inner-container]{align-items:flex-end!important}.ext .ext-items-center>[class*=_inner-container]{align-items:center!important}.ext .ext-items-baseline>[class*=_inner-container]{align-items:baseline!important}.ext .ext-items-stretch>[class*=_inner-container]{align-items:stretch!important}.ext.wp-block-group>:last-child{margin-bottom:0}.ext .wp-block-group__inner-container{padding:0!important}.ext.has-background{padding-left:var(--wp--style--block-gap,1.75rem);padding-right:var(--wp--style--block-gap,1.75rem)}.ext [class*=inner-container]>.alignwide [class*=inner-container],.ext [class*=inner-container]>[data-align=wide] [class*=inner-container]{max-width:var(--responsive--alignwide-width,120rem)}.ext [class*=inner-container]>.alignwide [class*=inner-container]>*,.ext [class*=inner-container]>[data-align=wide] [class*=inner-container]>*{max-width:100%!important}.ext .wp-block-image{position:relative;text-align:center}.ext .wp-block-image img{display:inline-block;vertical-align:middle}body{--extendify--spacing--large:var(
10
+ --wp--custom--spacing--large,clamp(2em,8vw,8em)
11
+ );--wp--preset--font-size--ext-small:1rem;--wp--preset--font-size--ext-medium:1.125rem;--wp--preset--font-size--ext-large:clamp(1.65rem,3.5vw,2.15rem);--wp--preset--font-size--ext-x-large:clamp(3rem,6vw,4.75rem);--wp--preset--font-size--ext-xx-large:clamp(3.25rem,7.5vw,5.75rem);--wp--preset--color--black:#000;--wp--preset--color--white:#fff}.ext *{box-sizing:border-box}.block-editor-block-preview__content-iframe .ext [data-type="core/spacer"] .components-resizable-box__container{background:transparent!important}.block-editor-block-preview__content-iframe .ext [data-type="core/spacer"] .block-library-spacer__resize-container:before{display:none!important}.ext .wp-block-group__inner-container figure.wp-block-gallery.alignfull{margin-bottom:unset;margin-top:unset}.ext .alignwide{margin-left:auto!important;margin-right:auto!important}.is-root-container.block-editor-block-list__layout>[data-align=full]:not(:first-of-type)>.ext-my-0,.is-root-container.block-editor-block-list__layout>[data-align=wide]>.ext-my-0:not([style*=margin]){margin-top:calc(var(--wp--style--block-gap, 28px)*-1)!important}.block-editor-block-preview__content-iframe .preview\:min-h-50{min-height:50vw!important}.block-editor-block-preview__content-iframe .preview\:min-h-60{min-height:60vw!important}.block-editor-block-preview__content-iframe .preview\:min-h-70{min-height:70vw!important}.block-editor-block-preview__content-iframe .preview\:min-h-80{min-height:80vw!important}.block-editor-block-preview__content-iframe .preview\:min-h-100{min-height:100vw!important}.ext-mr-0.alignfull:not([style*=margin]):not([style*=margin]){margin-right:0!important}.ext-ml-0:not([style*=margin]):not([style*=margin]){margin-left:0!important}.is-root-container .wp-block[data-align=full]>.ext-mx-0:not([style*=margin]):not([style*=margin]){margin-left:calc(var(--wp--custom--spacing--outer, 0)*1)!important;margin-right:calc(var(--wp--custom--spacing--outer, 0)*1)!important;overflow:hidden;width:unset}@media (min-width:782px){.tablet\:ext-absolute{position:absolute!important}.tablet\:ext-relative{position:relative!important}.tablet\:ext-top-base{top:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-top-lg{top:var(--extendify--spacing--large)!important}.tablet\:ext--top-base{top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--top-lg{top:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-right-base{right:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-right-lg{right:var(--extendify--spacing--large)!important}.tablet\:ext--right-base{right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--right-lg{right:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-bottom-base{bottom:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-bottom-lg{bottom:var(--extendify--spacing--large)!important}.tablet\:ext--bottom-base{bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--bottom-lg{bottom:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-left-base{left:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-left-lg{left:var(--extendify--spacing--large)!important}.tablet\:ext--left-base{left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--left-lg{left:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-order-1{order:1!important}.tablet\:ext-order-2{order:2!important}.tablet\:ext-m-0:not([style*=margin]){margin:0!important}.tablet\:ext-m-auto:not([style*=margin]){margin:auto!important}.tablet\:ext-m-base:not([style*=margin]){margin:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-m-lg:not([style*=margin]){margin:var(--extendify--spacing--large)!important}.tablet\:ext--m-base:not([style*=margin]){margin:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--m-lg:not([style*=margin]){margin:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-mx-0:not([style*=margin]){margin-left:0!important;margin-right:0!important}.tablet\:ext-mx-auto:not([style*=margin]){margin-left:auto!important;margin-right:auto!important}.tablet\:ext-mx-base:not([style*=margin]){margin-left:var(--wp--style--block-gap,1.75rem)!important;margin-right:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-mx-lg:not([style*=margin]){margin-left:var(--extendify--spacing--large)!important;margin-right:var(--extendify--spacing--large)!important}.tablet\:ext--mx-base:not([style*=margin]){margin-left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important;margin-right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--mx-lg:not([style*=margin]){margin-left:calc(var(--extendify--spacing--large)*-1)!important;margin-right:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-my-0:not([style*=margin]){margin-bottom:0!important;margin-top:0!important}.tablet\:ext-my-auto:not([style*=margin]){margin-bottom:auto!important;margin-top:auto!important}.tablet\:ext-my-base:not([style*=margin]){margin-bottom:var(--wp--style--block-gap,1.75rem)!important;margin-top:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-my-lg:not([style*=margin]){margin-bottom:var(--extendify--spacing--large)!important;margin-top:var(--extendify--spacing--large)!important}.tablet\:ext--my-base:not([style*=margin]){margin-bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important;margin-top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--my-lg:not([style*=margin]){margin-bottom:calc(var(--extendify--spacing--large)*-1)!important;margin-top:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-mt-0:not([style*=margin]){margin-top:0!important}.tablet\:ext-mt-auto:not([style*=margin]){margin-top:auto!important}.tablet\:ext-mt-base:not([style*=margin]){margin-top:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-mt-lg:not([style*=margin]){margin-top:var(--extendify--spacing--large)!important}.tablet\:ext--mt-base:not([style*=margin]){margin-top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--mt-lg:not([style*=margin]){margin-top:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-mr-0:not([style*=margin]){margin-right:0!important}.tablet\:ext-mr-auto:not([style*=margin]){margin-right:auto!important}.tablet\:ext-mr-base:not([style*=margin]){margin-right:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-mr-lg:not([style*=margin]){margin-right:var(--extendify--spacing--large)!important}.tablet\:ext--mr-base:not([style*=margin]){margin-right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--mr-lg:not([style*=margin]){margin-right:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-mb-0:not([style*=margin]){margin-bottom:0!important}.tablet\:ext-mb-auto:not([style*=margin]){margin-bottom:auto!important}.tablet\:ext-mb-base:not([style*=margin]){margin-bottom:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-mb-lg:not([style*=margin]){margin-bottom:var(--extendify--spacing--large)!important}.tablet\:ext--mb-base:not([style*=margin]){margin-bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--mb-lg:not([style*=margin]){margin-bottom:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-ml-0:not([style*=margin]){margin-left:0!important}.tablet\:ext-ml-auto:not([style*=margin]){margin-left:auto!important}.tablet\:ext-ml-base:not([style*=margin]){margin-left:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-ml-lg:not([style*=margin]){margin-left:var(--extendify--spacing--large)!important}.tablet\:ext--ml-base:not([style*=margin]){margin-left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.tablet\:ext--ml-lg:not([style*=margin]){margin-left:calc(var(--extendify--spacing--large)*-1)!important}.tablet\:ext-block{display:block!important}.tablet\:ext-inline-block{display:inline-block!important}.tablet\:ext-inline{display:inline!important}.tablet\:ext-flex{display:flex!important}.tablet\:ext-inline-flex{display:inline-flex!important}.tablet\:ext-grid{display:grid!important}.tablet\:ext-inline-grid{display:inline-grid!important}.tablet\:ext-hidden{display:none!important}.tablet\:ext-w-auto{width:auto!important}.tablet\:ext-w-full{width:100%!important}.tablet\:ext-max-w-full{max-width:100%!important}.tablet\:ext-flex-1{flex:1 1 0%!important}.tablet\:ext-flex-auto{flex:1 1 auto!important}.tablet\:ext-flex-initial{flex:0 1 auto!important}.tablet\:ext-flex-none{flex:none!important}.tablet\:ext-flex-shrink-0{flex-shrink:0!important}.tablet\:ext-flex-shrink{flex-shrink:1!important}.tablet\:ext-flex-grow-0{flex-grow:0!important}.tablet\:ext-flex-grow{flex-grow:1!important}.tablet\:ext-list-none{list-style-type:none!important}.tablet\:ext-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.tablet\:ext-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tablet\:ext-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.tablet\:ext-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.tablet\:ext-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.tablet\:ext-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.tablet\:ext-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.tablet\:ext-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.tablet\:ext-grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.tablet\:ext-grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.tablet\:ext-grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.tablet\:ext-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}.tablet\:ext-grid-cols-none{grid-template-columns:none!important}.tablet\:ext-flex-row{flex-direction:row!important}.tablet\:ext-flex-row-reverse{flex-direction:row-reverse!important}.tablet\:ext-flex-col{flex-direction:column!important}.tablet\:ext-flex-col-reverse{flex-direction:column-reverse!important}.tablet\:ext-flex-wrap{flex-wrap:wrap!important}.tablet\:ext-flex-wrap-reverse{flex-wrap:wrap-reverse!important}.tablet\:ext-flex-nowrap{flex-wrap:nowrap!important}.tablet\:ext-items-start{align-items:flex-start!important}.tablet\:ext-items-end{align-items:flex-end!important}.tablet\:ext-items-center{align-items:center!important}.tablet\:ext-items-baseline{align-items:baseline!important}.tablet\:ext-items-stretch{align-items:stretch!important}.tablet\:ext-justify-start{justify-content:flex-start!important}.tablet\:ext-justify-end{justify-content:flex-end!important}.tablet\:ext-justify-center{justify-content:center!important}.tablet\:ext-justify-between{justify-content:space-between!important}.tablet\:ext-justify-around{justify-content:space-around!important}.tablet\:ext-justify-evenly{justify-content:space-evenly!important}.tablet\:ext-justify-items-start{justify-items:start!important}.tablet\:ext-justify-items-end{justify-items:end!important}.tablet\:ext-justify-items-center{justify-items:center!important}.tablet\:ext-justify-items-stretch{justify-items:stretch!important}.tablet\:ext-justify-self-auto{justify-self:auto!important}.tablet\:ext-justify-self-start{justify-self:start!important}.tablet\:ext-justify-self-end{justify-self:end!important}.tablet\:ext-justify-self-center{justify-self:center!important}.tablet\:ext-justify-self-stretch{justify-self:stretch!important}.tablet\:ext-p-0:not([style*=padding]){padding:0!important}.tablet\:ext-p-base:not([style*=padding]){padding:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-p-lg:not([style*=padding]){padding:var(--extendify--spacing--large)!important}.tablet\:ext-px-0:not([style*=padding]){padding-left:0!important;padding-right:0!important}.tablet\:ext-px-base:not([style*=padding]){padding-left:var(--wp--style--block-gap,1.75rem)!important;padding-right:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-px-lg:not([style*=padding]){padding-left:var(--extendify--spacing--large)!important;padding-right:var(--extendify--spacing--large)!important}.tablet\:ext-py-0:not([style*=padding]){padding-bottom:0!important;padding-top:0!important}.tablet\:ext-py-base:not([style*=padding]){padding-bottom:var(--wp--style--block-gap,1.75rem)!important;padding-top:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-py-lg:not([style*=padding]){padding-bottom:var(--extendify--spacing--large)!important;padding-top:var(--extendify--spacing--large)!important}.tablet\:ext-pt-0:not([style*=padding]){padding-top:0!important}.tablet\:ext-pt-base:not([style*=padding]){padding-top:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-pt-lg:not([style*=padding]){padding-top:var(--extendify--spacing--large)!important}.tablet\:ext-pr-0:not([style*=padding]){padding-right:0!important}.tablet\:ext-pr-base:not([style*=padding]){padding-right:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-pr-lg:not([style*=padding]){padding-right:var(--extendify--spacing--large)!important}.tablet\:ext-pb-0:not([style*=padding]){padding-bottom:0!important}.tablet\:ext-pb-base:not([style*=padding]){padding-bottom:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-pb-lg:not([style*=padding]){padding-bottom:var(--extendify--spacing--large)!important}.tablet\:ext-pl-0:not([style*=padding]){padding-left:0!important}.tablet\:ext-pl-base:not([style*=padding]){padding-left:var(--wp--style--block-gap,1.75rem)!important}.tablet\:ext-pl-lg:not([style*=padding]){padding-left:var(--extendify--spacing--large)!important}.tablet\:ext-text-left{text-align:left!important}.tablet\:ext-text-center{text-align:center!important}.tablet\:ext-text-right{text-align:right!important}}@media (min-width:1080px){.desktop\:ext-absolute{position:absolute!important}.desktop\:ext-relative{position:relative!important}.desktop\:ext-top-base{top:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-top-lg{top:var(--extendify--spacing--large)!important}.desktop\:ext--top-base{top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--top-lg{top:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-right-base{right:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-right-lg{right:var(--extendify--spacing--large)!important}.desktop\:ext--right-base{right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--right-lg{right:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-bottom-base{bottom:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-bottom-lg{bottom:var(--extendify--spacing--large)!important}.desktop\:ext--bottom-base{bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--bottom-lg{bottom:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-left-base{left:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-left-lg{left:var(--extendify--spacing--large)!important}.desktop\:ext--left-base{left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--left-lg{left:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-order-1{order:1!important}.desktop\:ext-order-2{order:2!important}.desktop\:ext-m-0:not([style*=margin]){margin:0!important}.desktop\:ext-m-auto:not([style*=margin]){margin:auto!important}.desktop\:ext-m-base:not([style*=margin]){margin:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-m-lg:not([style*=margin]){margin:var(--extendify--spacing--large)!important}.desktop\:ext--m-base:not([style*=margin]){margin:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--m-lg:not([style*=margin]){margin:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-mx-0:not([style*=margin]){margin-left:0!important;margin-right:0!important}.desktop\:ext-mx-auto:not([style*=margin]){margin-left:auto!important;margin-right:auto!important}.desktop\:ext-mx-base:not([style*=margin]){margin-left:var(--wp--style--block-gap,1.75rem)!important;margin-right:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-mx-lg:not([style*=margin]){margin-left:var(--extendify--spacing--large)!important;margin-right:var(--extendify--spacing--large)!important}.desktop\:ext--mx-base:not([style*=margin]){margin-left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important;margin-right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--mx-lg:not([style*=margin]){margin-left:calc(var(--extendify--spacing--large)*-1)!important;margin-right:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-my-0:not([style*=margin]){margin-bottom:0!important;margin-top:0!important}.desktop\:ext-my-auto:not([style*=margin]){margin-bottom:auto!important;margin-top:auto!important}.desktop\:ext-my-base:not([style*=margin]){margin-bottom:var(--wp--style--block-gap,1.75rem)!important;margin-top:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-my-lg:not([style*=margin]){margin-bottom:var(--extendify--spacing--large)!important;margin-top:var(--extendify--spacing--large)!important}.desktop\:ext--my-base:not([style*=margin]){margin-bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important;margin-top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--my-lg:not([style*=margin]){margin-bottom:calc(var(--extendify--spacing--large)*-1)!important;margin-top:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-mt-0:not([style*=margin]){margin-top:0!important}.desktop\:ext-mt-auto:not([style*=margin]){margin-top:auto!important}.desktop\:ext-mt-base:not([style*=margin]){margin-top:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-mt-lg:not([style*=margin]){margin-top:var(--extendify--spacing--large)!important}.desktop\:ext--mt-base:not([style*=margin]){margin-top:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--mt-lg:not([style*=margin]){margin-top:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-mr-0:not([style*=margin]){margin-right:0!important}.desktop\:ext-mr-auto:not([style*=margin]){margin-right:auto!important}.desktop\:ext-mr-base:not([style*=margin]){margin-right:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-mr-lg:not([style*=margin]){margin-right:var(--extendify--spacing--large)!important}.desktop\:ext--mr-base:not([style*=margin]){margin-right:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--mr-lg:not([style*=margin]){margin-right:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-mb-0:not([style*=margin]){margin-bottom:0!important}.desktop\:ext-mb-auto:not([style*=margin]){margin-bottom:auto!important}.desktop\:ext-mb-base:not([style*=margin]){margin-bottom:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-mb-lg:not([style*=margin]){margin-bottom:var(--extendify--spacing--large)!important}.desktop\:ext--mb-base:not([style*=margin]){margin-bottom:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--mb-lg:not([style*=margin]){margin-bottom:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-ml-0:not([style*=margin]){margin-left:0!important}.desktop\:ext-ml-auto:not([style*=margin]){margin-left:auto!important}.desktop\:ext-ml-base:not([style*=margin]){margin-left:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-ml-lg:not([style*=margin]){margin-left:var(--extendify--spacing--large)!important}.desktop\:ext--ml-base:not([style*=margin]){margin-left:calc(var(--wp--style--block-gap, 1.75rem)*-1)!important}.desktop\:ext--ml-lg:not([style*=margin]){margin-left:calc(var(--extendify--spacing--large)*-1)!important}.desktop\:ext-block{display:block!important}.desktop\:ext-inline-block{display:inline-block!important}.desktop\:ext-inline{display:inline!important}.desktop\:ext-flex{display:flex!important}.desktop\:ext-inline-flex{display:inline-flex!important}.desktop\:ext-grid{display:grid!important}.desktop\:ext-inline-grid{display:inline-grid!important}.desktop\:ext-hidden{display:none!important}.desktop\:ext-w-auto{width:auto!important}.desktop\:ext-w-full{width:100%!important}.desktop\:ext-max-w-full{max-width:100%!important}.desktop\:ext-flex-1{flex:1 1 0%!important}.desktop\:ext-flex-auto{flex:1 1 auto!important}.desktop\:ext-flex-initial{flex:0 1 auto!important}.desktop\:ext-flex-none{flex:none!important}.desktop\:ext-flex-shrink-0{flex-shrink:0!important}.desktop\:ext-flex-shrink{flex-shrink:1!important}.desktop\:ext-flex-grow-0{flex-grow:0!important}.desktop\:ext-flex-grow{flex-grow:1!important}.desktop\:ext-list-none{list-style-type:none!important}.desktop\:ext-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.desktop\:ext-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.desktop\:ext-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.desktop\:ext-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.desktop\:ext-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}.desktop\:ext-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}.desktop\:ext-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}.desktop\:ext-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))!important}.desktop\:ext-grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))!important}.desktop\:ext-grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))!important}.desktop\:ext-grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))!important}.desktop\:ext-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))!important}.desktop\:ext-grid-cols-none{grid-template-columns:none!important}.desktop\:ext-flex-row{flex-direction:row!important}.desktop\:ext-flex-row-reverse{flex-direction:row-reverse!important}.desktop\:ext-flex-col{flex-direction:column!important}.desktop\:ext-flex-col-reverse{flex-direction:column-reverse!important}.desktop\:ext-flex-wrap{flex-wrap:wrap!important}.desktop\:ext-flex-wrap-reverse{flex-wrap:wrap-reverse!important}.desktop\:ext-flex-nowrap{flex-wrap:nowrap!important}.desktop\:ext-items-start{align-items:flex-start!important}.desktop\:ext-items-end{align-items:flex-end!important}.desktop\:ext-items-center{align-items:center!important}.desktop\:ext-items-baseline{align-items:baseline!important}.desktop\:ext-items-stretch{align-items:stretch!important}.desktop\:ext-justify-start{justify-content:flex-start!important}.desktop\:ext-justify-end{justify-content:flex-end!important}.desktop\:ext-justify-center{justify-content:center!important}.desktop\:ext-justify-between{justify-content:space-between!important}.desktop\:ext-justify-around{justify-content:space-around!important}.desktop\:ext-justify-evenly{justify-content:space-evenly!important}.desktop\:ext-justify-items-start{justify-items:start!important}.desktop\:ext-justify-items-end{justify-items:end!important}.desktop\:ext-justify-items-center{justify-items:center!important}.desktop\:ext-justify-items-stretch{justify-items:stretch!important}.desktop\:ext-justify-self-auto{justify-self:auto!important}.desktop\:ext-justify-self-start{justify-self:start!important}.desktop\:ext-justify-self-end{justify-self:end!important}.desktop\:ext-justify-self-center{justify-self:center!important}.desktop\:ext-justify-self-stretch{justify-self:stretch!important}.desktop\:ext-p-0:not([style*=padding]){padding:0!important}.desktop\:ext-p-base:not([style*=padding]){padding:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-p-lg:not([style*=padding]){padding:var(--extendify--spacing--large)!important}.desktop\:ext-px-0:not([style*=padding]){padding-left:0!important;padding-right:0!important}.desktop\:ext-px-base:not([style*=padding]){padding-left:var(--wp--style--block-gap,1.75rem)!important;padding-right:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-px-lg:not([style*=padding]){padding-left:var(--extendify--spacing--large)!important;padding-right:var(--extendify--spacing--large)!important}.desktop\:ext-py-0:not([style*=padding]){padding-bottom:0!important;padding-top:0!important}.desktop\:ext-py-base:not([style*=padding]){padding-bottom:var(--wp--style--block-gap,1.75rem)!important;padding-top:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-py-lg:not([style*=padding]){padding-bottom:var(--extendify--spacing--large)!important;padding-top:var(--extendify--spacing--large)!important}.desktop\:ext-pt-0:not([style*=padding]){padding-top:0!important}.desktop\:ext-pt-base:not([style*=padding]){padding-top:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-pt-lg:not([style*=padding]){padding-top:var(--extendify--spacing--large)!important}.desktop\:ext-pr-0:not([style*=padding]){padding-right:0!important}.desktop\:ext-pr-base:not([style*=padding]){padding-right:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-pr-lg:not([style*=padding]){padding-right:var(--extendify--spacing--large)!important}.desktop\:ext-pb-0:not([style*=padding]){padding-bottom:0!important}.desktop\:ext-pb-base:not([style*=padding]){padding-bottom:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-pb-lg:not([style*=padding]){padding-bottom:var(--extendify--spacing--large)!important}.desktop\:ext-pl-0:not([style*=padding]){padding-left:0!important}.desktop\:ext-pl-base:not([style*=padding]){padding-left:var(--wp--style--block-gap,1.75rem)!important}.desktop\:ext-pl-lg:not([style*=padding]){padding-left:var(--extendify--spacing--large)!important}.desktop\:ext-text-left{text-align:left!important}.desktop\:ext-text-center{text-align:center!important}.desktop\:ext-text-right{text-align:right!important}}
lib/vendor/redux-framework/extendify-sdk/public/build/extendify.css ADDED
@@ -0,0 +1 @@
 
1
+ div.extendify .sr-only{clip:rect(0,0,0,0)!important;border-width:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}div.extendify .focus\:not-sr-only:focus{clip:auto!important;height:auto!important;margin:0!important;overflow:visible!important;padding:0!important;position:static!important;white-space:normal!important;width:auto!important}div.extendify .pointer-events-none{pointer-events:none!important}div.extendify .invisible{visibility:hidden!important}div.extendify .static{position:static!important}div.extendify .fixed{position:fixed!important}div.extendify .absolute{position:absolute!important}div.extendify .relative{position:relative!important}div.extendify .inset-0{bottom:0!important;left:0!important;right:0!important;top:0!important}div.extendify .top-0{top:0!important}div.extendify .top-2{top:.5rem!important}div.extendify .top-4{top:1rem!important}div.extendify .right-0{right:0!important}div.extendify .right-1{right:.25rem!important}div.extendify .right-2{right:.5rem!important}div.extendify .right-4{right:1rem!important}div.extendify .right-2\.5{right:.625rem!important}div.extendify .bottom-0{bottom:0!important}div.extendify .left-0{left:0!important}div.extendify .z-10{z-index:10!important}div.extendify .z-20{z-index:20!important}div.extendify .z-30{z-index:30!important}div.extendify .z-40{z-index:40!important}div.extendify .z-50{z-index:50!important}div.extendify .z-high{z-index:99999!important}div.extendify .m-0{margin:0!important}div.extendify .m-8{margin:2rem!important}div.extendify .m-auto{margin:auto!important}div.extendify .mx-6{margin-left:1.5rem!important;margin-right:1.5rem!important}div.extendify .mx-auto{margin-left:auto!important;margin-right:auto!important}div.extendify .my-0{margin-bottom:0!important;margin-top:0!important}div.extendify .my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}div.extendify .my-20{margin-bottom:5rem!important;margin-top:5rem!important}div.extendify .mt-0{margin-top:0!important}div.extendify .mt-2{margin-top:.5rem!important}div.extendify .mt-4{margin-top:1rem!important}div.extendify .mt-10{margin-top:2.5rem!important}div.extendify .mt-px{margin-top:1px!important}div.extendify .-mt-2{margin-top:-.5rem!important}div.extendify .mr-1{margin-right:.25rem!important}div.extendify .-mr-1{margin-right:-.25rem!important}div.extendify .-mr-1\.5{margin-right:-.375rem!important}div.extendify .mb-0{margin-bottom:0!important}div.extendify .mb-1{margin-bottom:.25rem!important}div.extendify .mb-2{margin-bottom:.5rem!important}div.extendify .mb-4{margin-bottom:1rem!important}div.extendify .mb-5{margin-bottom:1.25rem!important}div.extendify .mb-6{margin-bottom:1.5rem!important}div.extendify .mb-8{margin-bottom:2rem!important}div.extendify .mb-10{margin-bottom:2.5rem!important}div.extendify .ml-1{margin-left:.25rem!important}div.extendify .ml-2{margin-left:.5rem!important}div.extendify .-ml-1{margin-left:-.25rem!important}div.extendify .-ml-2{margin-left:-.5rem!important}div.extendify .-ml-6{margin-left:-1.5rem!important}div.extendify .-ml-px{margin-left:-1px!important}div.extendify .-ml-1\.5{margin-left:-.375rem!important}div.extendify .block{display:block!important}div.extendify .flex{display:flex!important}div.extendify .inline-flex{display:inline-flex!important}div.extendify .table{display:table!important}div.extendify .hidden{display:none!important}div.extendify .h-20{height:5rem!important}div.extendify .h-auto{height:auto!important}div.extendify .h-full{height:100%!important}div.extendify .h-screen{height:100vh!important}div.extendify .max-h-96{max-height:24rem!important}div.extendify .min-h-0{min-height:0!important}div.extendify .min-h-screen{min-height:100vh!important}div.extendify .w-6{width:1.5rem!important}div.extendify .w-72{width:18rem!important}div.extendify .w-80{width:20rem!important}div.extendify .w-auto{width:auto!important}div.extendify .w-full{width:100%!important}div.extendify .w-screen{width:100vw!important}div.extendify .min-w-sm{min-width:7rem!important}div.extendify .max-w-xs{max-width:20rem!important}div.extendify .max-w-md{max-width:28rem!important}div.extendify .max-w-lg{max-width:32rem!important}div.extendify .max-w-xl{max-width:36rem!important}div.extendify .max-w-full{max-width:100%!important}div.extendify .max-w-screen-4xl{max-width:1920px!important}div.extendify .flex-1{flex:1 1 0%!important}div.extendify .flex-shrink-0{flex-shrink:0!important}div.extendify .flex-grow-0{flex-grow:0!important}div.extendify .flex-grow{flex-grow:1!important}div.extendify .transform{--tw-translate-x:0!important;--tw-translate-y:0!important;--tw-rotate:0!important;--tw-skew-x:0!important;--tw-skew-y:0!important;--tw-scale-x:1!important;--tw-scale-y:1!important;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}div.extendify .-translate-x-1{--tw-translate-x:-0.25rem!important}div.extendify .translate-y-0{--tw-translate-y:0px!important}div.extendify .translate-y-4{--tw-translate-y:1rem!important}div.extendify .-translate-y-full{--tw-translate-y:-100%!important}div.extendify .rotate-90{--tw-rotate:90deg!important}div.extendify .cursor-pointer{cursor:pointer!important}div.extendify .resize{resize:both!important}div.extendify .flex-col{flex-direction:column!important}div.extendify .items-end{align-items:flex-end!important}div.extendify .items-center{align-items:center!important}div.extendify .items-stretch{align-items:stretch!important}div.extendify .justify-end{justify-content:flex-end!important}div.extendify .justify-center{justify-content:center!important}div.extendify .justify-between{justify-content:space-between!important}div.extendify .space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.25rem*var(--tw-space-x-reverse))!important}div.extendify .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(.5rem*var(--tw-space-x-reverse))!important}div.extendify .space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0!important;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))!important;margin-right:calc(1rem*var(--tw-space-x-reverse))!important}div.extendify .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))!important}div.extendify .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1rem*var(--tw-space-y-reverse))!important;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))!important}div.extendify .space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(2rem*var(--tw-space-y-reverse))!important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))!important}div.extendify .overflow-hidden{overflow:hidden!important}div.extendify .overflow-y-auto{overflow-y:auto!important}div.extendify .whitespace-nowrap{white-space:nowrap!important}div.extendify .rounded-sm{border-radius:.125rem!important}div.extendify .rounded{border-radius:.25rem!important}div.extendify .rounded-md{border-radius:.375rem!important}div.extendify .rounded-tl-sm{border-top-left-radius:.125rem!important}div.extendify .rounded-tr-sm{border-top-right-radius:.125rem!important}div.extendify .rounded-br-sm{border-bottom-right-radius:.125rem!important}div.extendify .rounded-bl-sm{border-bottom-left-radius:.125rem!important}div.extendify .border-0{border-width:0!important}div.extendify .border-2{border-width:2px!important}div.extendify .border-8{border-width:8px!important}div.extendify .border{border-width:1px!important}div.extendify .border-r{border-right-width:1px!important}div.extendify .border-b-0{border-bottom-width:0!important}div.extendify .border-b{border-bottom-width:1px!important}div.extendify .border-solid{border-style:solid!important}div.extendify .border-none{border-style:none!important}div.extendify .border-black{--tw-border-opacity:1!important;border-color:rgba(0,0,0,var(--tw-border-opacity))!important}div.extendify .border-gray-900{--tw-border-opacity:1!important;border-color:rgba(30,30,30,var(--tw-border-opacity))!important}div.extendify .border-extendify-main{--tw-border-opacity:1!important;border-color:rgba(11,74,67,var(--tw-border-opacity))!important}div.extendify .border-extendify-transparent-black-100{border-color:rgba(0,0,0,.07)!important}div.extendify .border-wp-alert-red{--tw-border-opacity:1!important;border-color:rgba(204,24,24,var(--tw-border-opacity))!important}div.extendify .focus\:border-transparent:focus{border-color:transparent!important}div.extendify .bg-transparent{background-color:transparent!important}div.extendify .bg-black{--tw-bg-opacity:1!important;background-color:rgba(0,0,0,var(--tw-bg-opacity))!important}div.extendify .bg-white{--tw-bg-opacity:1!important;background-color:rgba(255,255,255,var(--tw-bg-opacity))!important}div.extendify .bg-gray-100{--tw-bg-opacity:1!important;background-color:rgba(240,240,240,var(--tw-bg-opacity))!important}div.extendify .bg-gray-900{--tw-bg-opacity:1!important;background-color:rgba(30,30,30,var(--tw-bg-opacity))!important}div.extendify .bg-extendify-main{--tw-bg-opacity:1!important;background-color:rgba(11,74,67,var(--tw-bg-opacity))!important}div.extendify .bg-extendify-alert{--tw-bg-opacity:1!important;background-color:rgba(132,16,16,var(--tw-bg-opacity))!important}div.extendify .bg-extendify-secondary{--tw-bg-opacity:1!important;background-color:rgba(203,195,245,var(--tw-bg-opacity))!important}div.extendify .bg-extendify-transparent-white{background-color:hsla(0,0%,99%,.88)!important}div.extendify .bg-extendify-transparent-black{background-color:rgba(0,0,0,.05)!important}div.extendify .bg-wp-theme-500{background-color:var(--wp-admin-theme-color)!important}div.extendify .hover\:bg-extendify-main-dark:hover{--tw-bg-opacity:1!important;background-color:rgba(5,49,44,var(--tw-bg-opacity))!important}div.extendify .hover\:bg-extendify-transparent-black-100:hover{background-color:rgba(0,0,0,.07)!important}div.extendify .hover\:bg-wp-theme-600:hover{background-color:var(--wp-admin-theme-color-darker-10)!important}div.extendify .active\:bg-gray-900:active{--tw-bg-opacity:1!important;background-color:rgba(30,30,30,var(--tw-bg-opacity))!important}div.extendify .bg-opacity-40{--tw-bg-opacity:0.4!important}div.extendify .bg-clip-padding{background-clip:padding-box!important}div.extendify .fill-current{fill:currentColor!important}div.extendify .stroke-current{stroke:currentColor!important}div.extendify .p-0{padding:0!important}div.extendify .p-1{padding:.25rem!important}div.extendify .p-2{padding:.5rem!important}div.extendify .p-3{padding:.75rem!important}div.extendify .p-4{padding:1rem!important}div.extendify .p-6{padding:1.5rem!important}div.extendify .p-10{padding:2.5rem!important}div.extendify .p-12{padding:3rem!important}div.extendify .p-1\.5{padding:.375rem!important}div.extendify .p-3\.5{padding:.875rem!important}div.extendify .px-0{padding-left:0!important;padding-right:0!important}div.extendify .px-2{padding-left:.5rem!important;padding-right:.5rem!important}div.extendify .px-3{padding-left:.75rem!important;padding-right:.75rem!important}div.extendify .px-4{padding-left:1rem!important;padding-right:1rem!important}div.extendify .px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}div.extendify .px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}div.extendify .px-12{padding-left:3rem!important;padding-right:3rem!important}div.extendify .px-0\.5{padding-left:.125rem!important;padding-right:.125rem!important}div.extendify .px-2\.5{padding-left:.625rem!important;padding-right:.625rem!important}div.extendify .py-0{padding-bottom:0!important;padding-top:0!important}div.extendify .py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}div.extendify .py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}div.extendify .py-3{padding-bottom:.75rem!important;padding-top:.75rem!important}div.extendify .py-4{padding-bottom:1rem!important;padding-top:1rem!important}div.extendify .py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}div.extendify .py-2\.5{padding-bottom:.625rem!important;padding-top:.625rem!important}div.extendify .pt-0{padding-top:0!important}div.extendify .pt-2{padding-top:.5rem!important}div.extendify .pt-4{padding-top:1rem!important}div.extendify .pt-6{padding-top:1.5rem!important}div.extendify .pt-px{padding-top:1px!important}div.extendify .pt-0\.5{padding-top:.125rem!important}div.extendify .pr-3{padding-right:.75rem!important}div.extendify .pb-2{padding-bottom:.5rem!important}div.extendify .pb-4{padding-bottom:1rem!important}div.extendify .pb-6{padding-bottom:1.5rem!important}div.extendify .pb-20{padding-bottom:5rem!important}div.extendify .pb-32{padding-bottom:8rem!important}div.extendify .pb-40{padding-bottom:10rem!important}div.extendify .pl-0{padding-left:0!important}div.extendify .pl-2{padding-left:.5rem!important}div.extendify .pl-6{padding-left:1.5rem!important}div.extendify .pl-8{padding-left:2rem!important}div.extendify .text-left{text-align:left!important}div.extendify .text-center{text-align:center!important}div.extendify .text-xs{font-size:.75rem!important;line-height:1rem!important}div.extendify .text-sm{font-size:.875rem!important;line-height:1.25rem!important}div.extendify .text-base{font-size:1rem!important;line-height:1.5rem!important}div.extendify .text-lg{font-size:1.125rem!important;line-height:1.75rem!important}div.extendify .text-xl{font-size:1.25rem!important;line-height:1.75rem!important}div.extendify .text-xss{font-size:11px!important}div.extendify .font-light{font-weight:300!important}div.extendify .font-normal{font-weight:400!important}div.extendify .font-medium{font-weight:500!important}div.extendify .font-semibold{font-weight:600!important}div.extendify .font-bold{font-weight:700!important}div.extendify .uppercase{text-transform:uppercase!important}div.extendify .leading-none{line-height:1!important}div.extendify .leading-extra-tight{line-height:.5!important}div.extendify .text-black{--tw-text-opacity:1!important;color:rgba(0,0,0,var(--tw-text-opacity))!important}div.extendify .text-white{--tw-text-opacity:1!important;color:rgba(255,255,255,var(--tw-text-opacity))!important}div.extendify .text-gray-700{--tw-text-opacity:1!important;color:rgba(117,117,117,var(--tw-text-opacity))!important}div.extendify .text-gray-800{--tw-text-opacity:1!important;color:rgba(31,41,55,var(--tw-text-opacity))!important}div.extendify .text-gray-900{--tw-text-opacity:1!important;color:rgba(30,30,30,var(--tw-text-opacity))!important}div.extendify .text-extendify-main{--tw-text-opacity:1!important;color:rgba(11,74,67,var(--tw-text-opacity))!important}div.extendify .text-extendify-gray{--tw-text-opacity:1!important;color:rgba(95,95,95,var(--tw-text-opacity))!important}div.extendify .text-extendify-black{--tw-text-opacity:1!important;color:rgba(30,30,30,var(--tw-text-opacity))!important}div.extendify .text-wp-theme-500{color:var(--wp-admin-theme-color)!important}div.extendify .text-wp-alert-red{--tw-text-opacity:1!important;color:rgba(204,24,24,var(--tw-text-opacity))!important}div.extendify .hover\:text-white:hover{--tw-text-opacity:1!important;color:rgba(255,255,255,var(--tw-text-opacity))!important}div.extendify .hover\:text-wp-theme-500:hover{color:var(--wp-admin-theme-color)!important}div.extendify .focus\:text-white:focus{--tw-text-opacity:1!important;color:rgba(255,255,255,var(--tw-text-opacity))!important}div.extendify .focus\:text-blue-500:focus{--tw-text-opacity:1!important;color:rgba(59,130,246,var(--tw-text-opacity))!important}div.extendify .active\:text-white:active{--tw-text-opacity:1!important;color:rgba(255,255,255,var(--tw-text-opacity))!important}div.extendify .underline{text-decoration:underline!important}div.extendify .hover\:no-underline:hover,div.extendify .no-underline{text-decoration:none!important}div.extendify .opacity-0{opacity:0!important}div.extendify .opacity-30{opacity:.3!important}div.extendify .opacity-50{opacity:.5!important}div.extendify .opacity-75{opacity:.75!important}div.extendify .opacity-100{opacity:1!important}div.extendify .group:hover .group-hover\:opacity-90{opacity:.9!important}div.extendify .focus\:opacity-100:focus,div.extendify .hover\:opacity-100:hover{opacity:1!important}div.extendify .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important}div.extendify .shadow-md,div.extendify .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}div.extendify .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)!important}div.extendify .shadow-modal{--tw-shadow: 0 0 0 1px rgba(0,0,0,.1),0 3px 15px -3px rgba(0,0,0,.035),0 0 1px rgba(0,0,0,.05)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}div.extendify .focus\:outline-none:focus,div.extendify .outline-none{outline:2px solid transparent!important;outline-offset:2px!important}div.extendify .focus\:ring-wp:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--wp-admin-border-width-focus) + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}div.extendify .focus\:ring-wp-theme-500:focus{--tw-ring-color:var(--wp-admin-theme-color)!important}div.extendify .filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/)!important;--tw-brightness:var(--tw-empty,/*!*/ /*!*/)!important;--tw-contrast:var(--tw-empty,/*!*/ /*!*/)!important;--tw-grayscale:var(--tw-empty,/*!*/ /*!*/)!important;--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/)!important;--tw-invert:var(--tw-empty,/*!*/ /*!*/)!important;--tw-saturate:var(--tw-empty,/*!*/ /*!*/)!important;--tw-sepia:var(--tw-empty,/*!*/ /*!*/)!important;--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/)!important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}div.extendify .blur{--tw-blur:blur(8px)!important}div.extendify .invert{--tw-invert:invert(100%)!important}div.extendify .backdrop-filter{--tw-backdrop-blur:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-brightness:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-contrast:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-grayscale:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-hue-rotate:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-invert:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-opacity:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-saturate:var(--tw-empty,/*!*/ /*!*/)!important;--tw-backdrop-sepia:var(--tw-empty,/*!*/ /*!*/)!important;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)!important}div.extendify .backdrop-blur-xl{--tw-backdrop-blur:blur(24px)!important}div.extendify .backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)!important}div.extendify .transition-all{transition-duration:.15s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}div.extendify .transition{transition-duration:.15s!important;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}div.extendify .transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}div.extendify .duration-200{transition-duration:.2s!important}div.extendify .duration-300{transition-duration:.3s!important}div.extendify .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)!important}div.extendify .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.extendify{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/)!important;--tw-ring-offset-width:0px!important;--tw-ring-offset-color:transparent!important;--tw-ring-color:var(--wp-admin-theme-color)!important}.extendify *,.extendify :after,.extendify :before{border:0 solid #e5e7eb!important;box-sizing:border-box!important}.extendify .button-focus:focus{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.extendify .button-focus{outline:2px solid transparent!important;outline-offset:2px!important}.extendify .button-focus:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--wp-admin-border-width-focus) + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-color:var(--wp-admin-theme-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.button-extendify-main{--tw-bg-opacity:1!important;background-color:rgba(11,74,67,var(--tw-bg-opacity))!important;border-radius:.25rem!important;cursor:pointer!important;white-space:nowrap!important}.button-extendify-main:hover{--tw-bg-opacity:1!important;background-color:rgba(5,49,44,var(--tw-bg-opacity))!important}.button-extendify-main:active{--tw-bg-opacity:1!important;background-color:rgba(30,30,30,var(--tw-bg-opacity))!important}.button-extendify-main{font-size:1rem!important;line-height:1.5rem!important;padding:.375rem .75rem!important}.button-extendify-main,.button-extendify-main:active,.button-extendify-main:focus,.button-extendify-main:hover{--tw-text-opacity:1!important;color:rgba(255,255,255,var(--tw-text-opacity))!important}.button-extendify-main{text-decoration:none!important;transition-duration:.15s!important;transition-duration:.2s!important;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.extendify .button-extendify-main:focus{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.extendify .button-extendify-main{outline:2px solid transparent!important;outline-offset:2px!important}.extendify .button-extendify-main:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--wp-admin-border-width-focus) + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-color:var(--wp-admin-theme-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.extendify input.button-extendify-main:focus,.extendify input.button-focus:focus,.extendify select.button-extendify-main:focus,.extendify select.button-focus:focus{--tw-shadow:0 0 #0000!important;border-color:transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important;outline:2px solid transparent!important;outline-offset:2px!important}#extendify-search-input:not(:-moz-placeholder-shown)~svg{display:none!important}#extendify-search-input:not(:-ms-input-placeholder)~svg{display:none!important}#extendify-search-input:focus~svg,#extendify-search-input:not(:placeholder-shown)~svg{display:none!important}#extendify-search-input::-webkit-textfield-decoration-container{margin-right:.75rem!important}.extendify .components-panel__body>.components-panel__body-title{background-color:transparent!important;border-bottom:1px solid #e0e0e0!important}.extendify .components-modal__header{--tw-border-opacity:1!important;border-bottom-width:1px!important;border-color:rgba(221,221,221,var(--tw-border-opacity))!important}.block-editor-block-preview__content .block-editor-block-list__layout.is-root-container>.ext{max-width:none!important}.block-editor-block-list__layout.is-root-container .ext.block-editor-block-list__block{max-width:100%!important}.block-editor-block-preview__content-iframe .block-editor-block-list__layout.is-root-container .ext.block-editor-block-list__block{max-width:none!important}.extendify .block-editor-block-preview__container{-webkit-animation:extendifyOpacityIn .2s cubic-bezier(.694,0,.335,1) 0ms forwards;animation:extendifyOpacityIn .2s cubic-bezier(.694,0,.335,1) 0ms forwards;opacity:0}.extendify .is-root-container>[data-align=full],.extendify .is-root-container>[data-align=full]>.wp-block,.extendify .is-root-container>[data-block]{margin-bottom:0!important;margin-top:0!important}.editor-styles-wrapper:not(.block-editor-writing-flow)>.is-root-container :where(.wp-block)[data-align=full]{margin-bottom:0!important;margin-top:0!important}@-webkit-keyframes extendifyOpacityIn{0%{opacity:0}to{opacity:1}}@keyframes extendifyOpacityIn{0%{opacity:0}to{opacity:1}}.extendify .with-light-shadow:after{--tw-shadow:inset 0 0 0 1px rgba(0,0,0,.1),0 3px 15px -3px rgba(0,0,0,.025),0 0 1px rgba(0,0,0,.02)!important;border-width:0!important;bottom:0!important;content:""!important;left:0!important;position:absolute!important;right:0!important;top:0!important}.extendify .with-light-shadow:after,.extendify .with-light-shadow:hover:after{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.extendify .with-light-shadow:hover:after{--tw-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 3px 15px -3px rgba(0,0,0,.025),0 0 1px rgba(0,0,0,.02)!important}@supports not (((-webkit-backdrop-filter:saturate(2) blur(24px)) or (backdrop-filter:saturate(2) blur(24px)))){div.extendify .bg-extendify-transparent-white{--tw-bg-opacity:1!important;background-color:rgba(240,240,240,var(--tw-bg-opacity))!important}}.components-panel__body.ext-type-control .components-panel__body-toggle{padding-left:0!important;padding-right:0!important}.components-panel__body.ext-type-control .components-panel__body-title{border-bottom-width:0!important;margin:0!important;padding-left:1.25rem!important;padding-right:1.25rem!important}.components-panel__body.ext-type-control .components-panel__body-title .components-button{--tw-text-opacity:1!important;border-bottom-width:0!important;color:rgba(95,95,95,var(--tw-text-opacity))!important;font-size:11px!important;font-weight:500!important;margin:0!important;padding-bottom:.5rem!important;padding-top:.5rem!important;text-transform:uppercase!important}.components-panel__body.ext-type-control .components-button .components-panel__arrow{--tw-text-opacity:1!important;color:rgba(95,95,95,var(--tw-text-opacity))!important;right:0!important}.extendify .animate-pulse{-webkit-animation:extendifyPulse 3s cubic-bezier(.4,0,.6,1) infinite;animation:extendifyPulse 3s cubic-bezier(.4,0,.6,1) infinite}@-webkit-keyframes extendifyPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes extendifyPulse{0%,to{opacity:1}50%{opacity:.5}}.is-template--in-review:before,.is-template--inactive:before{--tw-border-opacity:1!important;border:8px solid rgba(203,195,245,var(--tw-border-opacity))!important;bottom:0!important;content:""!important;height:100%!important;left:0!important;position:absolute!important;right:0!important;top:0!important;width:100%!important;z-index:40!important}.is-template--inactive:before{border-color:#fdeab6!important}@media (min-width:600px){div.extendify .sm\:mx-0{margin-left:0!important;margin-right:0!important}div.extendify .sm\:mt-0{margin-top:0!important}div.extendify .sm\:mb-8{margin-bottom:2rem!important}div.extendify .sm\:block{display:block!important}div.extendify .sm\:flex{display:flex!important}div.extendify .sm\:h-auto{height:auto!important}div.extendify .sm\:w-64{width:16rem!important}div.extendify .sm\:w-auto{width:auto!important}div.extendify .sm\:translate-y-5{--tw-translate-y:1.25rem!important}div.extendify .sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0!important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))!important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))!important}div.extendify .sm\:p-0{padding:0!important}div.extendify .sm\:py-0{padding-bottom:0!important;padding-top:0!important}div.extendify .sm\:py-5{padding-bottom:1.25rem!important;padding-top:1.25rem!important}div.extendify .sm\:pt-0{padding-top:0!important}}@media (min-width:782px){div.extendify .md\:m-0{margin:0!important}div.extendify .md\:mb-8{margin-bottom:2rem!important}div.extendify .md\:-ml-8{margin-left:-2rem!important}div.extendify .md\:block{display:block!important}div.extendify .md\:flex{display:flex!important}div.extendify .md\:w-6\/12{width:50%!important}div.extendify .md\:w-7\/12{width:58.333333%!important}div.extendify .md\:max-w-2xl{max-width:42rem!important}div.extendify .md\:px-8{padding-right:2rem!important}div.extendify .md\:pl-8,div.extendify .md\:px-8{padding-left:2rem!important}div.extendify .md\:leading-3{line-height:.75rem!important}}@media (min-width:1080px){div.extendify .lg\:absolute{position:absolute!important}div.extendify .lg\:block{display:block!important}div.extendify .lg\:flex{display:flex!important}div.extendify .lg\:overflow-hidden{overflow:hidden!important}div.extendify .lg\:p-16{padding:4rem!important}}
lib/vendor/redux-framework/extendify-sdk/public/build/extendify.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! For license information please see extendify.js.LICENSE.txt */
2
+ (()=>{var e,t={135:(e,t,n)=>{e.exports=n(248)},206:(e,t,n)=>{e.exports=n(57)},387:(e,t,n)=>{"use strict";var r=n(485),o=n(570),i=n(940),a=n(581),s=n(574),l=n(845),c=n(338),u=n(524),d=n(141),f=n(132);e.exports=function(e){return new Promise((function(t,n){var p,h=e.data,m=e.headers,x=e.responseType;function y(){e.cancelToken&&e.cancelToken.unsubscribe(p),e.signal&&e.signal.removeEventListener("abort",p)}r.isFormData(h)&&delete m["Content-Type"];var v=new XMLHttpRequest;if(e.auth){var g=e.auth.username||"",b=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";m.Authorization="Basic "+btoa(g+":"+b)}var w=s(e.baseURL,e.url);function j(){if(v){var r="getAllResponseHeaders"in v?l(v.getAllResponseHeaders()):null,i={data:x&&"text"!==x&&"json"!==x?v.response:v.responseText,status:v.status,statusText:v.statusText,headers:r,config:e,request:v};o((function(e){t(e),y()}),(function(e){n(e),y()}),i),v=null}}if(v.open(e.method.toUpperCase(),a(w,e.params,e.paramsSerializer),!0),v.timeout=e.timeout,"onloadend"in v?v.onloadend=j:v.onreadystatechange=function(){v&&4===v.readyState&&(0!==v.status||v.responseURL&&0===v.responseURL.indexOf("file:"))&&setTimeout(j)},v.onabort=function(){v&&(n(u("Request aborted",e,"ECONNABORTED",v)),v=null)},v.onerror=function(){n(u("Network Error",e,null,v)),v=null},v.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",r=e.transitional||d.transitional;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(u(t,e,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",v)),v=null},r.isStandardBrowserEnv()){var k=(e.withCredentials||c(w))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;k&&(m[e.xsrfHeaderName]=k)}"setRequestHeader"in v&&r.forEach(m,(function(e,t){void 0===h&&"content-type"===t.toLowerCase()?delete m[t]:v.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(v.withCredentials=!!e.withCredentials),x&&"json"!==x&&(v.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&v.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&v.upload&&v.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(p=function(e){v&&(n(!e||e&&e.type?new f("canceled"):e),v.abort(),v=null)},e.cancelToken&&e.cancelToken.subscribe(p),e.signal&&(e.signal.aborted?p():e.signal.addEventListener("abort",p))),h||(h=null),v.send(h)}))}},57:(e,t,n)=>{"use strict";var r=n(485),o=n(875),i=n(29),a=n(941);var s=function e(t){var n=new i(t),s=o(i.prototype.request,n);return r.extend(s,i.prototype,n),r.extend(s,n),s.create=function(n){return e(a(t,n))},s}(n(141));s.Axios=i,s.Cancel=n(132),s.CancelToken=n(603),s.isCancel=n(475),s.VERSION=n(345).version,s.all=function(e){return Promise.all(e)},s.spread=n(739),s.isAxiosError=n(835),e.exports=s,e.exports.default=s},132:e=>{"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},603:(e,t,n)=>{"use strict";var r=n(132);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;this.promise.then((function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;t<r;t++)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},o.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},475:e=>{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},29:(e,t,n)=>{"use strict";var r=n(485),o=n(581),i=n(96),a=n(9),s=n(941),l=n(144),c=l.validators;function u(e){this.defaults=e,this.interceptors={request:new i,response:new i}}u.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&l.assertOptions(t,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var n=[],r=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(r=r&&t.synchronous,n.unshift(t.fulfilled,t.rejected))}));var o,i=[];if(this.interceptors.response.forEach((function(e){i.push(e.fulfilled,e.rejected)})),!r){var u=[a,void 0];for(Array.prototype.unshift.apply(u,n),u=u.concat(i),o=Promise.resolve(e);u.length;)o=o.then(u.shift(),u.shift());return o}for(var d=e;n.length;){var f=n.shift(),p=n.shift();try{d=f(d)}catch(e){p(e);break}}try{o=a(d)}catch(e){return Promise.reject(e)}for(;i.length;)o=o.then(i.shift(),i.shift());return o},u.prototype.getUri=function(e){return e=s(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){u.prototype[e]=function(t,n){return this.request(s(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){u.prototype[e]=function(t,n,r){return this.request(s(r||{},{method:e,url:t,data:n}))}})),e.exports=u},96:(e,t,n)=>{"use strict";var r=n(485);function o(){this.handlers=[]}o.prototype.use=function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},574:(e,t,n)=>{"use strict";var r=n(642),o=n(288);e.exports=function(e,t){return e&&!r(t)?o(e,t):t}},524:(e,t,n)=>{"use strict";var r=n(953);e.exports=function(e,t,n,o,i){var a=new Error(e);return r(a,t,n,o,i)}},9:(e,t,n)=>{"use strict";var r=n(485),o=n(212),i=n(475),a=n(141),s=n(132);function l(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new s("canceled")}e.exports=function(e){return l(e),e.headers=e.headers||{},e.data=o.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return l(e),t.data=o.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(l(e),t&&t.response&&(t.response.data=o.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},953:e=>{"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e}},941:(e,t,n)=>{"use strict";var r=n(485);e.exports=function(e,t){t=t||{};var n={};function o(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function i(n){return r.isUndefined(t[n])?r.isUndefined(e[n])?void 0:o(void 0,e[n]):o(e[n],t[n])}function a(e){if(!r.isUndefined(t[e]))return o(void 0,t[e])}function s(n){return r.isUndefined(t[n])?r.isUndefined(e[n])?void 0:o(void 0,e[n]):o(void 0,t[n])}function l(n){return n in t?o(e[n],t[n]):n in e?o(void 0,e[n]):void 0}var c={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return r.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=c[e]||i,o=t(e);r.isUndefined(o)&&t!==l||(n[e]=o)})),n}},570:(e,t,n)=>{"use strict";var r=n(524);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},212:(e,t,n)=>{"use strict";var r=n(485),o=n(141);e.exports=function(e,t,n){var i=this||o;return r.forEach(n,(function(n){e=n.call(i,e,t)})),e}},141:(e,t,n)=>{"use strict";var r=n(61),o=n(485),i=n(446),a=n(953),s={"Content-Type":"application/x-www-form-urlencoded"};function l(e,t){!o.isUndefined(e)&&o.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var c,u={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==r&&"[object process]"===Object.prototype.toString.call(r))&&(c=n(387)),c),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),o.isFormData(e)||o.isArrayBuffer(e)||o.isBuffer(e)||o.isStream(e)||o.isFile(e)||o.isBlob(e)?e:o.isArrayBufferView(e)?e.buffer:o.isURLSearchParams(e)?(l(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):o.isObject(e)||t&&"application/json"===t["Content-Type"]?(l(t,"application/json"),function(e,t,n){if(o.isString(e))try{return(t||JSON.parse)(e),o.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||u.transitional,n=t&&t.silentJSONParsing,r=t&&t.forcedJSONParsing,i=!n&&"json"===this.responseType;if(i||r&&o.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw a(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),o.forEach(["post","put","patch"],(function(e){u.headers[e]=o.merge(s)})),e.exports=u},345:e=>{e.exports={version:"0.24.0"}},875:e=>{"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},581:(e,t,n)=>{"use strict";var r=n(485);function o(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(r.isURLSearchParams(t))i=t.toString();else{var a=[];r.forEach(t,(function(e,t){null!=e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),a.push(o(t)+"="+o(e))})))})),i=a.join("&")}if(i){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},288:e=>{"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},940:(e,t,n)=>{"use strict";var r=n(485);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,i,a){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(o)&&s.push("path="+o),r.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},642:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},835:e=>{"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},338:(e,t,n)=>{"use strict";var r=n(485);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},446:(e,t,n)=>{"use strict";var r=n(485);e.exports=function(e,t){r.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))}},845:(e,t,n)=>{"use strict";var r=n(485),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,a={};return e?(r.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}})),a):a}},739:e=>{"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},144:(e,t,n)=>{"use strict";var r=n(345).version,o={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){o[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));var i={};o.transitional=function(e,t,n){function o(e,t){return"[Axios v"+r+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,r,a){if(!1===e)throw new Error(o(r," has been removed"+(t?" in "+t:"")));return t&&!i[r]&&(i[r]=!0,console.warn(o(r," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,r,a)}},e.exports={assertOptions:function(e,t,n){if("object"!=typeof e)throw new TypeError("options must be an object");for(var r=Object.keys(e),o=r.length;o-- >0;){var i=r[o],a=t[i];if(a){var s=e[i],l=void 0===s||a(s,i,e);if(!0!==l)throw new TypeError("option "+i+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+i)}},validators:o}},485:(e,t,n)=>{"use strict";var r=n(875),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function a(e){return void 0===e}function s(e){return null!==e&&"object"==typeof e}function l(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function c(e){return"[object Function]"===o.call(e)}function u(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:i,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:function(e){return null!==e&&!a(e)&&null!==e.constructor&&!a(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:s,isPlainObject:l,isUndefined:a,isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:c,isStream:function(e){return s(e)&&c(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:u,merge:function e(){var t={};function n(n,r){l(t[r])&&l(n)?t[r]=e(t[r],n):l(n)?t[r]=e({},n):i(n)?t[r]=n.slice():t[r]=n}for(var r=0,o=arguments.length;r<o;r++)u(arguments[r],n);return t},extend:function(e,t,n){return u(t,(function(t,o){e[o]=n&&"function"==typeof t?r(t,n):t})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}}},813:(e,t,n)=>{"use strict";const r=wp.element;var o=n(363),i=n.n(o);function a(e){let t;const n=new Set,r=(e,r)=>{const o="function"==typeof e?e(t):e;if(o!==t){const e=t;t=r?o:Object.assign({},t,o),n.forEach((n=>n(t,e)))}},o=()=>t,i={setState:r,getState:o,subscribe:(e,r,i)=>r||i?((e,r=o,i=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let a=r(t);function s(){const n=r(t);if(!i(a,n)){const t=a;e(a=n,t)}}return n.add(s),()=>n.delete(s)})(e,r,i):(n.add(e),()=>n.delete(e)),destroy:()=>n.clear()};return t=e(r,o,i),i}const s="undefined"==typeof window||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent)?o.useEffect:o.useLayoutEffect;function l(e){const t="function"==typeof e?a(e):e,n=(e=t.getState,n=Object.is)=>{const[,r]=(0,o.useReducer)((e=>e+1),0),i=t.getState(),a=(0,o.useRef)(i),l=(0,o.useRef)(e),c=(0,o.useRef)(n),u=(0,o.useRef)(!1),d=(0,o.useRef)();let f;void 0===d.current&&(d.current=e(i));let p=!1;(a.current!==i||l.current!==e||c.current!==n||u.current)&&(f=e(i),p=!n(d.current,f)),s((()=>{p&&(d.current=f),a.current=i,l.current=e,c.current=n,u.current=!1}));const h=(0,o.useRef)(i);s((()=>{const e=()=>{try{const e=t.getState(),n=l.current(e);c.current(d.current,n)||(a.current=e,d.current=n,r())}catch(e){u.current=!0,r()}},n=t.subscribe(e);return t.getState()!==h.current&&e(),n}),[]);const m=p?f:d.current;return(0,o.useDebugValue)(m),m};return Object.assign(n,t),n[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const e=[n,t];return{next(){const t=e.length<=0;return{value:e.shift(),done:t}}}},n}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var c=Object.defineProperty,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,p=(e,t,n)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h=(e,t)=>{for(var n in t||(t={}))d.call(t,n)&&p(e,n,t[n]);if(u)for(var n of u(t))f.call(t,n)&&p(e,n,t[n]);return e};const m=e=>t=>{try{const n=e(t);return n instanceof Promise?n:{then:e=>m(e)(n),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>m(t)(e)}}},x=(e,t)=>(n,r,o)=>{let i=h({getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:e=>e,version:0,merge:(e,t)=>h(h({},t),e)},t);(i.blacklist||i.whitelist)&&console.warn(`The ${i.blacklist?"blacklist":"whitelist"} option is deprecated and will be removed in the next version. Please use the 'partialize' option instead.`);let a=!1;const s=new Set,l=new Set;let c;try{c=i.getStorage()}catch(e){}if(!c)return e(((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),n(...e)}),r,o);c.removeItem||console.warn(`[zustand persist middleware] The given storage for item '${i.name}' does not contain a 'removeItem' method, which will be required in v4.`);const u=m(i.serialize),d=()=>{const e=i.partialize(h({},r()));let t;i.whitelist&&Object.keys(e).forEach((t=>{var n;!(null==(n=i.whitelist)?void 0:n.includes(t))&&delete e[t]})),i.blacklist&&i.blacklist.forEach((t=>delete e[t]));const n=u({state:e,version:i.version}).then((e=>c.setItem(i.name,e))).catch((e=>{t=e}));if(t)throw t;return n},f=o.setState;o.setState=(e,t)=>{f(e,t),d()};const p=e(((...e)=>{n(...e),d()}),r,o);let x;const y=()=>{var e;if(!c)return;a=!1,s.forEach((e=>e(r())));const t=(null==(e=i.onRehydrateStorage)?void 0:e.call(i,r()))||void 0;return m(c.getItem.bind(c))(i.name).then((e=>{if(e)return i.deserialize(e)})).then((e=>{if(e){if("number"!=typeof e.version||e.version===i.version)return e.state;if(i.migrate)return i.migrate(e.state,e.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}})).then((e=>(x=i.merge(e,p),n(x,!0),d()))).then((()=>{null==t||t(x,void 0),a=!0,l.forEach((e=>e(x)))})).catch((e=>{null==t||t(void 0,e)}))};return o.persist={setOptions:e=>{i=h(h({},i),e),e.getStorage&&(c=e.getStorage())},clearStorage:()=>{var e;null==(e=null==c?void 0:c.removeItem)||e.call(c,i.name)},rehydrate:()=>y(),hasHydrated:()=>a,onHydrate:e=>(s.add(e),()=>{s.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},y(),x||p};function y(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var g=l(x((function(e,t){return{open:!1,metaData:{},currentTaxonomies:{},currentType:"pattern",modals:[],pushModal:function(n){return e({modals:[n].concat(y(t().modals))})},popModal:function(){return e({modals:t().modals.slice(1)})},removeAllModals:function(){return e({modals:[]})},updateCurrentTaxonomies:function(t){return e({currentTaxonomies:Object.assign({},t)})},updateCurrentType:function(t){return e({currentType:t})},setOpen:function(t){e({open:t})}}}),{name:"extendify-global-state",partialize:function(e){return delete e.modals,e}})),b=n(135),w=n.n(b),j=n(206),k=n.n(j)().create({baseURL:window.extendifyData.root,headers:{"X-WP-Nonce":window.extendifyData.nonce,"X-Requested-With":"XMLHttpRequest","X-Extendify":!0}});function S(e){return Object.prototype.hasOwnProperty.call(e,"data")?e.data:e}k.interceptors.response.use((function(e){return function(e){return Object.prototype.hasOwnProperty.call(e,"soft_error")&&window.dispatchEvent(new CustomEvent("extendify::softerror-encountered",{detail:e.soft_error,bubbles:!0})),e}(S(e))}),(function(e){return function(e){if(e.response)return console.error(e.response),Promise.reject(S(e.response))}(e)})),k.interceptors.request.use((function(e){return function(e){return e.headers["X-Extendify-Dev-Mode"]=window.location.search.indexOf("DEVMODE")>-1,e.headers["X-Extendify-Local-Mode"]=window.location.search.indexOf("LOCALMODE")>-1,e}(function(e){var t=z.getState(),n=t.apiKey?"unlimited":t.remainingImports();return e.data&&(e.data.remaining_imports=n,e.data.entry_point=z.getState().entryPoint,e.data.total_imports=z.getState().imports),e}(e))}),(function(e){return e}));var C=function(){return k.get("user")},O=function(e,t){var n=new FormData;return n.append("email",e),n.append("key",t),k.post("login",n,{headers:{"Content-Type":"multipart/form-data"}})},E=function(e){var t=new FormData;return t.append("data",JSON.stringify(e)),k.post("user",t,{headers:{"Content-Type":"multipart/form-data"}})},_=function(e){var t=new FormData;return t.append("email",e),k.post("register-mailing-list",t,{headers:{"Content-Type":"multipart/form-data"}})},N=function(){return k.get("max-free-imports")};function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?A(Object(n),!0).forEach((function(t){T(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(e){return function(e){if(Array.isArray(e))return L(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return L(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return L(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function M(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function R(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){M(i,r,o,a,s,"next",e)}function s(e){M(i,r,o,a,s,"throw",e)}a(void 0)}))}}var D,F,B={getItem:(F=R(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(){return F.apply(this,arguments)}),setItem:(D=R(w().mark((function e(t,n){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,E(n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(e,t){return D.apply(this,arguments)}),removeItem:function(){}},z=l(x((function(e,t){return{firstLoadedOn:(new Date).toISOString(),email:"",apiKey:"",uuid:"",sdkPartner:"",registration:{email:"",optedOut:!1},noticesDismissedAt:{},modalNoticesDismissedAt:{},imports:0,runningImports:0,allowedImports:0,freebieImports:0,entryPoint:"not-set",enabled:null===window.extendifyData.sitesettings||(null===(n=window.extendifyData)||void 0===n||null===(r=n.sitesettings)||void 0===r||null===(o=r.state)||void 0===o?void 0:o.enabled),canInstallPlugins:!1,canActivatePlugins:!1,preferredOptions:{taxonomies:{},type:"",search:""},preferredOptionsHistory:{siteType:[]},incrementImports:function(){var n=Number(t().freebieImports)>0?Number(t().freebieImports)-1:Number(t().freebieImports),r=Number(t().runningImports)+ +(n<1);e({imports:Number(t().imports)+1,runningImports:r,freebieImports:n})},giveFreebieImports:function(n){e({freebieImports:t().freebieImports+n})},totalAvailableImports:function(){return Number(t().allowedImports)+Number(t().freebieImports)},hasAvailableImports:function(){return!!t().apiKey||Number(t().runningImports)<Number(t().totalAvailableImports())},remainingImports:function(){var e=Number(t().totalAvailableImports())-Number(t().runningImports);return t().allowedImports?e>0?e:0:null},updatePreferredSiteType:function(n){var r,o;if(t().updatePreferredOption("siteType",n),null!=n&&n.slug&&"unknown"!==n.slug){var i=null!==(r=null===(o=t().preferredOptionsHistory)||void 0===o?void 0:o.siteType)&&void 0!==r?r:[];if(!i.find((function(e){return e.slug===n.slug}))){var a=[n].concat(I(i));e({preferredOptionsHistory:Object.assign({},t().preferredOptionsHistory,{siteType:a.slice(0,3)})})}}},updatePreferredOption:function(n,r){var o,i;Object.prototype.hasOwnProperty.call(t().preferredOptions,n)||(r=Object.assign({},null!==(o=null===(i=t().preferredOptions)||void 0===i?void 0:i.taxonomies)&&void 0!==o?o:{},T({},n,r)),n="taxonomies");e({preferredOptions:P({},Object.assign({},t().preferredOptions,T({},n,r)))})},markNoticeSeen:function(n,r){e(T({},"".concat(r,"DismissedAt"),P(P({},t()["".concat(r,"DismissedAt")]),{},T({},n,(new Date).toISOString()))))}};var n,r,o}),{name:"extendify-user",getStorage:function(){return B}})),U=l(x((function(e){return{taxonomies:{},setTaxonomies:function(t){return e({taxonomies:t})}}}),{name:"extendify-taxonomies"}));function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?q(Object(n),!0).forEach((function(t){$(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V(e){return function(e){if(Array.isArray(e))return H(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var J,G,K=l((function(e,t){return{templates:[],skipNextFetch:!1,fetchToken:null,taxonomyDefaultState:{},nextPage:"",searchParams:{taxonomies:{},type:"pattern"},initTemplateData:function(){e({activeTemplate:{}}),t().setupDefaultTaxonomies(),t().updateType(g.getState().currentType)},appendTemplates:function(n){return e({templates:V(new Map([].concat(V(t().templates),V(n)).map((function(e){return[e.id,e]}))).values())})},setupDefaultTaxonomies:function(){var n,r,o,i,a=U.getState().taxonomies,s=Object.entries(a).reduce((function(e,t){return e[t[0]]=function(e){return"siteType"===e?{slug:"",title:"Unknown"}:{slug:"",title:"Featured"}}(t[0]),e}),{}),l={},c=null!==(n=null===(r=z.getState().preferredOptions)||void 0===r?void 0:r.taxonomies)&&void 0!==n?n:{};c.tax_categories&&(c=t().getLegacySiteType(c,a)),s=Object.assign({},s,c,null!==(o=null===(i=g.getState())||void 0===i?void 0:i.currentTaxonomies)&&void 0!==o?o:{}),l.taxonomies=Object.assign({},s),e({taxonomyDefaultState:s,searchParams:W({},Object.assign(t().searchParams,l))})},updateTaxonomies:function(e){var n,r,o={};(o.taxonomies=Object.assign({},t().searchParams.taxonomies,e),null!=o&&null!==(n=o.taxonomies)&&void 0!==n&&n.siteType)&&z.getState().updatePreferredOption("siteType",null==o||null===(r=o.taxonomies)||void 0===r?void 0:r.siteType);g.getState().updateCurrentTaxonomies(null==o?void 0:o.taxonomies),t().updateSearchParams(o)},updateType:function(e){g.getState().updateCurrentType(e),t().updateSearchParams({type:e})},updateSearchParams:function(n){null!=n&&n.taxonomies&&!Object.keys(n.taxonomies).length&&(n.taxonomies=t().taxonomyDefaultState);var r=Object.assign({},t().searchParams,n);JSON.stringify(r)!==JSON.stringify(t().searchParams)&&e({templates:[],nextPage:"",searchParams:r})},resetTemplates:function(){return e({templates:[],nextPage:""})},getLegacySiteType:function(e,n){var r=n.siteType.find((function(t){return[t.slug,null==t?void 0:t.title].includes(e.tax_categories)}));return z.getState().updatePreferredSiteType(r),t().updateTaxonomies({siteType:r}),z.getState().updatePreferredOption("tax_categories",null),z.getState().preferredOptions.taxonomies}}}));function Z(){return Z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Z.apply(this,arguments)}function Y(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Q(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function ee(e,t){if(e in t){for(var n=t[e],r=arguments.length,o=new Array(r>2?r-2:0),i=2;i<r;i++)o[i-2]=arguments[i];return"function"==typeof n?n.apply(void 0,o):n}var a=new Error('Tried to handle "'+e+'" but there is no handler defined. Only defined handlers are: '+Object.keys(t).map((function(e){return'"'+e+'"'})).join(", ")+".");throw Error.captureStackTrace&&Error.captureStackTrace(a,ee),a}function te(e){var t=e.props,n=e.slot,r=e.defaultTag,o=e.features,i=e.visible,a=void 0===i||i,s=e.name;if(a)return ne(t,n,r,s);var l=null!=o?o:J.None;if(l&J.Static){var c=t.static,u=void 0!==c&&c,d=Y(t,["static"]);if(u)return ne(d,n,r,s)}if(l&J.RenderStrategy){var f,p=t.unmount,h=void 0===p||p,m=Y(t,["unmount"]);return ee(h?G.Unmount:G.Hidden,((f={})[G.Unmount]=function(){return null},f[G.Hidden]=function(){return ne(Z({},m,{hidden:!0,style:{display:"none"}}),n,r,s)},f))}return ne(t,n,r,s)}function ne(e,t,n,r){var i;void 0===t&&(t={});var a=oe(e,["unmount","static"]),s=a.as,l=void 0===s?n:s,c=a.children,u=a.refName,d=void 0===u?"ref":u,f=Y(a,["as","children","refName"]),p=void 0!==e.ref?((i={})[d]=e.ref,i):{},h="function"==typeof c?c(t):c;if(f.className&&"function"==typeof f.className&&(f.className=f.className(t)),l===o.Fragment&&Object.keys(f).length>0){if(!(0,o.isValidElement)(h)||Array.isArray(h)&&h.length>1)throw new Error(['Passing props on "Fragment"!',"","The current component <"+r+' /> is rendering a "Fragment".',"However we need to passthrough the following props:",Object.keys(f).map((function(e){return" - "+e})).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map((function(e){return" - "+e})).join("\n")].join("\n"));return(0,o.cloneElement)(h,Object.assign({},function(e,t,n){for(var r,o=Object.assign({},e),i=function(){var n,i=r.value;void 0!==e[i]&&void 0!==t[i]&&Object.assign(o,((n={})[i]=function(n){n.defaultPrevented||e[i](n),n.defaultPrevented||t[i](n)},n))},a=Q(n);!(r=a()).done;)i();return o}(function(e){var t=Object.assign({},e);for(var n in t)void 0===t[n]&&delete t[n];return t}(oe(f,["ref"])),h.props,["onClick"]),p))}return(0,o.createElement)(l,Object.assign({},oe(f,["ref"]),l!==o.Fragment&&p),h)}function re(e){var t;return Object.assign((0,o.forwardRef)(e),{displayName:null!=(t=e.displayName)?t:e.name})}function oe(e,t){void 0===t&&(t=[]);for(var n,r=Object.assign({},e),o=Q(t);!(n=o()).done;){var i=n.value;i in r&&delete r[i]}return r}!function(e){e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static"}(J||(J={})),function(e){e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden"}(G||(G={}));var ie="undefined"!=typeof window?o.useLayoutEffect:o.useEffect,ae={serverHandoffComplete:!1};function se(){var e=(0,o.useState)(ae.serverHandoffComplete),t=e[0],n=e[1];return(0,o.useEffect)((function(){!0!==t&&n(!0)}),[t]),(0,o.useEffect)((function(){!1===ae.serverHandoffComplete&&(ae.serverHandoffComplete=!0)}),[]),t}var le=0;function ce(){return++le}function ue(){var e=se(),t=(0,o.useState)(e?ce:null),n=t[0],r=t[1];return ie((function(){null===n&&r(ce())}),[n]),null!=n?""+n:void 0}function de(){var e=(0,o.useRef)(!1);return(0,o.useEffect)((function(){return e.current=!0,function(){e.current=!1}}),[]),e}var fe,pe,he=(0,o.createContext)(null);function me(){return(0,o.useContext)(he)}function xe(e){var t=e.value,n=e.children;return i().createElement(he.Provider,{value:t},n)}function ye(){var e=[],t={requestAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){var e=requestAnimationFrame.apply(void 0,arguments);t.add((function(){return cancelAnimationFrame(e)}))})),nextFrame:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.requestAnimationFrame((function(){t.requestAnimationFrame.apply(t,n)}))},setTimeout:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){var e=setTimeout.apply(void 0,arguments);t.add((function(){return clearTimeout(e)}))})),add:function(t){e.push(t)},dispose:function(){for(var t,n=Q(e.splice(0));!(t=n()).done;){var r=t.value;r()}}};return t}function ve(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e&&r.length>0&&(t=e.classList).add.apply(t,r)}function ge(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];e&&r.length>0&&(t=e.classList).remove.apply(t,r)}function be(e,t,n,r,o,i){var a=ye(),s=void 0!==i?function(e){var t={called:!1};return function(){if(!t.called)return t.called=!0,e.apply(void 0,arguments)}}(i):function(){};return ge.apply(void 0,[e].concat(o)),ve.apply(void 0,[e].concat(t,n)),a.nextFrame((function(){ge.apply(void 0,[e].concat(n)),ve.apply(void 0,[e].concat(r)),a.add(function(e,t){var n=ye();if(!e)return n.dispose;var r=getComputedStyle(e),o=[r.transitionDuration,r.transitionDelay].map((function(e){var t=e.split(",").filter(Boolean).map((function(e){return e.includes("ms")?parseFloat(e):1e3*parseFloat(e)})).sort((function(e,t){return t-e}))[0];return void 0===t?0:t})),i=o[0],a=o[1];return 0!==i?n.setTimeout((function(){t(pe.Finished)}),i+a):t(pe.Finished),n.add((function(){return t(pe.Cancelled)})),n.dispose}(e,(function(n){return ge.apply(void 0,[e].concat(r,t)),ve.apply(void 0,[e].concat(o)),s(n)})))})),a.add((function(){return ge.apply(void 0,[e].concat(t,n,r,o))})),a.add((function(){return s(pe.Cancelled)})),a.dispose}function we(e){return void 0===e&&(e=""),(0,o.useMemo)((function(){return e.split(" ").filter((function(e){return e.trim().length>1}))}),[e])}he.displayName="OpenClosedContext",function(e){e[e.Open=0]="Open",e[e.Closed=1]="Closed"}(fe||(fe={})),function(e){e.Finished="finished",e.Cancelled="cancelled"}(pe||(pe={}));var je,ke=(0,o.createContext)(null);ke.displayName="TransitionContext",function(e){e.Visible="visible",e.Hidden="hidden"}(je||(je={}));var Se=(0,o.createContext)(null);function Ce(e){return"children"in e?Ce(e.children):e.current.filter((function(e){return e.state===je.Visible})).length>0}function Oe(e){var t=(0,o.useRef)(e),n=(0,o.useRef)([]),r=de();(0,o.useEffect)((function(){t.current=e}),[e]);var i=(0,o.useCallback)((function(e,o){var i;void 0===o&&(o=G.Hidden);var a=n.current.findIndex((function(t){return t.id===e}));-1!==a&&(ee(o,((i={})[G.Unmount]=function(){n.current.splice(a,1)},i[G.Hidden]=function(){n.current[a].state=je.Hidden},i)),!Ce(n)&&r.current&&(null==t.current||t.current()))}),[t,r,n]),a=(0,o.useCallback)((function(e){var t=n.current.find((function(t){return t.id===e}));return t?t.state!==je.Visible&&(t.state=je.Visible):n.current.push({id:e,state:je.Visible}),function(){return i(e,G.Unmount)}}),[n,i]);return(0,o.useMemo)((function(){return{children:n,register:a,unregister:i}}),[a,i,n])}function Ee(){}Se.displayName="NestingContext";var _e=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function Ne(e){for(var t,n={},r=Q(_e);!(t=r()).done;){var o,i=t.value;n[i]=null!=(o=e[i])?o:Ee}return n}var Ae,Pe=J.RenderStrategy;function Te(e){var t,n=e.beforeEnter,r=e.afterEnter,a=e.beforeLeave,s=e.afterLeave,l=e.enter,c=e.enterFrom,u=e.enterTo,d=e.entered,f=e.leave,p=e.leaveFrom,h=e.leaveTo,m=Y(e,["beforeEnter","afterEnter","beforeLeave","afterLeave","enter","enterFrom","enterTo","entered","leave","leaveFrom","leaveTo"]),x=(0,o.useRef)(null),y=(0,o.useState)(je.Visible),v=y[0],g=y[1],b=m.unmount?G.Unmount:G.Hidden,w=function(){var e=(0,o.useContext)(ke);if(null===e)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}(),j=w.show,k=w.appear,S=w.initial,C=function(){var e=(0,o.useContext)(Se);if(null===e)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}(),O=C.register,E=C.unregister,_=ue(),N=(0,o.useRef)(!1),A=Oe((function(){N.current||(g(je.Hidden),E(_),F.current.afterLeave())}));ie((function(){if(_)return O(_)}),[O,_]),ie((function(){var e;b===G.Hidden&&_&&(j&&v!==je.Visible?g(je.Visible):ee(v,((e={})[je.Hidden]=function(){return E(_)},e[je.Visible]=function(){return O(_)},e)))}),[v,_,O,E,j,b]);var P=we(l),T=we(c),I=we(u),L=we(d),M=we(f),R=we(p),D=we(h),F=function(e){var t=(0,o.useRef)(Ne(e));return(0,o.useEffect)((function(){t.current=Ne(e)}),[e]),t}({beforeEnter:n,afterEnter:r,beforeLeave:a,afterLeave:s}),B=se();(0,o.useEffect)((function(){if(B&&v===je.Visible&&null===x.current)throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}),[x,v,B]);var z=S&&!k;ie((function(){var e=x.current;if(e&&!z)return N.current=!0,j&&F.current.beforeEnter(),j||F.current.beforeLeave(),j?be(e,P,T,I,L,(function(e){N.current=!1,e===pe.Finished&&F.current.afterEnter()})):be(e,M,R,D,L,(function(e){N.current=!1,e===pe.Finished&&(Ce(A)||(g(je.Hidden),E(_),F.current.afterLeave()))}))}),[F,_,N,E,A,x,z,j,P,T,I,M,R,D]);var U={ref:x},q=m;return i().createElement(Se.Provider,{value:A},i().createElement(xe,{value:ee(v,(t={},t[je.Visible]=fe.Open,t[je.Hidden]=fe.Closed,t))},te({props:Z({},q,U),defaultTag:"div",features:Pe,visible:v===je.Visible,name:"Transition.Child"})))}function Ie(e){var t,n=e.show,r=e.appear,a=void 0!==r&&r,s=e.unmount,l=Y(e,["show","appear","unmount"]),c=me();void 0===n&&null!==c&&(n=ee(c,((t={})[fe.Open]=!0,t[fe.Closed]=!1,t)));if(![!0,!1].includes(n))throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");var u=(0,o.useState)(n?je.Visible:je.Hidden),d=u[0],f=u[1],p=Oe((function(){f(je.Hidden)})),h=function(){var e=(0,o.useRef)(!0);return(0,o.useEffect)((function(){e.current=!1}),[]),e.current}(),m=(0,o.useMemo)((function(){return{show:n,appear:a||!h,initial:h}}),[n,a,h]);(0,o.useEffect)((function(){n?f(je.Visible):Ce(p)||f(je.Hidden)}),[n,p]);var x={unmount:s};return i().createElement(Se.Provider,{value:p},i().createElement(ke.Provider,{value:m},te({props:Z({},x,{as:o.Fragment,children:i().createElement(Te,Object.assign({},x,l))}),defaultTag:o.Fragment,features:Pe,visible:d===je.Visible,name:"Transition"})))}function Le(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=(0,o.useRef)(t);return(0,o.useEffect)((function(){r.current=t}),[t]),(0,o.useCallback)((function(e){for(var t,n=Q(r.current);!(t=n()).done;){var o=t.value;null!=o&&("function"==typeof o?o(e):o.current=e)}}),[r])}function Me(e){for(var t,n,r=e.parentElement,o=null;r&&!(r instanceof HTMLFieldSetElement);)r instanceof HTMLLegendElement&&(o=r),r=r.parentElement;var i=null!=(t=""===(null==(n=r)?void 0:n.getAttribute("disabled")))&&t;return(!i||!function(e){if(!e)return!1;var t=e.previousElementSibling;for(;null!==t;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}(o))&&i}function Re(e,t,n){var r=(0,o.useRef)(t);r.current=t,(0,o.useEffect)((function(){function t(e){r.current.call(window,e)}return window.addEventListener(e,t,n),function(){return window.removeEventListener(e,t,n)}}),[e,n])}Ie.Child=function(e){var t=null!==(0,o.useContext)(ke),n=null!==me();return!t&&n?i().createElement(Ie,Object.assign({},e)):i().createElement(Te,Object.assign({},e))},Ie.Root=Ie,function(e){e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab"}(Ae||(Ae={}));var De,Fe,Be,ze,Ue,qe=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map((function(e){return e+":not([tabindex='-1'])"})).join(",");function We(e){null==e||e.focus({preventScroll:!0})}function $e(e,t){var n=Array.isArray(e)?e:function(e){return void 0===e&&(e=document.body),null==e?[]:Array.from(e.querySelectorAll(qe))}(e),r=document.activeElement,o=function(){if(t&(De.First|De.Next))return Be.Next;if(t&(De.Previous|De.Last))return Be.Previous;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")}(),i=function(){if(t&De.First)return 0;if(t&De.Previous)return Math.max(0,n.indexOf(r))-1;if(t&De.Next)return Math.max(0,n.indexOf(r))+1;if(t&De.Last)return n.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")}(),a=t&De.NoScroll?{preventScroll:!0}:{},s=0,l=n.length,c=void 0;do{var u;if(s>=l||s+l<=0)return Fe.Error;var d=i+s;if(t&De.WrapAround)d=(d+l)%l;else{if(d<0)return Fe.Underflow;if(d>=l)return Fe.Overflow}null==(u=c=n[d])||u.focus(a),s+=o}while(c!==document.activeElement);return c.hasAttribute("tabindex")||c.setAttribute("tabindex","0"),Fe.Success}function Ve(e,t,n){void 0===t&&(t=Ue.All);var r=void 0===n?{}:n,i=r.initialFocus,a=r.containers,s=(0,o.useRef)("undefined"!=typeof window?document.activeElement:null),l=(0,o.useRef)(null),c=de(),u=Boolean(t&Ue.RestoreFocus),d=Boolean(t&Ue.InitialFocus);(0,o.useEffect)((function(){u&&(s.current=document.activeElement)}),[u]),(0,o.useEffect)((function(){if(u)return function(){We(s.current),s.current=null}}),[u]),(0,o.useEffect)((function(){if(d&&e.current){var t=document.activeElement;if(null==i?void 0:i.current){if((null==i?void 0:i.current)===t)return void(l.current=t)}else if(e.current.contains(t))return void(l.current=t);(null==i?void 0:i.current)?We(i.current):$e(e.current,De.First)===Fe.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),l.current=document.activeElement}}),[e,i,d]),Re("keydown",(function(n){t&Ue.TabLock&&e.current&&n.key===Ae.Tab&&(n.preventDefault(),$e(e.current,(n.shiftKey?De.Previous:De.Next)|De.WrapAround)===Fe.Success&&(l.current=document.activeElement))})),Re("focus",(function(n){if(t&Ue.FocusLock){var r=new Set(null==a?void 0:a.current);if(r.add(e),r.size){var o=l.current;if(o&&c.current){var i=n.target;i&&i instanceof HTMLElement?!function(e,t){for(var n,r=Q(e);!(n=r()).done;){var o;if(null==(o=n.value.current)?void 0:o.contains(t))return!0}return!1}(r,i)?(n.preventDefault(),n.stopPropagation(),We(o)):(l.current=i,We(i)):We(l.current)}}}}),!0)}!function(e){e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll"}(De||(De={})),function(e){e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow"}(Fe||(Fe={})),function(e){e[e.Previous=-1]="Previous",e[e.Next=1]="Next"}(Be||(Be={})),function(e){e[e.Strict=0]="Strict",e[e.Loose=1]="Loose"}(ze||(ze={})),function(e){e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All"}(Ue||(Ue={}));var He=new Set,Je=new Map;function Ge(e){e.setAttribute("aria-hidden","true"),e.inert=!0}function Ke(e){var t=Je.get(e);t&&(null===t["aria-hidden"]?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",t["aria-hidden"]),e.inert=t.inert)}var Ze=(0,o.createContext)(!1);function Ye(e){return i().createElement(Ze.Provider,{value:e.force},e.children)}const Xe=ReactDOM;function Qe(){var e=(0,o.useContext)(Ze),t=(0,o.useContext)(rt),n=(0,o.useState)((function(){if(!e&&null!==t)return null;if("undefined"==typeof window)return null;var n=document.getElementById("headlessui-portal-root");if(n)return n;var r=document.createElement("div");return r.setAttribute("id","headlessui-portal-root"),document.body.appendChild(r)})),r=n[0],i=n[1];return(0,o.useEffect)((function(){e||null!==t&&i(t.current)}),[t,i,e]),r}var et=o.Fragment;function tt(e){var t=e,n=Qe(),r=(0,o.useState)((function(){return"undefined"==typeof window?null:document.createElement("div")}))[0],i=se();return ie((function(){if(n&&r)return n.appendChild(r),function(){var e;n&&(r&&(n.removeChild(r),n.childNodes.length<=0&&(null==(e=n.parentElement)||e.removeChild(n))))}}),[n,r]),i&&n&&r?(0,Xe.createPortal)(te({props:t,defaultTag:et,name:"Portal"}),r):null}var nt=o.Fragment,rt=(0,o.createContext)(null);tt.Group=function(e){var t=e.target,n=Y(e,["target"]);return i().createElement(rt.Provider,{value:t},te({props:n,defaultTag:nt,name:"Popover.Group"}))};var ot=(0,o.createContext)(null);function it(){var e=(0,o.useContext)(ot);if(null===e){var t=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,it),t}return e}var at,st,lt,ct,ut=(0,o.createContext)((function(){}));function dt(e){var t=e.children,n=e.onUpdate,r=e.type,a=e.element,s=(0,o.useContext)(ut),l=(0,o.useCallback)((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];null==n||n.apply(void 0,t),s.apply(void 0,t)}),[s,n]);return ie((function(){return l(at.Add,r,a),function(){return l(at.Remove,r,a)}}),[l,r,a]),i().createElement(ut.Provider,{value:l},t)}ut.displayName="StackContext",function(e){e[e.Add=0]="Add",e[e.Remove=1]="Remove"}(at||(at={})),function(e){e[e.Open=0]="Open",e[e.Closed=1]="Closed"}(lt||(lt={})),function(e){e[e.SetTitleId=0]="SetTitleId"}(ct||(ct={}));var ft=((st={})[ct.SetTitleId]=function(e,t){return e.titleId===t.id?e:Z({},e,{titleId:t.id})},st),pt=(0,o.createContext)(null);function ht(e){var t=(0,o.useContext)(pt);if(null===t){var n=new Error("<"+e+" /> is missing a parent <"+gt.displayName+" /> component.");throw Error.captureStackTrace&&Error.captureStackTrace(n,ht),n}return t}function mt(e,t){return ee(t.type,ft,e,t)}pt.displayName="DialogContext";var xt=J.RenderStrategy|J.Static,yt=re((function(e,t){var n,r=e.open,a=e.onClose,s=e.initialFocus,l=Y(e,["open","onClose","initialFocus"]),c=(0,o.useState)(0),u=c[0],d=c[1],f=me();void 0===r&&null!==f&&(r=ee(f,((n={})[fe.Open]=!0,n[fe.Closed]=!1,n)));var p=(0,o.useRef)(new Set),h=(0,o.useRef)(null),m=Le(h,t),x=e.hasOwnProperty("open")||null!==f,y=e.hasOwnProperty("onClose");if(!x&&!y)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!x)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!y)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if("boolean"!=typeof r)throw new Error("You provided an `open` prop to the `Dialog`, but the value is not a boolean. Received: "+r);if("function"!=typeof a)throw new Error("You provided an `onClose` prop to the `Dialog`, but the value is not a function. Received: "+a);var v=r?lt.Open:lt.Closed,g=null!==f?f===fe.Open:v===lt.Open,b=(0,o.useReducer)(mt,{titleId:null,descriptionId:null}),w=b[0],j=b[1],k=(0,o.useCallback)((function(){return a(!1)}),[a]),S=(0,o.useCallback)((function(e){return j({type:ct.SetTitleId,id:e})}),[j]),C=se()&&v===lt.Open,O=u>1,E=null!==(0,o.useContext)(pt);Ve(h,C?ee(O?"parent":"leaf",{parent:Ue.RestoreFocus,leaf:Ue.All}):Ue.None,{initialFocus:s,containers:p}),function(e,t){void 0===t&&(t=!0),ie((function(){if(t&&e.current){var n=e.current;He.add(n);for(var r,o=Q(Je.keys());!(r=o()).done;){var i=r.value;i.contains(n)&&(Ke(i),Je.delete(i))}return document.querySelectorAll("body > *").forEach((function(e){if(e instanceof HTMLElement){for(var t,n=Q(He);!(t=n()).done;){var r=t.value;if(e.contains(r))return}1===He.size&&(Je.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),Ge(e))}})),function(){if(He.delete(n),He.size>0)document.querySelectorAll("body > *").forEach((function(e){if(e instanceof HTMLElement&&!Je.has(e)){for(var t,n=Q(He);!(t=n()).done;){var r=t.value;if(e.contains(r))return}Je.set(e,{"aria-hidden":e.getAttribute("aria-hidden"),inert:e.inert}),Ge(e)}}));else for(var e,t=Q(Je.keys());!(e=t()).done;){var r=e.value;Ke(r),Je.delete(r)}}}}),[t])}(h,!!O&&C),Re("mousedown",(function(e){var t,n=e.target;v===lt.Open&&(O||(null==(t=h.current)?void 0:t.contains(n))||k())})),Re("keydown",(function(e){e.key===Ae.Escape&&v===lt.Open&&(O||(e.preventDefault(),e.stopPropagation(),k()))})),(0,o.useEffect)((function(){if(v===lt.Open&&!E){var e=document.documentElement.style.overflow,t=document.documentElement.style.paddingRight,n=window.innerWidth-document.documentElement.clientWidth;return document.documentElement.style.overflow="hidden",document.documentElement.style.paddingRight=n+"px",function(){document.documentElement.style.overflow=e,document.documentElement.style.paddingRight=t}}}),[v,E]),(0,o.useEffect)((function(){if(v===lt.Open&&h.current){var e=new IntersectionObserver((function(e){for(var t,n=Q(e);!(t=n()).done;){var r=t.value;0===r.boundingClientRect.x&&0===r.boundingClientRect.y&&0===r.boundingClientRect.width&&0===r.boundingClientRect.height&&k()}}));return e.observe(h.current),function(){return e.disconnect()}}}),[v,h,k]);var _=function(){var e=(0,o.useState)([]),t=e[0],n=e[1];return[t.length>0?t.join(" "):void 0,(0,o.useMemo)((function(){return function(e){var t=(0,o.useCallback)((function(e){return n((function(t){return[].concat(t,[e])})),function(){return n((function(t){var n=t.slice(),r=n.indexOf(e);return-1!==r&&n.splice(r,1),n}))}}),[]),r=(0,o.useMemo)((function(){return{register:t,slot:e.slot,name:e.name,props:e.props}}),[t,e.slot,e.name,e.props]);return i().createElement(ot.Provider,{value:r},e.children)}}),[n])]}(),N=_[0],A=_[1],P="headlessui-dialog-"+ue(),T=(0,o.useMemo)((function(){return[{dialogState:v,close:k,setTitleId:S},w]}),[v,w,k,S]),I=(0,o.useMemo)((function(){return{open:v===lt.Open}}),[v]),L={ref:m,id:P,role:"dialog","aria-modal":v===lt.Open||void 0,"aria-labelledby":w.titleId,"aria-describedby":N,onClick:function(e){e.stopPropagation()}},M=l;return i().createElement(dt,{type:"Dialog",element:h,onUpdate:(0,o.useCallback)((function(e,t,n){var r;"Dialog"===t&&ee(e,((r={})[at.Add]=function(){p.current.add(n),d((function(e){return e+1}))},r[at.Remove]=function(){p.current.add(n),d((function(e){return e-1}))},r))}),[])},i().createElement(Ye,{force:!0},i().createElement(tt,null,i().createElement(pt.Provider,{value:T},i().createElement(tt.Group,{target:h},i().createElement(Ye,{force:!1},i().createElement(A,{slot:I,name:"Dialog.Description"},te({props:Z({},M,L),slot:I,defaultTag:"div",features:xt,visible:g,name:"Dialog"}))))))))})),vt=re((function e(t,n){var r=ht([gt.displayName,e.name].join("."))[0],i=r.dialogState,a=r.close,s=Le(n),l="headlessui-dialog-overlay-"+ue(),c=(0,o.useCallback)((function(e){if(e.target===e.currentTarget){if(Me(e.currentTarget))return e.preventDefault();e.preventDefault(),e.stopPropagation(),a()}}),[a]),u=(0,o.useMemo)((function(){return{open:i===lt.Open}}),[i]);return te({props:Z({},t,{ref:s,id:l,"aria-hidden":!0,onClick:c}),slot:u,defaultTag:"div",name:"Dialog.Overlay"})}));var gt=Object.assign(yt,{Overlay:vt,Title:function e(t){var n=ht([gt.displayName,e.name].join("."))[0],r=n.dialogState,i=n.setTitleId,a="headlessui-dialog-title-"+ue();(0,o.useEffect)((function(){return i(a),function(){return i(null)}}),[a,i]);var s=(0,o.useMemo)((function(){return{open:r===lt.Open}}),[r]);return te({props:Z({},t,{id:a}),slot:s,defaultTag:"h2",name:"Dialog.Title"})},Description:function(e){var t=it(),n="headlessui-description-"+ue();ie((function(){return t.register(n)}),[n,t.register]);var r=e,o=Z({},t.props,{id:n});return te({props:Z({},r,o),slot:t.slot||{},defaultTag:"p",name:t.name||"Description"})}});const bt=wp.i18n,wt=wp.components;var jt=n(42),kt=n.n(jt);const St=lodash;function Ct(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"broken-event",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"open";z.setState({entryPoint:e}),window.dispatchEvent(new CustomEvent("extendify::".concat(t,"-library"),{detail:e,bubbles:!0}))}function Ot(e){switch(e){case"editorplus":return"Editor Plus";case"ml-slider":return"MetaSlider"}return e}function Et(e){switch(e){case"siteType":return"Site Type";case"patternType":return"Content";case"layoutType":return"Page Types"}}var _t=n(246);function Nt(e){var t=e.taxType,n=e.taxonomies,r=K((function(e){return e.updateTaxonomies})),o=K((function(e){return e.searchParams}));return!(null!=n&&n.length)>0?null:(0,_t.jsx)(wt.PanelBody,{title:Et(t),className:"ext-type-control p-0",initialOpen:!0,children:(0,_t.jsx)(wt.PanelRow,{children:(0,_t.jsx)("div",{className:"overflow-hidden w-full relative",children:(0,_t.jsx)("ul",{className:"px-5 py-1 m-0 w-full",children:n.map((function(e){var n,i,a=(null==o||null===(n=o.taxonomies[t])||void 0===n?void 0:n.slug)===(null==e?void 0:e.slug);return(0,_t.jsx)("li",{className:"m-0 w-full",children:(0,_t.jsx)("button",{type:"button",className:"text-left text-sm cursor-pointer w-full flex justify-between items-center px-0 py-2 m-0 leading-none bg-transparent hover:text-wp-theme-500 transition duration-200 button-focus",onClick:function(){return r((i=e,(o=t)in(n={})?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i,n));var n,o,i},children:(0,_t.jsx)("span",{className:kt()({"text-wp-theme-500":a}),children:null!==(i=null==e?void 0:e.title)&&void 0!==i?i:e.slug})})},e.slug)}))})})})})}function At(e){return Array.isArray?Array.isArray(e):"[object Array]"===Dt(e)}function Pt(e){return"string"==typeof e}function Tt(e){return"number"==typeof e}function It(e){return!0===e||!1===e||function(e){return Lt(e)&&null!==e}(e)&&"[object Boolean]"==Dt(e)}function Lt(e){return"object"==typeof e}function Mt(e){return null!=e}function Rt(e){return!e.trim().length}function Dt(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Ft=Object.prototype.hasOwnProperty;class Bt{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let n=zt(e);t+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function zt(e){let t=null,n=null,r=null,o=1;if(Pt(e)||At(e))r=e,t=Ut(e),n=qt(e);else{if(!Ft.call(e,"name"))throw new Error((e=>`Missing ${e} property in key`)("name"));const i=e.name;if(r=i,Ft.call(e,"weight")&&(o=e.weight,o<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(i));t=Ut(i),n=qt(i)}return{path:t,id:n,weight:o,src:r}}function Ut(e){return At(e)?e:e.split(".")}function qt(e){return At(e)?e.join("."):e}var Wt={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...{useExtendedSearch:!1,getFn:function(e,t){let n=[],r=!1;const o=(e,t,i)=>{if(Mt(e))if(t[i]){const a=e[t[i]];if(!Mt(a))return;if(i===t.length-1&&(Pt(a)||Tt(a)||It(a)))n.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(a));else if(At(a)){r=!0;for(let e=0,n=a.length;e<n;e+=1)o(a[e],t,i+1)}else t.length&&o(a,t,i+1)}else n.push(e)};return o(e,Pt(t)?t.split("."):t,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}};const $t=/[^ ]+/g;class Vt{constructor({getFn:e=Wt.getFn,fieldNormWeight:t=Wt.fieldNormWeight}={}){this.norm=function(e=1,t=3){const n=new Map,r=Math.pow(10,t);return{get(t){const o=t.match($t).length;if(n.has(o))return n.get(o);const i=1/Math.pow(o,.5*e),a=parseFloat(Math.round(i*r)/r);return n.set(o,a),a},clear(){n.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach(((e,t)=>{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,Pt(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();Pt(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t<n;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!Mt(e)||Rt(e))return;let n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}_addObject(e,t){let n={i:t,$:{}};this.keys.forEach(((t,r)=>{let o=this.getFn(e,t.path);if(Mt(o))if(At(o)){let e=[];const t=[{nestedArrIndex:-1,value:o}];for(;t.length;){const{nestedArrIndex:n,value:r}=t.pop();if(Mt(r))if(Pt(r)&&!Rt(r)){let t={v:r,i:n,n:this.norm.get(r)};e.push(t)}else At(r)&&r.forEach(((e,n)=>{t.push({nestedArrIndex:n,value:e})}))}n.$[r]=e}else if(!Rt(o)){let e={v:o,n:this.norm.get(o)};n.$[r]=e}})),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function Ht(e,t,{getFn:n=Wt.getFn,fieldNormWeight:r=Wt.fieldNormWeight}={}){const o=new Vt({getFn:n,fieldNormWeight:r});return o.setKeys(e.map(zt)),o.setSources(t),o.create(),o}function Jt(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:o=Wt.distance,ignoreLocation:i=Wt.ignoreLocation}={}){const a=t/e.length;if(i)return a;const s=Math.abs(r-n);return o?a+s/o:s?1:a}const Gt=32;function Kt(e,t,n,{location:r=Wt.location,distance:o=Wt.distance,threshold:i=Wt.threshold,findAllMatches:a=Wt.findAllMatches,minMatchCharLength:s=Wt.minMatchCharLength,includeMatches:l=Wt.includeMatches,ignoreLocation:c=Wt.ignoreLocation}={}){if(t.length>Gt)throw new Error(`Pattern length exceeds max of ${Gt}.`);const u=t.length,d=e.length,f=Math.max(0,Math.min(r,d));let p=i,h=f;const m=s>1||l,x=m?Array(d):[];let y;for(;(y=e.indexOf(t,h))>-1;){let e=Jt(t,{currentLocation:y,expectedLocation:f,distance:o,ignoreLocation:c});if(p=Math.min(e,p),h=y+u,m){let e=0;for(;e<u;)x[y+e]=1,e+=1}}h=-1;let v=[],g=1,b=u+d;const w=1<<u-1;for(let r=0;r<u;r+=1){let i=0,s=b;for(;i<s;){Jt(t,{errors:r,currentLocation:f+s,expectedLocation:f,distance:o,ignoreLocation:c})<=p?i=s:b=s,s=Math.floor((b-i)/2+i)}b=s;let l=Math.max(1,f-s+1),y=a?d:Math.min(f+s,d)+u,j=Array(y+2);j[y+1]=(1<<r)-1;for(let i=y;i>=l;i-=1){let a=i-1,s=n[e.charAt(a)];if(m&&(x[a]=+!!s),j[i]=(j[i+1]<<1|1)&s,r&&(j[i]|=(v[i+1]|v[i])<<1|1|v[i+1]),j[i]&w&&(g=Jt(t,{errors:r,currentLocation:a,expectedLocation:f,distance:o,ignoreLocation:c}),g<=p)){if(p=g,h=a,h<=f)break;l=Math.max(1,2*f-h)}}if(Jt(t,{errors:r+1,currentLocation:f,expectedLocation:f,distance:o,ignoreLocation:c})>p)break;v=j}const j={isMatch:h>=0,score:Math.max(.001,g)};if(m){const e=function(e=[],t=Wt.minMatchCharLength){let n=[],r=-1,o=-1,i=0;for(let a=e.length;i<a;i+=1){let a=e[i];a&&-1===r?r=i:a||-1===r||(o=i-1,o-r+1>=t&&n.push([r,o]),r=-1)}return e[i-1]&&i-r>=t&&n.push([r,i-1]),n}(x,s);e.length?l&&(j.indices=e):j.isMatch=!1}return j}function Zt(e){let t={};for(let n=0,r=e.length;n<r;n+=1){const o=e.charAt(n);t[o]=(t[o]||0)|1<<r-n-1}return t}class Yt{constructor(e,{location:t=Wt.location,threshold:n=Wt.threshold,distance:r=Wt.distance,includeMatches:o=Wt.includeMatches,findAllMatches:i=Wt.findAllMatches,minMatchCharLength:a=Wt.minMatchCharLength,isCaseSensitive:s=Wt.isCaseSensitive,ignoreLocation:l=Wt.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:o,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:s,ignoreLocation:l},this.pattern=s?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:Zt(e),startIndex:t})},u=this.pattern.length;if(u>Gt){let e=0;const t=u%Gt,n=u-t;for(;e<n;)c(this.pattern.substr(e,Gt),e),e+=Gt;if(t){const e=u-Gt;c(this.pattern.substr(e),e)}}else c(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,includeMatches:n}=this.options;if(t||(e=e.toLowerCase()),this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}const{location:r,distance:o,threshold:i,findAllMatches:a,minMatchCharLength:s,ignoreLocation:l}=this.options;let c=[],u=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:f,startIndex:p})=>{const{isMatch:h,score:m,indices:x}=Kt(e,t,f,{location:r+p,distance:o,threshold:i,findAllMatches:a,minMatchCharLength:s,includeMatches:n,ignoreLocation:l});h&&(d=!0),u+=m,h&&x&&(c=[...c,...x])}));let f={isMatch:d,score:d?u/this.chunks.length:1};return d&&n&&(f.indices=c),f}}class Xt{constructor(e){this.pattern=e}static isMultiMatch(e){return Qt(e,this.multiRegex)}static isSingleMatch(e){return Qt(e,this.singleRegex)}search(){}}function Qt(e,t){const n=e.match(t);return n?n[1]:null}class en extends Xt{constructor(e,{location:t=Wt.location,threshold:n=Wt.threshold,distance:r=Wt.distance,includeMatches:o=Wt.includeMatches,findAllMatches:i=Wt.findAllMatches,minMatchCharLength:a=Wt.minMatchCharLength,isCaseSensitive:s=Wt.isCaseSensitive,ignoreLocation:l=Wt.ignoreLocation}={}){super(e),this._bitapSearch=new Yt(e,{location:t,threshold:n,distance:r,includeMatches:o,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:s,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class tn extends Xt{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,n=0;const r=[],o=this.pattern.length;for(;(t=e.indexOf(this.pattern,n))>-1;)n=t+o,r.push([t,n-1]);const i=!!r.length;return{isMatch:i,score:i?0:1,indices:r}}}const nn=[class extends Xt{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},tn,class extends Xt{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends Xt{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends Xt{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends Xt{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends Xt{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},en],rn=nn.length,on=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;const an=new Set([en.type,tn.type]);class sn{constructor(e,{isCaseSensitive:t=Wt.isCaseSensitive,includeMatches:n=Wt.includeMatches,minMatchCharLength:r=Wt.minMatchCharLength,ignoreLocation:o=Wt.ignoreLocation,findAllMatches:i=Wt.findAllMatches,location:a=Wt.location,threshold:s=Wt.threshold,distance:l=Wt.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:n,minMatchCharLength:r,findAllMatches:i,ignoreLocation:o,location:a,threshold:s,distance:l},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let n=e.trim().split(on).filter((e=>e&&!!e.trim())),r=[];for(let e=0,o=n.length;e<o;e+=1){const o=n[e];let i=!1,a=-1;for(;!i&&++a<rn;){const e=nn[a];let n=e.isMultiMatch(o);n&&(r.push(new e(n,t)),i=!0)}if(!i)for(a=-1;++a<rn;){const e=nn[a];let n=e.isSingleMatch(o);if(n){r.push(new e(n,t));break}}}return r}))}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:r}=this.options;e=r?e:e.toLowerCase();let o=0,i=[],a=0;for(let r=0,s=t.length;r<s;r+=1){const s=t[r];i.length=0,o=0;for(let t=0,r=s.length;t<r;t+=1){const r=s[t],{isMatch:l,indices:c,score:u}=r.search(e);if(!l){a=0,o=0,i.length=0;break}if(o+=1,a+=u,n){const e=r.constructor.type;an.has(e)?i=[...i,...c]:i.push(c)}}if(o){let e={isMatch:!0,score:a/o};return n&&(e.indices=i),e}}return{isMatch:!1,score:1}}}const ln=[];function cn(e,t){for(let n=0,r=ln.length;n<r;n+=1){let r=ln[n];if(r.condition(e,t))return new r(e,t)}return new Yt(e,t)}const un="$and",dn="$or",fn="$path",pn="$val",hn=e=>!(!e[un]&&!e[dn]),mn=e=>({[un]:Object.keys(e).map((t=>({[t]:e[t]})))});function xn(e,t,{auto:n=!0}={}){const r=e=>{let o=Object.keys(e);const i=(e=>!!e[fn])(e);if(!i&&o.length>1&&!hn(e))return r(mn(e));if((e=>!At(e)&&Lt(e)&&!hn(e))(e)){const r=i?e[fn]:o[0],a=i?e[pn]:e[r];if(!Pt(a))throw new Error((e=>`Invalid value for key ${e}`)(r));const s={keyId:qt(r),pattern:a};return n&&(s.searcher=cn(a,t)),s}let a={children:[],operator:o[0]};return o.forEach((t=>{const n=e[t];At(n)&&n.forEach((e=>{a.children.push(r(e))}))})),a};return hn(e)||(e=mn(e)),r(e)}function yn(e,t){const n=e.matches;t.matches=[],Mt(n)&&n.forEach((e=>{if(!Mt(e.indices)||!e.indices.length)return;const{indices:n,value:r}=e;let o={indices:n,value:r};e.key&&(o.key=e.key.src),e.idx>-1&&(o.refIndex=e.idx),t.matches.push(o)}))}function vn(e,t){t.score=e.score}class gn{constructor(e,t={},n){this.options={...Wt,...t},this.options.useExtendedSearch,this._keyStore=new Bt(this.options.keys),this.setCollection(e,n)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Vt))throw new Error("Incorrect 'index' type");this._myIndex=t||Ht(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){Mt(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let n=0,r=this._docs.length;n<r;n+=1){const o=this._docs[n];e(o,n)&&(this.removeAt(n),n-=1,r-=1,t.push(o))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){const{includeMatches:n,includeScore:r,shouldSort:o,sortFn:i,ignoreFieldNorm:a}=this.options;let s=Pt(e)?Pt(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=Wt.ignoreFieldNorm}){e.forEach((e=>{let n=1;e.matches.forEach((({key:e,norm:r,score:o})=>{const i=e?e.weight:null;n*=Math.pow(0===o&&i?Number.EPSILON:o,(i||1)*(t?1:r))})),e.score=n}))}(s,{ignoreFieldNorm:a}),o&&s.sort(i),Tt(t)&&t>-1&&(s=s.slice(0,t)),function(e,t,{includeMatches:n=Wt.includeMatches,includeScore:r=Wt.includeScore}={}){const o=[];return n&&o.push(yn),r&&o.push(vn),e.map((e=>{const{idx:n}=e,r={item:t[n],refIndex:n};return o.length&&o.forEach((t=>{t(e,r)})),r}))}(s,this._docs,{includeMatches:n,includeScore:r})}_searchStringList(e){const t=cn(e,this.options),{records:n}=this._myIndex,r=[];return n.forEach((({v:e,i:n,n:o})=>{if(!Mt(e))return;const{isMatch:i,score:a,indices:s}=t.searchIn(e);i&&r.push({item:e,idx:n,matches:[{score:a,value:e,norm:o,indices:s}]})})),r}_searchLogical(e){const t=xn(e,this.options),n=(e,t,r)=>{if(!e.children){const{keyId:n,searcher:o}=e,i=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:o});return i&&i.length?[{idx:r,item:t,matches:i}]:[]}const o=[];for(let i=0,a=e.children.length;i<a;i+=1){const a=e.children[i],s=n(a,t,r);if(s.length)o.push(...s);else if(e.operator===un)return[]}return o},r=this._myIndex.records,o={},i=[];return r.forEach((({$:e,i:r})=>{if(Mt(e)){let a=n(t,e,r);a.length&&(o[r]||(o[r]={idx:r,item:e,matches:[]},i.push(o[r])),a.forEach((({matches:e})=>{o[r].matches.push(...e)})))}})),i}_searchObjectList(e){const t=cn(e,this.options),{keys:n,records:r}=this._myIndex,o=[];return r.forEach((({$:e,i:r})=>{if(!Mt(e))return;let i=[];n.forEach(((n,r)=>{i.push(...this._findMatches({key:n,value:e[r],searcher:t}))})),i.length&&o.push({idx:r,item:e,matches:i})})),o}_findMatches({key:e,value:t,searcher:n}){if(!Mt(t))return[];let r=[];if(At(t))t.forEach((({v:t,i:o,n:i})=>{if(!Mt(t))return;const{isMatch:a,score:s,indices:l}=n.searchIn(t);a&&r.push({score:s,key:e,value:t,idx:o,norm:i,indices:l})}));else{const{v:o,n:i}=t,{isMatch:a,score:s,indices:l}=n.searchIn(o);a&&r.push({score:s,key:e,value:o,norm:i,indices:l})}return r}}function bn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return wn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return wn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}gn.version="6.5.3",gn.createIndex=Ht,gn.parseIndex=function(e,{getFn:t=Wt.getFn,fieldNormWeight:n=Wt.fieldNormWeight}={}){const{keys:r,records:o}=e,i=new Vt({getFn:t,fieldNormWeight:n});return i.setKeys(r),i.setIndexRecords(o),i},gn.config=Wt,gn.parseQuery=xn,function(...e){ln.push(...e)}(sn);var jn=new Map;function kn(e){var t,n,o=e.value,i=e.setValue,a=e.terms,s=z((function(e){var t,n,r;return null!==(t=null===(n=e.preferredOptionsHistory)||void 0===n||null===(r=n.siteType)||void 0===r?void 0:r.filter((function(e){return e.slug})))&&void 0!==t?t:{}})),l=K((function(e){return e.searchParams})),c=bn((0,r.useState)(!1),2),u=c[0],d=c[1],f=(0,r.useRef)(),p=bn((0,r.useState)({}),2),h=p[0],m=p[1],x=bn((0,r.useState)(""),2),y=x[0],v=x[1],g=bn((0,r.useState)([]),2),b=g[0],w=g[1],j=(0,r.useMemo)((function(){return a.filter((function(e){return null==e?void 0:e.featured})).sort((function(e,t){return e.slug<t.slug?-1:e.slug>t.slug?1:0}))}),[a]),k=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(jn.has(e))w(jn.get(e));else{var t=h.search(e);jn.set(e,null!=t&&t.length?t.map((function(e){return e.item})):j),w(jn.get(e))}},S="unknown"===o.slug||!(null!=o&&o.slug);(0,r.useEffect)((function(){m(new gn(a,{keys:["slug","title","keywords"],minMatchCharLength:2,threshold:.3}))}),[a]),(0,r.useEffect)((function(){y.length||w(j)}),[j,y]),(0,r.useEffect)((function(){u&&f.current.focus()}),[u]);var C,O=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,bt.__)("Suggestions","extendify");return e===j&&(t=(0,bt.__)("Examples","extendify")),(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("h4",{className:"mt-4 mb-2 text-left uppercase text-xss text-gray-700 font-medium",children:t}),(0,_t.jsx)("ul",{className:"m-0",children:e.map((function(e){var t,n,r,o=null!==(t=null==e?void 0:e.title)&&void 0!==t?t:e.slug,a=(null==l||null===(n=l.taxonomies)||void 0===n||null===(r=n.siteType)||void 0===r?void 0:r.slug)===e.slug;return(0,_t.jsx)("li",{className:"m-0 mb-1",children:(0,_t.jsx)("button",{type:"button",className:kt()("w-full text-left text-sm bg-transparent hover:text-wp-theme-500 m-0 pl-0 cursor-pointer",{"text-gray-800":!a}),onClick:function(){d(!1),i(e)},children:o})},e.slug+(null==e?void 0:e.title))}))})]})};return(0,_t.jsxs)("div",{className:"w-full bg-extendify-transparent-black rounded",children:[(0,_t.jsx)("button",{type:"button",onClick:function(){return d((function(e){return!e}))},className:"flex items-center justify-between text-gray-800 button-focus w-full p-4 m-0 cursor-pointer bg-transparent hover:bg-extendify-transparent-black-100 rounded",children:(C=u?(0,bt.__)("What kind of site is this?","extendify"):null!==(t=null!==(n=null==o?void 0:o.title)&&void 0!==n?n:o.slug)&&void 0!==t?t:"Unknown",(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsxs)("span",{className:"flex flex-col text-left",children:[(0,_t.jsx)("span",{className:"text-sm mb-1",children:(0,bt.__)("Site Type","extendify")}),(0,_t.jsx)("span",{className:"font-light text-xs",children:C})]}),(0,_t.jsxs)("span",{className:"flex items-center space-x-4",children:[S&&!u&&(0,_t.jsxs)("svg",{className:"text-wp-alert-red","aria-hidden":"true",focusable:"false",width:"21",height:"21",viewBox:"0 0 21 21",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)("path",{className:"stroke-current",d:"M10.9982 4.05371C7.66149 4.05371 4.95654 6.75866 4.95654 10.0954C4.95654 13.4321 7.66149 16.137 10.9982 16.137C14.3349 16.137 17.0399 13.4321 17.0399 10.0954C17.0399 6.75866 14.3349 4.05371 10.9982 4.05371V4.05371Z",strokeWidth:"1.25"}),(0,_t.jsx)("path",{className:"fill-current",d:"M10.0205 12.8717C10.0205 12.3287 10.4508 11.8881 10.9938 11.8881C11.5368 11.8881 11.9774 12.3287 11.9774 12.8717C11.9774 13.4147 11.5368 13.8451 10.9938 13.8451C10.4508 13.8451 10.0205 13.4147 10.0205 12.8717Z"}),(0,_t.jsx)("path",{className:"fill-current",d:"M11.6495 10.2591C11.6086 10.6177 11.3524 10.9148 10.9938 10.9148C10.625 10.9148 10.3791 10.6074 10.3483 10.2591L10.0205 7.31855C9.95901 6.81652 10.4918 6.34521 10.9938 6.34521C11.4959 6.34521 12.0286 6.81652 11.9774 7.31855L11.6495 10.2591Z"})]}),(0,_t.jsx)("svg",{className:kt()("text-gray-700 stroke-current",{"transform rotate-90 -translate-x-1":u}),"aria-hidden":"true",focusable:"false",width:"8",height:"13",viewBox:"0 0 8 13",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsx)("path",{d:"M1.24194 11.5952L6.24194 6.09519L1.24194 0.595215",strokeWidth:"1.5"})})]})]}))}),u&&(0,_t.jsxs)("div",{className:"p-4 pt-0 overflow-y-auto max-h-96",children:[(0,_t.jsxs)("div",{className:"relative my-2",children:[(0,_t.jsx)("label",{htmlFor:"site-type-search",className:"sr-only",children:(0,bt.__)("Search","extendify")}),(0,_t.jsx)("input",{ref:f,id:"site-type-search",value:null!=y?y:"",onChange:function(e){return t=e.target.value,v(t),void k(t);var t},type:"text",className:"button-focus bg-white border-0 m-0 p-3.5 py-2.5 rounded text-sm w-full",placeholder:(0,bt.__)("Search","extendify")}),(0,_t.jsx)("svg",{className:"absolute top-2 right-2 hidden lg:block pointer-events-none",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",role:"img","aria-hidden":"true",focusable:"false",children:(0,_t.jsx)("path",{d:"M13.5 6C10.5 6 8 8.5 8 11.5c0 1.1.3 2.1.9 3l-3.4 3 1 1.1 3.4-2.9c1 .9 2.2 1.4 3.6 1.4 3 0 5.5-2.5 5.5-5.5C19 8.5 16.5 6 13.5 6zm0 9.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"})})]}),y.length>1&&b===j&&(0,_t.jsx)("p",{className:"text-left",children:(0,bt.__)("Nothing found...","extendify")}),b===j&&Object.keys(s).length>0&&(0,_t.jsx)("div",{className:"mb-8",children:O(s,(0,bt.__)("Recent","extendify"))}),b.length>0&&(0,_t.jsx)("div",{children:O(b)}),S?null:(0,_t.jsx)("button",{type:"button",className:"mt-4 w-full text-left text-sm bg-transparent hover:text-wp-theme-500 pl-0 cursor-pointer text-wp-theme-500",onClick:function(){d(!1),i("Unknown")},children:(0,bt.__)("Reset","extendify")})]})]})}const Sn=function(e){let{icon:t,size:n=24,...o}=e;return(0,r.cloneElement)(t,{width:n,height:n,...o})},Cn=e=>(0,r.createElement)("circle",e),On=e=>(0,r.createElement)("g",e),En=e=>(0,r.createElement)("path",e),_n=e=>(0,r.createElement)("rect",e),Nn=e=>{let{className:t,isPressed:n,...o}=e;const i={...o,className:kt()(t,{"is-pressed":n})||void 0,role:"img","aria-hidden":!0,focusable:!1};return(0,r.createElement)("svg",i)};const An=(0,_t.jsxs)(Nn,{viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)(En,{d:"M7.32457 0.907043C3.98785 0.907043 1.2829 3.61199 1.2829 6.94871C1.2829 10.2855 3.98785 12.9904 7.32457 12.9904C10.6613 12.9904 13.3663 10.2855 13.3663 6.94871C13.3663 3.61199 10.6613 0.907043 7.32457 0.907043V0.907043Z",stroke:"currentColor",strokeWidth:"1.25",fill:"none"}),(0,_t.jsx)(En,{d:"M6.34684 9.72526C6.34684 9.18224 6.77716 8.74168 7.32018 8.74168C7.8632 8.74168 8.30377 9.18224 8.30377 9.72526C8.30377 10.2683 7.8632 10.6986 7.32018 10.6986C6.77716 10.6986 6.34684 10.2683 6.34684 9.72526Z",fill:"currentColor"}),(0,_t.jsx)(En,{d:"M7.9759 7.11261C7.93492 7.47121 7.67878 7.76834 7.32018 7.76834C6.95134 7.76834 6.70544 7.46097 6.6747 7.11261L6.34684 4.1721C6.28537 3.67006 6.81814 3.19876 7.32018 3.19876C7.82222 3.19876 8.35499 3.67006 8.30377 4.1721L7.9759 7.11261Z",fill:"currentColor"})]});const Pn=(0,_t.jsx)(Nn,{fill:"none",viewBox:"0 0 25 24",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsx)(En,{clipRule:"evenodd",d:"m14.4063 2h4.1856c1.1856 0 1.6147.12701 2.0484.36409.4336.23802.7729.58706 1.0049 1.03111.2319.445.3548.8853.3548 2.10175v4.29475c0 1.2165-.1238 1.6567-.3548 2.1017-.232.445-.5722.7931-1.0049 1.0312-.1939.1064-.3873.1939-.6476.2567v3.4179c0 1.8788-.1912 2.5588-.5481 3.246-.3582.6873-.8836 1.2249-1.552 1.5925-.6697.3676-1.3325.5623-3.1634.5623h-6.46431c-1.83096 0-2.49367-.1962-3.16346-.5623-.6698-.3676-1.19374-.9067-1.552-1.5925s-.54943-1.3672-.54943-3.246v-6.63138c0-1.87871.19117-2.55871.54801-3.24597.35827-.68727.88362-1.22632 1.55342-1.59393.66837-.36615 1.3325-.56231 3.16346-.56231h2.76781c.0519-.55814.1602-.86269.3195-1.16946.232-.445.5721-.79404 1.0058-1.03206.4328-.23708.8628-.36409 2.0483-.36409zm-2.1512 2.73372c0-.79711.6298-1.4433 1.4067-1.4433h5.6737c.777 0 1.4068.64619 1.4068 1.4433v5.82118c0 .7971-.6298 1.4433-1.4068 1.4433h-5.6737c-.7769 0-1.4067-.6462-1.4067-1.4433z",fill:"currentColor",fillRule:"evenodd"})});const Tn=(0,_t.jsx)(Nn,{fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsx)(En,{"clip-rule":"evenodd",d:"m13.505 4h3.3044c.936 0 1.2747.10161 1.6171.29127.3424.19042.6102.46965.7934.82489.1831.356.2801.70824.2801 1.6814v3.43584c0 .9731-.0977 1.3254-.2801 1.6814-.1832.356-.4517.6344-.7934.8248-.153.0852-.3057.1552-.5112.2054v2.7344c0 1.503-.151 2.047-.4327 2.5968-.2828.5498-.6976.9799-1.2252 1.274-.5288.294-1.052.4498-2.4975.4498h-5.10341c-1.44549 0-1.96869-.1569-2.49747-.4498-.52878-.2941-.94242-.7254-1.22526-1.274-.28284-.5487-.43376-1.0938-.43376-2.5968v-5.3051c0-1.50301.15092-2.04701.43264-2.59682.28284-.54981.6976-.98106 1.22638-1.27514.52767-.29293 1.05198-.44985 2.49747-.44985h2.18511c.041-.44652.1265-.69015.2522-.93557.1832-.356.4517-.63523.7941-.82565.3417-.18966.6812-.29127 1.6171-.29127zm-1.6984 2.18698c0-.63769.4973-1.15464 1.1106-1.15464h4.4793c.6133 0 1.1106.51695 1.1106 1.15464v4.65692c0 .6377-.4973 1.1547-1.1106 1.1547h-4.4793c-.6133 0-1.1106-.517-1.1106-1.1547z",fill:"currentColor","fill-rule":"evenodd"})});const In=(0,_t.jsx)(Nn,{fill:"none",width:"150",height:"30",viewBox:"0 0 2524 492",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsxs)(On,{fill:"currentColor",children:[(0,_t.jsx)(En,{d:"m609.404 378.5c-24.334 0-46-5.5-65-16.5-18.667-11.333-33.334-26.667-44-46-10.667-19.667-16-42.167-16-67.5 0-25.667 5.166-48.333 15.5-68 10.333-19.667 24.833-35 43.5-46 18.666-11.333 40-17 64-17 25 0 46.5 5.333 64.5 16 18 10.333 31.833 24.833 41.5 43.5 10 18.667 15 41 15 67v18.5l-212 .5 1-39h150.5c0-17-5.5-30.667-16.5-41-10.667-10.333-25.167-15.5-43.5-15.5-14.334 0-26.5 3-36.5 9-9.667 6-17 15-22 27s-7.5 26.667-7.5 44c0 26.667 5.666 46.833 17 60.5 11.666 13.667 28.833 20.5 51.5 20.5 16.666 0 30.333-3.167 41-9.5 11-6.333 18.166-15.333 21.5-27h56.5c-5.334 27-18.667 48.167-40 63.5-21 15.333-47.667 23-80 23z"}),(0,_t.jsx)("path",{d:"m797.529 372h-69.5l85-121-85-126h71l54.5 84 52.5-84h68.5l-84 125.5 81.5 121.5h-70l-53-81.5z"}),(0,_t.jsx)("path",{d:"m994.142 125h155.998v51h-155.998zm108.498 247h-61v-324h61z"}),(0,_t.jsx)("path",{d:"m1278.62 378.5c-24.33 0-46-5.5-65-16.5-18.66-11.333-33.33-26.667-44-46-10.66-19.667-16-42.167-16-67.5 0-25.667 5.17-48.333 15.5-68 10.34-19.667 24.84-35 43.5-46 18.67-11.333 40-17 64-17 25 0 46.5 5.333 64.5 16 18 10.333 31.84 24.833 41.5 43.5 10 18.667 15 41 15 67v18.5l-212 .5 1-39h150.5c0-17-5.5-30.667-16.5-41-10.66-10.333-25.16-15.5-43.5-15.5-14.33 0-26.5 3-36.5 9-9.66 6-17 15-22 27s-7.5 26.667-7.5 44c0 26.667 5.67 46.833 17 60.5 11.67 13.667 28.84 20.5 51.5 20.5 16.67 0 30.34-3.167 41-9.5 11-6.333 18.17-15.333 21.5-27h56.5c-5.33 27-18.66 48.167-40 63.5-21 15.333-47.66 23-80 23z"}),(0,_t.jsx)("path",{d:"m1484.44 372h-61v-247h56.5l5 32c7.67-12.333 18.5-22 32.5-29 14.34-7 29.84-10.5 46.5-10.5 31 0 54.34 9.167 70 27.5 16 18.333 24 43.333 24 75v152h-61v-137.5c0-20.667-4.66-36-14-46-9.33-10.333-22-15.5-38-15.5-19 0-33.83 6-44.5 18-10.66 12-16 28-16 48z"}),(0,_t.jsx)("path",{d:"m1798.38 378.5c-24 0-44.67-5.333-62-16-17-11-30.34-26.167-40-45.5-9.34-19.333-14-41.833-14-67.5s4.66-48.333 14-68c9.66-20 23.5-35.667 41.5-47s39.33-17 64-17c17.33 0 33.16 3.5 47.5 10.5 14.33 6.667 25.33 16.167 33 28.5v-156.5h60.5v372h-56l-4-38.5c-7.34 14-18.67 25-34 33-15 8-31.84 12-50.5 12zm13.5-56c14.33 0 26.66-3 37-9 10.33-6.333 18.33-15.167 24-26.5 6-11.667 9-24.833 9-39.5 0-15-3-28-9-39-5.67-11.333-13.67-20.167-24-26.5-10.34-6.667-22.67-10-37-10-14 0-26.17 3.333-36.5 10-10.34 6.333-18.34 15.167-24 26.5-5.34 11.333-8 24.333-8 39s2.66 27.667 8 39c5.66 11.333 13.66 20.167 24 26.5 10.33 6.333 22.5 9.5 36.5 9.5z"}),(0,_t.jsx)("path",{d:"m1996.45 372v-247h61v247zm30-296.5c-10.34 0-19.17-3.5-26.5-10.5-7-7.3333-10.5-16.1667-10.5-26.5s3.5-19 10.5-26c7.33-6.99999 16.16-10.49998 26.5-10.49998 10.33 0 19 3.49999 26 10.49998 7.33 7 11 15.6667 11 26s-3.67 19.1667-11 26.5c-7 7-15.67 10.5-26 10.5z"}),(0,_t.jsx)("path",{d:"m2085.97 125h155v51h-155zm155.5-122.5v52c-3.33 0-6.83 0-10.5 0-3.33 0-6.83 0-10.5 0-15.33 0-25.67 3.6667-31 11-5 7.3333-7.5 17.1667-7.5 29.5v277h-60.5v-277c0-22.6667 3.67-40.8333 11-54.5 7.33-14 17.67-24.1667 31-30.5 13.33-6.66666 28.83-10 46.5-10 5 0 10.17.166671 15.5.5 5.67.333329 11 .99999 16 2z"}),(0,_t.jsx)("path",{d:"m2330.4 125 80.5 228-33 62.5-112-290.5zm-58 361.5v-50.5h36.5c8 0 15-1 21-3 6-1.667 11.34-5 16-10 5-5 9.17-12.333 12.5-22l102.5-276h63l-121 302c-9 22.667-20.33 39.167-34 49.5-13.66 10.333-30.66 15.5-51 15.5-8.66 0-16.83-.5-24.5-1.5-7.33-.667-14.33-2-21-4z"}),(0,_t.jsx)("path",{clipRule:"evenodd",d:"m226.926 25.1299h83.271c23.586 0 32.123 2.4639 40.751 7.0633 8.628 4.6176 15.378 11.389 19.993 20.0037 4.615 8.6329 7.059 17.1746 7.059 40.7738v83.3183c0 23.599-2.463 32.141-7.059 40.774-4.615 8.633-11.383 15.386-19.993 20.003-3.857 2.065-7.704 3.764-12.884 4.981v66.308c0 36.447-3.803 49.639-10.902 62.972-7.128 13.333-17.579 23.763-30.877 30.894-13.325 7.132-26.51 10.909-62.936 10.909h-128.605c-36.4268 0-49.6113-3.805-62.9367-10.909-13.3254-7.131-23.749-17.589-30.8765-30.894-7.12757-13.304-10.9308-26.525-10.9308-62.972v-128.649c0-36.447 3.80323-49.639 10.9026-62.972 7.1275-13.333 17.5793-23.7909 30.9047-30.9224 13.2972-7.1034 26.5099-10.9088 62.9367-10.9088h55.064c1.033-10.8281 3.188-16.7362 6.357-22.6877 4.615-8.6329 11.382-15.4043 20.01-20.0219 8.61-4.5994 17.165-7.0633 40.751-7.0633zm-42.798 53.0342c0-15.464 12.53-28 27.986-28h112.877c15.457 0 27.987 12.536 27.987 28v112.9319c0 15.464-12.53 28-27.987 28h-112.877c-15.456 0-27.986-12.536-27.986-28z",fillRule:"evenodd"})]})});const Ln=(0,_t.jsxs)(Nn,{viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)(En,{d:"M7.32457 0.907043C3.98785 0.907043 1.2829 3.61199 1.2829 6.94871C1.2829 10.2855 3.98785 12.9904 7.32457 12.9904C10.6613 12.9904 13.3663 10.2855 13.3663 6.94871C13.3663 3.61199 10.6613 0.907043 7.32457 0.907043V0.907043Z",stroke:"white",strokeWidth:"1.25"}),(0,_t.jsx)(En,{d:"M7.32458 10.0998L4.82458 7.59977M7.32458 10.0998V3.79764V10.0998ZM7.32458 10.0998L9.82458 7.59977L7.32458 10.0998Z",stroke:"white",strokeWidth:"1.25"})]});const Mn=(0,_t.jsxs)(Nn,{viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)("path",{d:"M7.93298 20.2773L17.933 20.2773C18.1982 20.2773 18.4526 20.172 18.6401 19.9845C18.8276 19.7969 18.933 19.5426 18.933 19.2773C18.933 19.0121 18.8276 18.7578 18.6401 18.5702C18.4526 18.3827 18.1982 18.2773 17.933 18.2773L7.93298 18.2773C7.66777 18.2773 7.41341 18.3827 7.22588 18.5702C7.03834 18.7578 6.93298 19.0121 6.93298 19.2773C6.93298 19.5426 7.03834 19.7969 7.22588 19.9845C7.41341 20.172 7.66777 20.2773 7.93298 20.2773Z",fill:"white"}),(0,_t.jsx)("path",{d:"M12.933 4.27734C12.6678 4.27734 12.4134 4.3827 12.2259 4.57024C12.0383 4.75777 11.933 5.01213 11.933 5.27734L11.933 12.8673L9.64298 10.5773C9.55333 10.4727 9.44301 10.3876 9.31895 10.3276C9.19488 10.2676 9.05975 10.2339 8.92203 10.2285C8.78431 10.2232 8.64698 10.2464 8.51865 10.2967C8.39033 10.347 8.27378 10.4232 8.17632 10.5207C8.07887 10.6181 8.00261 10.7347 7.95234 10.863C7.90206 10.9913 7.87886 11.1287 7.88418 11.2664C7.8895 11.4041 7.92323 11.5392 7.98325 11.6633C8.04327 11.7874 8.12829 11.8977 8.23297 11.9873L12.233 15.9873C12.3259 16.0811 12.4365 16.1555 12.5584 16.2062C12.6803 16.257 12.811 16.2831 12.943 16.2831C13.075 16.2831 13.2057 16.257 13.3276 16.2062C13.4494 16.1555 13.56 16.0811 13.653 15.9873L17.653 11.9873C17.8168 11.796 17.9024 11.55 17.8927 11.2983C17.883 11.0466 17.7786 10.8079 17.6005 10.6298C17.4224 10.4517 17.1837 10.3474 16.932 10.3376C16.6804 10.3279 16.4343 10.4135 16.243 10.5773L13.933 12.8673L13.933 5.27734C13.933 5.01213 13.8276 4.75777 13.6401 4.57024C13.4525 4.3827 13.1982 4.27734 12.933 4.27734Z",fill:"white"})]});const Rn=(0,_t.jsxs)(Nn,{fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)(En,{d:"m11.2721 16.9866.6041 2.2795.6042-2.2795.6213-2.3445c.0001-.0002.0001-.0004.0002-.0006.2404-.9015.8073-1.5543 1.4638-1.8165.0005-.0002.0009-.0004.0013-.0006l1.9237-.7555 1.4811-.5818-1.4811-.5817-1.9264-.7566c0-.0001-.0001-.0001-.0001-.0001-.0001 0-.0001 0-.0001 0-.654-.25727-1.2213-.90816-1.4621-1.81563-.0001-.00006-.0001-.00011-.0001-.00017l-.6215-2.34519-.6042-2.27947-.6041 2.27947-.6216 2.34519v.00017c-.2409.90747-.80819 1.55836-1.46216 1.81563-.00002 0-.00003 0-.00005 0-.00006 0-.00011 0-.00017.0001l-1.92637.7566-1.48108.5817 1.48108.5818 1.92637.7566c.00007 0 .00015.0001.00022.0001.65397.2572 1.22126.9082 1.46216 1.8156v.0002z",stroke:"currentColor","stroke-width":"1.25",fill:"none"}),(0,_t.jsxs)(On,{fill:"currentColor",children:[(0,_t.jsx)(En,{d:"m18.1034 18.3982-.2787.8625-.2787-.8625c-.1314-.4077-.4511-.7275-.8589-.8589l-.8624-.2786.8624-.2787c.4078-.1314.7275-.4512.8589-.8589l.2787-.8624.2787.8624c.1314.4077.4511.7275.8589.8589l.8624.2787-.8624.2786c-.4078.1314-.7269.4512-.8589.8589z"}),(0,_t.jsx)(En,{d:"m6.33141 6.97291-.27868.86242-.27867-.86242c-.13142-.40775-.45116-.72749-.8589-.85891l-.86243-.27867.86243-.27868c.40774-.13141.72748-.45115.8589-.8589l.27867-.86242.27868.86242c.13142.40775.45116.72749.8589.8589l.86242.27868-.86242.27867c-.40774.13142-.7269.45116-.8589.85891z"})]})]});const Dn=(0,_t.jsx)(Nn,{fill:"none",height:"25",viewBox:"0 0 25 25",width:"25",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsx)(En,{d:"m16.2382 9.17969.7499.00645.0066-.75988-.7599.00344zm-5.5442.77506 5.5475-.02507-.0067-1.49998-5.5476.02506zm4.7942-.78152-.0476 5.52507 1.5.0129.0475-5.52506zm.2196-.52387-7.68099 7.68104 1.06066 1.0606 7.68103-7.68098z",fill:"currentColor"})});const Fn=(0,_t.jsx)(Nn,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsxs)(On,{stroke:"currentColor",strokeWidth:"1.5",children:[(0,_t.jsx)(En,{d:"m6 4.75h12c.6904 0 1.25.55964 1.25 1.25v12c0 .6904-.5596 1.25-1.25 1.25h-12c-.69036 0-1.25-.5596-1.25-1.25v-12c0-.69036.55964-1.25 1.25-1.25z"}),(0,_t.jsx)(En,{d:"m9.25 19v-14"})]})});const Bn=(0,_t.jsxs)(Nn,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)(En,{fillRule:"evenodd",clipRule:"evenodd",d:"M7.49271 18.0092C6.97815 17.1176 7.28413 15.9755 8.17569 15.4609C9.06724 14.946 10.2094 15.252 10.7243 16.1435C11.2389 17.0355 10.9329 18.1772 10.0413 18.6922C9.14978 19.2071 8.00764 18.9011 7.49271 18.0092V18.0092Z",fill:"currentColor"}),(0,_t.jsx)(En,{fillRule:"evenodd",clipRule:"evenodd",d:"M16.5073 6.12747C17.0218 7.01903 16.7158 8.16117 15.8243 8.67573C14.9327 9.19066 13.7906 8.88467 13.2757 7.99312C12.7611 7.10119 13.0671 5.95942 13.9586 5.44449C14.8502 4.92956 15.9923 5.23555 16.5073 6.12747V6.12747Z",fill:"currentColor"}),(0,_t.jsx)(En,{fillRule:"evenodd",clipRule:"evenodd",d:"M4.60135 11.1355C5.11628 10.2439 6.25805 9.93793 7.14998 10.4525C8.04153 10.9674 8.34752 12.1096 7.83296 13.0011C7.31803 13.8927 6.17588 14.1987 5.28433 13.6841C4.39278 13.1692 4.08679 12.0274 4.60135 11.1355V11.1355Z",fill:"currentColor"}),(0,_t.jsx)(En,{fillRule:"evenodd",clipRule:"evenodd",d:"M19.3986 13.0011C18.8837 13.8927 17.7419 14.1987 16.85 13.6841C15.9584 13.1692 15.6525 12.027 16.167 11.1355C16.682 10.2439 17.8241 9.93793 18.7157 10.4525C19.6072 10.9674 19.9132 12.1092 19.3986 13.0011V13.0011Z",fill:"currentColor"}),(0,_t.jsx)(En,{d:"M9.10857 8.92594C10.1389 8.92594 10.9742 8.09066 10.9742 7.06029C10.9742 6.02992 10.1389 5.19464 9.10857 5.19464C8.0782 5.19464 7.24292 6.02992 7.24292 7.06029C7.24292 8.09066 8.0782 8.92594 9.10857 8.92594Z",fill:"currentColor"}),(0,_t.jsx)(En,{d:"M14.8913 18.942C15.9217 18.942 16.7569 18.1067 16.7569 17.0763C16.7569 16.046 15.9217 15.2107 14.8913 15.2107C13.8609 15.2107 13.0256 16.046 13.0256 17.0763C13.0256 18.1067 13.8609 18.942 14.8913 18.942Z",fill:"currentColor"}),(0,_t.jsx)(En,{fillRule:"evenodd",clipRule:"evenodd",d:"M10.3841 13.0011C9.86951 12.1096 10.1755 10.9674 11.067 10.4525C11.9586 9.93793 13.1007 10.2439 13.6157 11.1355C14.1302 12.0274 13.8242 13.1692 12.9327 13.6841C12.0411 14.1987 10.899 13.8927 10.3841 13.0011V13.0011Z",fill:"currentColor"})]});const zn=(0,_t.jsxs)(Nn,{fill:"none",viewBox:"0 0 151 148",width:"151",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)(Cn,{cx:"65.6441",cy:"66.6114",fill:"#0b4a43",r:"65.3897"}),(0,_t.jsxs)(On,{fill:"#cbc3f5",stroke:"#0b4a43",children:[(0,_t.jsx)(En,{d:"m61.73 11.3928 3.0825 8.3304.1197.3234.3234.1197 8.3304 3.0825-8.3304 3.0825-.3234.1197-.1197.3234-3.0825 8.3304-3.0825-8.3304-.1197-.3234-.3234-.1197-8.3304-3.0825 8.3304-3.0825.3234-.1197.1197-.3234z",strokeWidth:"1.5"}),(0,_t.jsx)(En,{d:"m84.3065 31.2718c0 5.9939-12.4614 22.323-18.6978 22.323h-17.8958v56.1522c3.5249.9 11.6535 0 17.8958 0h6.2364c11.2074 3.33 36.0089 7.991 45.5529 0l-9.294-62.1623c-2.267-1.7171-5.949-6.6968-2.55-12.8786 3.4-6.1817 2.55-18.0406 0-24.5756-1.871-4.79616-8.3289-8.90882-14.4482-8.90882s-7.0825 4.00668-6.7993 6.01003z",strokeWidth:"1.75"}),(0,_t.jsx)(_n,{height:"45.5077",rx:"9.13723",strokeWidth:"1.75",transform:"matrix(0 1 -1 0 191.5074 -96.0026)",width:"18.2745",x:"143.755",y:"47.7524"}),(0,_t.jsx)(_n,{height:"42.3038",rx:"8.73674",strokeWidth:"1.75",transform:"matrix(0 1 -1 0 241.97 -50.348)",width:"17.4735",x:"146.159",y:"95.811"}),(0,_t.jsx)(_n,{height:"55.9204",rx:"8.73674",strokeWidth:"1.75",transform:"matrix(0 1 -1 0 213.1347 -85.5913)",width:"17.4735",x:"149.363",y:"63.7717"}),(0,_t.jsx)(_n,{height:"51.1145",rx:"8.73674",strokeWidth:"1.75",transform:"matrix(0 1 -1 0 229.1545 -69.5715)",width:"17.4735",x:"149.363",y:"79.7915"}),(0,_t.jsx)(En,{d:"m75.7483 105.349c.9858-25.6313-19.2235-42.0514-32.8401-44.0538v12.0146c8.5438 1.068 24.8303 9.7642 24.8303 36.0442 0 23.228 19.4905 33.374 29.6362 33.641v-10.413s-22.6122-1.602-21.6264-27.233z",strokeWidth:"1.75"}),(0,_t.jsx)(En,{d:"m68.5388 109.354c.9858-25.6312-19.2234-42.0513-32.8401-44.0537v12.0147c8.5438 1.0679 24.8303 9.7641 24.8303 36.044 0 23.228 19.4905 33.374 29.6362 33.641v-10.413s-22.6122-1.602-21.6264-27.233z",strokeWidth:"1.75"})]})]});const Un=(0,_t.jsxs)(Nn,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,_t.jsx)(Cn,{cx:"12",cy:"12",r:"7.25",stroke:"currentColor",strokeWidth:"1.5"}),(0,_t.jsx)(Cn,{cx:"12",cy:"12",r:"4.25",stroke:"currentColor",strokeWidth:"1.5"}),(0,_t.jsx)(Cn,{cx:"11.9999",cy:"12.2",r:"6",transform:"rotate(-45 11.9999 12.2)",stroke:"currentColor",strokeWidth:"3",strokeDasharray:"1.5 4"})]});const qn=(0,_t.jsx)(Nn,{fill:"none",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsx)(En,{d:"m11.7758 3.45425c.0917-.18582.3567-.18581.4484 0l2.3627 4.78731c.0364.07379.1068.12493.1882.13676l5.2831.76769c.2051.02979.287.28178.1386.42642l-3.8229 3.72637c-.0589.0575-.0858.1402-.0719.2213l.9024 5.2618c.0351.2042-.1793.36-.3627.2635l-4.7254-2.4842c-.0728-.0383-.1598-.0383-.2326 0l-4.7254 2.4842c-.18341.0965-.39776-.0593-.36274-.2635l.90247-5.2618c.01391-.0811-.01298-.1638-.0719-.2213l-3.8229-3.72637c-.14838-.14464-.0665-.39663.13855-.42642l5.28312-.76769c.08143-.01183.15182-.06297.18823-.13676z",fill:"currentColor"})});const Wn=(0,_t.jsx)(Nn,{fill:"none",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg",children:(0,_t.jsx)(En,{clipRule:"evenodd",d:"m13 4c4.9545 0 9 4.04545 9 9 0 4.9545-4.0455 9-9 9-4.95455 0-9-4.0455-9-9 0-4.95455 4.04545-9 9-9zm5.0909 13.4545c-1.9545 3.8637-8.22726 3.8637-10.22726 0-.04546-.1818-.04546-.3636 0-.5454 2-3.8636 8.27276-3.8636 10.22726 0 .0909.1818.0909.3636 0 .5454zm-5.0909-8.90905c-1.2727 0-2.3182 1.04546-2.3182 2.31815 0 1.2728 1.0455 2.3182 2.3182 2.3182s2.3182-1.0454 2.3182-2.3182c0-1.27269-1.0455-2.31815-2.3182-2.31815z",fill:"currentColor",fillRule:"evenodd"})});var $n=function(){var e=z((function(e){return e.remainingImports})),t=z((function(e){return e.allowedImports})),n=e(),o=n>0?"has-imports":"no-imports",i="has-imports"===o?"bg-extendify-main hover:bg-extendify-main-dark":"bg-extendify-alert",a="has-imports"===o?Ln:An;return(0,r.useEffect)((function(){if(!t){N().then((function(e){e=/^[1-9]\d*$/.test(e)?e:5,z.setState({allowedImports:e})})).catch((function(){return z.setState({allowedImports:5})}))}}),[t]),t?(0,_t.jsxs)("a",{target:"_blank",rel:"noreferrer",className:kt()(i,"hidden sm:flex w-full no-underline button-focus text-sm justify-between py-3 px-4 text-white rounded"),href:"https://www.extendify.com/pricing/?utm_source=".concat(encodeURIComponent(window.extendifyData.sdk_partner),"&utm_medium=library&utm_campaign=import-counter&utm_content=get-more&utm_term=").concat(o),children:[(0,_t.jsxs)("div",{className:"flex items-center space-x-2 no-underline text-xs",children:[(0,_t.jsx)(Sn,{icon:a,size:14}),(0,_t.jsx)("span",{children:(0,bt.sprintf)((0,bt._n)("%s Import","%s Imports",n,"extendify"),n)})]}),(0,_t.jsxs)("span",{className:"text-white text-sm no-underline font-medium outline-none flex items-center",children:[(0,bt.__)("Get more","extendify"),(0,_t.jsx)(Sn,{icon:Dn,size:24,className:"-mr-1.5"})]})]}):null};function Vn(){var e,t,n,r,o,i=U((function(e){return e.taxonomies})),a=K((function(e){return e.searchParams})),s=z((function(e){return e.updatePreferredSiteType})),l=K((function(e){return e.updateTaxonomies})),c=z((function(e){return e.apiKey})),u="pattern"===a.type?"patternType":"layoutType",d=!(null!=a&&null!==(e=a.taxonomies[u])&&void 0!==e&&null!==(t=e.slug)&&void 0!==t&&t.length);return(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("div",{className:"hidden sm:flex px-5 -ml-1.5 text-extendify-black",children:(0,_t.jsx)(Sn,{icon:Tn,size:40})}),(0,_t.jsx)("div",{className:"px-5",children:(0,_t.jsxs)("button",{onClick:function(){return l((n={slug:"",title:"Featured"},(t=u)in(e={})?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e));var e,t,n},className:kt()("text-left text-sm cursor-pointer w-full flex items-center px-0 py-2 m-0 leading-none bg-transparent hover:text-wp-theme-500 transition duration-200 button-focus space-x-1",{"text-wp-theme-500":d}),children:[(0,_t.jsx)(Sn,{icon:Rn,size:24}),(0,_t.jsx)("span",{className:"text-sm",children:(0,bt.__)("Featured","extendify")})]})}),(0,_t.jsx)("div",{className:"sm:mb-8 mx-6 sm:mx-0 sm:mt-0 pt-0.5 px-5",children:Object.keys(null!==(n=null==i?void 0:i.siteType)&&void 0!==n?n:{}).length>0&&(0,_t.jsx)(kn,{value:null!==(r=null==a||null===(o=a.taxonomies)||void 0===o?void 0:o.siteType)&&void 0!==r?r:"",setValue:function(e){s(e),l({siteType:e})},terms:i.siteType})}),(0,_t.jsx)("div",{className:"mt-px flex-grow hidden overflow-y-auto pb-32 pt-px sm:block",children:(0,_t.jsx)(wt.Panel,{className:"bg-transparent",children:(0,_t.jsx)(Nt,{taxType:u,taxonomies:i[u]})})}),!c.length&&(0,_t.jsx)("div",{className:"px-5",children:(0,_t.jsx)($n,{})})]})}function Hn(e){var t=e.children;return(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("aside",{className:"flex-shrink-0 py-0 sm:py-5 relative border-r border-extendify-transparent-black-100 bg-extendify-transparent-white backdrop-filter backdrop-blur-xl backdrop-saturate-200",children:(0,_t.jsx)("div",{className:"flex flex-col h-full sm:w-64 py-6 sm:py-0 sm:space-y-6",children:t[0]})}),(0,_t.jsx)("main",{id:"extendify-templates",className:"bg-white w-full pt-6 sm:pt-0 h-full overflow-hidden",children:t[1]})]})}const Jn=(0,r.createElement)(Nn,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(En,{d:"M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"}));var Gn=function(e){var t=e.className,n=K((function(e){return e.updateType})),r=g((function(e){return e.currentType?e.currentType:"pattern"}));return(0,_t.jsxs)("div",{className:t,children:[(0,_t.jsx)("h4",{className:"sr-only",children:(0,bt.__)("Type select","extendify")}),(0,_t.jsx)("button",{type:"button",className:kt()({"cursor-pointer text-xs leading-none m-0 py-2.5 px-4 min-w-sm border rounded-tl-sm rounded-bl-sm border-black button-focus":!0,"bg-gray-900 text-white":"pattern"===r,"bg-transparent text-black":"pattern"!==r}),onClick:function(){return n("pattern")},children:(0,_t.jsx)("span",{className:"",children:(0,bt.__)("Patterns","extendify")})}),(0,_t.jsx)("button",{type:"button",className:kt()({"cursor-pointer text-xs leading-none m-0 py-2.5 px-4 min-w-sm items-center border rounded-tr-sm rounded-br-sm border-black outline-none -ml-px button-focus":!0,"bg-gray-900 text-white":"template"===r,"bg-transparent text-black":"template"!==r}),onClick:function(){return n("template")},children:(0,_t.jsx)("span",{className:"",children:(0,bt.__)("Page Layouts","extendify")})})]})};function Kn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Zn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Yn(){var e=(0,r.useRef)(!1);return(0,r.useEffect)((function(){return e.current=!0,function(){return e.current=!1}})),e}var Xn=function(){var e=Kn((0,r.useState)(!1),2),t=e[0],n=e[1],o=function(){n(window.location.search.indexOf("DEVMODE")>-1)};return(0,r.useEffect)((function(){return n(window.location.search.indexOf("DEVMODE")>-1),window.addEventListener("popstate",o),function(){window.removeEventListener("popstate",o)}}),[]),t};function Qn(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function er(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return tr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function nr(e){var t=e.actionCallback,n=e.initialFocus,o=z((function(e){return e.apiKey.length})),i=er((0,r.useState)(""),2),a=i[0],s=i[1],l=er((0,r.useState)(""),2),c=l[0],u=l[1],d=er((0,r.useState)(""),2),f=d[0],p=d[1],h=er((0,r.useState)("info"),2),m=h[0],x=h[1],y=er((0,r.useState)(!1),2),v=y[0],g=y[1],b=er((0,r.useState)(!1),2),j=b[0],k=b[1],S=(0,r.useRef)(null),C=(0,r.useRef)(null),E=Xn();(0,r.useEffect)((function(){return s(z.getState().email),function(){return x("info")}}),[]),(0,r.useEffect)((function(){var e;j&&(null==S||null===(e=S.current)||void 0===e||e.focus())}),[j]);var _=function(){var e,t=(e=w().mark((function e(t){var n,r,o,i,s;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),g(!0),p(""),e.next=5,O(a,c);case 5:if(n=e.sent,r=n.token,o=n.error,i=n.exception,void 0===(s=n.message)){e.next=15;break}return x("error"),g(!1),p(s.length?s:"Error: Are you interacting with the wrong server?"),e.abrupt("return");case 15:if(!o&&!i){e.next=20;break}return x("error"),g(!1),p(o.length?o:i),e.abrupt("return");case 20:if(r&&"string"==typeof r){e.next=25;break}return x("error"),g(!1),p((0,bt.__)("Something went wrong","extendify")),e.abrupt("return");case 25:x("success"),p("Success!"),k(!0),g(!1),z.setState({email:a,apiKey:r});case 30:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Qn(i,r,o,a,s,"next",e)}function s(e){Qn(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();return j?(0,_t.jsxs)("section",{className:"w-80 space-y-8 text-center pt-2 pb-4",children:[(0,_t.jsx)(Sn,{icon:zn,size:148}),(0,_t.jsx)("p",{className:"text-lg text-extendify-black text-center leading-extra-tight font-semibold",children:(0,bt.__)("You've signed in to Extendify","extendify")}),(0,_t.jsx)(wt.Button,{ref:S,className:"px-4 p-2 cursor-pointer text-center rounded bg-extendify-main text-white",onClick:t,children:(0,bt.__)("View patterns","extendify")})]}):o?(0,_t.jsxs)("section",{className:"space-y-8 w-full pb-2",children:[(0,_t.jsx)("p",{className:"text-base text-extendify-black leading-extra-tight",children:(0,bt.__)("Account","extendify")}),(0,_t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,_t.jsxs)("div",{className:"flex items-center space-x-2 -ml-2",children:[(0,_t.jsx)(Sn,{icon:Wn,size:48}),(0,_t.jsx)("p",{className:"text-extendify-black",children:null!=a&&a.length?a:(0,bt.__)("Logged In","extendify")})]}),E&&(0,_t.jsx)(wt.Button,{className:"px-4 py-3 cursor-pointer text-center rounded bg-extendify-main hover:bg-extendify-main-dark text-white",onClick:function(){u(""),z.setState({apiKey:""}),setTimeout((function(){var e;null==C||null===(e=C.current)||void 0===e||e.focus()}),0)},children:(0,bt.__)("Sign out","extendify")})]})]}):(0,_t.jsxs)("section",{className:"w-80 text-left space-y-8 pb-6",children:[(0,_t.jsxs)("div",{children:[(0,_t.jsx)("p",{className:"text-lg text-extendify-black text-center leading-extra-tight font-semibold",children:(0,bt.__)("Sign in to Extendify","extendify")}),(0,_t.jsxs)("p",{className:"text-sm text-extendify-gray text-center space-x-1 leading-extra-tight",children:[(0,_t.jsx)("span",{children:(0,bt.__)("Don't have an account?","extendify")}),(0,_t.jsx)("a",{href:"https://extendify.com/pricing?utm_source=".concat(window.extendifyData.sdk_partner,"&utm_medium=library&utm_campaign=sign-in-form&utm_content=sign-up"),target:"_blank",className:"underline hover:no-underline text-extendify-gray",rel:"noreferrer",children:(0,bt.__)("Sign up","extendify")})]})]}),(0,_t.jsxs)("form",{onSubmit:_,className:"space-y-2",children:[(0,_t.jsxs)("div",{className:"flex items-center",children:[(0,_t.jsx)("label",{className:"sr-only",htmlFor:"extendify-login-email",children:(0,bt.__)("Email address","extendify")}),(0,_t.jsx)("input",{ref:n,id:"extendify-login-email",name:"extendify-login-email",type:"email",className:"border-2 p-2 w-full rounded",placeholder:(0,bt.__)("Email address","extendify"),value:a.length?a:"",onChange:function(e){return s(e.target.value)}})]}),(0,_t.jsxs)("div",{className:"flex items-center",children:[(0,_t.jsx)("label",{className:"sr-only",htmlFor:"extendify-login-license",children:(0,bt.__)("License key","extendify")}),(0,_t.jsx)("input",{ref:C,id:"extendify-login-license",name:"extendify-login-license",type:"text",className:"border-2 p-2 w-full rounded",placeholder:(0,bt.__)("License key","extendify"),value:c,onChange:function(e){return u(e.target.value)}})]}),(0,_t.jsx)("div",{className:"pt-2 flex justify-center",children:(0,_t.jsxs)("button",{type:"submit",className:"relative p-2 py-3 w-72 max-w-full flex justify-center cursor-pointer text-center rounded bg-extendify-main hover:bg-extendify-main-dark text-base text-white ",children:[(0,_t.jsx)("span",{children:(0,bt.__)("Sign In","extendify")}),v&&(0,_t.jsx)("div",{className:"absolute right-2.5",children:(0,_t.jsx)(wt.Spinner,{})})]})}),f&&(0,_t.jsx)("div",{className:kt()({"border-gray-900 text-gray-900":"info"===m,"border-wp-alert-red text-wp-alert-red":"error"===m,"border-extendify-main text-extendify-main":"success"===m}),children:f}),(0,_t.jsx)("div",{className:"text-center pt-4",children:(0,_t.jsx)("a",{target:"_blank",rel:"noreferrer",href:"https://extendify.com/guides/sign-in?utm_source=".concat(window.extendifyData.sdk_partner,"&utm_medium=library&utm_campaign=sign-in-form&utm_content=need-help"),className:"underline hover:no-underline text-sm text-extendify-gray",children:(0,bt.__)("Need Help?","extendify")})})]})]})}function rr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function or(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rr(Object(n),!0).forEach((function(t){ir(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ir(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ar=(0,r.forwardRef)((function(e,t){var n,o=e.isOpen,i=e.heading,a=e.onClose,s=e.children,l=(0,r.useRef)(null),c=g((function(e){return e.removeAllModals}));return a=null!==(n=a)&&void 0!==n?n:c,(0,_t.jsx)(Ie,{appear:!0,show:o,as:r.Fragment,className:"extendify",children:(0,_t.jsx)(gt,{initialFocus:null!=t?t:l,onClose:a,children:(0,_t.jsxs)("div",{className:"fixed z-high inset-0 flex",children:[(0,_t.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-200 transition",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,_t.jsx)(gt.Overlay,{className:"fixed inset-0 bg-white bg-opacity-40"})}),(0,_t.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-300 translate transform",enterFrom:"opacity-0 translate-y-4 sm:translate-y-5",enterTo:"opacity-100 translate-y-0",children:(0,_t.jsx)("div",{className:"m-auto relative w-full",children:(0,_t.jsxs)("div",{className:"bg-white shadow-modal items-center justify-center m-auto max-w-lg relative rounded-sm w-full",children:[i?(0,_t.jsxs)("div",{className:"border-b flex justify-between items-center leading-none pl-8 py-2 pr-3",children:[(0,_t.jsx)("span",{className:"text-base text-extendify-black whitespace-nowrap",children:i}),(0,_t.jsx)(sr,{onClick:a})]}):(0,_t.jsx)("div",{className:"absolute block px-4 py-4 top-0 right-0 ",children:(0,_t.jsx)(sr,{ref:l,onClick:a})}),(0,_t.jsx)("div",{children:s})]})})})]})})})})),sr=(0,r.forwardRef)((function(e,t){return(0,_t.jsx)(wt.Button,or(or({},e),{},{icon:(0,_t.jsx)(Sn,{icon:Jn}),ref:t,className:"text-extendify-black opacity-75 hover:opacity-100",showTooltip:!1,label:(0,bt.__)("Close dialog","extendify")}))}));function lr(){var e=(0,r.useRef)(null),t=g((function(e){return e.removeAllModals}));return(0,_t.jsx)(ar,{heading:(0,bt.__)("Settings","extendify"),isOpen:!0,ref:e,children:(0,_t.jsx)("div",{className:"flex p-6 justify-center",children:(0,_t.jsx)(nr,{initialFocus:e,actionCallback:t})})})}var cr=function(e){var t=e.className,n=g((function(e){return e.setOpen})),r=g((function(e){return e.pushModal})),o=z((function(e){return e.apiKey.length}));return(0,_t.jsx)("div",{className:t,children:(0,_t.jsxs)("div",{className:"flex justify-between items-center h-full",children:[(0,_t.jsx)("div",{className:"flex-1"}),(0,_t.jsx)(Gn,{className:"flex-1 flex items-center justify-center"}),(0,_t.jsxs)("div",{className:"flex-1 flex justify-end items-center",children:[(0,_t.jsx)(wt.Button,{onClick:function(){return r((0,_t.jsx)(lr,{}))},icon:(0,_t.jsx)(Sn,{icon:Wn,size:24}),label:(0,bt.__)("Login and settings area","extendify"),children:o?"":(0,bt.__)("Log In","extendify")}),(0,_t.jsx)(wt.Button,{onClick:function(){return n(!1)},icon:(0,_t.jsx)(Sn,{icon:Jn,size:24}),label:(0,bt.__)("Close library","extendify")})]})]})})};function ur(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function dr(){return dr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dr.apply(this,arguments)}function fr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fr(Object(n),!0).forEach((function(t){hr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const mr={breakpointCols:void 0,className:void 0,columnClassName:void 0,children:void 0,columnAttrs:void 0,column:void 0};class xr extends i().Component{constructor(e){let t;super(e),this.reCalculateColumnCount=this.reCalculateColumnCount.bind(this),this.reCalculateColumnCountDebounce=this.reCalculateColumnCountDebounce.bind(this),t=this.props.breakpointCols&&this.props.breakpointCols.default?this.props.breakpointCols.default:parseInt(this.props.breakpointCols)||2,this.state={columnCount:t}}componentDidMount(){this.reCalculateColumnCount(),window&&window.addEventListener("resize",this.reCalculateColumnCountDebounce)}componentDidUpdate(){this.reCalculateColumnCount()}componentWillUnmount(){window&&window.removeEventListener("resize",this.reCalculateColumnCountDebounce)}reCalculateColumnCountDebounce(){window&&window.requestAnimationFrame?(window.cancelAnimationFrame&&window.cancelAnimationFrame(this._lastRecalculateAnimationFrame),this._lastRecalculateAnimationFrame=window.requestAnimationFrame((()=>{this.reCalculateColumnCount()}))):this.reCalculateColumnCount()}reCalculateColumnCount(){const e=window&&window.innerWidth||1/0;let t=this.props.breakpointCols;"object"!=typeof t&&(t={default:parseInt(t)||2});let n=1/0,r=t.default||2;for(let o in t){const i=parseInt(o);i>0&&e<=i&&i<n&&(n=i,r=t[o])}r=Math.max(1,parseInt(r)||1),this.state.columnCount!==r&&this.setState({columnCount:r})}itemsInColumns(){const e=this.state.columnCount,t=new Array(e),n=i().Children.toArray(this.props.children);for(let r=0;r<n.length;r++){const o=r%e;t[o]||(t[o]=[]),t[o].push(n[r])}return t}renderColumns(){const{column:e,columnAttrs:t={},columnClassName:n}=this.props,r=this.itemsInColumns(),o=100/r.length+"%";let a=n;a&&"string"!=typeof a&&(this.logDeprecated('The property "columnClassName" requires a string'),void 0===a&&(a="my-masonry-grid_column"));const s=pr(pr(pr({},e),t),{},{style:pr(pr({},t.style),{},{width:o}),className:a});return r.map(((e,t)=>i().createElement("div",dr({},s,{key:t}),e)))}logDeprecated(e){console.error("[Masonry]",e)}render(){const e=this.props,{children:t,breakpointCols:n,columnClassName:r,columnAttrs:o,column:a,className:s}=e,l=ur(e,["children","breakpointCols","columnClassName","columnAttrs","column","className"]);let c=s;return"string"!=typeof s&&(this.logDeprecated('The property "className" requires a string'),void 0===s&&(c="my-masonry-grid")),i().createElement("div",dr({},l,{className:c}),this.renderColumns())}}xr.defaultProps=mr;const yr=xr;function vr(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function gr(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){vr(i,r,o,a,s,"next",e)}function s(e){vr(i,r,o,a,s,"throw",e)}a(void 0)}))}}var br=0,wr=function(e){var t=arguments;return gr(w().mark((function n(){var r,o,i,a,s,l;return w().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=t.length>1&&void 0!==t[1]?t[1]:{},br++,a="pattern"===e.type?"8":"4",s="pattern"===e.type?"patternType":"layoutType",l=Object.assign({filterByFormula:Sr(e,s),pageSize:a,categories:e.taxonomies,search:e.search,type:e.type,offset:"",initial:1===br,request_count:br,sdk_partner:null!==(r=null===(o=z.getState())||void 0===o?void 0:o.sdkPartner)&&void 0!==r?r:""},i),n.next=7,k.post("templates",l);case 7:return n.abrupt("return",n.sent);case 8:case"end":return n.stop()}}),n)})))()},jr=function(e){var t,n;return k.post("templates/".concat(e.id),{template_id:null==e?void 0:e.id,maybe_import:!0,type:null===(t=e.fields)||void 0===t?void 0:t.type,pageSize:"1",template_name:null===(n=e.fields)||void 0===n?void 0:n.title})},kr=function(e){var t,n,r,o,i;return k.post("templates/".concat(e.id),{template_id:e.id,imported:!0,basePattern:null!==(t=null!==(n=null===(r=e.fields)||void 0===r?void 0:r.basePattern)&&void 0!==n?n:null===(o=e.fields)||void 0===o?void 0:o.baseLayout)&&void 0!==t?t:"",type:e.fields.type,pageSize:"1",template_name:null===(i=e.fields)||void 0===i?void 0:i.title})},Sr=function(e,t){var n,r,o,i=e.taxonomies,a=null!=i&&null!==(n=i.siteType)&&void 0!==n&&null!==(r=n.slug)&&void 0!==r&&r.length?i.siteType.slug:"default",s=['{type}="'.concat(t.replace("Type",""),'"'),'{siteType}="'.concat(a,'"')];return null!==(o=i[t])&&void 0!==o&&o.slug&&s.push("{".concat(t,'}="').concat(i[t].slug,'"')),"AND(".concat(s.join(", "),")").replace(/\r?\n|\r/g,"")};function Cr(){return Cr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cr.apply(this,arguments)}function Or(e,t){return Or=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Or(e,t)}var Er=new Map,_r=new WeakMap,Nr=0,Ar=void 0;function Pr(e){return Object.keys(e).sort().filter((function(t){return void 0!==e[t]})).map((function(t){return t+"_"+("root"===t?(n=e.root)?(_r.has(n)||(Nr+=1,_r.set(n,Nr.toString())),_r.get(n)):"0":e[t]);var n})).toString()}function Tr(e,t,n,r){if(void 0===n&&(n={}),void 0===r&&(r=Ar),void 0===window.IntersectionObserver&&void 0!==r){var o=e.getBoundingClientRect();return t(r,{isIntersecting:r,target:e,intersectionRatio:"number"==typeof n.threshold?n.threshold:0,time:0,boundingClientRect:o,intersectionRect:o,rootBounds:o}),function(){}}var i=function(e){var t=Pr(e),n=Er.get(t);if(!n){var r,o=new Map,i=new IntersectionObserver((function(t){t.forEach((function(t){var n,i=t.isIntersecting&&r.some((function(e){return t.intersectionRatio>=e}));e.trackVisibility&&void 0===t.isVisible&&(t.isVisible=i),null==(n=o.get(t.target))||n.forEach((function(e){e(i,t)}))}))}),e);r=i.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:i,elements:o},Er.set(t,n)}return n}(n),a=i.id,s=i.observer,l=i.elements,c=l.get(e)||[];return l.has(e)||l.set(e,c),c.push(t),s.observe(e),function(){c.splice(c.indexOf(t),1),0===c.length&&(l.delete(e),s.unobserve(e)),0===l.size&&(s.disconnect(),Er.delete(a))}}var Ir=["children","as","tag","triggerOnce","threshold","root","rootMargin","onChange","skip","trackVisibility","delay","initialInView","fallbackInView"];function Lr(e){return"function"!=typeof e.children}var Mr=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).node=null,n._unobserveCb=null,n.handleNode=function(e){n.node&&(n.unobserve(),e||n.props.triggerOnce||n.props.skip||n.setState({inView:!!n.props.initialInView,entry:void 0})),n.node=e||null,n.observeNode()},n.handleChange=function(e,t){e&&n.props.triggerOnce&&n.unobserve(),Lr(n.props)||n.setState({inView:e,entry:t}),n.props.onChange&&n.props.onChange(e,t)},n.state={inView:!!t.initialInView,entry:void 0},n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,Or(t,n);var i=r.prototype;return i.componentDidUpdate=function(e){e.rootMargin===this.props.rootMargin&&e.root===this.props.root&&e.threshold===this.props.threshold&&e.skip===this.props.skip&&e.trackVisibility===this.props.trackVisibility&&e.delay===this.props.delay||(this.unobserve(),this.observeNode())},i.componentWillUnmount=function(){this.unobserve(),this.node=null},i.observeNode=function(){if(this.node&&!this.props.skip){var e=this.props,t=e.threshold,n=e.root,r=e.rootMargin,o=e.trackVisibility,i=e.delay,a=e.fallbackInView;this._unobserveCb=Tr(this.node,this.handleChange,{threshold:t,root:n,rootMargin:r,trackVisibility:o,delay:i},a)}},i.unobserve=function(){this._unobserveCb&&(this._unobserveCb(),this._unobserveCb=null)},i.render=function(){if(!Lr(this.props)){var e=this.state,t=e.inView,n=e.entry;return this.props.children({inView:t,entry:n,ref:this.handleNode})}var r=this.props,i=r.children,a=r.as,s=r.tag,l=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(r,Ir);return o.createElement(a||s||"div",Cr({ref:this.handleNode},l),i)},r}(o.Component);Mr.displayName="InView",Mr.defaultProps={threshold:0,triggerOnce:!1,initialInView:!1};const Rr=wp.blockEditor,Dr=wp.blocks;var Fr=function(){return k.get("plugins")},Br=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=new FormData;return t.append("plugins",JSON.stringify(e)),k.post("plugins",t,{headers:{"Content-Type":"multipart/form-data"}})},zr=function(){return k.get("active-plugins")};function Ur(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function qr(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Ur(i,r,o,a,s,"next",e)}function s(e){Ur(i,r,o,a,s,"throw",e)}a(void 0)}))}}var Wr=[],$r=[];function Vr(e){return Hr.apply(this,arguments)}function Hr(){return(Hr=qr(w().mark((function e(t){var n,r,o,i;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((o=(o=null!==(n=null==t||null===(r=t.fields)||void 0===r?void 0:r.required_plugins)&&void 0!==n?n:[]).filter((function(e){return"editorplus"!==e}))).length){e.next=4;break}return e.abrupt("return",!1);case 4:if(Wr.length){e.next=10;break}return e.t0=Object,e.next=8,Fr();case 8:e.t1=e.sent,Wr=e.t0.keys.call(e.t0,e.t1);case 10:return i=!!o.length&&o.filter((function(e){return!Wr.some((function(t){return t.includes(e)}))})),e.abrupt("return",i.length);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Jr(e){return Gr.apply(this,arguments)}function Gr(){return(Gr=qr(w().mark((function e(t){var n,r,o,i;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((o=(o=null!==(n=null==t||null===(r=t.fields)||void 0===r?void 0:r.required_plugins)&&void 0!==n?n:[]).filter((function(e){return"editorplus"!==e}))).length){e.next=4;break}return e.abrupt("return",!1);case 4:if($r.length){e.next=10;break}return e.t0=Object,e.next=8,zr();case 8:e.t1=e.sent,$r=e.t0.values.call(e.t0,e.t1);case 10:if(!(i=!!o.length&&o.filter((function(e){return!$r.some((function(t){return t.includes(e)}))})))){e.next=16;break}return e.next=14,Vr(t);case 14:if(!e.sent){e.next=16;break}return e.abrupt("return",!1);case 16:return e.abrupt("return",i.length);case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Kr=l(x((function(e){return{wantedTemplate:{},importOnLoad:!1,setWanted:function(t){return e({wantedTemplate:t})},removeWanted:function(){return e({wantedTemplate:{}})}}}),{name:"extendify-wanted-template"}));function Zr(e){var t=e.msg;return(0,_t.jsxs)(wt.Modal,{style:{maxWidth:"500px"},title:(0,bt.__)("Error installing plugins","extendify"),isDismissible:!1,children:[(0,bt.__)("You have encountered an error that we cannot recover from. Please try again.","extendify"),(0,_t.jsx)("br",{}),(0,_t.jsx)(wt.Notice,{isDismissible:!1,status:"error",children:t}),(0,_t.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,_t.jsx)(io,{}),document.getElementById("extendify-root"))},children:(0,bt.__)("Go back","extendify")})]})}const Yr=wp.data;function Xr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Qr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qr(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function eo(){var e=Xr((0,r.useState)(!1),2),t=e[0],n=e[1],o=function(){};return(0,(0,Yr.select)("core/editor").isEditedPostDirty)()?(0,_t.jsxs)(wt.Modal,{title:(0,bt.__)("Reload required","extendify"),isDismissible:!1,children:[(0,_t.jsx)("p",{style:{maxWidth:"400px"},children:(0,bt.__)("Just one more thing! We need to reload the page to continue.","extendify")}),(0,_t.jsxs)(wt.ButtonGroup,{children:[(0,_t.jsx)(wt.Button,{isPrimary:!0,onClick:o,disabled:t,children:(0,bt.__)("Reload page","extendify")}),(0,_t.jsx)(wt.Button,{isSecondary:!0,onClick:function(){n(!0),(0,Yr.dispatch)("core/editor").savePost(),n(!1)},isBusy:t,style:{margin:"0 4px"},children:(0,bt.__)("Save changes","extendify")})]})]}):null}function to(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return no(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return no(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function no(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ro(e){var t,n=e.requiredPlugins,o=to((0,r.useState)(""),2),i=o[0],a=o[1],s=Kr((function(e){return e.wantedTemplate})),l=null!=n?n:null==s||null===(t=s.fields)||void 0===t?void 0:t.required_plugins.filter((function(e){return"editorplus"!==e}));return Br(l).then((function(){Kr.setState({importOnLoad:!0}),(0,r.render)((0,_t.jsx)(eo,{}),document.getElementById("extendify-root"))})).catch((function(e){var t=e.message;a(t)})),i?(0,_t.jsx)(Zr,{msg:i}):(0,_t.jsx)(wt.Modal,{title:(0,bt.__)("Installing plugins","extendify"),isDismissible:!1,children:(0,_t.jsx)(wt.Button,{style:{width:"100%"},disabled:!0,isPrimary:!0,isBusy:!0,onClick:function(){},children:(0,bt.__)("Installing...","extendify")})})}function oo(){var e,t,n,o=Kr((function(e){return e.wantedTemplate})),i=(null==o||null===(e=o.fields)||void 0===e?void 0:e.required_plugins)||[];return(0,_t.jsxs)(wt.Modal,{title:(0,bt.__)("Plugins required","extendify"),isDismissible:!1,children:[(0,_t.jsx)("p",{style:{maxWidth:"400px"},children:(0,bt.sprintf)((0,bt.__)("In order to add this %s to your site, the following plugins are required to be installed and activated.","extendify"),null!==(t=null==o||null===(n=o.fields)||void 0===n?void 0:n.type)&&void 0!==t?t:"template")}),(0,_t.jsx)("ul",{children:i.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,_t.jsx)("li",{children:Ot(e)},e)}))}),(0,_t.jsx)("p",{style:{maxWidth:"400px",fontWeight:"bold"},children:(0,bt.__)("Please contact a site admin for assistance in adding these plugins to your site.","extendify")}),(0,_t.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,_t.jsx)(Ui,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none"},children:(0,bt.__)("Return to library","extendify")})]})}function io(e){var t,n,o,i,a,s=e.forceOpen,l=e.buttonLabel,c=e.title,u=e.message,d=e.requiredPlugins,f=Kr((function(e){return e.wantedTemplate}));d=null!==(t=d)&&void 0!==t?t:null==f||null===(n=f.fields)||void 0===n?void 0:n.required_plugins;return null!==(o=z.getState())&&void 0!==o&&o.canInstallPlugins?(0,_t.jsxs)(wt.Modal,{title:null!=c?c:(0,bt.__)("Install required plugins","extendify"),isDismissible:!1,children:[(0,_t.jsx)("p",{style:{maxWidth:"400px"},children:null!=u?u:(0,bt.__)((0,bt.sprintf)("There is just one more step. This %s requires the following to be automatically installed and activated:",null!==(i=null==f||null===(a=f.fields)||void 0===a?void 0:a.type)&&void 0!==i?i:"template"),"extendify")}),(null==u?void 0:u.length)>0||(0,_t.jsx)("ul",{children:d.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,_t.jsx)("li",{children:Ot(e)},e)}))}),(0,_t.jsxs)(wt.ButtonGroup,{children:[(0,_t.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,_t.jsx)(ro,{requiredPlugins:d}),document.getElementById("extendify-root"))},children:null!=l?l:(0,bt.__)("Install Plugins","extendify")}),s||(0,_t.jsx)(wt.Button,{isTertiary:!0,onClick:function(){s||(0,r.render)((0,_t.jsx)(Ui,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none",margin:"0 4px"},children:(0,bt.__)("No thanks, take me back","extendify")})]})]}):(0,_t.jsx)(oo,{})}function ao(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}var so=function(){var e,t=(e=w().mark((function e(t){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Vr(t);case 2:return e.t0=!e.sent,e.t1=function(){},e.t2=function(){return new Promise((function(){(0,r.render)((0,_t.jsx)(io,{}),document.getElementById("extendify-root"))}))},e.abrupt("return",{id:"hasRequiredPlugins",pass:e.t0,allow:e.t1,deny:e.t2});case 6:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){ao(i,r,o,a,s,"next",e)}function s(e){ao(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}();function lo(e){var t=e.msg;return(0,_t.jsxs)(wt.Modal,{style:{maxWidth:"500px"},title:(0,bt.__)("Error Activating plugins","extendify"),isDismissible:!1,children:[(0,bt.__)("You have encountered an error that we cannot recover from. Please try again.","extendify"),(0,_t.jsx)("br",{}),(0,_t.jsx)(wt.Notice,{isDismissible:!1,status:"error",children:t}),(0,_t.jsx)(wt.Button,{isPrimary:!0,onClick:function(){(0,r.render)((0,_t.jsx)(mo,{}),document.getElementById("extendify-root"))},children:(0,bt.__)("Go back","extendify")})]})}function co(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function uo(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){co(i,r,o,a,s,"next",e)}function s(e){co(i,r,o,a,s,"throw",e)}a(void 0)}))}}function fo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return po(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return po(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function po(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ho(){var e,t=fo((0,r.useState)(""),2),n=t[0],o=t[1],i=Kr((function(e){return e.wantedTemplate})),a=null==i||null===(e=i.fields)||void 0===e?void 0:e.required_plugins.filter((function(e){return"editorplus"!==e}));return Br(a).then((function(){Kr.setState({importOnLoad:!0})})).then(uo(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e){return setTimeout(e,1e3)}));case 2:(0,r.render)((0,_t.jsx)(eo,{}),document.getElementById("extendify-root"));case 3:case"end":return e.stop()}}),e)})))).catch((function(e){var t=e.response;o(t.data.message)})),n?(0,_t.jsx)(lo,{msg:n}):(0,_t.jsx)(wt.Modal,{title:(0,bt.__)("Activating plugins","extendify"),isDismissible:!1,children:(0,_t.jsx)(wt.Button,{style:{width:"100%"},disabled:!0,isPrimary:!0,isBusy:!0,onClick:function(){},children:(0,bt.__)("Activating...","extendify")})})}function mo(e){var t,n,o,i,a,s=Kr((function(e){return e.wantedTemplate})),l=(null==s||null===(t=s.fields)||void 0===t?void 0:t.required_plugins)||[];return null!==(n=z.getState())&&void 0!==n&&n.canActivatePlugins?(0,_t.jsx)(wt.Modal,{title:(0,bt.__)("Activate required plugins","extendify"),isDismissible:!1,children:(0,_t.jsxs)("div",{children:[(0,_t.jsx)("p",{style:{maxWidth:"400px"},children:null!==(o=e.message)&&void 0!==o?o:(0,bt.__)((0,bt.sprintf)("There is just one more step. This %s requires the following plugins to be installed and activated:",null!==(i=null==s||null===(a=s.fields)||void 0===a?void 0:a.type)&&void 0!==i?i:"template"),"extendify")}),(0,_t.jsx)("ul",{children:l.filter((function(e){return"editorplus"!==e})).map((function(e){return(0,_t.jsx)("li",{children:Ot(e)},e)}))}),(0,_t.jsxs)(wt.ButtonGroup,{children:[(0,_t.jsx)(wt.Button,{isPrimary:!0,onClick:function(){return(0,r.render)((0,_t.jsx)(ho,{}),document.getElementById("extendify-root"))},children:(0,bt.__)("Activate Plugins","extendify")}),e.showClose&&(0,_t.jsx)(wt.Button,{isTertiary:!0,onClick:function(){return(0,r.render)((0,_t.jsx)(Ui,{show:!0}),document.getElementById("extendify-root"))},style:{boxShadow:"none",margin:"0 4px"},children:(0,bt.__)("No thanks, return to library","extendify")})]})]})}):(0,_t.jsx)(oo,{})}function xo(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}var yo=function(){var e,t=(e=w().mark((function e(t){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Jr(t);case 2:return e.t0=!e.sent,e.t1=function(){},e.t2=function(){return new Promise((function(){(0,r.render)((0,_t.jsx)(mo,{showClose:!0}),document.getElementById("extendify-root"))}))},e.abrupt("return",{id:"hasPluginsActivated",pass:e.t0,allow:e.t1,deny:e.t2});case 6:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){xo(i,r,o,a,s,"next",e)}function s(e){xo(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}(),vo=["tagName","children"];function go(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function bo(e){var t=e.tagName,n=void 0===t?"button":t,o=e.children,i=go(e,vo);return i.className=kt()(i.className,"bg-extendify-main hover:bg-extendify-main-dark cursor-pointer rounded no-underline text-base text-white flex justify-center items-center"),(0,r.createElement)(n,i,o)}function wo(e){const{body:t}=document.implementation.createHTMLDocument("");t.innerHTML=e;const n=t.getElementsByTagName("*");let r=n.length;for(;r--;){const e=n[r];if("SCRIPT"===e.tagName)(o=e).parentNode,o.parentNode.removeChild(o);else{let t=e.attributes.length;for(;t--;){const{name:n}=e.attributes[t];n.startsWith("on")&&e.removeAttribute(n)}}}var o;return t.innerHTML}function jo(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function ko(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return So(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return So(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function So(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Co(e){var t=e.finished,n=e.resetMiddleware,o=ko((0,r.useState)(""),2),i=o[0],a=o[1],s=z((function(e){return e.remainingImports})),l=(0,r.useRef)(null),c=g((function(e){return e.removeAllModals})),u=function(){var e,n=(e=w().mark((function e(n){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.preventDefault(),z.setState({registration:{email:i},freebieImports:Number(z.getState().freebieImports)+10}),e.next=4,_(i);case 4:t();case 5:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){jo(i,r,o,a,s,"next",e)}function s(e){jo(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(e){return n.apply(this,arguments)}}();return(0,_t.jsx)(ar,{isOpen:!0,onClose:function(){c(),n()},ref:l,children:(0,_t.jsxs)("div",{className:"p-10 space-y-4 text-extendify-black",children:[(0,_t.jsx)(Sn,{icon:Tn,size:42,className:"-ml-2 -mt-2"}),(0,_t.jsx)("h3",{className:"text-xl md:leading-3",children:1==s()?(0,bt.__)("This is your last import","extendify"):(0,bt.sprintf)((0,bt.__)("You now have %s imports left","extendify"),s())}),(0,_t.jsx)("p",{className:"max-w-md text-sm",dangerouslySetInnerHTML:{__html:wo((0,bt.sprintf)((0,bt.__)("Subscribe and %1$swe'll send you 10 more%2$s. Plus you'll get updates and special offers from us fine folks at Extendify.","extendify"),"<strong>","</strong>"))}}),(0,_t.jsxs)("form",{onSubmit:u,className:"flex space-x-2 py-2 items-stretch",children:[(0,_t.jsxs)("div",{className:"relative w-full max-w-xs",children:[(0,_t.jsx)("label",{htmlFor:"extendify-email-register",className:"sr-only",children:(0,bt.__)("Email","extendify")}),(0,_t.jsx)("input",{ref:l,id:"extendify-email-register",name:"extendify-email-register",required:!0,onChange:function(e){return a(e.target.value)},type:"email",className:"text-sm min-h-0 p-2 border-2 border-gray-900 rounded-md w-full",placeholder:(0,bt.__)("Enter your email address","extendify")})]}),(0,_t.jsx)(bo,{type:"submit",className:"px-4 rounded-md my-0",children:(0,bt.__)("Submit","extendify")})]}),(0,_t.jsx)(wt.Button,{isLink:!0,className:"text-extendify-gray text-sm my-0",onClick:function(){z.setState({registration:{optedOut:!0}}),t()},children:(0,bt.__)("No thanks — finish importing","extendify")})]})})}function Oo(){var e,t,n,r,o,i,a=g.getState().pushModal;return{id:"NeedsRegistrationModal",pass:(i=z.getState(),(1!==(null==i?void 0:i.remainingImports())||null==i||null===(e=i.registration)||void 0===e||!e.optedOut)&&((null==i||null===(t=i.registration)||void 0===t||null===(n=t.email)||void 0===n?void 0:n.length)||(null==i||null===(r=i.apiKey)||void 0===r?void 0:r.length)||(null==i||null===(o=i.registration)||void 0===o?void 0:o.optedOut)||0===(null==i?void 0:i.imports))),allow:function(){},deny:function(){return new Promise((function(e,t){a((0,_t.jsx)(Co,{finished:e,resetMiddleware:t}))}))}}}function Eo(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return _o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _o(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function _o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function No(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function Ao(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){No(i,r,o,a,s,"next",e)}function s(e){No(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Po(e){return new Lo(e)}function To(e){return function(){return new Io(e.apply(this,arguments))}}function Io(e){var t,n;function r(t,n){try{var i=e[t](n),a=i.value,s=a instanceof Lo;Promise.resolve(s?a.wrapped:a).then((function(e){s?r("return"===t?"return":"next",e):o(i.done?"return":"normal",e)}),(function(e){r("throw",e)}))}catch(e){o("throw",e)}}function o(e,o){switch(e){case"return":t.resolve({value:o,done:!0});break;case"throw":t.reject(o);break;default:t.resolve({value:o,done:!1})}(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,o){return new Promise((function(i,a){var s={key:e,arg:o,resolve:i,reject:a,next:null};n?n=n.next=s:(t=n=s,r(e,o))}))},"function"!=typeof e.return&&(this.return=void 0)}function Lo(e){this.wrapped=e}Io.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Io.prototype.next=function(e){return this._invoke("next",e)},Io.prototype.throw=function(e){return this._invoke("throw",e)},Io.prototype.return=function(e){return this._invoke("return",e)};function Mo(e){return Ro.apply(this,arguments)}function Ro(){return(Ro=Ao(w().mark((function e(t){var n,r;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=Do(t.stack);case 1:return r=void 0,e.prev=3,e.next=6,n.next();case 6:r=e.sent,e.next=13;break;case 9:throw e.prev=9,e.t0=e.catch(3),t.reset(),"Middleware exited";case 13:if(!r.done){e.next=15;break}return e.abrupt("break",17);case 15:e.next=1;break;case 17:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function Do(e){return Fo.apply(this,arguments)}function Fo(){return(Fo=To(w().mark((function e(t){var n,r,o;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=Eo(t),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=11;break}return o=r.value,e.next=7,Po(o());case 7:return e.next=9,e.sent;case 9:e.next=3;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),n.e(e.t0);case 16:return e.prev=16,n.f(),e.finish(16);case 19:case"end":return e.stop()}}),e,null,[[1,13,16,19]])})))).apply(this,arguments)}function Bo(e,t){var n=(0,Yr.dispatch)("core/block-editor"),r=n.insertBlocks,o=n.replaceBlock,i=(0,Yr.select)("core/block-editor"),a=i.getSelectedBlock,s=i.getBlockHierarchyRootClientId,l=i.getBlockIndex,c=i.getGlobalBlockCount,u=a()||{},d=u.clientId,f=u.name,p=u.attributes,h=d?s(d):"",m=(h?l(h):c())+1;return("core/paragraph"===f&&""===(null==p?void 0:p.content)?o(d,e):r(e,m)).then((function(){return window.dispatchEvent(new CustomEvent("extendify::template-inserted",{detail:{template:t},bubbles:!0}))}))}var zo=n(306);function Uo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return qo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qo(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Wo=function(e){var t=e.template,n=Uo((0,r.useState)(t.id),2),o=n[0],i=n[1];return(0,r.useEffect)((function(){o!==t.id&&setTimeout((function(){return i(t.id)}),1e3)}),[o,t.id]),(0,_t.jsxs)("div",{className:"group-hover:opacity-90 opacity-0 flex space-x-2 items-center mb-2 ml-2 absolute bottom-0 left-0 transition duration-200 ease-in-out z-50",children:[(0,_t.jsx)(zo.CopyToClipboard,{text:t.id,onCopy:function(){return i((0,bt.__)("Copied...","extendify"))},children:(0,_t.jsx)("button",{className:"bg-white border border-black p-2 rounded-md shadow-md cursor-pointer",children:o})}),(0,_t.jsx)("a",{target:"_blank",className:"bg-white border font-semibold border-black p-2 rounded-md shadow-md no-underline text-black",href:"https://airtable.com/appn5PSl8wU6X70sG/tblviYevlV5fYAEH7/viwh0L1kHmXN7FIB9/".concat(t.id),rel:"noreferrer",children:(0,bt.__)("Edit","extendify")})]})},$o=(0,r.forwardRef)((function(e,t){var n,o=e.onClose,i=e.isOpen,a=e.invertedButtonColor,s=e.children,l=(0,r.useRef)(null),c=g((function(e){return e.removeAllModals}));return o=null!==(n=o)&&void 0!==n?n:c,(0,_t.jsx)(Ie.Root,{appear:!0,show:!0,as:r.Fragment,children:(0,_t.jsx)(gt,{as:"div",static:!0,open:i,className:"extendify",initialFocus:null!=t?t:l,onClose:o,children:(0,_t.jsxs)("div",{className:"fixed z-high inset-0 flex",children:[(0,_t.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-50 transition",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,_t.jsx)(gt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40 transition-opacity"})}),(0,_t.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-300 translate transform",enterFrom:"opacity-0 translate-y-4 sm:translate-y-5",enterTo:"opacity-100 translate-y-0",children:(0,_t.jsx)("div",{className:"m-auto",children:(0,_t.jsxs)("div",{className:"shadow-modal relative m-8 md:m-0 max-w-md rounded-sm md:flex bg-gray-100 items-center justify-center md:max-w-2xl",children:[(0,_t.jsxs)("button",{onClick:o,ref:l,className:"absolute bg-transparent block p-4 top-0 right-0 rounded-md cursor-pointer text-gray-700 opacity-30 hover:opacity-100",style:a&&{filter:"invert(1)"},children:[(0,_t.jsx)("span",{className:"sr-only",children:(0,bt.__)("Close","extendify")}),(0,_t.jsx)(Sn,{icon:Jn})]}),(0,_t.jsx)("div",{className:"md:w-7/12",children:s[0]}),(0,_t.jsx)("div",{className:"md:justify-none md:w-6/12 hidden md:block ",children:s[1]})]})})})]})})})})),Vo=function(){var e=g((function(e){return e.pushModal}));return(0,_t.jsxs)($o,{isOpen:!0,children:[(0,_t.jsxs)("div",{className:"bg-white p-12 text-center items-center",children:[(0,_t.jsx)("div",{className:"flex space-x-2 items-center justify-center mb-10 text-extendify-black",children:In}),(0,_t.jsx)("h3",{className:"text-xl md:leading-3",children:(0,bt.__)("You're out of imports","extendify")}),(0,_t.jsx)("p",{className:"text-sm text-black",children:(0,bt.__)("Sign up today and get unlimited access to our entire collection of patterns and page layouts.","extendify")}),(0,_t.jsxs)("div",{children:[(0,_t.jsxs)(bo,{tagName:"a",target:"_blank",className:"m-auto mt-10 py-3",href:"https://extendify.com/pricing/?utm_source=".concat(window.extendifyData.sdk_partner,"&utm_medium=library&utm_campaign=no-imports-modal&utm_content=get-unlimited-imports"),rel:"noreferrer",children:[(0,bt.__)("Get Unlimited Imports","extendify"),(0,_t.jsx)(wt.Icon,{icon:Dn,size:24,className:"-mr-1"})]}),(0,_t.jsxs)("p",{className:"text-sm text-extendify-gray mb-0",children:[(0,bt.__)("Have an account?","extendify"),(0,_t.jsx)(wt.Button,{onClick:function(){return e((0,_t.jsx)(lr,{}))},className:"underline hover:no-underline text-sm text-extendify-gray pl-2",children:(0,bt.__)("Sign in","extendify")})]})]})]}),(0,_t.jsxs)("div",{className:"space-y-2 justify-center p-10 text-black",children:[(0,_t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,_t.jsx)(wt.Icon,{icon:Bn,size:24,className:"-ml-1 mr-1"}),(0,_t.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("Access to 100's of Patterns","extendify")})]}),(0,_t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,_t.jsx)(wt.Icon,{icon:Fn,size:24,className:"-ml-1 mr-1"}),(0,_t.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("Beautiful full page layouts","extendify")})]}),(0,_t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,_t.jsx)(wt.Icon,{icon:Un,size:24,className:"-ml-1 mr-1"}),(0,_t.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("Fast and friendly support","extendify")})]}),(0,_t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,_t.jsx)(wt.Icon,{icon:qn,size:24,className:"-ml-1 mr-1"}),(0,_t.jsx)("span",{className:"text-sm leading-none",children:(0,bt.__)("14-Day guarantee","extendify")})]})]})]})},Ho=function(){var e=(0,r.useRef)(null);return(0,_t.jsxs)($o,{isOpen:!0,invertedButtonColor:!0,ref:e,children:[(0,_t.jsxs)("div",{className:"p-12 py-2",children:[(0,_t.jsx)("div",{className:"flex space-x-2 items-center mb-5 text-extendify-black",children:In}),(0,_t.jsx)("h3",{className:"text-xl mt-0",children:(0,bt.__)("Get unlimited access to all our Pro patterns & layouts","extendify")}),(0,_t.jsx)("p",{className:"text-sm text-black",children:(0,bt.__)("Upgrade to Extendify Pro and use all the patterns and layouts you'd like, including our exclusive Pro catalog.","extendify")}),(0,_t.jsx)("div",{children:(0,_t.jsxs)("a",{target:"_blank",ref:e,className:"button-extendify-main inline-flex mt-2 px-4 py-3 button-focus justify-center",style:{minWidth:"225px"},href:"https://extendify.com/pricing/?utm_source=".concat(window.extendifyData.sdk_partner,"&utm_medium=library&utm_campaign=pro-modal&utm_content=upgrade-now"),rel:"noreferrer",children:[(0,bt.__)("Upgrade Now","extendify"),(0,_t.jsx)(wt.Icon,{icon:Dn,size:24,className:"-mr-1"})]})})]}),(0,_t.jsx)("div",{className:"w-full bg-black flex justify-endrounded-tr-sm rounded-br-sm",children:(0,_t.jsx)("img",{alt:(0,bt.__)("Upgrade Now","extendify"),className:"max-w-full rounded-tr-sm rounded-br-sm",src:window.extendifyData.asset_path+"/modal-extendify-black.png"})})]})};function Jo(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function Go(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ko(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ko(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ko(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Zo=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{hasRequiredPlugins:so,hasPluginsActivated:yo,NeedsRegistrationModal:Oo,stack:[],check:function(t){var n=this;return Ao(w().mark((function r(){var o,i,a,s;return w().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:o=Eo(e),r.prev=1,o.s();case 3:if((i=o.n()).done){r.next=11;break}return a=i.value,r.next=7,n["".concat(a)](t);case 7:s=r.sent,n.stack.push(s.pass?s.allow:s.deny);case 9:r.next=3;break;case 11:r.next=16;break;case 13:r.prev=13,r.t0=r.catch(1),o.e(r.t0);case 16:return r.prev=16,o.f(),r.finish(16);case 19:case"end":return r.stop()}}),r,null,[[1,13,16,19]])})))()},reset:function(){this.stack=[]}}}(["NeedsRegistrationModal","hasRequiredPlugins","hasPluginsActivated"]);function Yo(e){var t,n,o,i,a,s,l=e.template,c=(0,r.useRef)(null),u=(0,r.useRef)(!1),d=z((function(e){return e.hasAvailableImports})),f=z((function(e){return e.apiKey.length})),p=g((function(e){return e.setOpen})),h=g((function(e){return e.pushModal})),m=g((function(e){return e.removeAllModals})),x=(0,r.useMemo)((function(){return(0,Dr.rawHandler)({HTML:l.fields.code})}),[l.fields.code]),y=Go((0,r.useState)(!1),2),v=y[0],b=y[1],j=Xn(),k=function(){var e,t=(e=w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Zo.check(l);case 2:Mo(Zo).then((function(){setTimeout((function(){Bo(x,l).then((function(){return m()})).then((function(){return p(!1)})).then((function(){return Zo.reset()}))}),100)})).catch((function(){}));case 3:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Jo(i,r,o,a,s,"next",e)}function s(e){Jo(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}(),S=function(){var e;jr(l),null==l||null===(e=l.fields)||void 0===e||!e.pro||f?d()?k():h((0,_t.jsx)(Vo,{})):h((0,_t.jsx)(Ho,{}))};return(0,r.useEffect)((function(){var e,t,n,r,o=[],i=[];return e=window.requestAnimationFrame((function(){t=window.requestAnimationFrame((function(){c.current.querySelectorAll("iframe").forEach((function(e){var t=e.contentWindow.document.body,n=window.requestAnimationFrame((function(){var n=t.querySelector(".is-root-container");if(n){var o=null==n?void 0:n.offsetHeight;if(o){r=window.requestAnimationFrame((function(){e.style.height=o+"px"}));var a=window.setTimeout((function(){e.style.height=o+"px"}),1e3);i.push(a)}}e.contentWindow.dispatchEvent(new Event("resize"))}));o.push(n)})),n=window.requestAnimationFrame((function(){window.dispatchEvent(new Event("resize")),b(!0)}))}))})),function(){[].concat(o,[e,t,n,r]).forEach((function(e){return window.cancelAnimationFrame(e)})),i.forEach((function(e){return window.clearTimeout(e)}))}}),[]),(0,_t.jsxs)("div",{className:"relative group",children:[(0,_t.jsx)("div",{role:"button",tabIndex:"0",ref:c,"aria-label":(0,bt.sprintf)((0,bt.__)("Press to import %s","extendify"),null==l||null===(t=l.fields)||void 0===t?void 0:t.type),className:"mb-6 md:mb-8 cursor-pointer button-focus",onFocus:function(){u.current||(u.current=!0,Array.from(c.current.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')).forEach((function(e){return e.setAttribute("tabIndex","-1")})))},onClick:S,onKeyDown:function(e){["Enter","Space"," "].includes(e.key)&&(e.stopPropagation(),e.preventDefault(),S())},children:(0,_t.jsx)("div",{className:kt()("with-light-shadow relative",(i={},a="is-template--".concat(l.fields.status),s=(null==l||null===(n=l.fields)||void 0===n?void 0:n.status)&&j,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,i)),children:(0,_t.jsx)(Rr.BlockPreview,{blocks:x,live:!1,viewportWidth:1400})})}),j&&v&&(0,_t.jsx)(Wo,{template:l}),(null==l||null===(o=l.fields)||void 0===o?void 0:o.pro)&&(0,_t.jsx)("div",{className:"bg-white bg-wp-theme-500 border font-medium border-none absolute z-20 top-4 right-4 py-1 px-2.5 rounded-md shadow-sm no-underline text-white pointer-events-none",children:(0,bt.__)("Pro","extendify")})]})}function Xo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Qo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qo(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ei=(0,r.memo)((function(){var e=Yn(),t=K((function(e){return e.templates})),n=K((function(e){return e.appendTemplates})),i=Xo((0,r.useState)(""),2),a=i[0],s=i[1],l=Xo((0,r.useState)(!1),2),c=l[0],u=l[1],d=Xo((0,r.useState)(!1),2),f=d[0],p=d[1],h=function(e){var t=void 0===e?{}:e,n=t.threshold,r=t.delay,i=t.trackVisibility,a=t.rootMargin,s=t.root,l=t.triggerOnce,c=t.skip,u=t.initialInView,d=t.fallbackInView,f=o.useRef(),p=o.useState({inView:!!u}),h=p[0],m=p[1],x=o.useCallback((function(e){void 0!==f.current&&(f.current(),f.current=void 0),c||e&&(f.current=Tr(e,(function(e,t){m({inView:e,entry:t}),t.isIntersecting&&l&&f.current&&(f.current(),f.current=void 0)}),{root:s,rootMargin:a,threshold:n,trackVisibility:i,delay:r},d))}),[Array.isArray(n)?n.toString():n,s,a,l,c,i,d,r]);(0,o.useEffect)((function(){f.current||!h.entry||l||c||m({inView:!!u})}));var y=[x,h.inView,h.entry];return y.ref=y[0],y.inView=y[1],y.entry=y[2],y}(),m=Xo(h,2),x=m[0],y=m[1],v=K((function(e){return e.searchParams})),g=K((function(e){return e.resetTemplates})),b=(0,r.useRef)(K.getState().nextPage),w=(0,r.useRef)(K.getState().searchParams),j="pattern"===w.current.type?"patternType":"layoutType",k=w.current.taxonomies[j];(0,r.useEffect)((function(){return K.subscribe((function(e){return b.current=e}),(function(e){return e.nextPage}))}),[]),(0,r.useEffect)((function(){return K.subscribe((function(e){return w.current=e}),(function(e){return e.searchParams}))}),[]);var S,C=(0,r.useCallback)((function(){s(""),u(!1);var t=(0,bt.__)("Unknown error occured. Check browser console or contact support.","extendify"),r={offset:b.current};wr(w.current,r).then((function(t){var r,o,i;e.current&&(null!=t&&null!==(r=t.error)&&void 0!==r&&r.length?s(null==t?void 0:t.error):(null==t||null===(o=t.records)||void 0===o?void 0:o.length)<=0?u(!0):v===w.current&&null!=t&&t.records.length&&(K.setState({nextPage:null!==(i=null==t?void 0:t.offset)&&void 0!==i?i:""}),n(t.records),p(!1)))})).catch((function(n){e.current&&(console.error(n),s(t))}))}),[n,e,v]);if((0,r.useEffect)((function(){0!==t.length||p(!0)}),[t.length,v]),(0,r.useEffect)((function(){Object.keys(w.current.taxonomies).length&&(K.getState().skipNextFetch?K.setState({skipNextFetch:!1}):C())}),[C,w]),(0,r.useEffect)((function(){b.current&&y&&C()}),[y,C,t]),a.length)return(0,_t.jsxs)("div",{className:"text-left",children:[(0,_t.jsx)("h2",{className:"text-left",children:(0,bt.__)("Server error","extendify")}),(0,_t.jsx)("code",{className:"block max-w-xl p-4 mb-4",style:{minHeight:"10rem"},children:a}),(0,_t.jsx)(wt.Button,{isTertiary:!0,onClick:function(){return g()&&C()},children:(0,bt.__)("Press here to reload")})]});if(c)return(0,_t.jsx)("div",{className:"flex h-full items-center justify-center w-full -mt-2 sm:mt-0",children:(0,_t.jsx)("h2",{className:"text-sm text-extendify-gray font-normal",children:(0,bt.sprintf)("template"===w.current.type?(0,bt.__)('We couldn\'t find any layouts in the "%s" category.',"extendify"):(0,bt.__)('We couldn\'t find any patterns in the "%s" category.',"extendify"),null!==(S=null==k?void 0:k.title)&&void 0!==S?S:k.slug)})});return(0,_t.jsxs)(_t.Fragment,{children:[f&&(0,_t.jsx)("div",{className:"flex h-full items-center justify-center w-full -mt-2 sm:mt-0",children:(0,_t.jsx)(wt.Spinner,{})}),(0,_t.jsx)(yr,{breakpointCols:{default:2,1320:2,860:1,599:2,400:1},className:"flex -ml-6 md:-ml-8 w-auto pb-40 pt-0.5 px-0.5 relative z-10",columnClassName:"pl-6 md:pl-8 bg-clip-padding min-h-screen",children:t.map((function(e){return(0,_t.jsx)(Yo,{template:e},e.id)}))}),b.current&&(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("div",{className:"my-20",children:(0,_t.jsx)(wt.Spinner,{})}),(0,_t.jsx)("div",{className:"-translate-y-full flex flex-col items-end justify-end relative transform",ref:x,style:{zIndex:-1,marginBottom:"-200vh",height:"200vh"}})]})]})}));function ti(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ni(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ni(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ni(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ri=function(e){var t=e.setOpen,n=(0,r.useRef)(),o=K((function(e){return e.searchParams})),i=ti((0,r.useState)(!1),2),a=i[0],s=i[1],l=K((function(e){return e.resetTemplates})),c=function(e){var t=Kn((0,r.useState)(!0),2),n=t[0],o=t[1],i=Kn((0,r.useState)(!1),2),a=i[0],s=i[1],l=Yn(),c=(0,r.useRef)();return(0,r.useEffect)((function(){var e=function(){return o(!0)},t={passive:!0};return window.addEventListener("keydown",e,t),window.addEventListener("mousemove",e,t),window.addEventListener("touchmove",e,t),function(){window.removeEventListener("keydown",e),window.removeEventListener("mousemove",e),window.removeEventListener("touchmove",e)}}),[]),(0,r.useEffect)((function(){n&&(o(!1),s(!1),window.clearTimeout(c.current),c.current=window.setTimeout((function(){l.current&&s(!0)}),e))}),[n,e,l]),a}(6e5),u=(0,r.useCallback)((function(){s(!1),l()}),[l]);return(0,r.useEffect)((function(){c&&s(!0)}),[c]),(0,r.useEffect)((function(){s(!1)}),[o]),(0,r.useEffect)((function(){n.current.scrollTop=0}),[o]),(0,_t.jsx)("div",{className:"h-full flex flex-col items-center relative max-w-screen-4xl mx-auto",children:(0,_t.jsxs)("div",{className:"w-full flex-grow overflow-hidden",children:[(0,_t.jsx)("button",{onClick:function(){return document.getElementById("extendify-templates").querySelector("button").focus()},className:"sr-only focus:not-sr-only focus:text-blue-500",children:(0,bt.__)("Skip to content","extendify")}),(0,_t.jsx)("div",{className:"sm:flex relative mx-auto h-full",children:(0,_t.jsxs)(Hn,{children:[(0,_t.jsx)(Vn,{}),(0,_t.jsxs)("div",{className:"relative h-full z-30 flex flex-col",children:[(0,_t.jsx)(cr,{className:"hidden sm:block w-full h-20 flex-shrink-0 px-6 md:px-8",hideLibrary:function(){return t(!1)}}),(0,_t.jsx)("div",{ref:n,className:"flex-grow z-20 overflow-y-auto px-6 md:px-8",children:a?(0,_t.jsx)(oi,{callback:u}):(0,_t.jsx)(ei,{})})]})]})})]})})},oi=function(e){var t=e.callback;return(0,_t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,_t.jsx)("p",{className:"text-sm text-extendify-gray font-normal mb-6",children:(0,bt.__)("We've added new stuff while you were away.","extendify")}),(0,_t.jsx)(wt.Button,{className:"components-button bg-wp-theme-500 hover:bg-wp-theme-600 border-color-wp-theme-500 text-white",onClick:t,children:(0,bt.__)("Reload")})]})};const ii=(0,r.createElement)(Nn,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(En,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"}));var ai=function(){return k.get("meta-data")},si=function(e){var t,n;return k.post("simple-ping",{action:e,sdk_partner:null!==(t=null===(n=z.getState())||void 0===n?void 0:n.sdkPartner)&&void 0!==t?t:""})};function li(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function ci(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){li(i,r,o,a,s,"next",e)}function s(e){li(i,r,o,a,s,"throw",e)}a(void 0)}))}}function ui(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return di(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return di(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function di(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function fi(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function pi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return hi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hi(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var mi={welcome:function(){var e=g((function(e){return e.setOpen}));return(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("span",{className:"text-black",children:(0,bt.__)("Welcome to the Extendify Library","extendify")}),(0,_t.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,_t.jsxs)("div",{className:"flex space-x-2 justify-center items-center",children:[(0,_t.jsx)(wt.Button,{variant:"link",className:"text-black underline hover:no-underline p-0 h-auto",href:"https://extendify.com/welcome/?utm_source=".concat(window.extendifyData.sdk_partner,"&utm_medium=library&utm_campaign=welcome-notice&utm_content=tell-me-more"),target:"_blank",children:(0,bt.__)("Tell me more","extendify")}),window.extendifyData.standalone?null:(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("span",{className:"font-bold","aria-hidden":"true",children:"•"}),(0,_t.jsx)(wt.Button,{variant:"link",className:"text-black underline hover:no-underline p-0 h-auto",onClick:function(){document.getElementById("extendify-templates-inserter-btn").classList.add("invisible"),z.setState({enabled:!1}),e(!1)},children:(0,bt.__)("Turn off the library","extendify")})]})]})]})},promotion:function(e){var t,n=e.promotionData;return(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("span",{className:"text-black",children:null!==(t=null==n?void 0:n.text)&&void 0!==t?t:""}),(0,_t.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,_t.jsx)("div",{className:"flex space-x-2 justify-center items-center",children:(null==n?void 0:n.url)&&(0,_t.jsx)(wt.Button,{variant:"link",className:"text-black underline hover:no-underline p-0 h-auto",href:"".concat(n.url,"?utm_source=").concat(window.extendifyData.sdk_partner),target:"_blank",children:null==n?void 0:n.button_text})})]})},feedback:function(){return(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("span",{className:"text-black",children:(0,bt.__)("Tell us how to make the Extendify Library work better for you","extendify")}),(0,_t.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,_t.jsx)("div",{className:"flex space-x-2 justify-center items-center",children:(0,_t.jsx)(wt.Button,{variant:"link",className:"text-black underline hover:no-underline p-0 h-auto",href:"https://extendify.com/feedback/?utm_source=".concat(window.extendifyData.sdk_partner,"&utm_medium=library&utm_campaign=feedback-notice&utm_content=give-feedback"),target:"_blank",children:(0,bt.__)("Give feedback","extendify")})})]})},standalone:function(){var e=ui((0,r.useState)(""),2),t=e[0],n=e[1],o=z((function(e){return e.giveFreebieImports}));return(0,_t.jsxs)("div",{children:[(0,_t.jsx)("span",{className:"text-black",children:(0,bt.__)("Install the new Extendify Library plugin to get the latest we have to offer","extendify")}),(0,_t.jsx)("span",{className:"px-2 opacity-50","aria-hidden":"true",children:"|"}),(0,_t.jsxs)("div",{className:"inline-flex space-x-2 items-center relative",children:[(0,_t.jsx)(wt.Button,{variant:"link",className:kt()("text-black underline hover:no-underline p-0 h-auto",{"opacity-0":t}),onClick:function(){n((0,bt.__)("Installing...","extendify")),Promise.all([si("stln-footer-install"),Br(["extendify"]),new Promise((function(e){return setTimeout(e,1e3)}))]).then(ci(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o(10),n((0,bt.__)("Success! Reloading...","extendify")),e.next=4,si("stln-footer-success");case 4:window.location.reload();case 5:case"end":return e.stop()}}),e)})))).catch(function(){var e=ci(w().mark((function e(t){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.error(t),n((0,bt.__)("Error. See console.","extendify")),e.next=4,si("stln-footer-fail");case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())},children:(0,bt.__)("Install Extendify standalone plugin","extendify")}),t?(0,_t.jsx)(wt.Button,{variant:"link",disabled:!0,className:"text-black underline hover:no-underline p-0 h-auto absolute left-0 opacity-100",onClick:function(){},children:t}):null]})]})}};function xi(){var e,t=pi((0,r.useState)(null),2),n=t[0],o=t[1],i=(0,r.useRef)(!1),a=g((function(e){var t,n;return null===(t=e.metaData)||void 0===t||null===(n=t.banners)||void 0===n?void 0:n.footer})),s=null!==(e=Object.keys(mi).find((function(e){return"promotion"===e?(null==a?void 0:a.key)&&!z.getState().noticesDismissedAt[a.key]:"feedback"===e?(o=null!==(t=z.getState().imports)&&void 0!==t?t:0,i=null!==(n=null===(r=z.getState())||void 0===r?void 0:r.firstLoadedOn)&&void 0!==n?n:new Date,s=(new Date).getTime()-new Date(i).getTime(),o>=3&&s/864e5>3&&!z.getState().noticesDismissedAt[e]):"standalone"===e?!window.extendifyData.standalone&&!z.getState().noticesDismissedAt[e]:!z.getState().noticesDismissedAt[e];var t,n,r,o,i,s})))&&void 0!==e?e:null,l=mi[s],c=function(){var e,t=(e=w().mark((function e(){var t;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o(!1),t="promotion"===s?a.key:s,z.getState().markNoticeSeen(t,"notices"),e.next=5,si("footer-notice-x-".concat(t));case 5:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){fi(i,r,o,a,s,"next",e)}function s(e){fi(i,r,o,a,s,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}();return(0,r.useEffect)((function(){mi[s]&&!i.current&&(o(!0),i.current=!0)}),[s]),n?(0,_t.jsxs)("div",{className:"bg-extendify-secondary hidden lg:flex space-x-4 py-3 px-5 justify-center items-center relative max-w-screen-4xl mx-auto",children:[(0,_t.jsx)(l,{promotionData:a}),(0,_t.jsx)("div",{className:"absolute right-1",children:(0,_t.jsx)(wt.Button,{className:"opacity-50 hover:opacity-100 focus:opacity-100 text-extendify-black",icon:(0,_t.jsx)(Sn,{icon:ii}),label:(0,bt.__)("Dismiss this notice","extendify"),onClick:c,showTooltip:!1})})]}):null}function yi(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function vi(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){yi(i,r,o,a,s,"next",e)}function s(e){yi(i,r,o,a,s,"throw",e)}a(void 0)}))}}function gi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bi(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var wi=function(){var e=gi((0,r.useState)((0,bt.__)("Install Extendify","extendify")),2),t=e[0],n=e[1],o=gi((0,r.useState)(!1),2),i=o[0],a=o[1],s=gi((0,r.useState)(!1),2),l=s[0],c=s[1],u=(0,r.useRef)(null),d=z((function(e){return e.markNoticeSeen})),f=z((function(e){return e.giveFreebieImports})),p=g((function(e){return e.removeAllModals})),h=function(){var e=vi(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return p(),d("standalone","modalNotices"),e.next=4,si("stln-modal-x");case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,_t.jsxs)($o,{ref:u,onClose:h,children:[(0,_t.jsxs)("div",{className:"px-12",children:[(0,_t.jsx)("div",{className:"flex space-x-2 items-center mb-10 text-extendify-black",children:In}),(0,_t.jsx)("h3",{className:"text-xl",children:(0,bt.__)("Get the brand new Extendify plugin today!","extendify")}),(0,_t.jsx)("p",{className:"text-sm text-black",dangerouslySetInnerHTML:{__html:wo((0,bt.sprintf)((0,bt.__)("Install the new Extendify Library plugin to get the latest we have to offer — right from WordPress.org. Plus, well send you %1$s10 more imports%2$s. Nice.","extendify"),"<strong>","</strong>"))}}),(0,_t.jsx)("div",{children:(0,_t.jsxs)("button",{onClick:function(){n((0,bt.__)("Installing...","extendify")),c(!0),Promise.all([si("stln-modal-install"),Br(["extendify"]),new Promise((function(e){return setTimeout(e,1e3)}))]).then(vi(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n((0,bt.__)("Success! Reloading...","extendify")),a(!0),f(10),e.next=5,si("stln-modal-success");case 5:window.location.reload();case 6:case"end":return e.stop()}}),e)})))).catch(function(){var e=vi(w().mark((function e(t){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.error(t),n((0,bt.__)("Error. See console.","extendify")),e.next=4,si("stln-modal-fail");case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())},ref:u,disabled:l,className:"button-extendify-main inline-flex mt-2 px-4 py-3 button-focus justify-center",style:{minWidth:"225px"},children:[t,i||(0,_t.jsx)(wt.Icon,{icon:Mn,size:24,className:"w-6 ml-2 flex-grow-0"})]})})]}),(0,_t.jsx)("div",{className:"w-full bg-extendify-secondary flex justify-end rounded-tr-sm rounded-br-sm",children:(0,_t.jsx)("img",{alt:(0,bt.__)("Upgrade Now","extendify"),className:"max-w-full rounded-tr-sm roudned-br-sm",src:window.extendifyData.asset_path+"/modal-extendify-purple.png"})})]})};function ji(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ki(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ki(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ki(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Si(){var e=(0,r.useRef)(null),t=g((function(e){return e.open})),n=g((function(e){return e.setOpen})),o=function(){var e=ji((0,r.useState)(null),2),t=e[0],n=e[1],o=g((function(e){return e.open})),i=g((function(e){return e.pushModal})),a=g((function(e){return e.removeAllModals}));return(0,r.useEffect)((function(){return g.subscribe((function(e){return n((null==e?void 0:e.length)>0?e[0]:null)}),(function(e){return e.modals}))}),[]),(0,r.useEffect)((function(){var e;if(o){var t={standalone:wi},n=t[null!==(e=Object.keys(t).find((function(e){return"standalone"===e?!window.extendifyData.standalone&&!z.getState().modalNoticesDismissedAt[e]:!z.getState().modalNoticesDismissedAt[e]})))&&void 0!==e?e:null];n&&i((0,_t.jsx)(n,{}))}else a()}),[o,i,a]),t}();return(0,_t.jsx)(Ie,{appear:!0,show:t,as:r.Fragment,children:(0,_t.jsx)(gt,{as:"div",static:!0,className:"extendify",initialFocus:e,onClose:function(){return n(!1)},children:(0,_t.jsx)("div",{className:"h-screen w-screen sm:h-auto m-auto sm:w-auto fixed z-high inset-0 overflow-y-auto",children:(0,_t.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,_t.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-300",enterFrom:"opacity-0",enterTo:"opacity-100",children:(0,_t.jsx)(gt.Overlay,{className:"fixed inset-0 bg-black bg-opacity-40 transition-opacity"})}),(0,_t.jsx)(Ie.Child,{as:r.Fragment,enter:"ease-out duration-300",enterFrom:"opacity-0 translate-y-4 sm:translate-y-5",enterTo:"opacity-100 translate-y-0",children:(0,_t.jsxs)("div",{ref:e,tabIndex:"0",onClick:function(e){return e.target===e.currentTarget&&n(!1)},className:"fixed lg:absolute inset-0 lg:overflow-hidden transform transition-all p-2 lg:p-16",children:[(0,_t.jsx)(ri,{}),(0,_t.jsx)(xi,{}),o]})})]})})})})}const Ci=wp.compose,Oi=wp.hooks,Ei=JSON.parse('{"t":["ext-absolute","ext-relative","ext-top-base","ext-top-lg","ext--top-base","ext--top-lg","ext-right-base","ext-right-lg","ext--right-base","ext--right-lg","ext-bottom-base","ext-bottom-lg","ext--bottom-base","ext--bottom-lg","ext-left-base","ext-left-lg","ext--left-base","ext--left-lg","ext-order-1","ext-order-2","ext-col-auto","ext-col-span-1","ext-col-span-2","ext-col-span-3","ext-col-span-4","ext-col-span-5","ext-col-span-6","ext-col-span-7","ext-col-span-8","ext-col-span-9","ext-col-span-10","ext-col-span-11","ext-col-span-12","ext-col-span-full","ext-col-start-1","ext-col-start-2","ext-col-start-3","ext-col-start-4","ext-col-start-5","ext-col-start-6","ext-col-start-7","ext-col-start-8","ext-col-start-9","ext-col-start-10","ext-col-start-11","ext-col-start-12","ext-col-start-13","ext-col-start-auto","ext-col-end-1","ext-col-end-2","ext-col-end-3","ext-col-end-4","ext-col-end-5","ext-col-end-6","ext-col-end-7","ext-col-end-8","ext-col-end-9","ext-col-end-10","ext-col-end-11","ext-col-end-12","ext-col-end-13","ext-col-end-auto","ext-row-auto","ext-row-span-1","ext-row-span-2","ext-row-span-3","ext-row-span-4","ext-row-span-5","ext-row-span-6","ext-row-span-full","ext-row-start-1","ext-row-start-2","ext-row-start-3","ext-row-start-4","ext-row-start-5","ext-row-start-6","ext-row-start-7","ext-row-start-auto","ext-row-end-1","ext-row-end-2","ext-row-end-3","ext-row-end-4","ext-row-end-5","ext-row-end-6","ext-row-end-7","ext-row-end-auto","ext-m-0","ext-m-auto","ext-m-base","ext-m-lg","ext--m-base","ext--m-lg","ext-mx-0","ext-mx-auto","ext-mx-base","ext-mx-lg","ext--mx-base","ext--mx-lg","ext-my-0","ext-my-auto","ext-my-base","ext-my-lg","ext--my-base","ext--my-lg","ext-mt-0","ext-mt-auto","ext-mt-base","ext-mt-lg","ext--mt-base","ext--mt-lg","ext-mr-0","ext-mr-auto","ext-mr-base","ext-mr-lg","ext--mr-base","ext--mr-lg","ext-mb-0","ext-mb-auto","ext-mb-base","ext-mb-lg","ext--mb-base","ext--mb-lg","ext-ml-0","ext-ml-auto","ext-ml-base","ext-ml-lg","ext--ml-base","ext--ml-lg","ext-block","ext-inline-block","ext-inline","ext-flex","ext-inline-flex","ext-grid","ext-inline-grid","ext-hidden","ext-w-auto","ext-w-full","ext-max-w-full","ext-flex-1","ext-flex-auto","ext-flex-initial","ext-flex-none","ext-flex-shrink-0","ext-flex-shrink","ext-flex-grow-0","ext-flex-grow","ext-list-none","ext-grid-cols-1","ext-grid-cols-2","ext-grid-cols-3","ext-grid-cols-4","ext-grid-cols-5","ext-grid-cols-6","ext-grid-cols-7","ext-grid-cols-8","ext-grid-cols-9","ext-grid-cols-10","ext-grid-cols-11","ext-grid-cols-12","ext-grid-cols-none","ext-grid-rows-1","ext-grid-rows-2","ext-grid-rows-3","ext-grid-rows-4","ext-grid-rows-5","ext-grid-rows-6","ext-grid-rows-none","ext-flex-row","ext-flex-row-reverse","ext-flex-col","ext-flex-col-reverse","ext-flex-wrap","ext-flex-wrap-reverse","ext-flex-nowrap","ext-items-start","ext-items-end","ext-items-center","ext-items-baseline","ext-items-stretch","ext-justify-start","ext-justify-end","ext-justify-center","ext-justify-between","ext-justify-around","ext-justify-evenly","ext-justify-items-start","ext-justify-items-end","ext-justify-items-center","ext-justify-items-stretch","ext-gap-0","ext-gap-base","ext-gap-lg","ext-gap-x-0","ext-gap-x-base","ext-gap-x-lg","ext-gap-y-0","ext-gap-y-base","ext-gap-y-lg","ext-justify-self-auto","ext-justify-self-start","ext-justify-self-end","ext-justify-self-center","ext-justify-self-stretch","ext-rounded-none","ext-rounded-full","ext-rounded-t-none","ext-rounded-t-full","ext-rounded-r-none","ext-rounded-r-full","ext-rounded-b-none","ext-rounded-b-full","ext-rounded-l-none","ext-rounded-l-full","ext-rounded-tl-none","ext-rounded-tl-full","ext-rounded-tr-none","ext-rounded-tr-full","ext-rounded-br-none","ext-rounded-br-full","ext-rounded-bl-none","ext-rounded-bl-full","ext-border-0","ext-border-t-0","ext-border-r-0","ext-border-b-0","ext-border-l-0","ext-p-0","ext-p-base","ext-p-lg","ext-px-0","ext-px-base","ext-px-lg","ext-py-0","ext-py-base","ext-py-lg","ext-pt-0","ext-pt-base","ext-pt-lg","ext-pr-0","ext-pr-base","ext-pr-lg","ext-pb-0","ext-pb-base","ext-pb-lg","ext-pl-0","ext-pl-base","ext-pl-lg","ext-text-left","ext-text-center","ext-text-right","ext-leading-none","ext-leading-tight","ext-leading-snug","ext-leading-normal","ext-leading-relaxed","ext-leading-loose","clip-path--rhombus","clip-path--diamond","clip-path--rhombus-alt","wp-block-columns[class*=\\"fullwidth-cols\\"]\\n","tablet\\\\:fullwidth-cols","desktop\\\\:fullwidth-cols","direction-rtl","direction-ltr","bring-to-front","text-stroke","text-stroke--primary","text-stroke--secondary","editor\\\\:no-caption","editor\\\\:no-inserter","editor\\\\:no-resize","editor\\\\:pointer-events-none","tablet\\\\:ext-absolute","tablet\\\\:ext-relative","tablet\\\\:ext-top-base","tablet\\\\:ext-top-lg","tablet\\\\:ext--top-base","tablet\\\\:ext--top-lg","tablet\\\\:ext-right-base","tablet\\\\:ext-right-lg","tablet\\\\:ext--right-base","tablet\\\\:ext--right-lg","tablet\\\\:ext-bottom-base","tablet\\\\:ext-bottom-lg","tablet\\\\:ext--bottom-base","tablet\\\\:ext--bottom-lg","tablet\\\\:ext-left-base","tablet\\\\:ext-left-lg","tablet\\\\:ext--left-base","tablet\\\\:ext--left-lg","tablet\\\\:ext-order-1","tablet\\\\:ext-order-2","tablet\\\\:ext-m-0","tablet\\\\:ext-m-auto","tablet\\\\:ext-m-base","tablet\\\\:ext-m-lg","tablet\\\\:ext--m-base","tablet\\\\:ext--m-lg","tablet\\\\:ext-mx-0","tablet\\\\:ext-mx-auto","tablet\\\\:ext-mx-base","tablet\\\\:ext-mx-lg","tablet\\\\:ext--mx-base","tablet\\\\:ext--mx-lg","tablet\\\\:ext-my-0","tablet\\\\:ext-my-auto","tablet\\\\:ext-my-base","tablet\\\\:ext-my-lg","tablet\\\\:ext--my-base","tablet\\\\:ext--my-lg","tablet\\\\:ext-mt-0","tablet\\\\:ext-mt-auto","tablet\\\\:ext-mt-base","tablet\\\\:ext-mt-lg","tablet\\\\:ext--mt-base","tablet\\\\:ext--mt-lg","tablet\\\\:ext-mr-0","tablet\\\\:ext-mr-auto","tablet\\\\:ext-mr-base","tablet\\\\:ext-mr-lg","tablet\\\\:ext--mr-base","tablet\\\\:ext--mr-lg","tablet\\\\:ext-mb-0","tablet\\\\:ext-mb-auto","tablet\\\\:ext-mb-base","tablet\\\\:ext-mb-lg","tablet\\\\:ext--mb-base","tablet\\\\:ext--mb-lg","tablet\\\\:ext-ml-0","tablet\\\\:ext-ml-auto","tablet\\\\:ext-ml-base","tablet\\\\:ext-ml-lg","tablet\\\\:ext--ml-base","tablet\\\\:ext--ml-lg","tablet\\\\:ext-block","tablet\\\\:ext-inline-block","tablet\\\\:ext-inline","tablet\\\\:ext-flex","tablet\\\\:ext-inline-flex","tablet\\\\:ext-grid","tablet\\\\:ext-inline-grid","tablet\\\\:ext-hidden","tablet\\\\:ext-w-auto","tablet\\\\:ext-w-full","tablet\\\\:ext-max-w-full","tablet\\\\:ext-flex-1","tablet\\\\:ext-flex-auto","tablet\\\\:ext-flex-initial","tablet\\\\:ext-flex-none","tablet\\\\:ext-flex-shrink-0","tablet\\\\:ext-flex-shrink","tablet\\\\:ext-flex-grow-0","tablet\\\\:ext-flex-grow","tablet\\\\:ext-list-none","tablet\\\\:ext-grid-cols-1","tablet\\\\:ext-grid-cols-2","tablet\\\\:ext-grid-cols-3","tablet\\\\:ext-grid-cols-4","tablet\\\\:ext-grid-cols-5","tablet\\\\:ext-grid-cols-6","tablet\\\\:ext-grid-cols-7","tablet\\\\:ext-grid-cols-8","tablet\\\\:ext-grid-cols-9","tablet\\\\:ext-grid-cols-10","tablet\\\\:ext-grid-cols-11","tablet\\\\:ext-grid-cols-12","tablet\\\\:ext-grid-cols-none","tablet\\\\:ext-flex-row","tablet\\\\:ext-flex-row-reverse","tablet\\\\:ext-flex-col","tablet\\\\:ext-flex-col-reverse","tablet\\\\:ext-flex-wrap","tablet\\\\:ext-flex-wrap-reverse","tablet\\\\:ext-flex-nowrap","tablet\\\\:ext-items-start","tablet\\\\:ext-items-end","tablet\\\\:ext-items-center","tablet\\\\:ext-items-baseline","tablet\\\\:ext-items-stretch","tablet\\\\:ext-justify-start","tablet\\\\:ext-justify-end","tablet\\\\:ext-justify-center","tablet\\\\:ext-justify-between","tablet\\\\:ext-justify-around","tablet\\\\:ext-justify-evenly","tablet\\\\:ext-justify-items-start","tablet\\\\:ext-justify-items-end","tablet\\\\:ext-justify-items-center","tablet\\\\:ext-justify-items-stretch","tablet\\\\:ext-justify-self-auto","tablet\\\\:ext-justify-self-start","tablet\\\\:ext-justify-self-end","tablet\\\\:ext-justify-self-center","tablet\\\\:ext-justify-self-stretch","tablet\\\\:ext-p-0","tablet\\\\:ext-p-base","tablet\\\\:ext-p-lg","tablet\\\\:ext-px-0","tablet\\\\:ext-px-base","tablet\\\\:ext-px-lg","tablet\\\\:ext-py-0","tablet\\\\:ext-py-base","tablet\\\\:ext-py-lg","tablet\\\\:ext-pt-0","tablet\\\\:ext-pt-base","tablet\\\\:ext-pt-lg","tablet\\\\:ext-pr-0","tablet\\\\:ext-pr-base","tablet\\\\:ext-pr-lg","tablet\\\\:ext-pb-0","tablet\\\\:ext-pb-base","tablet\\\\:ext-pb-lg","tablet\\\\:ext-pl-0","tablet\\\\:ext-pl-base","tablet\\\\:ext-pl-lg","tablet\\\\:ext-text-left","tablet\\\\:ext-text-center","tablet\\\\:ext-text-right","desktop\\\\:ext-absolute","desktop\\\\:ext-relative","desktop\\\\:ext-top-base","desktop\\\\:ext-top-lg","desktop\\\\:ext--top-base","desktop\\\\:ext--top-lg","desktop\\\\:ext-right-base","desktop\\\\:ext-right-lg","desktop\\\\:ext--right-base","desktop\\\\:ext--right-lg","desktop\\\\:ext-bottom-base","desktop\\\\:ext-bottom-lg","desktop\\\\:ext--bottom-base","desktop\\\\:ext--bottom-lg","desktop\\\\:ext-left-base","desktop\\\\:ext-left-lg","desktop\\\\:ext--left-base","desktop\\\\:ext--left-lg","desktop\\\\:ext-order-1","desktop\\\\:ext-order-2","desktop\\\\:ext-m-0","desktop\\\\:ext-m-auto","desktop\\\\:ext-m-base","desktop\\\\:ext-m-lg","desktop\\\\:ext--m-base","desktop\\\\:ext--m-lg","desktop\\\\:ext-mx-0","desktop\\\\:ext-mx-auto","desktop\\\\:ext-mx-base","desktop\\\\:ext-mx-lg","desktop\\\\:ext--mx-base","desktop\\\\:ext--mx-lg","desktop\\\\:ext-my-0","desktop\\\\:ext-my-auto","desktop\\\\:ext-my-base","desktop\\\\:ext-my-lg","desktop\\\\:ext--my-base","desktop\\\\:ext--my-lg","desktop\\\\:ext-mt-0","desktop\\\\:ext-mt-auto","desktop\\\\:ext-mt-base","desktop\\\\:ext-mt-lg","desktop\\\\:ext--mt-base","desktop\\\\:ext--mt-lg","desktop\\\\:ext-mr-0","desktop\\\\:ext-mr-auto","desktop\\\\:ext-mr-base","desktop\\\\:ext-mr-lg","desktop\\\\:ext--mr-base","desktop\\\\:ext--mr-lg","desktop\\\\:ext-mb-0","desktop\\\\:ext-mb-auto","desktop\\\\:ext-mb-base","desktop\\\\:ext-mb-lg","desktop\\\\:ext--mb-base","desktop\\\\:ext--mb-lg","desktop\\\\:ext-ml-0","desktop\\\\:ext-ml-auto","desktop\\\\:ext-ml-base","desktop\\\\:ext-ml-lg","desktop\\\\:ext--ml-base","desktop\\\\:ext--ml-lg","desktop\\\\:ext-block","desktop\\\\:ext-inline-block","desktop\\\\:ext-inline","desktop\\\\:ext-flex","desktop\\\\:ext-inline-flex","desktop\\\\:ext-grid","desktop\\\\:ext-inline-grid","desktop\\\\:ext-hidden","desktop\\\\:ext-w-auto","desktop\\\\:ext-w-full","desktop\\\\:ext-max-w-full","desktop\\\\:ext-flex-1","desktop\\\\:ext-flex-auto","desktop\\\\:ext-flex-initial","desktop\\\\:ext-flex-none","desktop\\\\:ext-flex-shrink-0","desktop\\\\:ext-flex-shrink","desktop\\\\:ext-flex-grow-0","desktop\\\\:ext-flex-grow","desktop\\\\:ext-list-none","desktop\\\\:ext-grid-cols-1","desktop\\\\:ext-grid-cols-2","desktop\\\\:ext-grid-cols-3","desktop\\\\:ext-grid-cols-4","desktop\\\\:ext-grid-cols-5","desktop\\\\:ext-grid-cols-6","desktop\\\\:ext-grid-cols-7","desktop\\\\:ext-grid-cols-8","desktop\\\\:ext-grid-cols-9","desktop\\\\:ext-grid-cols-10","desktop\\\\:ext-grid-cols-11","desktop\\\\:ext-grid-cols-12","desktop\\\\:ext-grid-cols-none","desktop\\\\:ext-flex-row","desktop\\\\:ext-flex-row-reverse","desktop\\\\:ext-flex-col","desktop\\\\:ext-flex-col-reverse","desktop\\\\:ext-flex-wrap","desktop\\\\:ext-flex-wrap-reverse","desktop\\\\:ext-flex-nowrap","desktop\\\\:ext-items-start","desktop\\\\:ext-items-end","desktop\\\\:ext-items-center","desktop\\\\:ext-items-baseline","desktop\\\\:ext-items-stretch","desktop\\\\:ext-justify-start","desktop\\\\:ext-justify-end","desktop\\\\:ext-justify-center","desktop\\\\:ext-justify-between","desktop\\\\:ext-justify-around","desktop\\\\:ext-justify-evenly","desktop\\\\:ext-justify-items-start","desktop\\\\:ext-justify-items-end","desktop\\\\:ext-justify-items-center","desktop\\\\:ext-justify-items-stretch","desktop\\\\:ext-justify-self-auto","desktop\\\\:ext-justify-self-start","desktop\\\\:ext-justify-self-end","desktop\\\\:ext-justify-self-center","desktop\\\\:ext-justify-self-stretch","desktop\\\\:ext-p-0","desktop\\\\:ext-p-base","desktop\\\\:ext-p-lg","desktop\\\\:ext-px-0","desktop\\\\:ext-px-base","desktop\\\\:ext-px-lg","desktop\\\\:ext-py-0","desktop\\\\:ext-py-base","desktop\\\\:ext-py-lg","desktop\\\\:ext-pt-0","desktop\\\\:ext-pt-base","desktop\\\\:ext-pt-lg","desktop\\\\:ext-pr-0","desktop\\\\:ext-pr-base","desktop\\\\:ext-pr-lg","desktop\\\\:ext-pb-0","desktop\\\\:ext-pb-base","desktop\\\\:ext-pb-lg","desktop\\\\:ext-pl-0","desktop\\\\:ext-pl-base","desktop\\\\:ext-pl-lg","desktop\\\\:ext-text-left","desktop\\\\:ext-text-center","desktop\\\\:ext-text-right"]}');function _i(e){return function(e){if(Array.isArray(e))return Ni(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ni(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ni(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ni(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ai(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ai(Object(n),!0).forEach((function(t){Ti(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ai(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ti(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ii=(0,Ci.createHigherOrderComponent)((function(e){return function(t){var n,r,o=null!==(n=null==t||null===(r=t.attributes)||void 0===r?void 0:r.extUtilities)&&void 0!==n?n:[],i=Ei.t.map((function(e){return e.replace(".","").replace(new RegExp("\\\\","g"),"")}));return(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)(e,Pi({},t)),o&&(0,_t.jsx)(Rr.InspectorAdvancedControls,{children:(0,_t.jsx)(wt.FormTokenField,{label:(0,bt.__)("Extendify Utilities","extendify"),tokenizeOnSpace:!0,value:o,suggestions:i,onChange:function(e){t.setAttributes({extUtilities:e})}})})]})}}),"utilityClassEdit");function Li(e,t,n){var r,o,i,a=null!==(r=null==e?void 0:e.className)&&void 0!==r?r:[],s=null!==(o=null==n?void 0:n.extUtilities)&&void 0!==o?o:[],l=null!==(i=null==n?void 0:n.className)&&void 0!==i?i:[];if(!s||!Object.keys(s).length)return e;var c=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return e.split(" ");case"[object Array]":return e;default:return[]}},u=new Set([].concat(_i(c(l)),_i(c(a)),_i(c(s))));return Object.assign({},e,{className:_i(u).join(" ")})}function Mi(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}(0,Oi.addFilter)("blocks.registerBlockType","extendify/utilities/attributes",(function(e){return Pi(Pi({},e),{},{attributes:Pi(Pi({},e.attributes),{},{extUtilities:{type:"array",default:[]}})})})),(0,Oi.addFilter)("blocks.registerBlockType","extendify/utilities/addEditProps",(function(e){var t=e.getEditWrapperProps;return e.getEditWrapperProps=function(n){var r={};return t&&(r=t(n)),Li(r,e,n)},e})),(0,Oi.addFilter)("editor.BlockEdit","extendify/utilities/advancedClassControls",Ii),(0,Oi.addFilter)("blocks.getSaveContent.extraProps","extendify/utilities/extra-props",Li);var Ri=function(){return(e=w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k.get("taxonomies");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Mi(i,r,o,a,s,"next",e)}function s(e){Mi(i,r,o,a,s,"throw",e)}a(void 0)}))})();var e};function Di(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function Fi(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Di(i,r,o,a,s,"next",e)}function s(e){Di(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Bi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return zi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return zi(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ui(e){var t=e.show,n=void 0!==t&&t,o=g((function(e){return e.open})),i=g((function(e){return e.setOpen})),a=Bi((0,r.useState)(!1),2),s=a[0],l=a[1],c=(0,r.useCallback)((function(){return i(!0)}),[i]),u=(0,r.useCallback)((function(){return i(!1)}),[i]),d=K((function(e){return e.initTemplateData})),f=z((function(e){return e.uuid.length>0})),p=K((function(e){return Object.keys(e.taxonomyDefaultState).length>0}));return function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=K((function(e){return e.setupDefaultTaxonomies})),n=U((function(e){return e.setTaxonomies})),o=(0,r.useCallback)(Fi(w().mark((function e(){var r,o;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ri();case 2:if(o=e.sent,o=Object.keys(o).reduce((function(e,t){return e[t]=o[t],e}),{}),null!==(r=Object.keys(o))&&void 0!==r&&r.length){e.next=6;break}return e.abrupt("return");case 6:n(o),t();case 8:case"end":return e.stop()}}),e)}))),[n,t]);(0,r.useEffect)((function(){e&&o()}),[o,e])}(o),(0,r.useEffect)((function(){f&&p&&(d(),l(!0))}),[f,p,d]),(0,r.useEffect)((function(){n&&i(!0)}),[n,i]),(0,r.useEffect)((function(){ai().then((function(e){g.setState({metaData:e})}))}),[]),(0,r.useEffect)((function(){return window.addEventListener("extendify::open-library",c),window.addEventListener("extendify::close-library",u),function(){window.removeEventListener("extendify::open-library",c),window.removeEventListener("extendify::close-library",u)}}),[u,c]),s?(0,_t.jsx)(Si,{}):null}const qi=wp.plugins,Wi=wp.editPost;var $i=function(){return k.get("site-settings")},Vi=function(e){var t=new FormData;return t.append("data",JSON.stringify(e)),k.post("site-settings",t,{headers:{"Content-Type":"multipart/form-data"}})};function Hi(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function Ji(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Hi(i,r,o,a,s,"next",e)}function s(e){Hi(i,r,o,a,s,"throw",e)}a(void 0)}))}}var Gi={getItem:function(){var e=Ji(w().mark((function e(){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,$i();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),setItem:function(){var e=Ji(w().mark((function e(t,n){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Vi(n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),removeItem:function(){}},Ki=l(x((function(){return{enabled:!0}}),{name:"extendify-sitesettings",getStorage:function(){return Gi}}));function Zi(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function Yi(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Zi(i,r,o,a,s,"next",e)}function s(e){Zi(i,r,o,a,s,"throw",e)}a(void 0)}))}}function Xi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Qi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qi(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}const ea=function(){var e=(0,Yr.useSelect)((function(e){return e("core").canUser("create","users")})),t=Xi((0,r.useState)(z((function(e){return e.enabled}))),2),n=t[0],o=t[1],i=Xi((0,r.useState)(Ki((function(e){return e.enabled}))),2),a=i[0],s=i[1];function l(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=document.getElementById("extendify-templates-inserter-btn");t&&(e?t.classList.add("invisible"):t.classList.remove("invisible"))}function c(e){return u.apply(this,arguments)}function u(){return(u=Yi(w().mark((function e(t){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,z.setState({enabled:t});case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function d(e){return f.apply(this,arguments)}function f(){return(f=Yi(w().mark((function e(t){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ki.setState({enabled:t});case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function p(e,t){return h.apply(this,arguments)}function h(){return h=Yi(w().mark((function e(t,n){return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("global"!==n){e.next=5;break}return e.next=3,d(t);case 3:e.next=7;break;case 5:return e.next=7,c(t);case 7:case"end":return e.stop()}}),e)}))),h.apply(this,arguments)}function m(e){"global"===e?s((function(t){return p(!t,e),!t})):o((function(t){return l(!t),p(!t,e),!t}))}return(0,r.useEffect)((function(){l(!n)}),[n]),(0,_t.jsxs)(wt.Modal,{title:(0,bt.__)("Extendify Settings","extendify"),onRequestClose:function(){var e=document.getElementById("extendify-util");(0,r.unmountComponentAtNode)(e)},children:[(0,_t.jsx)(wt.ToggleControl,{label:e?(0,bt.__)("Enable the library for myself","extendify"):(0,bt.__)("Enable the library","extendify"),help:(0,bt.__)("Publish with hundreds of patterns & page layouts","extendify"),checked:n,onChange:function(){return m("user")}}),e&&(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("br",{}),(0,_t.jsx)(wt.ToggleControl,{label:(0,bt.__)("Allow all users to publish with the library"),help:(0,bt.__)("Everyone publishes with patterns & page layouts","extendify"),checked:a,onChange:function(){return m("global")}})]})]})};var ta=function(e){var t,n;Ct(null===(t=e.target.closest("[data-extendify-identifier]"))||void 0===t||null===(n=t.dataset)||void 0===n?void 0:n.extendifyIdentifier,"open")},na=function(){var e,t,n;return null===window.extendifyData.user||(null===(e=window.extendifyData)||void 0===e||null===(t=e.user)||void 0===t||null===(n=t.state)||void 0===n?void 0:n.isAdmin)},ra=function(){var e,t,n;return null===window.extendifyData.sitesettings||(null===(e=window.extendifyData)||void 0===e||null===(t=e.sitesettings)||void 0===t||null===(n=t.state)||void 0===n?void 0:n.enabled)},oa=(0,_t.jsx)("div",{id:"extendify-templates-inserter",className:"extendify",children:(0,_t.jsxs)("button",{style:"padding:4px 12px; height: 34px;",type:"button","data-extendify-identifier":"main-button",id:"extendify-templates-inserter-btn",className:"components-button bg-wp-theme-500 hover:bg-wp-theme-600 border-color-wp-theme-500 text-white ml-1",children:[(0,_t.jsx)(Sn,{icon:Tn,size:24,className:"-ml-1 mr-1"}),(0,bt.__)("Library","extendify")]})});if(window._wpLoadBlockEditor)var ia=window.wp.data.subscribe((function(){requestAnimationFrame((function(){var e,t,n;(ra()||na())&&(document.getElementById("extendify-templates-inserter-btn")||document.querySelector(".edit-post-header-toolbar")&&(document.querySelector(".edit-post-header-toolbar").insertAdjacentHTML("beforeend",(0,r.renderToString)(oa)),document.getElementById("extendify-templates-inserter-btn").addEventListener("click",ta),(null===window.extendifyData.user?ra():null===(e=window.extendifyData)||void 0===e||null===(t=e.user)||void 0===t||null===(n=t.state)||void 0===n?void 0:n.enabled)||document.getElementById("extendify-templates-inserter-btn").classList.add("invisible"),ia()))}))}));if(window._wpLoadBlockEditor)var aa=window.wp.data.subscribe((function(){requestAnimationFrame((function(){if((ra()||na())&&document.querySelector("[id$=patterns-view]")&&!document.getElementById("extendify-cta-button")){var e=(0,_t.jsx)("div",{children:(0,_t.jsx)("button",{id:"extendify-cta-button",style:"margin:1rem 1rem 0;width: calc(100% - 2rem);justify-content: center;","data-extendify-identifier":"patterns-cta",className:"components-button is-secondary",children:(0,bt.__)("Discover patterns in Extendify Library","extendify")})});document.querySelector("[id$=patterns-view]").insertAdjacentHTML("afterbegin",(0,r.renderToString)(e)),document.getElementById("extendify-cta-button").addEventListener("click",ta),aa()}}))}));window._wpLoadBlockEditor&&(0,qi.registerPlugin)("extendify-settings-enable-disable",{render:function(){return(0,_t.jsx)(_t.Fragment,{children:(0,_t.jsxs)(Wi.PluginSidebarMoreMenuItem,{onClick:function(){var e=document.getElementById("extendify-util");(0,r.render)((0,_t.jsx)(ea,{}),e)},icon:(0,_t.jsx)(Sn,{icon:Tn,size:24}),children:[" ",(0,bt.__)("Extendify","extendify")]})})}}),[{register:function(){var e=(0,Yr.dispatch)("core/notices").createNotice,t=z.getState().incrementImports;window.addEventListener("extendify::template-inserted",(function(n){e("info",(0,bt.__)("Page layout added"),{isDismissible:!0,type:"snackbar"}),setTimeout((function(){var e;t(),kr(null===(e=n.detail)||void 0===e?void 0:e.template)}),0)}))}},{register:function(){var e=this;window.addEventListener("extendify::softerror-encountered",(function(t){e[(0,St.camelCase)(t.detail.type)](t.detail)}))},versionOutdated:function(e){(0,r.render)((0,_t.jsx)(io,{title:e.data.title,requiredPlugins:["extendify"],message:e.data.message,buttonLabel:e.data.buttonLabel,forceOpen:!0}),document.getElementById("extendify-root"))}}].forEach((function(e){return e.register()}));const sa=JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"extendify/library","title":"Pattern Library","category":"design","description":"Add block patterns and full page layouts with the Extendify Library.","keywords":["pattern","extendify","library","template","layouts"],"textdomain":"extendify","attributes":{"preview":{"type":"string"}}}');(0,Dr.registerBlockType)(sa,{icon:Pn,example:{attributes:{preview:window.extendifyData.asset_path+"/preview.png"}},edit:function(e){var t=e.clientId,n=e.attributes,o=(0,Yr.useDispatch)("core/block-editor").removeBlock;return(0,r.useEffect)((function(){n.preview||(Ct("library-block","open"),o(t))}),[t,n,o]),(0,_t.jsx)("img",{style:{display:"block",maxWidth:"100%"},src:n.preview,alt:(0,bt.sprintf)((0,bt.__)("%s Pattern Library","extendify"),"Extendify")})}}),window._wpLoadBlockEditor&&window.wp.domReady((function(){var e=Object.assign(document.createElement("div"),{id:"extendify-root"});if(document.body.append(e),(0,r.render)((0,_t.jsx)(Ui,{}),e),e.parentNode.insertBefore(Object.assign(document.createElement("div"),{id:"extendify-util"}),e.nextSibling),Kr.getState().importOnLoad){var t=Kr.getState().wantedTemplate;setTimeout((function(){Bo((0,Dr.rawHandler)({HTML:t.fields.code}),t)}),0)}Kr.setState({importOnLoad:!1,wantedTemplate:{}})}))},42:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)){if(n.length){var a=o.apply(null,n);a&&e.push(a)}}else if("object"===i)if(n.toString===Object.prototype.toString)for(var s in n)r.call(n,s)&&n[s]&&e.push(s);else e.push(n.toString())}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},12:(e,t,n)=>{"use strict";var r=n(185),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,a,s,l,c,u=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),s=document.createRange(),l=document.getSelection(),(c=document.createElement("span")).textContent=e,c.style.all="unset",c.style.position="fixed",c.style.top=0,c.style.clip="rect(0, 0, 0, 0)",c.style.whiteSpace="pre",c.style.webkitUserSelect="text",c.style.MozUserSelect="text",c.style.msUserSelect="text",c.style.userSelect="text",c.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),void 0===r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=o[t.format]||o.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(c),s.selectNodeContents(c),l.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(r){n&&console.error("unable to copy using execCommand: ",r),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(r){n&&console.error("unable to copy using clipboardData: ",r),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(s):l.removeAllRanges()),c&&document.body.removeChild(c),a()}return u}},716:()=>{},965:()=>{},525:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var a,s,l=o(e),c=1;c<arguments.length;c++){for(var u in a=Object(arguments[c]))n.call(a,u)&&(l[u]=a[u]);if(t){s=t(a);for(var d=0;d<s.length;d++)r.call(a,s[d])&&(l[s[d]]=a[s[d]])}}return l}},61:e=>{var t,n,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{n="function"==typeof clearTimeout?clearTimeout:i}catch(e){n=i}}();var s,l=[],c=!1,u=-1;function d(){c&&s&&(c=!1,s.length?l=s.concat(l):u=-1,l.length&&f())}function f(){if(!c){var e=a(d);c=!0;for(var t=l.length;t;){for(s=l,l=[];++u<t;)s&&s[u].run();u=-1,t=l.length}s=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function h(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new p(e,t)),1!==l.length||c||a(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=h,r.addListener=h,r.once=h,r.off=h,r.removeListener=h,r.removeAllListeners=h,r.emit=h,r.prependListener=h,r.prependOnceListener=h,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},218:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var r=i(n(363)),o=i(n(12));function i(e){return e&&e.__esModule?e:{default:e}}function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function d(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?p(e):t}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},h(e,t)}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var x=function(e){function t(){var e,n;c(this,t);for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return m(p(n=d(this,(e=f(t)).call.apply(e,[this].concat(a)))),"onClick",(function(e){var t=n.props,i=t.text,a=t.onCopy,s=t.children,l=t.options,c=r.default.Children.only(s),u=(0,o.default)(i,l);a&&a(i,u),c&&c.props&&"function"==typeof c.props.onClick&&c.props.onClick(e)})),n}var n,i,a;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(t,e),n=t,i=[{key:"render",value:function(){var e=this.props,t=(e.text,e.onCopy,e.options,e.children),n=l(e,["text","onCopy","options","children"]),o=r.default.Children.only(t);return r.default.cloneElement(o,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(n,!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},n,{onClick:this.onClick}))}}],i&&u(n.prototype,i),a&&u(n,a),t}(r.default.PureComponent);t.CopyToClipboard=x,m(x,"defaultProps",{onCopy:void 0,options:void 0})},306:(e,t,n)=>{"use strict";var r=n(218).CopyToClipboard;r.CopyToClipboard=r,e.exports=r},426:(e,t,n)=>{"use strict";n(525);var r=n(363),o=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var i=Symbol.for;o=i("react.element"),t.Fragment=i("react.fragment")}var a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,i={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)s.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:i,_owner:a.current}}t.jsx=c,t.jsxs=c},246:(e,t,n)=>{"use strict";e.exports=n(426)},248:e=>{var t=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var o=t&&t.prototype instanceof x?t:x,i=Object.create(o.prototype),a=new _(r||[]);return i._invoke=function(e,t,n){var r=d;return function(o,i){if(r===p)throw new Error("Generator is already running");if(r===h){if("throw"===o)throw i;return A()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var l=u(e,t,n);if("normal"===l.type){if(r=n.done?h:f,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=h,n.method="throw",n.arg=l.arg)}}}(e,n,a),i}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var d="suspendedStart",f="suspendedYield",p="executing",h="completed",m={};function x(){}function y(){}function v(){}var g={};l(g,i,(function(){return this}));var b=Object.getPrototypeOf,w=b&&b(b(N([])));w&&w!==n&&r.call(w,i)&&(g=w);var j=v.prototype=x.prototype=Object.create(g);function k(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(o,i,a,s){var l=u(e[o],e,i);if("throw"!==l.type){var c=l.arg,d=c.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(d).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(l.arg)}var o;this._invoke=function(e,r){function i(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(i,i):i()}}function C(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,C(e,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var o=u(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,m;var i=o.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function N(e){if(e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}return{next:A}}function A(){return{value:t,done:!0}}return y.prototype=v,l(j,"constructor",v),l(v,"constructor",y),y.displayName=l(v,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,l(e,s,"GeneratorFunction")),e.prototype=Object.create(j),e},e.awrap=function(e){return{__await:e}},k(S.prototype),l(S.prototype,a,(function(){return this})),e.AsyncIterator=S,e.async=function(t,n,r,o,i){void 0===i&&(i=Promise);var a=new S(c(t,n,r,o),i);return e.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(j),l(j,s,"Generator"),l(j,i,(function(){return this})),l(j,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=N,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(E),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return s.type="throw",s.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(l&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:N(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}},185:e=>{e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach((function(t){e.addRange(t)})),t&&t.focus()}}},363:e=>{"use strict";e.exports=React}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.m=t,e=[],r.O=(t,n,o,i)=>{if(!n){var a=1/0;for(u=0;u<e.length;u++){for(var[n,o,i]=e[u],s=!0,l=0;l<n.length;l++)(!1&i||a>=i)&&Object.keys(r.O).every((e=>r.O[e](n[l])))?n.splice(l--,1):(s=!1,i<a&&(a=i));if(s){e.splice(u--,1);var c=o();void 0!==c&&(t=c)}}return t}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,o,i]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={245:0,506:0,551:0};r.O.j=t=>0===e[t];var t=(t,n)=>{var o,i,[a,s,l]=n,c=0;if(a.some((t=>0!==e[t]))){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(l)var u=l(r)}for(t&&t(n);c<a.length;c++)i=a[c],r.o(e,i)&&e[i]&&e[i][0](),e[a[c]]=0;return r.O(u)},n=self.webpackChunk=self.webpackChunk||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),r.O(void 0,[506,551],(()=>r(813))),r.O(void 0,[506,551],(()=>r(716)));var o=r.O(void 0,[506,551],(()=>r(965)));o=r.O(o)})();
lib/vendor/redux-framework/extendify-sdk/public/build/extendify.js.LICENSE.txt ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ object-assign
3
+ (c) Sindre Sorhus
4
+ @license MIT
5
+ */
6
+
7
+ /*!
8
+ Copyright (c) 2018 Jed Watson.
9
+ Licensed under the MIT License (MIT), see
10
+ http://jedwatson.github.io/classnames
11
+ */
12
+
13
+ /** @license React v17.0.2
14
+ * react-jsx-runtime.production.min.js
15
+ *
16
+ * Copyright (c) Facebook, Inc. and its affiliates.
17
+ *
18
+ * This source code is licensed under the MIT license found in the
19
+ * LICENSE file in the root directory of this source tree.
20
+ */
lib/vendor/redux-framework/extendify-sdk/public/editorplus/editorplus.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (()=>{if(window._wpLoadBlockEditor)var e=window.wp.data.subscribe((function(){var t="editorplus-template.php"===window.wp.data.select("core/editor").getEditedPostAttribute("template"),o=document.querySelector(".edit-post-visual-editor__post-title-wrapper"),r=document.querySelector(".editor-styles-wrapper");o&&r&&(t?(Promise.resolve().then((function(){return o.style.display="none"})),r.style.paddingTop="0",r.style.backgroundColor="#ffffff"):(o.style.removeProperty("display"),r.style.removeProperty("padding-top"),r.style.removeProperty("background-color")),e())}))})();
lib/vendor/redux-framework/extendify-sdk/readme.txt ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Extendify ===
2
+ Contributors: extendify, richtabor, kbat82, clubkert, arturgrabo
3
+ Tags: page builder, editor, patterns, drag-and-drop, blocks, visual editor, wysiwyg, design, website builder, landing page builder, front-end builder
4
+ Requires at least: 5.4
5
+ Tested up to: 5.9.0
6
+ Stable tag: 0.3.1
7
+ Requires PHP: 5.6
8
+ License: GPLv2
9
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ Extendify is the platform of site design and creation tools for people that want to build a beautiful WordPress website with a library of patterns and full page layouts for the Gutenberg block editor.
12
+
13
+ Make a beautiful WordPress website easier and faster than ever before with Extendify's library of Gutenberg block patterns, templates, and page layouts for Gutenberg.
14
+
15
+ = A library of Gutenberg block patterns, templates, and layouts =
16
+ Our library of reusable website block patterns, templates, and full page layouts can be assembled to rapidly build beautiful websites or add to existing ones. These well-designed templates enable you to drag, drop and publish in WordPress, without a single line of code.
17
+
18
+ = Core Gutenberg blocks =
19
+ Get beautiful patterns and layouts without the added maintenance of third-party blocks or block collections, as our Gutenberg block patterns are made with core WordPress blocks whenever possible.
20
+
21
+ = Built for your theme =
22
+ Extendify is a theme-agnostic design experience platform that works with your Gutenberg-friendly WordPress theme or Block Theme — instantly leveling-up your editing and publishing flow today. If you change your theme, colors, typography, or any other element, your Extendify Gutenberg block patterns and full page layouts will adapt to the new design.
23
+
24
+ Below is a partial list of themes that are fully supported and work great with Extendify:
25
+
26
+ * GeneratePress
27
+ * Neve
28
+ * Genesis
29
+ * Kadence
30
+ * Storefront
31
+ * Blocksy
32
+ * Blockbase
33
+ * Tove
34
+ * Armando
35
+ * Hansen
36
+ * Ono
37
+ * Bricksy
38
+ * Naledi
39
+ * Clove
40
+ * Twenty Twenty-Two
41
+ * Twenty Twenty-One
42
+ * Twenty Twenty
43
+ * Twenty Nineteen
44
+
45
+
46
+ = Site Types =
47
+ Extendify has tons of Gutenberg block patterns for all sorts of site types. Whether you’re publishing a site for a yoga studio, restaurant, dentist, or lawyer, select your site type in the library and see a curated selection of Gutenberg block patterns and full page layouts — with industry-specific images and copy.
48
+
49
+ = Block Pattern Types =
50
+ Choose from Gutenberg block pattern types for every part of your website, including:
51
+
52
+ * About page patterns
53
+ * Call to action patterns
54
+ * Feature patterns
55
+ * Gallery patterns
56
+ * Headline patterns
57
+ * Hero patterns
58
+ * Team patterns
59
+ * Text patterns
60
+
61
+ = Layouts =
62
+ Layouts are a full collection of Gutenberg block patterns that are put together in effective and compelling page templates. By selecting the “Layouts” tab at the top of the library, you’ll see the beautiful full page templates that you can then add to your site.
63
+
64
+ = Free Imports =
65
+ Users gets 5 free imports per site each calendar month. Free imports can be used with base Gutenberg block patterns, templates, and layouts. You can publish and use these elements on your site without a subscription to Extendify.
66
+
67
+ = Extendify Pro =
68
+ Upgrade to [Extendify Pro](https://extendify.com/pricing/) for unlimited access to the full library of beautiful Gutenberg block patterns, templates, and layouts. Extendify Pro includes access to our "Pro" patterns and layouts. Users can import any Gutenberg block patterns, templates, and layouts they wish and continue using them on their site forever. A subscription is not required for your Gutenberg block patterns, templates, and layouts to continue to work perfectly on your site.
69
+
70
+ = Like Extendify? =
71
+ - Follow us on [Twitter](https://www.twitter.com/extendifyinc).
72
+ - Rate us on [WordPress](https://wordpress.org/support/plugin/extendify/reviews/?filter=5/#new-post) :)
73
+
74
+ = Privacy =
75
+ Extendify is a SaaS (software as a service) connector plugin that uses a custom API to fetch block patterns and page layouts from our servers. API requests are only made when a user clicks on the Library button. In order to provide and improve this service, Extendify passes site data along with an API request, including:
76
+
77
+ * Browser
78
+ * Referring site
79
+ * Category selection
80
+ * WP language
81
+ * Active theme
82
+ * Active plugins
83
+ * Anonymized UUID
84
+ * Anonymized IP address
85
+
86
+ By activating the Extendify plugin and accessing the library, you agree to our [privacy policy](https://extendify.com/privacy-policy) and [terms of service](https://extendify.com/terms-of-service).
87
+
88
+ == Installation ==
89
+
90
+ 1. Install using the WordPress plugin installer, or extract the zip file and drop the contents into the `wp-content/plugins/` directory of your WordPress site.
91
+ 2. Activate the plugin through the 'Plugins' menu in WordPress.
92
+ 3. Edit or create a new page on your site
93
+ 4. Press the 'Library' button at the top left of the editor header
94
+ 5. Browse and import beautiful patterns and full page layouts; click one to add it directly to the page.
95
+
96
+ For documentation and tutorials, read our [guides](https://extendify.com/guides/?utm_source=wp-repo&utm_medium=link&utm_campaign=readme).
97
+
98
+ == Frequently Asked Questions ==
99
+
100
+ **Can I use Extendify with any theme?**
101
+ Yes! You can create a beautiful site in just a few clicks with just about any Gutenberg-friendly WordPress theme.
102
+
103
+ **Can I use Extendify with WooCommerce?**
104
+ Yes! Extendify is compatible with WooCommerce. You’ll need to install and configure WooCommerce separately to set up eCommerce functionality.
105
+
106
+ **Is Extendify free?**
107
+ Extendify is a free plugin available through the WordPress.org directory that allows users to extend the power of the Gutenberg Block Editor. Each user receives a limited number of imports completely free. We offer a paid subscription for folks who want unlimited access to all of our beautiful patterns and page layouts.
108
+
109
+ **What is Extendify Pro?**
110
+ Extendify Pro gives you unlimited access to the entire library of our patterns and page layouts, without restrictions.
111
+
112
+ **Will Extendify slow down my website?**
113
+ Nope! Extendify imports lightweight block-based content that is served directly from your WordPress site. Our templates use the latest WordPress technologies, leveraging the best that Gutenberg has to offer, without any of the bloat of traditional page builders.
114
+
115
+ == Screenshots ==
116
+
117
+ 1. Select a site type/industry to use patterns with images and copy relevent to you
118
+ 2. Quickly open the Extendify library with the Pattern Library block
119
+ 3. The Extendify library, as seen with the Twenty Twenty Two block theme
120
+
121
+ == Changelog ==
122
+
123
+ = 0.3.1 - 2022-01-26 =
124
+ - Add singular value when import count is 1
125
+ - Remove destructuring within block filters
126
+ - Fix typo in setTimeout function name
127
+
128
+ = 0.3.0 - 2022-01-25 =
129
+ - Improve layout rendering performance
130
+ - Improve utility styles to better support WordPress 5.9
131
+ - Add fallback for blurred background in Firefox
132
+ - Add refresh screen when user is idle after 10 minutes
133
+ - Fix missing property check
134
+
135
+ = 0.2.0 - 2022-01-13 =
136
+ - Add initial support for pro patterns
137
+ - Improve pattern loading speed
138
+ - Improve library header toolbar button
139
+ - Improve multi-site support
140
+ - Fix excess blockGap on full/wide blocks with WP 5.9
141
+
142
+ = 0.1.0 - 2022-01-06 =
143
+ * Add null check on import position
144
+ * Add support for importing patterns to a specific location
145
+ * Add `/extendify` slash command to open the library
146
+ * Add preview optimizations
147
+ * Add check for live preview visibility
148
+ * Fix pattern display bug with TT1 CSS Grid galleries
lib/vendor/redux-framework/extendify-sdk/routes/api.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Api routes
4
+ */
5
+
6
+ if (!defined('ABSPATH')) {
7
+ die('No direct access.');
8
+ }
9
+
10
+ use Extendify\Library\ApiRouter;
11
+ use Extendify\Library\Controllers\AuthController;
12
+ use Extendify\Library\Controllers\MetaController;
13
+ use Extendify\Library\Controllers\PingController;
14
+ use Extendify\Library\Controllers\UserController;
15
+ use Extendify\Library\Controllers\PluginController;
16
+ use Extendify\Library\Controllers\SiteSettingsController;
17
+ use Extendify\Library\Controllers\TaxonomyController;
18
+ use Extendify\Library\Controllers\TemplateController;
19
+
20
+ \add_action(
21
+ 'rest_api_init',
22
+ function () {
23
+ ApiRouter::get('/active-plugins', [PluginController::class, 'active']);
24
+ ApiRouter::get('/plugins', [PluginController::class, 'index']);
25
+ ApiRouter::post('/plugins', [PluginController::class, 'install']);
26
+
27
+ ApiRouter::get('/taxonomies', [TaxonomyController::class, 'index']);
28
+
29
+ ApiRouter::post('/templates', [TemplateController::class, 'index']);
30
+ ApiRouter::post('/templates/(?P<template_id>[a-zA-Z0-9-]+)', [TemplateController::class, 'ping']);
31
+
32
+ ApiRouter::get('/user', [UserController::class, 'show']);
33
+ ApiRouter::post('/user', [UserController::class, 'store']);
34
+ ApiRouter::get('/user-meta', [UserController::class, 'meta']);
35
+ ApiRouter::get('/max-free-imports', [UserController::class, 'maxImports']);
36
+
37
+ ApiRouter::post('/register-mailing-list', [UserController::class, 'mailingList']);
38
+
39
+ ApiRouter::post('/register', [AuthController::class, 'register']);
40
+ ApiRouter::post('/login', [AuthController::class, 'login']);
41
+
42
+ ApiRouter::get('/meta-data', [MetaController::class, 'getAll']);
43
+ ApiRouter::post('/simple-ping', [PingController::class, 'ping']);
44
+
45
+ ApiRouter::get('/site-settings', [SiteSettingsController::class, 'show']);
46
+ ApiRouter::post('/site-settings', [SiteSettingsController::class, 'store']);
47
+ }
48
+ );
lib/vendor/redux-framework/extendify-sdk/src/ExtendifyLibrary.js ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useCallback, useState } from '@wordpress/element'
2
+ import { useGlobalStore } from './state/GlobalState'
3
+ import { useUserStore } from './state/User'
4
+ import { useTemplatesStore } from './state/Templates'
5
+ import MainWindow from './pages/MainWindow'
6
+ import './utility-control'
7
+ import useTaxonomies from './hooks/useTaxonomies'
8
+ import { General as GeneralApi } from './api/General'
9
+
10
+ export default function ExtendifyLibrary({ show = false }) {
11
+ const open = useGlobalStore((state) => state.open)
12
+ const setOpen = useGlobalStore((state) => state.setOpen)
13
+ const [ready, setReady] = useState(false)
14
+ const showLibrary = useCallback(() => setOpen(true), [setOpen])
15
+ const hideLibrary = useCallback(() => setOpen(false), [setOpen])
16
+ const initTemplateData = useTemplatesStore(
17
+ (state) => state.initTemplateData,
18
+ )
19
+
20
+ // When the uuid of the user comes back from the database, we can
21
+ // assume that the state object is ready. This is important to check
22
+ // as the library may be "open" when loaded, but not ready.
23
+ const userStoreReady = useUserStore((state) => state.uuid.length > 0)
24
+ const templatesStoreReady = useTemplatesStore(
25
+ (state) => Object.keys(state.taxonomyDefaultState).length > 0,
26
+ )
27
+ useTaxonomies(open)
28
+
29
+ useEffect(() => {
30
+ if (userStoreReady && templatesStoreReady) {
31
+ initTemplateData()
32
+ setReady(true)
33
+ }
34
+ }, [userStoreReady, templatesStoreReady, initTemplateData])
35
+
36
+ useEffect(() => {
37
+ show && setOpen(true)
38
+ }, [show, setOpen])
39
+
40
+ useEffect(() => {
41
+ GeneralApi.metaData().then((data) => {
42
+ useGlobalStore.setState({
43
+ metaData: data,
44
+ })
45
+ })
46
+ }, [])
47
+
48
+ // Let the visibility to be controlled from outside the application
49
+ useEffect(() => {
50
+ window.addEventListener('extendify::open-library', showLibrary)
51
+ window.addEventListener('extendify::close-library', hideLibrary)
52
+ return () => {
53
+ window.removeEventListener('extendify::open-library', showLibrary)
54
+ window.removeEventListener('extendify::close-library', hideLibrary)
55
+ }
56
+ }, [hideLibrary, showLibrary])
57
+
58
+ if (!ready) {
59
+ return null
60
+ }
61
+ return <MainWindow />
62
+ }
lib/vendor/redux-framework/extendify-sdk/src/api/General.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useUserStore } from '../state/User'
2
+ import { Axios as api } from './axios'
3
+
4
+ export const General = {
5
+ metaData() {
6
+ return api.get('meta-data')
7
+ },
8
+ ping(action) {
9
+ return api.post('simple-ping', {
10
+ action,
11
+ sdk_partner: useUserStore.getState()?.sdkPartner ?? '',
12
+ })
13
+ },
14
+ }
lib/vendor/redux-framework/extendify-sdk/src/api/Plugins.js ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Axios as api } from './axios'
2
+
3
+ export const Plugins = {
4
+ getInstalled() {
5
+ return api.get('plugins')
6
+ },
7
+ installAndActivate(plugins = []) {
8
+ const formData = new FormData()
9
+ formData.append('plugins', JSON.stringify(plugins))
10
+ return api.post('plugins', formData, {
11
+ headers: {
12
+ 'Content-Type': 'multipart/form-data',
13
+ },
14
+ })
15
+ },
16
+ getActivated() {
17
+ return api.get('active-plugins')
18
+ },
19
+ }
lib/vendor/redux-framework/extendify-sdk/src/api/SiteSettings.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Axios as api } from './axios'
2
+
3
+ export const SiteSettings = {
4
+ getData() {
5
+ return api.get('site-settings')
6
+ },
7
+ setData(data) {
8
+ const formData = new FormData()
9
+ formData.append('data', JSON.stringify(data))
10
+ return api.post('site-settings', formData, {
11
+ headers: {
12
+ 'Content-Type': 'multipart/form-data',
13
+ },
14
+ })
15
+ },
16
+ }
lib/vendor/redux-framework/extendify-sdk/src/api/Taxonomies.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ import { Axios as api } from './axios'
2
+
3
+ export const Taxonomies = {
4
+ async get() {
5
+ return await api.get('taxonomies')
6
+ },
7
+ }
lib/vendor/redux-framework/extendify-sdk/src/api/Templates.js ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Axios as api } from './axios'
2
+ import { useUserStore } from '../state/User'
3
+
4
+ let count = 0
5
+
6
+ export const Templates = {
7
+ async get(searchParams, options = {}) {
8
+ count++
9
+ const defaultpageSize = searchParams.type === 'pattern' ? '8' : '4'
10
+ const taxonomyType =
11
+ searchParams.type === 'pattern' ? 'patternType' : 'layoutType'
12
+ const args = Object.assign(
13
+ {
14
+ filterByFormula: prepareFilterFormula(
15
+ searchParams,
16
+ taxonomyType,
17
+ ),
18
+ pageSize: defaultpageSize,
19
+ categories: searchParams.taxonomies,
20
+ search: searchParams.search,
21
+ type: searchParams.type,
22
+ offset: '',
23
+ initial: count === 1,
24
+ request_count: count,
25
+ sdk_partner: useUserStore.getState()?.sdkPartner ?? '',
26
+ },
27
+ options,
28
+ )
29
+ return await api.post('templates', args)
30
+ },
31
+
32
+ // TODO: Refactor this later to combine the following three
33
+ maybeImport(template) {
34
+ return api.post(`templates/${template.id}`, {
35
+ template_id: template?.id,
36
+ maybe_import: true,
37
+ type: template.fields?.type,
38
+ pageSize: '1',
39
+ template_name: template.fields?.title,
40
+ })
41
+ },
42
+ import(template) {
43
+ return api.post(`templates/${template.id}`, {
44
+ template_id: template.id,
45
+ imported: true,
46
+ basePattern:
47
+ template.fields?.basePattern ??
48
+ template.fields?.baseLayout ??
49
+ '',
50
+ type: template.fields.type,
51
+ pageSize: '1',
52
+ template_name: template.fields?.title,
53
+ })
54
+ },
55
+ }
56
+
57
+ const prepareFilterFormula = ({ taxonomies }, type) => {
58
+ const siteType = taxonomies?.siteType?.slug?.length
59
+ ? taxonomies.siteType.slug
60
+ : 'default'
61
+ const formula = [
62
+ `{type}="${type.replace('Type', '')}"`,
63
+ `{siteType}="${siteType}"`,
64
+ ]
65
+ if (taxonomies[type]?.slug) {
66
+ formula.push(`{${type}}="${taxonomies[type].slug}"`)
67
+ }
68
+ return `AND(${formula.join(', ')})`.replace(/\r?\n|\r/g, '')
69
+ }
lib/vendor/redux-framework/extendify-sdk/src/api/User.js ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Axios as api } from './axios'
2
+
3
+ export const User = {
4
+ getData() {
5
+ return api.get('user')
6
+ },
7
+ getMeta(key) {
8
+ return api.get('user-meta', {
9
+ params: {
10
+ key,
11
+ },
12
+ })
13
+ },
14
+ authenticate(email, key) {
15
+ const formData = new FormData()
16
+ formData.append('email', email)
17
+ formData.append('key', key)
18
+ return api.post('login', formData, {
19
+ headers: {
20
+ 'Content-Type': 'multipart/form-data',
21
+ },
22
+ })
23
+ },
24
+ register(email) {
25
+ const formData = new FormData()
26
+ formData.append('data', email)
27
+ return api.post('register', formData, {
28
+ headers: {
29
+ 'Content-Type': 'multipart/form-data',
30
+ },
31
+ })
32
+ },
33
+ setData(data) {
34
+ const formData = new FormData()
35
+ formData.append('data', JSON.stringify(data))
36
+ return api.post('user', formData, {
37
+ headers: {
38
+ 'Content-Type': 'multipart/form-data',
39
+ },
40
+ })
41
+ },
42
+ registerMailingList(email) {
43
+ const formData = new FormData()
44
+ formData.append('email', email)
45
+ return api.post('register-mailing-list', formData, {
46
+ headers: {
47
+ 'Content-Type': 'multipart/form-data',
48
+ },
49
+ })
50
+ },
51
+ allowedImports() {
52
+ return api.get('max-free-imports')
53
+ },
54
+ }
lib/vendor/redux-framework/extendify-sdk/src/api/axios.js ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import axios from 'axios'
2
+ import { useUserStore } from '../state/User'
3
+
4
+ const Axios = axios.create({
5
+ baseURL: window.extendifyData.root,
6
+ headers: {
7
+ 'X-WP-Nonce': window.extendifyData.nonce,
8
+ 'X-Requested-With': 'XMLHttpRequest',
9
+ 'X-Extendify': true,
10
+ },
11
+ })
12
+
13
+ function findResponse(response) {
14
+ return Object.prototype.hasOwnProperty.call(response, 'data')
15
+ ? response.data
16
+ : response
17
+ }
18
+
19
+ function handleErrors(error) {
20
+ if (!error.response) {
21
+ return
22
+ }
23
+ console.error(error.response)
24
+ // TODO: add a global error message system
25
+ return Promise.reject(findResponse(error.response))
26
+ }
27
+
28
+ function addDefaults(request) {
29
+ const userState = useUserStore.getState()
30
+ const remainingImports = userState.apiKey
31
+ ? 'unlimited'
32
+ : userState.remainingImports()
33
+ if (request.data) {
34
+ request.data.remaining_imports = remainingImports
35
+ request.data.entry_point = useUserStore.getState().entryPoint
36
+ request.data.total_imports = useUserStore.getState().imports
37
+ }
38
+ return request
39
+ }
40
+
41
+ function checkDevMode(request) {
42
+ request.headers['X-Extendify-Dev-Mode'] =
43
+ window.location.search.indexOf('DEVMODE') > -1
44
+ request.headers['X-Extendify-Local-Mode'] =
45
+ window.location.search.indexOf('LOCALMODE') > -1
46
+ return request
47
+ }
48
+
49
+ function checkForSoftError(response) {
50
+ if (Object.prototype.hasOwnProperty.call(response, 'soft_error')) {
51
+ window.dispatchEvent(
52
+ new CustomEvent('extendify::softerror-encountered', {
53
+ detail: response.soft_error,
54
+ bubbles: true,
55
+ }),
56
+ )
57
+ }
58
+ return response
59
+ }
60
+
61
+ Axios.interceptors.response.use(
62
+ (response) => checkForSoftError(findResponse(response)),
63
+ (error) => handleErrors(error),
64
+ )
65
+
66
+ // TODO: setup a pipe function instead of this nested pattern
67
+ Axios.interceptors.request.use(
68
+ (request) => checkDevMode(addDefaults(request)),
69
+ (error) => error,
70
+ )
71
+
72
+ export { Axios }
lib/vendor/redux-framework/extendify-sdk/src/app.css ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Adding CSS classes should be done with consideration and rarely */
2
+ @tailwind base;
3
+ @tailwind components;
4
+ @tailwind utilities;
5
+
6
+ .extendify {
7
+ --tw-ring-inset: var(--tw-empty, /*!*/ /*!*/);
8
+ --tw-ring-offset-width: 0px;
9
+ --tw-ring-offset-color: transparent;
10
+ --tw-ring-color: var(--wp-admin-theme-color);
11
+ }
12
+
13
+ .extendify *,
14
+ .extendify *:after,
15
+ .extendify *:before {
16
+ box-sizing: border-box;
17
+ border: 0 solid #e5e7eb;
18
+ }
19
+ .extendify .button-focus {
20
+ @apply focus:ring-wp focus:ring-wp-theme-500 outline-none focus:shadow-none;
21
+ }
22
+ .extendify select.button-focus,
23
+ .extendify input.button-focus {
24
+ @apply focus:border-transparent focus:outline-none focus:shadow-none;
25
+ }
26
+
27
+ .button-extendify-main {
28
+ @apply bg-extendify-main button-focus cursor-pointer transition duration-200 p-1.5 px-3 text-white hover:text-white no-underline hover:bg-extendify-main-dark active:bg-gray-900 active:text-white focus:text-white whitespace-nowrap rounded text-base;
29
+ }
30
+ #extendify-search-input:focus ~ svg,
31
+ #extendify-search-input:not(:placeholder-shown) ~ svg {
32
+ @apply hidden;
33
+ }
34
+ #extendify-search-input::-webkit-textfield-decoration-container {
35
+ @apply mr-3;
36
+ }
37
+
38
+ /* WP tweaks and overrides */
39
+ .extendify .components-panel__body > .components-panel__body-title {
40
+ /* Override WP aggressive boder:none and border:0 */
41
+ border-bottom: 1px solid #e0e0e0 !important;
42
+ @apply bg-transparent;
43
+ }
44
+ .extendify .components-modal__header {
45
+ @apply border-b border-gray-300;
46
+ }
47
+
48
+ /* A shim to ensure live previews w/o iframes display properly */
49
+ .block-editor-block-preview__content
50
+ .block-editor-block-list__layout.is-root-container
51
+ > .ext {
52
+ @apply max-w-none;
53
+ }
54
+
55
+ /* Ensure our patterns display fullwidth on old themes + < 5.9 */
56
+ .block-editor-block-list__layout.is-root-container
57
+ .ext.block-editor-block-list__block {
58
+ @apply max-w-full;
59
+ }
60
+
61
+ .block-editor-block-preview__content-iframe
62
+ .block-editor-block-list__layout.is-root-container
63
+ .ext.block-editor-block-list__block {
64
+ @apply max-w-none;
65
+ }
66
+
67
+ .extendify .block-editor-block-preview__container {
68
+ /* no important */
69
+ @apply opacity-0;
70
+ animation: extendifyOpacityIn 200ms cubic-bezier(0.694, 0, 0.335, 1)
71
+ forwards 0ms;
72
+ }
73
+
74
+ /* Remove excess margin for top-level patterns on < 5.9 */
75
+ .extendify .is-root-container > [data-block],
76
+ .extendify .is-root-container > [data-align="full"],
77
+ .extendify .is-root-container > [data-align="full"] > .wp-block {
78
+ @apply my-0 !important;
79
+ }
80
+
81
+ /* Remove excess margin for top-level patterns on 5.9+ */
82
+ .editor-styles-wrapper:not(.block-editor-writing-flow)
83
+ > .is-root-container
84
+ :where(.wp-block)[data-align="full"] {
85
+ @apply my-0 !important;
86
+ }
87
+
88
+ @keyframes extendifyOpacityIn {
89
+ 0% {
90
+ opacity: 0;
91
+ }
92
+ 100% {
93
+ opacity: 1;
94
+ }
95
+ }
96
+
97
+ .extendify .with-light-shadow::after {
98
+ content: "";
99
+ @apply absolute inset-0 border-0 shadow-inner-sm;
100
+ }
101
+ .extendify .with-light-shadow:hover::after {
102
+ @apply shadow-inner-md;
103
+ }
104
+
105
+ /* Fallback as FireFox does not support backdrop filter */
106
+ @supports not (
107
+ (-webkit-backdrop-filter: saturate(2) blur(24px)) or
108
+ (backdrop-filter: saturate(2) blur(24px))
109
+ ) {
110
+ div.extendify .bg-extendify-transparent-white {
111
+ @apply bg-gray-100;
112
+ }
113
+ }
114
+
115
+ /* Style contentType/pageType control in sidebar */
116
+ .components-panel__body.ext-type-control .components-panel__body-toggle {
117
+ @apply pl-0 pr-0;
118
+ }
119
+
120
+ .components-panel__body.ext-type-control .components-panel__body-title {
121
+ @apply m-0 border-b-0 px-5;
122
+ }
123
+
124
+ .components-panel__body.ext-type-control
125
+ .components-panel__body-title
126
+ .components-button {
127
+ @apply m-0 border-b-0 text-extendify-gray py-2 uppercase font-medium text-xss;
128
+ }
129
+
130
+ .components-panel__body.ext-type-control
131
+ .components-button
132
+ .components-panel__arrow {
133
+ @apply right-0 text-extendify-gray;
134
+ }
135
+
136
+ .extendify .animate-pulse {
137
+ animation: extendifyPulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
138
+ }
139
+
140
+ @keyframes extendifyPulse {
141
+ 0%,
142
+ 100% {
143
+ opacity: 1;
144
+ }
145
+ 50% {
146
+ opacity: 0.5;
147
+ }
148
+ }
149
+
150
+ .is-template--inactive::before,
151
+ .is-template--in-review::before {
152
+ content: "";
153
+ @apply absolute w-full h-full top-0 left-0 bottom-0 right-0 z-40 border-solid border-8 border-extendify-secondary;
154
+ }
155
+
156
+ .is-template--inactive::before {
157
+ border-color: #fdeab6;
158
+ }
lib/vendor/redux-framework/extendify-sdk/src/app.js ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import ExtendifyLibrary from './ExtendifyLibrary'
2
+ import { render } from '@wordpress/element'
3
+ import { useWantedTemplateStore } from './state/Importing'
4
+ import { injectTemplateBlocks } from './util/templateInjection'
5
+ import { rawHandler } from '@wordpress/blocks'
6
+ import './buttons'
7
+ import './listeners'
8
+ import './blocks/blocks'
9
+
10
+ window._wpLoadBlockEditor &&
11
+ window.wp.domReady(() => {
12
+ // Insert into the editor (note: Modal opens in a portal)
13
+ const extendify = Object.assign(document.createElement('div'), {
14
+ id: 'extendify-root',
15
+ })
16
+ document.body.append(extendify)
17
+ render(<ExtendifyLibrary />, extendify)
18
+
19
+ // Add an extra div to use for utility modals, etc
20
+ extendify.parentNode.insertBefore(
21
+ Object.assign(document.createElement('div'), {
22
+ id: 'extendify-util',
23
+ }),
24
+ extendify.nextSibling,
25
+ )
26
+
27
+ // Insert a template on page load if it exists in localstorage
28
+ // Note 6/28/21 - this was moved to after the render to possibly
29
+ // fix a bug where imports would go from 3->0.
30
+ if (useWantedTemplateStore.getState().importOnLoad) {
31
+ const template = useWantedTemplateStore.getState().wantedTemplate
32
+ setTimeout(() => {
33
+ injectTemplateBlocks(
34
+ rawHandler({ HTML: template.fields.code }),
35
+ template,
36
+ )
37
+ }, 0)
38
+ }
39
+
40
+ // Reset template state after checking if we need an import
41
+ useWantedTemplateStore.setState({
42
+ importOnLoad: false,
43
+ wantedTemplate: {},
44
+ })
45
+ })
lib/vendor/redux-framework/extendify-sdk/src/blocks/blocks.js ADDED
@@ -0,0 +1 @@
 
1
+ import './library/block.js'
lib/vendor/redux-framework/extendify-sdk/src/blocks/library/block.js ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __, sprintf } from '@wordpress/i18n'
2
+ import { registerBlockType } from '@wordpress/blocks'
3
+ import { useDispatch } from '@wordpress/data'
4
+ import { useEffect } from '@wordpress/element'
5
+ import { brandBlockIcon } from '../../components/icons'
6
+ import { setModalVisibility } from '../../util/general'
7
+ import metadata from './block.json'
8
+
9
+ export const openModal = (source) => setModalVisibility(source, 'open')
10
+
11
+ registerBlockType(metadata, {
12
+ icon: brandBlockIcon,
13
+ example: {
14
+ attributes: {
15
+ preview: window.extendifyData.asset_path + '/preview.png',
16
+ },
17
+ },
18
+ edit: function Edit({ clientId, attributes }) {
19
+ const { removeBlock } = useDispatch('core/block-editor')
20
+ useEffect(() => {
21
+ if (attributes.preview) {
22
+ return
23
+ }
24
+ openModal('library-block')
25
+ removeBlock(clientId)
26
+ }, [clientId, attributes, removeBlock])
27
+ return (
28
+ <img
29
+ style={{ display: 'block', maxWidth: '100%' }}
30
+ src={attributes.preview}
31
+ alt={sprintf(
32
+ __('%s Pattern Library', 'extendify'),
33
+ 'Extendify',
34
+ )}
35
+ />
36
+ )
37
+ },
38
+ })
lib/vendor/redux-framework/extendify-sdk/src/blocks/library/block.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
3
+ "apiVersion": 2,
4
+ "name": "extendify/library",
5
+ "title": "Pattern Library",
6
+ "category": "design",
7
+ "description": "Add block patterns and full page layouts with the Extendify Library.",
8
+ "keywords": ["pattern", "extendify", "library", "template", "layouts"],
9
+ "textdomain": "extendify",
10
+ "attributes": {
11
+ "preview": {
12
+ "type": "string"
13
+ }
14
+ }
15
+ }
lib/vendor/redux-framework/extendify-sdk/src/buttons.js ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { renderToString, render } from '@wordpress/element'
3
+ import { registerPlugin } from '@wordpress/plugins'
4
+ import { openModal } from './util/general'
5
+ import { PluginSidebarMoreMenuItem } from '@wordpress/edit-post'
6
+ import { Icon } from '@wordpress/icons'
7
+ import { brandMark } from './components/icons/'
8
+ import LibraryAccessModal from './components/LibraryAccessModal'
9
+
10
+ const openLibrary = (event) => {
11
+ openModal(
12
+ event.target.closest('[data-extendify-identifier]')?.dataset
13
+ ?.extendifyIdentifier,
14
+ )
15
+ }
16
+
17
+ // This returns true if the user object is null (Library never opened), or if it's enabled in the user settings
18
+ const isAdmin = () =>
19
+ window.extendifyData.user === null ||
20
+ window.extendifyData?.user?.state?.isAdmin
21
+ const isGlobalLibraryEnabled = () =>
22
+ window.extendifyData.sitesettings === null ||
23
+ window.extendifyData?.sitesettings?.state?.enabled
24
+ const isLibraryEnabled = () =>
25
+ window.extendifyData.user === null
26
+ ? isGlobalLibraryEnabled()
27
+ : window.extendifyData?.user?.state?.enabled
28
+
29
+ const mainButton = (
30
+ <div id="extendify-templates-inserter" className="extendify">
31
+ <button
32
+ style="padding:4px 12px; height: 34px;"
33
+ type="button"
34
+ data-extendify-identifier="main-button"
35
+ id="extendify-templates-inserter-btn"
36
+ className="components-button bg-wp-theme-500 hover:bg-wp-theme-600 border-color-wp-theme-500 text-white ml-1">
37
+ <Icon icon={brandMark} size={24} className="-ml-1 mr-1" />
38
+ {__('Library', 'extendify')}
39
+ </button>
40
+ </div>
41
+ )
42
+
43
+ // Add the MAIN button when Gutenberg is available and ready
44
+ if (window._wpLoadBlockEditor) {
45
+ const finish = window.wp.data.subscribe(() => {
46
+ requestAnimationFrame(() => {
47
+ if (!isGlobalLibraryEnabled() && !isAdmin()) {
48
+ return
49
+ }
50
+
51
+ // Redundant extra check added because of a bug where the above check wasn't working
52
+ if (document.getElementById('extendify-templates-inserter-btn')) {
53
+ return
54
+ }
55
+ if (!document.querySelector('.edit-post-header-toolbar')) {
56
+ return
57
+ }
58
+ document
59
+ .querySelector('.edit-post-header-toolbar')
60
+ .insertAdjacentHTML('beforeend', renderToString(mainButton))
61
+ document
62
+ .getElementById('extendify-templates-inserter-btn')
63
+ .addEventListener('click', openLibrary)
64
+ if (!isLibraryEnabled()) {
65
+ document
66
+ .getElementById('extendify-templates-inserter-btn')
67
+ .classList.add('invisible')
68
+ }
69
+ finish()
70
+ })
71
+ })
72
+ }
73
+
74
+ // The CTA button inside patterns
75
+ if (window._wpLoadBlockEditor) {
76
+ const finish = window.wp.data.subscribe(() => {
77
+ requestAnimationFrame(() => {
78
+ // Redundant extra check added because of a bug where the above check wasn't working
79
+ if (!isGlobalLibraryEnabled() && !isAdmin()) {
80
+ return
81
+ }
82
+ if (!document.querySelector('[id$=patterns-view]')) {
83
+ return
84
+ }
85
+ if (document.getElementById('extendify-cta-button')) {
86
+ return
87
+ }
88
+ const ctaButton = (
89
+ <div>
90
+ <button
91
+ id="extendify-cta-button"
92
+ style="margin:1rem 1rem 0;width: calc(100% - 2rem);justify-content: center;"
93
+ data-extendify-identifier="patterns-cta"
94
+ className="components-button is-secondary">
95
+ {__(
96
+ 'Discover patterns in Extendify Library',
97
+ 'extendify',
98
+ )}
99
+ </button>
100
+ </div>
101
+ )
102
+ document
103
+ .querySelector('[id$=patterns-view]')
104
+ .insertAdjacentHTML('afterbegin', renderToString(ctaButton))
105
+ document
106
+ .getElementById('extendify-cta-button')
107
+ .addEventListener('click', openLibrary)
108
+ finish()
109
+ })
110
+ })
111
+ }
112
+
113
+ // This will add a button to enable or disable the library button
114
+ const LibraryEnableDisable = () => {
115
+ function setOpenSiteSettingsModal() {
116
+ const util = document.getElementById('extendify-util')
117
+ render(<LibraryAccessModal />, util)
118
+ }
119
+
120
+ return (
121
+ <>
122
+ <PluginSidebarMoreMenuItem
123
+ onClick={setOpenSiteSettingsModal}
124
+ icon={<Icon icon={brandMark} size={24} />}>
125
+ {' '}
126
+ {__('Extendify', 'extendify')}
127
+ </PluginSidebarMoreMenuItem>
128
+ </>
129
+ )
130
+ }
131
+
132
+ // Load this button always, which is used to enable or disable
133
+ window._wpLoadBlockEditor &&
134
+ registerPlugin('extendify-settings-enable-disable', {
135
+ render: LibraryEnableDisable,
136
+ })
lib/vendor/redux-framework/extendify-sdk/src/components/DevHelpers.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useState } from '@wordpress/element'
2
+ import { CopyToClipboard } from 'react-copy-to-clipboard'
3
+ import { __ } from '@wordpress/i18n'
4
+
5
+ /** Overlay for pattern import button */
6
+ export const DevButtonOverlay = ({ template }) => {
7
+ const [idText, setIdText] = useState(template.id)
8
+
9
+ useEffect(() => {
10
+ if (idText === template.id) return
11
+ setTimeout(() => setIdText(template.id), 1000)
12
+ }, [idText, template.id])
13
+
14
+ return (
15
+ <div className="group-hover:opacity-90 opacity-0 flex space-x-2 items-center mb-2 ml-2 absolute bottom-0 left-0 transition duration-200 ease-in-out z-50">
16
+ <CopyToClipboard
17
+ text={template.id}
18
+ onCopy={() => setIdText(__('Copied...', 'extendify'))}>
19
+ <button className="bg-white border border-black p-2 rounded-md shadow-md cursor-pointer">
20
+ {idText}
21
+ </button>
22
+ </CopyToClipboard>
23
+ <a
24
+ target="_blank"
25
+ className="bg-white border font-semibold border-black p-2 rounded-md shadow-md no-underline text-black"
26
+ href={`https://airtable.com/appn5PSl8wU6X70sG/tblviYevlV5fYAEH7/viwh0L1kHmXN7FIB9/${template.id}`}
27
+ rel="noreferrer">
28
+ {__('Edit', 'extendify')}
29
+ </a>
30
+ </div>
31
+ )
32
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/ImportCounter.js ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import classnames from 'classnames'
2
+ import { Icon } from '@wordpress/icons'
3
+ import { __, _n, sprintf } from '@wordpress/i18n'
4
+ import { useEffect } from '@wordpress/element'
5
+ import { alert, download } from './icons/'
6
+ import { useUserStore } from '../state/User'
7
+ import { User as UserApi } from '../api/User'
8
+ import { growthArrow } from './icons'
9
+
10
+ export const ImportCounter = () => {
11
+ const remainingImports = useUserStore((state) => state.remainingImports)
12
+ const allowedImports = useUserStore((state) => state.allowedImports)
13
+ const count = remainingImports()
14
+ const status = count > 0 ? 'has-imports' : 'no-imports'
15
+ const backgroundColor =
16
+ status === 'has-imports'
17
+ ? 'bg-extendify-main hover:bg-extendify-main-dark'
18
+ : 'bg-extendify-alert'
19
+ const icon = status === 'has-imports' ? download : alert
20
+
21
+ useEffect(() => {
22
+ if (!allowedImports) {
23
+ const fallback = 5
24
+ UserApi.allowedImports()
25
+ .then((allowedImports) => {
26
+ allowedImports = /^[1-9]\d*$/.test(allowedImports)
27
+ ? allowedImports
28
+ : fallback
29
+ useUserStore.setState({ allowedImports })
30
+ })
31
+ .catch(() =>
32
+ useUserStore.setState({ allowedImports: fallback }),
33
+ )
34
+ }
35
+ }, [allowedImports])
36
+
37
+ if (!allowedImports) {
38
+ return null
39
+ }
40
+
41
+ return (
42
+ <a
43
+ target="_blank"
44
+ rel="noreferrer"
45
+ className={classnames(
46
+ backgroundColor,
47
+ 'hidden sm:flex w-full no-underline button-focus text-sm justify-between py-3 px-4 text-white rounded',
48
+ )}
49
+ href={`https://www.extendify.com/pricing/?utm_source=${encodeURIComponent(
50
+ window.extendifyData.sdk_partner,
51
+ )}&utm_medium=library&utm_campaign=import-counter&utm_content=get-more&utm_term=${status}`}>
52
+ <div className="flex items-center space-x-2 no-underline text-xs">
53
+ <Icon icon={icon} size={14} />
54
+ <span>
55
+ {sprintf(
56
+ _n('%s Import', '%s Imports', count, 'extendify'),
57
+ count,
58
+ )}
59
+ </span>
60
+ </div>
61
+ <span className="text-white text-sm no-underline font-medium outline-none flex items-center">
62
+ {__('Get more', 'extendify')}
63
+ <Icon icon={growthArrow} size={24} className="-mr-1.5" />
64
+ </span>
65
+ </a>
66
+ )
67
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/ImportTemplateBlock.js ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import classNames from 'classnames'
2
+ import { useEffect, useState, useRef, useMemo } from '@wordpress/element'
3
+ import { __, sprintf } from '@wordpress/i18n'
4
+ import { BlockPreview } from '@wordpress/block-editor'
5
+ import { rawHandler } from '@wordpress/blocks'
6
+ import { AuthorizationCheck, Middleware } from '../middleware'
7
+ import { injectTemplateBlocks } from '../util/templateInjection'
8
+ import { useUserStore } from '../state/User'
9
+ import { useGlobalStore } from '../state/GlobalState'
10
+ import { Templates as TemplatesApi } from '../api/Templates'
11
+ import { useIsDevMode } from '../hooks/helpers'
12
+ import { DevButtonOverlay } from './DevHelpers'
13
+ import { NoImportModal } from './modals/NoImportModal'
14
+ import { ProModal } from './modals/ProModal'
15
+
16
+ const canImportMiddleware = Middleware([
17
+ 'NeedsRegistrationModal',
18
+ 'hasRequiredPlugins',
19
+ 'hasPluginsActivated',
20
+ ])
21
+
22
+ export function ImportTemplateBlock({ template }) {
23
+ const importButtonRef = useRef(null)
24
+ const once = useRef(false)
25
+ const hasAvailableImports = useUserStore(
26
+ (state) => state.hasAvailableImports,
27
+ )
28
+ const loggedIn = useUserStore((state) => state.apiKey.length)
29
+ const setOpen = useGlobalStore((state) => state.setOpen)
30
+ const pushModal = useGlobalStore((state) => state.pushModal)
31
+ const removeAllModals = useGlobalStore((state) => state.removeAllModals)
32
+ const blocks = useMemo(
33
+ () => rawHandler({ HTML: template.fields.code }),
34
+ [template.fields.code],
35
+ )
36
+ const [loaded, setLoaded] = useState(false)
37
+ const devMode = useIsDevMode()
38
+
39
+ const focusTrapInnerBlocks = () => {
40
+ if (once.current) return
41
+ once.current = true
42
+ Array.from(
43
+ importButtonRef.current.querySelectorAll(
44
+ 'a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])',
45
+ ),
46
+ ).forEach((el) => el.setAttribute('tabIndex', '-1'))
47
+ }
48
+
49
+ const importTemplates = async () => {
50
+ await canImportMiddleware.check(template)
51
+ AuthorizationCheck(canImportMiddleware)
52
+ .then(() => {
53
+ setTimeout(() => {
54
+ injectTemplateBlocks(blocks, template)
55
+ .then(() => removeAllModals())
56
+ .then(() => setOpen(false))
57
+ .then(() => canImportMiddleware.reset())
58
+ }, 100)
59
+ })
60
+ .catch(() => {})
61
+ }
62
+
63
+ const handleKeyDown = (event) => {
64
+ if (['Enter', 'Space', ' '].includes(event.key)) {
65
+ event.stopPropagation()
66
+ event.preventDefault()
67
+ importTemplate()
68
+ }
69
+ }
70
+
71
+ const importTemplate = () => {
72
+ // Make a note that they attempted to import
73
+ TemplatesApi.maybeImport(template)
74
+
75
+ if (template?.fields?.pro && !loggedIn) {
76
+ pushModal(<ProModal />)
77
+ return
78
+ }
79
+ if (!hasAvailableImports()) {
80
+ pushModal(<NoImportModal />)
81
+ return
82
+ }
83
+
84
+ importTemplates()
85
+ }
86
+
87
+ // Trigger resize event on the live previews to add
88
+ // Grammerly/Loom/etc compatability
89
+ // TODO: This can probably be removed after WP 5.9
90
+ useEffect(() => {
91
+ const rafIds = []
92
+ const timeouts = []
93
+ let rafId1, rafId2, rafId3, rafId4
94
+ rafId1 = window.requestAnimationFrame(() => {
95
+ rafId2 = window.requestAnimationFrame(() => {
96
+ importButtonRef.current
97
+ .querySelectorAll('iframe')
98
+ .forEach((frame) => {
99
+ const inner = frame.contentWindow.document.body
100
+ const rafId = window.requestAnimationFrame(() => {
101
+ const maybeRoot =
102
+ inner.querySelector('.is-root-container')
103
+ if (maybeRoot) {
104
+ const height = maybeRoot?.offsetHeight
105
+ if (height) {
106
+ rafId4 = window.requestAnimationFrame(
107
+ () => {
108
+ frame.style.height = height + 'px'
109
+ },
110
+ )
111
+ const id = window.setTimeout(() => {
112
+ frame.style.height = height + 'px'
113
+ }, 1000)
114
+ timeouts.push(id)
115
+ }
116
+ }
117
+ frame.contentWindow.dispatchEvent(
118
+ new Event('resize'),
119
+ )
120
+ })
121
+ rafIds.push(rafId)
122
+ })
123
+ rafId3 = window.requestAnimationFrame(() => {
124
+ window.dispatchEvent(new Event('resize'))
125
+ setLoaded(true)
126
+ })
127
+ })
128
+ })
129
+ return () => {
130
+ ;[...rafIds, rafId1, rafId2, rafId3, rafId4].forEach((id) =>
131
+ window.cancelAnimationFrame(id),
132
+ )
133
+ timeouts.forEach((id) => window.clearTimeout(id))
134
+ }
135
+ }, [])
136
+
137
+ return (
138
+ <div className="relative group">
139
+ <div
140
+ role="button"
141
+ tabIndex="0"
142
+ ref={importButtonRef}
143
+ aria-label={sprintf(
144
+ __('Press to import %s', 'extendify'),
145
+ template?.fields?.type,
146
+ )}
147
+ className="mb-6 md:mb-8 cursor-pointer button-focus"
148
+ onFocus={focusTrapInnerBlocks}
149
+ onClick={importTemplate}
150
+ onKeyDown={handleKeyDown}>
151
+ <div
152
+ className={classNames('with-light-shadow relative', {
153
+ [`is-template--${template.fields.status}`]:
154
+ template?.fields?.status && devMode,
155
+ })}>
156
+ <BlockPreview
157
+ blocks={blocks}
158
+ live={false}
159
+ viewportWidth={1400}
160
+ />
161
+ </div>
162
+ </div>
163
+ {/* Show dev info after the preview is loaded to trigger observer */}
164
+ {devMode && loaded && <DevButtonOverlay template={template} />}
165
+ {template?.fields?.pro && (
166
+ <div className="bg-white bg-wp-theme-500 border font-medium border-none absolute z-20 top-4 right-4 py-1 px-2.5 rounded-md shadow-sm no-underline text-white pointer-events-none">
167
+ {__('Pro', 'extendify')}
168
+ </div>
169
+ )}
170
+ </div>
171
+ )
172
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/LibraryAccessModal.js ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Modal } from '@wordpress/components'
2
+ import { unmountComponentAtNode, useState, useEffect } from '@wordpress/element'
3
+ import { ToggleControl } from '@wordpress/components'
4
+ import { __ } from '@wordpress/i18n'
5
+ import { useSelect } from '@wordpress/data'
6
+
7
+ import { useUserStore } from '../state/User'
8
+ import { useSiteSettingsStore } from '../state/SiteSettings'
9
+
10
+ const LibraryAccessModal = () => {
11
+ const isAdmin = useSelect((select) =>
12
+ select('core').canUser('create', 'users'),
13
+ )
14
+
15
+ const [libraryforMyself, setLibraryforMyself] = useState(
16
+ useUserStore((store) => store.enabled),
17
+ )
18
+ const [libraryforEveryone, setLibraryforEveryone] = useState(
19
+ useSiteSettingsStore((store) => store.enabled),
20
+ )
21
+
22
+ const closeModal = () => {
23
+ const util = document.getElementById('extendify-util')
24
+ unmountComponentAtNode(util)
25
+ }
26
+
27
+ useEffect(() => {
28
+ hideButton(!libraryforMyself)
29
+ }, [libraryforMyself])
30
+
31
+ function hideButton(state = true) {
32
+ const button = document.getElementById(
33
+ 'extendify-templates-inserter-btn',
34
+ )
35
+ if (!button) return
36
+ if (state) {
37
+ button.classList.add('invisible')
38
+ } else {
39
+ button.classList.remove('invisible')
40
+ }
41
+ }
42
+
43
+ async function saveUser(value) {
44
+ await useUserStore.setState({ enabled: value })
45
+ }
46
+
47
+ async function saveSetting(value) {
48
+ await useSiteSettingsStore.setState({ enabled: value })
49
+ }
50
+
51
+ async function saveToggle(state, type) {
52
+ if (type === 'global') {
53
+ await saveSetting(state)
54
+ } else {
55
+ await saveUser(state)
56
+ }
57
+ }
58
+
59
+ function handleToggle(type) {
60
+ if (type === 'global') {
61
+ setLibraryforEveryone((state) => {
62
+ saveToggle(!state, type)
63
+ return !state
64
+ })
65
+ } else {
66
+ setLibraryforMyself((state) => {
67
+ hideButton(!state)
68
+ saveToggle(!state, type)
69
+ return !state
70
+ })
71
+ }
72
+ }
73
+
74
+ return (
75
+ <Modal
76
+ title={__('Extendify Settings', 'extendify')}
77
+ onRequestClose={closeModal}>
78
+ <ToggleControl
79
+ label={
80
+ isAdmin
81
+ ? __('Enable the library for myself', 'extendify')
82
+ : __('Enable the library', 'extendify')
83
+ }
84
+ help={__(
85
+ 'Publish with hundreds of patterns & page layouts',
86
+ 'extendify',
87
+ )}
88
+ checked={libraryforMyself}
89
+ onChange={() => handleToggle('user')}
90
+ />
91
+
92
+ {isAdmin && (
93
+ <>
94
+ <br />
95
+ <ToggleControl
96
+ label={__(
97
+ 'Allow all users to publish with the library',
98
+ )}
99
+ help={__(
100
+ 'Everyone publishes with patterns & page layouts',
101
+ 'extendify',
102
+ )}
103
+ checked={libraryforEveryone}
104
+ onChange={() => handleToggle('global')}
105
+ />
106
+ </>
107
+ )}
108
+ </Modal>
109
+ )
110
+ }
111
+
112
+ export default LibraryAccessModal
lib/vendor/redux-framework/extendify-sdk/src/components/LoginInterface.js ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useUserStore } from '../state/User'
2
+ import { useState, useEffect, useRef } from '@wordpress/element'
3
+ import { User as UserApi } from '../api/User'
4
+ import { __ } from '@wordpress/i18n'
5
+ import classNames from 'classnames'
6
+ import { Spinner, Button } from '@wordpress/components'
7
+
8
+ import { Icon } from '@wordpress/icons'
9
+ import { user } from './icons/'
10
+ import { success as successIcon } from './icons/'
11
+ import { useIsDevMode } from '../hooks/helpers'
12
+
13
+ export default function LoginInterface({ actionCallback, initialFocus }) {
14
+ const loggedIn = useUserStore((state) => state.apiKey.length)
15
+ const [email, setEmail] = useState('')
16
+ const [apiKey, setApiKey] = useState('')
17
+ const [feedback, setFeedback] = useState('')
18
+ const [feedbackType, setFeedbackType] = useState('info')
19
+ const [isWorking, setIsWorking] = useState(false)
20
+ const [success, setSuccess] = useState(false)
21
+ const viewPatternsButtonRef = useRef(null)
22
+ const licenseKeyRef = useRef(null)
23
+ const devMode = useIsDevMode()
24
+
25
+ useEffect(() => {
26
+ setEmail(useUserStore.getState().email)
27
+ // This will reset the default error state to info
28
+ return () => setFeedbackType('info')
29
+ }, [])
30
+
31
+ useEffect(() => {
32
+ success && viewPatternsButtonRef?.current?.focus()
33
+ }, [success])
34
+
35
+ const logout = () => {
36
+ setApiKey('')
37
+ useUserStore.setState({ apiKey: '' })
38
+ setTimeout(() => {
39
+ licenseKeyRef?.current?.focus()
40
+ }, 0)
41
+ }
42
+
43
+ const confirmKey = async (event) => {
44
+ event.preventDefault()
45
+ setIsWorking(true)
46
+ setFeedback('')
47
+ const { token, error, exception, message } = await UserApi.authenticate(
48
+ email,
49
+ apiKey,
50
+ )
51
+
52
+ if (typeof message !== 'undefined') {
53
+ setFeedbackType('error')
54
+ setIsWorking(false)
55
+ setFeedback(
56
+ message.length
57
+ ? message
58
+ : 'Error: Are you interacting with the wrong server?',
59
+ )
60
+ return
61
+ }
62
+
63
+ if (error || exception) {
64
+ setFeedbackType('error')
65
+ setIsWorking(false)
66
+ setFeedback(error.length ? error : exception)
67
+ return
68
+ }
69
+
70
+ if (!token || typeof token !== 'string') {
71
+ setFeedbackType('error')
72
+ setIsWorking(false)
73
+ setFeedback(__('Something went wrong', 'extendify'))
74
+ return
75
+ }
76
+
77
+ setFeedbackType('success')
78
+ setFeedback('Success!')
79
+ setSuccess(true)
80
+ setIsWorking(false)
81
+ useUserStore.setState({
82
+ email: email,
83
+ apiKey: token,
84
+ })
85
+ }
86
+
87
+ if (success) {
88
+ return (
89
+ <section className="w-80 space-y-8 text-center pt-2 pb-4">
90
+ <Icon icon={successIcon} size={148} />
91
+ <p className="text-lg text-extendify-black text-center leading-extra-tight font-semibold">
92
+ {__("You've signed in to Extendify", 'extendify')}
93
+ </p>
94
+ <Button
95
+ ref={viewPatternsButtonRef}
96
+ className="px-4 p-2 cursor-pointer text-center rounded bg-extendify-main text-white"
97
+ onClick={actionCallback}>
98
+ {__('View patterns', 'extendify')}
99
+ </Button>
100
+ </section>
101
+ )
102
+ }
103
+
104
+ if (loggedIn) {
105
+ return (
106
+ <section className="space-y-8 w-full pb-2">
107
+ <p className="text-base text-extendify-black leading-extra-tight">
108
+ {__('Account', 'extendify')}
109
+ </p>
110
+ <div className="flex justify-between items-center">
111
+ <div className="flex items-center space-x-2 -ml-2">
112
+ <Icon icon={user} size={48} />
113
+ <p className="text-extendify-black">
114
+ {email?.length
115
+ ? email
116
+ : __('Logged In', 'extendify')}
117
+ </p>
118
+ </div>
119
+ {devMode && (
120
+ <Button
121
+ className="px-4 py-3 cursor-pointer text-center rounded bg-extendify-main hover:bg-extendify-main-dark text-white"
122
+ onClick={logout}>
123
+ {__('Sign out', 'extendify')}
124
+ </Button>
125
+ )}
126
+ </div>
127
+ </section>
128
+ )
129
+ }
130
+
131
+ return (
132
+ <section className="w-80 text-left space-y-8 pb-6">
133
+ <div>
134
+ <p className="text-lg text-extendify-black text-center leading-extra-tight font-semibold">
135
+ {__('Sign in to Extendify', 'extendify')}
136
+ </p>
137
+ <p className="text-sm text-extendify-gray text-center space-x-1 leading-extra-tight">
138
+ <span>{__("Don't have an account?", 'extendify')}</span>
139
+ <a
140
+ href={`https://extendify.com/pricing?utm_source=${window.extendifyData.sdk_partner}&utm_medium=library&utm_campaign=sign-in-form&utm_content=sign-up`}
141
+ target="_blank"
142
+ className="underline hover:no-underline text-extendify-gray"
143
+ rel="noreferrer">
144
+ {__('Sign up', 'extendify')}
145
+ </a>
146
+ </p>
147
+ </div>
148
+ <form onSubmit={confirmKey} className="space-y-2">
149
+ <div className="flex items-center">
150
+ <label className="sr-only" htmlFor="extendify-login-email">
151
+ {__('Email address', 'extendify')}
152
+ </label>
153
+ <input
154
+ ref={initialFocus}
155
+ id="extendify-login-email"
156
+ name="extendify-login-email"
157
+ type="email"
158
+ className="border-2 p-2 w-full rounded"
159
+ placeholder={__('Email address', 'extendify')}
160
+ value={email.length ? email : ''}
161
+ onChange={(event) => setEmail(event.target.value)}
162
+ />
163
+ </div>
164
+ <div className="flex items-center">
165
+ <label
166
+ className="sr-only"
167
+ htmlFor="extendify-login-license">
168
+ {__('License key', 'extendify')}
169
+ </label>
170
+ <input
171
+ ref={licenseKeyRef}
172
+ id="extendify-login-license"
173
+ name="extendify-login-license"
174
+ type="text"
175
+ className="border-2 p-2 w-full rounded"
176
+ placeholder={__('License key', 'extendify')}
177
+ value={apiKey}
178
+ onChange={(event) => setApiKey(event.target.value)}
179
+ />
180
+ </div>
181
+ <div className="pt-2 flex justify-center">
182
+ <button
183
+ type="submit"
184
+ className="relative p-2 py-3 w-72 max-w-full flex justify-center cursor-pointer text-center rounded bg-extendify-main hover:bg-extendify-main-dark text-base text-white ">
185
+ <span>{__('Sign In', 'extendify')}</span>
186
+ {isWorking && (
187
+ <div className="absolute right-2.5">
188
+ <Spinner />
189
+ </div>
190
+ )}
191
+ </button>
192
+ </div>
193
+ {feedback && (
194
+ <div
195
+ className={classNames({
196
+ 'border-gray-900 text-gray-900':
197
+ feedbackType === 'info',
198
+ 'border-wp-alert-red text-wp-alert-red':
199
+ feedbackType === 'error',
200
+ 'border-extendify-main text-extendify-main':
201
+ feedbackType === 'success',
202
+ })}>
203
+ {feedback}
204
+ </div>
205
+ )}
206
+ <div className="text-center pt-4">
207
+ <a
208
+ target="_blank"
209
+ rel="noreferrer"
210
+ href={`https://extendify.com/guides/sign-in?utm_source=${window.extendifyData.sdk_partner}&utm_medium=library&utm_campaign=sign-in-form&utm_content=need-help`}
211
+ className="underline hover:no-underline text-sm text-extendify-gray">
212
+ {__('Need Help?', 'extendify')}
213
+ </a>
214
+ </div>
215
+ </form>
216
+ </section>
217
+ )
218
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/SiteTypeSelector.js ADDED
@@ -0,0 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useState, useRef, useMemo } from '@wordpress/element'
2
+ import { __ } from '@wordpress/i18n'
3
+ import classNames from 'classnames'
4
+ import Fuse from 'fuse.js'
5
+ import { useTemplatesStore } from '../state/Templates'
6
+ import { useUserStore } from '../state/User'
7
+
8
+ const searchMemo = new Map()
9
+
10
+ export default function SiteTypeSelector({ value, setValue, terms }) {
11
+ const preferredOptionsHistory = useUserStore(
12
+ (state) =>
13
+ state.preferredOptionsHistory?.siteType?.filter((t) => t.slug) ??
14
+ {},
15
+ )
16
+ const searchParams = useTemplatesStore((state) => state.searchParams)
17
+ const [expanded, setExpanded] = useState(false)
18
+ const searchRef = useRef()
19
+ const [fuzzy, setFuzzy] = useState({})
20
+ const [tempValue, setTempValue] = useState('')
21
+ const [visibleChoices, setVisibleChoices] = useState([])
22
+
23
+ const examples = useMemo(() => {
24
+ return terms
25
+ .filter((t) => t?.featured)
26
+ .sort((a, b) => {
27
+ if (a.slug < b.slug) return -1
28
+ if (a.slug > b.slug) return 1
29
+ return 0
30
+ })
31
+ }, [terms])
32
+
33
+ const updateSearch = (term) => {
34
+ setTempValue(term)
35
+ filter(term)
36
+ }
37
+
38
+ const filter = (term = '') => {
39
+ if (searchMemo.has(term)) {
40
+ setVisibleChoices(searchMemo.get(term))
41
+ return
42
+ }
43
+ const results = fuzzy.search(term)
44
+ searchMemo.set(
45
+ term,
46
+ results?.length ? results.map((t) => t.item) : examples,
47
+ )
48
+ setVisibleChoices(searchMemo.get(term))
49
+ }
50
+
51
+ const showRecent = () =>
52
+ visibleChoices === examples &&
53
+ Object.keys(preferredOptionsHistory).length > 0
54
+ const unknown = value.slug === 'unknown' || !value?.slug
55
+
56
+ useEffect(() => {
57
+ setFuzzy(
58
+ new Fuse(terms, {
59
+ keys: ['slug', 'title', 'keywords'],
60
+ minMatchCharLength: 2,
61
+ threshold: 0.3,
62
+ }),
63
+ )
64
+ }, [terms])
65
+
66
+ useEffect(() => {
67
+ if (!tempValue.length) setVisibleChoices(examples)
68
+ }, [examples, tempValue])
69
+
70
+ useEffect(() => {
71
+ expanded && searchRef.current.focus()
72
+ }, [expanded])
73
+
74
+ const contentHeader = (description) => {
75
+ return (
76
+ <>
77
+ <span className="flex flex-col text-left">
78
+ <span className="text-sm mb-1">
79
+ {__('Site Type', 'extendify')}
80
+ </span>
81
+ <span className="font-light text-xs">{description}</span>
82
+ </span>
83
+ <span className="flex items-center space-x-4">
84
+ {unknown && !expanded && (
85
+ <svg
86
+ className="text-wp-alert-red"
87
+ aria-hidden="true"
88
+ focusable="false"
89
+ width="21"
90
+ height="21"
91
+ viewBox="0 0 21 21"
92
+ fill="none"
93
+ xmlns="http://www.w3.org/2000/svg">
94
+ <path
95
+ className="stroke-current"
96
+ d="M10.9982 4.05371C7.66149 4.05371 4.95654 6.75866 4.95654 10.0954C4.95654 13.4321 7.66149 16.137 10.9982 16.137C14.3349 16.137 17.0399 13.4321 17.0399 10.0954C17.0399 6.75866 14.3349 4.05371 10.9982 4.05371V4.05371Z"
97
+ strokeWidth="1.25"
98
+ />
99
+ <path
100
+ className="fill-current"
101
+ d="M10.0205 12.8717C10.0205 12.3287 10.4508 11.8881 10.9938 11.8881C11.5368 11.8881 11.9774 12.3287 11.9774 12.8717C11.9774 13.4147 11.5368 13.8451 10.9938 13.8451C10.4508 13.8451 10.0205 13.4147 10.0205 12.8717Z"
102
+ />
103
+ <path
104
+ className="fill-current"
105
+ d="M11.6495 10.2591C11.6086 10.6177 11.3524 10.9148 10.9938 10.9148C10.625 10.9148 10.3791 10.6074 10.3483 10.2591L10.0205 7.31855C9.95901 6.81652 10.4918 6.34521 10.9938 6.34521C11.4959 6.34521 12.0286 6.81652 11.9774 7.31855L11.6495 10.2591Z"
106
+ />
107
+ </svg>
108
+ )}
109
+ <svg
110
+ className={classNames('text-gray-700 stroke-current', {
111
+ 'transform rotate-90 -translate-x-1': expanded,
112
+ })}
113
+ aria-hidden="true"
114
+ focusable="false"
115
+ width="8"
116
+ height="13"
117
+ viewBox="0 0 8 13"
118
+ fill="none"
119
+ xmlns="http://www.w3.org/2000/svg">
120
+ <path
121
+ d="M1.24194 11.5952L6.24194 6.09519L1.24194 0.595215"
122
+ strokeWidth="1.5"
123
+ />
124
+ </svg>
125
+ </span>
126
+ </>
127
+ )
128
+ }
129
+
130
+ const choicesList = (choices, title = __('Suggestions', 'extendify')) => {
131
+ if (choices === examples) {
132
+ title = __('Examples', 'extendify')
133
+ }
134
+ return (
135
+ <>
136
+ <h4 className="mt-4 mb-2 text-left uppercase text-xss text-gray-700 font-medium">
137
+ {title}
138
+ </h4>
139
+ <ul className="m-0">
140
+ {choices.map((item) => {
141
+ const label = item?.title ?? item.slug
142
+ const current =
143
+ searchParams?.taxonomies?.siteType?.slug ===
144
+ item.slug
145
+ return (
146
+ <li
147
+ key={item.slug + item?.title}
148
+ className="m-0 mb-1">
149
+ <button
150
+ type="button"
151
+ className={classNames(
152
+ 'w-full text-left text-sm bg-transparent hover:text-wp-theme-500 m-0 pl-0 cursor-pointer',
153
+ { 'text-gray-800': !current },
154
+ )}
155
+ onClick={() => {
156
+ setExpanded(false)
157
+ setValue(item)
158
+ }}>
159
+ {label}
160
+ </button>
161
+ </li>
162
+ )
163
+ })}
164
+ </ul>
165
+ </>
166
+ )
167
+ }
168
+
169
+ return (
170
+ <div className="w-full bg-extendify-transparent-black rounded">
171
+ <button
172
+ type="button"
173
+ onClick={() => setExpanded((expanded) => !expanded)}
174
+ className="flex items-center justify-between text-gray-800 button-focus w-full p-4 m-0 cursor-pointer bg-transparent hover:bg-extendify-transparent-black-100 rounded">
175
+ {contentHeader(
176
+ expanded
177
+ ? __('What kind of site is this?', 'extendify')
178
+ : value?.title ?? value.slug ?? 'Unknown',
179
+ )}
180
+ </button>
181
+ {expanded && (
182
+ <div className="p-4 pt-0 overflow-y-auto max-h-96">
183
+ <div className="relative my-2">
184
+ <label htmlFor="site-type-search" className="sr-only">
185
+ {__('Search', 'extendify')}
186
+ </label>
187
+ <input
188
+ ref={searchRef}
189
+ id="site-type-search"
190
+ value={tempValue ?? ''}
191
+ onChange={(event) =>
192
+ updateSearch(event.target.value)
193
+ }
194
+ type="text"
195
+ className="button-focus bg-white border-0 m-0 p-3.5 py-2.5 rounded text-sm w-full"
196
+ placeholder={__('Search', 'extendify')}
197
+ />
198
+ <svg
199
+ className="absolute top-2 right-2 hidden lg:block pointer-events-none"
200
+ xmlns="http://www.w3.org/2000/svg"
201
+ viewBox="0 0 24 24"
202
+ width="24"
203
+ height="24"
204
+ role="img"
205
+ aria-hidden="true"
206
+ focusable="false">
207
+ <path d="M13.5 6C10.5 6 8 8.5 8 11.5c0 1.1.3 2.1.9 3l-3.4 3 1 1.1 3.4-2.9c1 .9 2.2 1.4 3.6 1.4 3 0 5.5-2.5 5.5-5.5C19 8.5 16.5 6 13.5 6zm0 9.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"></path>
208
+ </svg>
209
+ </div>
210
+ {tempValue.length > 1 && visibleChoices === examples && (
211
+ <p className="text-left">
212
+ {__('Nothing found...', 'extendify')}
213
+ </p>
214
+ )}
215
+ {showRecent() && (
216
+ <div className="mb-8">
217
+ {choicesList(
218
+ preferredOptionsHistory,
219
+ __('Recent', 'extendify'),
220
+ )}
221
+ </div>
222
+ )}
223
+ {visibleChoices.length > 0 && (
224
+ <div>{choicesList(visibleChoices)}</div>
225
+ )}
226
+ {unknown ? null : (
227
+ <button
228
+ type="button"
229
+ className="mt-4 w-full text-left text-sm bg-transparent hover:text-wp-theme-500 pl-0 cursor-pointer text-wp-theme-500"
230
+ onClick={() => {
231
+ setExpanded(false)
232
+ setValue('Unknown')
233
+ }}>
234
+ {__('Reset', 'extendify')}
235
+ </button>
236
+ )}
237
+ </div>
238
+ )}
239
+ </div>
240
+ )
241
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/TaxonomySection.js ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { PanelBody, PanelRow } from '@wordpress/components'
2
+ import classNames from 'classnames'
3
+ import { useTemplatesStore } from '../state/Templates'
4
+ import { getTaxonomyName } from '../util/general'
5
+
6
+ export default function TaxonomySection({ taxType, taxonomies }) {
7
+ const updateTaxonomies = useTemplatesStore(
8
+ (state) => state.updateTaxonomies,
9
+ )
10
+ const searchParams = useTemplatesStore((state) => state.searchParams)
11
+
12
+ if (!taxonomies?.length > 0) return null
13
+ return (
14
+ <PanelBody
15
+ title={getTaxonomyName(taxType)}
16
+ className="ext-type-control p-0"
17
+ initialOpen={true}>
18
+ <PanelRow>
19
+ <div className="overflow-hidden w-full relative">
20
+ <ul className="px-5 py-1 m-0 w-full">
21
+ {taxonomies.map((tax) => {
22
+ const isCurrentTax =
23
+ searchParams?.taxonomies[taxType]?.slug ===
24
+ tax?.slug
25
+ return (
26
+ <li className="m-0 w-full" key={tax.slug}>
27
+ <button
28
+ type="button"
29
+ className="text-left text-sm cursor-pointer w-full flex justify-between items-center px-0 py-2 m-0 leading-none bg-transparent hover:text-wp-theme-500 transition duration-200 button-focus"
30
+ onClick={() =>
31
+ updateTaxonomies({ [taxType]: tax })
32
+ }>
33
+ <span
34
+ className={classNames({
35
+ 'text-wp-theme-500':
36
+ isCurrentTax,
37
+ })}>
38
+ {tax?.title ?? tax.slug}
39
+ </span>
40
+ </button>
41
+ </li>
42
+ )
43
+ })}
44
+ </ul>
45
+ </div>
46
+ </PanelRow>
47
+ </PanelBody>
48
+ )
49
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/TypeSelect.js ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { useTemplatesStore } from '../state/Templates'
3
+ import classNames from 'classnames'
4
+ import { useGlobalStore } from '../state/GlobalState'
5
+
6
+ export const TypeSelect = ({ className }) => {
7
+ const updateType = useTemplatesStore((state) => state.updateType)
8
+ const currentType = useGlobalStore((state) =>
9
+ state.currentType ? state.currentType : 'pattern',
10
+ )
11
+
12
+ return (
13
+ <div className={className}>
14
+ <h4 className="sr-only">{__('Type select', 'extendify')}</h4>
15
+ <button
16
+ type="button"
17
+ className={classNames({
18
+ 'cursor-pointer text-xs leading-none m-0 py-2.5 px-4 min-w-sm border rounded-tl-sm rounded-bl-sm border-black button-focus': true,
19
+ 'bg-gray-900 text-white': currentType === 'pattern',
20
+ 'bg-transparent text-black': currentType !== 'pattern',
21
+ })}
22
+ onClick={() => updateType('pattern')}>
23
+ <span className="">{__('Patterns', 'extendify')}</span>
24
+ </button>
25
+ <button
26
+ type="button"
27
+ className={classNames({
28
+ 'cursor-pointer text-xs leading-none m-0 py-2.5 px-4 min-w-sm items-center border rounded-tr-sm rounded-br-sm border-black outline-none -ml-px button-focus': true,
29
+ 'bg-gray-900 text-white': currentType === 'template',
30
+ 'bg-transparent text-black': currentType !== 'template',
31
+ })}
32
+ onClick={() => updateType('template')}>
33
+ <span className="">{__('Page Layouts', 'extendify')}</span>
34
+ </button>
35
+ </div>
36
+ )
37
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/buttons/Primary.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ import classNames from 'classnames'
2
+ import { createElement } from '@wordpress/element'
3
+
4
+ export default function Primary({ tagName = 'button', children, ...props }) {
5
+ props.className = classNames(
6
+ props.className,
7
+ 'bg-extendify-main hover:bg-extendify-main-dark cursor-pointer rounded no-underline text-base text-white flex justify-center items-center',
8
+ )
9
+ return createElement(tagName, props, children)
10
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/icons/index.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export { default as alert } from './library/alert'
2
+ export { default as brandBlockIcon } from './library/brand-block-icon'
3
+ export { default as brandMark } from './library/brand-mark'
4
+ export { default as brandLogo } from './library/brand-logo'
5
+ export { default as download } from './library/download'
6
+ export { default as download2 } from './library/download2'
7
+ export { default as featured } from './library/featured'
8
+ export { default as growthArrow } from './library/growth-arrow'
9
+ export { default as layouts } from './library/layouts'
10
+ export { default as patterns } from './library/patterns'
11
+ export { default as success } from './library/success'
12
+ export { default as support } from './library/support'
13
+ export { default as star } from './library/star'
14
+ export { default as user } from './library/user'
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/alert.js ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG } from '@wordpress/primitives'
5
+
6
+ const alert = (
7
+ <SVG viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg">
8
+ <Path
9
+ d="M7.32457 0.907043C3.98785 0.907043 1.2829 3.61199 1.2829 6.94871C1.2829 10.2855 3.98785 12.9904 7.32457 12.9904C10.6613 12.9904 13.3663 10.2855 13.3663 6.94871C13.3663 3.61199 10.6613 0.907043 7.32457 0.907043V0.907043Z"
10
+ stroke="currentColor"
11
+ strokeWidth="1.25"
12
+ fill="none"
13
+ />
14
+ <Path
15
+ d="M6.34684 9.72526C6.34684 9.18224 6.77716 8.74168 7.32018 8.74168C7.8632 8.74168 8.30377 9.18224 8.30377 9.72526C8.30377 10.2683 7.8632 10.6986 7.32018 10.6986C6.77716 10.6986 6.34684 10.2683 6.34684 9.72526Z"
16
+ fill="currentColor"
17
+ />
18
+ <Path
19
+ d="M7.9759 7.11261C7.93492 7.47121 7.67878 7.76834 7.32018 7.76834C6.95134 7.76834 6.70544 7.46097 6.6747 7.11261L6.34684 4.1721C6.28537 3.67006 6.81814 3.19876 7.32018 3.19876C7.82222 3.19876 8.35499 3.67006 8.30377 4.1721L7.9759 7.11261Z"
20
+ fill="currentColor"
21
+ />
22
+ </SVG>
23
+ )
24
+
25
+ export default alert
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-block-icon.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG } from '@wordpress/primitives'
5
+
6
+ const brandBlockIcon = (
7
+ <SVG fill="none" viewBox="0 0 25 24" xmlns="http://www.w3.org/2000/svg">
8
+ <Path
9
+ clipRule="evenodd"
10
+ d="m14.4063 2h4.1856c1.1856 0 1.6147.12701 2.0484.36409.4336.23802.7729.58706 1.0049 1.03111.2319.445.3548.8853.3548 2.10175v4.29475c0 1.2165-.1238 1.6567-.3548 2.1017-.232.445-.5722.7931-1.0049 1.0312-.1939.1064-.3873.1939-.6476.2567v3.4179c0 1.8788-.1912 2.5588-.5481 3.246-.3582.6873-.8836 1.2249-1.552 1.5925-.6697.3676-1.3325.5623-3.1634.5623h-6.46431c-1.83096 0-2.49367-.1962-3.16346-.5623-.6698-.3676-1.19374-.9067-1.552-1.5925s-.54943-1.3672-.54943-3.246v-6.63138c0-1.87871.19117-2.55871.54801-3.24597.35827-.68727.88362-1.22632 1.55342-1.59393.66837-.36615 1.3325-.56231 3.16346-.56231h2.76781c.0519-.55814.1602-.86269.3195-1.16946.232-.445.5721-.79404 1.0058-1.03206.4328-.23708.8628-.36409 2.0483-.36409zm-2.1512 2.73372c0-.79711.6298-1.4433 1.4067-1.4433h5.6737c.777 0 1.4068.64619 1.4068 1.4433v5.82118c0 .7971-.6298 1.4433-1.4068 1.4433h-5.6737c-.7769 0-1.4067-.6462-1.4067-1.4433z"
11
+ fill="currentColor"
12
+ fillRule="evenodd"
13
+ />
14
+ </SVG>
15
+ )
16
+
17
+ export default brandBlockIcon
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-logo.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG, G } from '@wordpress/primitives'
5
+
6
+ const brandLogo = (
7
+ <SVG
8
+ fill="none"
9
+ width="150"
10
+ height="30"
11
+ viewBox="0 0 2524 492"
12
+ xmlns="http://www.w3.org/2000/svg">
13
+ <G fill="currentColor">
14
+ <Path d="m609.404 378.5c-24.334 0-46-5.5-65-16.5-18.667-11.333-33.334-26.667-44-46-10.667-19.667-16-42.167-16-67.5 0-25.667 5.166-48.333 15.5-68 10.333-19.667 24.833-35 43.5-46 18.666-11.333 40-17 64-17 25 0 46.5 5.333 64.5 16 18 10.333 31.833 24.833 41.5 43.5 10 18.667 15 41 15 67v18.5l-212 .5 1-39h150.5c0-17-5.5-30.667-16.5-41-10.667-10.333-25.167-15.5-43.5-15.5-14.334 0-26.5 3-36.5 9-9.667 6-17 15-22 27s-7.5 26.667-7.5 44c0 26.667 5.666 46.833 17 60.5 11.666 13.667 28.833 20.5 51.5 20.5 16.666 0 30.333-3.167 41-9.5 11-6.333 18.166-15.333 21.5-27h56.5c-5.334 27-18.667 48.167-40 63.5-21 15.333-47.667 23-80 23z" />
15
+ <path d="m797.529 372h-69.5l85-121-85-126h71l54.5 84 52.5-84h68.5l-84 125.5 81.5 121.5h-70l-53-81.5z" />
16
+ <path d="m994.142 125h155.998v51h-155.998zm108.498 247h-61v-324h61z" />
17
+ <path d="m1278.62 378.5c-24.33 0-46-5.5-65-16.5-18.66-11.333-33.33-26.667-44-46-10.66-19.667-16-42.167-16-67.5 0-25.667 5.17-48.333 15.5-68 10.34-19.667 24.84-35 43.5-46 18.67-11.333 40-17 64-17 25 0 46.5 5.333 64.5 16 18 10.333 31.84 24.833 41.5 43.5 10 18.667 15 41 15 67v18.5l-212 .5 1-39h150.5c0-17-5.5-30.667-16.5-41-10.66-10.333-25.16-15.5-43.5-15.5-14.33 0-26.5 3-36.5 9-9.66 6-17 15-22 27s-7.5 26.667-7.5 44c0 26.667 5.67 46.833 17 60.5 11.67 13.667 28.84 20.5 51.5 20.5 16.67 0 30.34-3.167 41-9.5 11-6.333 18.17-15.333 21.5-27h56.5c-5.33 27-18.66 48.167-40 63.5-21 15.333-47.66 23-80 23z" />
18
+ <path d="m1484.44 372h-61v-247h56.5l5 32c7.67-12.333 18.5-22 32.5-29 14.34-7 29.84-10.5 46.5-10.5 31 0 54.34 9.167 70 27.5 16 18.333 24 43.333 24 75v152h-61v-137.5c0-20.667-4.66-36-14-46-9.33-10.333-22-15.5-38-15.5-19 0-33.83 6-44.5 18-10.66 12-16 28-16 48z" />
19
+ <path d="m1798.38 378.5c-24 0-44.67-5.333-62-16-17-11-30.34-26.167-40-45.5-9.34-19.333-14-41.833-14-67.5s4.66-48.333 14-68c9.66-20 23.5-35.667 41.5-47s39.33-17 64-17c17.33 0 33.16 3.5 47.5 10.5 14.33 6.667 25.33 16.167 33 28.5v-156.5h60.5v372h-56l-4-38.5c-7.34 14-18.67 25-34 33-15 8-31.84 12-50.5 12zm13.5-56c14.33 0 26.66-3 37-9 10.33-6.333 18.33-15.167 24-26.5 6-11.667 9-24.833 9-39.5 0-15-3-28-9-39-5.67-11.333-13.67-20.167-24-26.5-10.34-6.667-22.67-10-37-10-14 0-26.17 3.333-36.5 10-10.34 6.333-18.34 15.167-24 26.5-5.34 11.333-8 24.333-8 39s2.66 27.667 8 39c5.66 11.333 13.66 20.167 24 26.5 10.33 6.333 22.5 9.5 36.5 9.5z" />
20
+ <path d="m1996.45 372v-247h61v247zm30-296.5c-10.34 0-19.17-3.5-26.5-10.5-7-7.3333-10.5-16.1667-10.5-26.5s3.5-19 10.5-26c7.33-6.99999 16.16-10.49998 26.5-10.49998 10.33 0 19 3.49999 26 10.49998 7.33 7 11 15.6667 11 26s-3.67 19.1667-11 26.5c-7 7-15.67 10.5-26 10.5z" />
21
+ <path d="m2085.97 125h155v51h-155zm155.5-122.5v52c-3.33 0-6.83 0-10.5 0-3.33 0-6.83 0-10.5 0-15.33 0-25.67 3.6667-31 11-5 7.3333-7.5 17.1667-7.5 29.5v277h-60.5v-277c0-22.6667 3.67-40.8333 11-54.5 7.33-14 17.67-24.1667 31-30.5 13.33-6.66666 28.83-10 46.5-10 5 0 10.17.166671 15.5.5 5.67.333329 11 .99999 16 2z" />
22
+ <path d="m2330.4 125 80.5 228-33 62.5-112-290.5zm-58 361.5v-50.5h36.5c8 0 15-1 21-3 6-1.667 11.34-5 16-10 5-5 9.17-12.333 12.5-22l102.5-276h63l-121 302c-9 22.667-20.33 39.167-34 49.5-13.66 10.333-30.66 15.5-51 15.5-8.66 0-16.83-.5-24.5-1.5-7.33-.667-14.33-2-21-4z" />
23
+ <path
24
+ clipRule="evenodd"
25
+ d="m226.926 25.1299h83.271c23.586 0 32.123 2.4639 40.751 7.0633 8.628 4.6176 15.378 11.389 19.993 20.0037 4.615 8.6329 7.059 17.1746 7.059 40.7738v83.3183c0 23.599-2.463 32.141-7.059 40.774-4.615 8.633-11.383 15.386-19.993 20.003-3.857 2.065-7.704 3.764-12.884 4.981v66.308c0 36.447-3.803 49.639-10.902 62.972-7.128 13.333-17.579 23.763-30.877 30.894-13.325 7.132-26.51 10.909-62.936 10.909h-128.605c-36.4268 0-49.6113-3.805-62.9367-10.909-13.3254-7.131-23.749-17.589-30.8765-30.894-7.12757-13.304-10.9308-26.525-10.9308-62.972v-128.649c0-36.447 3.80323-49.639 10.9026-62.972 7.1275-13.333 17.5793-23.7909 30.9047-30.9224 13.2972-7.1034 26.5099-10.9088 62.9367-10.9088h55.064c1.033-10.8281 3.188-16.7362 6.357-22.6877 4.615-8.6329 11.382-15.4043 20.01-20.0219 8.61-4.5994 17.165-7.0633 40.751-7.0633zm-42.798 53.0342c0-15.464 12.53-28 27.986-28h112.877c15.457 0 27.987 12.536 27.987 28v112.9319c0 15.464-12.53 28-27.987 28h-112.877c-15.456 0-27.986-12.536-27.986-28z"
26
+ fillRule="evenodd"
27
+ />
28
+ </G>
29
+ </SVG>
30
+ )
31
+
32
+ export default brandLogo
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-mark.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG } from '@wordpress/primitives'
5
+
6
+ const brandMark = (
7
+ <SVG fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
8
+ <Path
9
+ clip-rule="evenodd"
10
+ d="m13.505 4h3.3044c.936 0 1.2747.10161 1.6171.29127.3424.19042.6102.46965.7934.82489.1831.356.2801.70824.2801 1.6814v3.43584c0 .9731-.0977 1.3254-.2801 1.6814-.1832.356-.4517.6344-.7934.8248-.153.0852-.3057.1552-.5112.2054v2.7344c0 1.503-.151 2.047-.4327 2.5968-.2828.5498-.6976.9799-1.2252 1.274-.5288.294-1.052.4498-2.4975.4498h-5.10341c-1.44549 0-1.96869-.1569-2.49747-.4498-.52878-.2941-.94242-.7254-1.22526-1.274-.28284-.5487-.43376-1.0938-.43376-2.5968v-5.3051c0-1.50301.15092-2.04701.43264-2.59682.28284-.54981.6976-.98106 1.22638-1.27514.52767-.29293 1.05198-.44985 2.49747-.44985h2.18511c.041-.44652.1265-.69015.2522-.93557.1832-.356.4517-.63523.7941-.82565.3417-.18966.6812-.29127 1.6171-.29127zm-1.6984 2.18698c0-.63769.4973-1.15464 1.1106-1.15464h4.4793c.6133 0 1.1106.51695 1.1106 1.15464v4.65692c0 .6377-.4973 1.1547-1.1106 1.1547h-4.4793c-.6133 0-1.1106-.517-1.1106-1.1547z"
11
+ fill="currentColor"
12
+ fill-rule="evenodd"
13
+ />
14
+ </SVG>
15
+ )
16
+
17
+ export default brandMark
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/download.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG } from '@wordpress/primitives'
5
+
6
+ const download = (
7
+ <SVG viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
8
+ <Path
9
+ d="M7.32457 0.907043C3.98785 0.907043 1.2829 3.61199 1.2829 6.94871C1.2829 10.2855 3.98785 12.9904 7.32457 12.9904C10.6613 12.9904 13.3663 10.2855 13.3663 6.94871C13.3663 3.61199 10.6613 0.907043 7.32457 0.907043V0.907043Z"
10
+ stroke="white"
11
+ strokeWidth="1.25"
12
+ />
13
+ <Path
14
+ d="M7.32458 10.0998L4.82458 7.59977M7.32458 10.0998V3.79764V10.0998ZM7.32458 10.0998L9.82458 7.59977L7.32458 10.0998Z"
15
+ stroke="white"
16
+ strokeWidth="1.25"
17
+ />
18
+ </SVG>
19
+ )
20
+
21
+ export default download
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/download2.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG } from '@wordpress/primitives'
5
+
6
+ const download2 = (
7
+ <SVG viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
8
+ <path
9
+ d="M7.93298 20.2773L17.933 20.2773C18.1982 20.2773 18.4526 20.172 18.6401 19.9845C18.8276 19.7969 18.933 19.5426 18.933 19.2773C18.933 19.0121 18.8276 18.7578 18.6401 18.5702C18.4526 18.3827 18.1982 18.2773 17.933 18.2773L7.93298 18.2773C7.66777 18.2773 7.41341 18.3827 7.22588 18.5702C7.03834 18.7578 6.93298 19.0121 6.93298 19.2773C6.93298 19.5426 7.03834 19.7969 7.22588 19.9845C7.41341 20.172 7.66777 20.2773 7.93298 20.2773Z"
10
+ fill="white"
11
+ />
12
+ <path
13
+ d="M12.933 4.27734C12.6678 4.27734 12.4134 4.3827 12.2259 4.57024C12.0383 4.75777 11.933 5.01213 11.933 5.27734L11.933 12.8673L9.64298 10.5773C9.55333 10.4727 9.44301 10.3876 9.31895 10.3276C9.19488 10.2676 9.05975 10.2339 8.92203 10.2285C8.78431 10.2232 8.64698 10.2464 8.51865 10.2967C8.39033 10.347 8.27378 10.4232 8.17632 10.5207C8.07887 10.6181 8.00261 10.7347 7.95234 10.863C7.90206 10.9913 7.87886 11.1287 7.88418 11.2664C7.8895 11.4041 7.92323 11.5392 7.98325 11.6633C8.04327 11.7874 8.12829 11.8977 8.23297 11.9873L12.233 15.9873C12.3259 16.0811 12.4365 16.1555 12.5584 16.2062C12.6803 16.257 12.811 16.2831 12.943 16.2831C13.075 16.2831 13.2057 16.257 13.3276 16.2062C13.4494 16.1555 13.56 16.0811 13.653 15.9873L17.653 11.9873C17.8168 11.796 17.9024 11.55 17.8927 11.2983C17.883 11.0466 17.7786 10.8079 17.6005 10.6298C17.4224 10.4517 17.1837 10.3474 16.932 10.3376C16.6804 10.3279 16.4343 10.4135 16.243 10.5773L13.933 12.8673L13.933 5.27734C13.933 5.01213 13.8276 4.75777 13.6401 4.57024C13.4525 4.3827 13.1982 4.27734 12.933 4.27734Z"
14
+ fill="white"
15
+ />
16
+ </SVG>
17
+ )
18
+ export default download2
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/featured.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG, G } from '@wordpress/primitives'
5
+
6
+ const featured = (
7
+ <SVG fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
8
+ <Path
9
+ d="m11.2721 16.9866.6041 2.2795.6042-2.2795.6213-2.3445c.0001-.0002.0001-.0004.0002-.0006.2404-.9015.8073-1.5543 1.4638-1.8165.0005-.0002.0009-.0004.0013-.0006l1.9237-.7555 1.4811-.5818-1.4811-.5817-1.9264-.7566c0-.0001-.0001-.0001-.0001-.0001-.0001 0-.0001 0-.0001 0-.654-.25727-1.2213-.90816-1.4621-1.81563-.0001-.00006-.0001-.00011-.0001-.00017l-.6215-2.34519-.6042-2.27947-.6041 2.27947-.6216 2.34519v.00017c-.2409.90747-.80819 1.55836-1.46216 1.81563-.00002 0-.00003 0-.00005 0-.00006 0-.00011 0-.00017.0001l-1.92637.7566-1.48108.5817 1.48108.5818 1.92637.7566c.00007 0 .00015.0001.00022.0001.65397.2572 1.22126.9082 1.46216 1.8156v.0002z"
10
+ stroke="currentColor"
11
+ stroke-width="1.25"
12
+ fill="none"
13
+ />
14
+ <G fill="currentColor">
15
+ <Path d="m18.1034 18.3982-.2787.8625-.2787-.8625c-.1314-.4077-.4511-.7275-.8589-.8589l-.8624-.2786.8624-.2787c.4078-.1314.7275-.4512.8589-.8589l.2787-.8624.2787.8624c.1314.4077.4511.7275.8589.8589l.8624.2787-.8624.2786c-.4078.1314-.7269.4512-.8589.8589z" />
16
+ <Path d="m6.33141 6.97291-.27868.86242-.27867-.86242c-.13142-.40775-.45116-.72749-.8589-.85891l-.86243-.27867.86243-.27868c.40774-.13141.72748-.45115.8589-.8589l.27867-.86242.27868.86242c.13142.40775.45116.72749.8589.8589l.86242.27868-.86242.27867c-.40774.13142-.7269.45116-.8589.85891z" />
17
+ </G>
18
+ </SVG>
19
+ )
20
+
21
+ export default featured
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/growth-arrow.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Path, SVG } from '@wordpress/primitives'
2
+
3
+ const growthArrow = (
4
+ <SVG
5
+ fill="none"
6
+ height="25"
7
+ viewBox="0 0 25 25"
8
+ width="25"
9
+ xmlns="http://www.w3.org/2000/svg">
10
+ <Path
11
+ d="m16.2382 9.17969.7499.00645.0066-.75988-.7599.00344zm-5.5442.77506 5.5475-.02507-.0067-1.49998-5.5476.02506zm4.7942-.78152-.0476 5.52507 1.5.0129.0475-5.52506zm.2196-.52387-7.68099 7.68104 1.06066 1.0606 7.68103-7.68098z"
12
+ fill="currentColor"
13
+ />
14
+ </SVG>
15
+ )
16
+
17
+ export default growthArrow
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/layouts.js ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG, G } from '@wordpress/primitives'
5
+
6
+ const layouts = (
7
+ <SVG
8
+ fill="none"
9
+ height="24"
10
+ viewBox="0 0 24 24"
11
+ width="24"
12
+ xmlns="http://www.w3.org/2000/svg">
13
+ <G stroke="currentColor" strokeWidth="1.5">
14
+ <Path d="m6 4.75h12c.6904 0 1.25.55964 1.25 1.25v12c0 .6904-.5596 1.25-1.25 1.25h-12c-.69036 0-1.25-.5596-1.25-1.25v-12c0-.69036.55964-1.25 1.25-1.25z" />
15
+ <Path d="m9.25 19v-14" />
16
+ </G>
17
+ </SVG>
18
+ )
19
+
20
+ export default layouts
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/patterns.js ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG } from '@wordpress/primitives'
5
+
6
+ const patterns = (
7
+ <SVG
8
+ width="24"
9
+ height="24"
10
+ viewBox="0 0 24 24"
11
+ fill="none"
12
+ xmlns="http://www.w3.org/2000/svg">
13
+ <Path
14
+ fillRule="evenodd"
15
+ clipRule="evenodd"
16
+ d="M7.49271 18.0092C6.97815 17.1176 7.28413 15.9755 8.17569 15.4609C9.06724 14.946 10.2094 15.252 10.7243 16.1435C11.2389 17.0355 10.9329 18.1772 10.0413 18.6922C9.14978 19.2071 8.00764 18.9011 7.49271 18.0092V18.0092Z"
17
+ fill="currentColor"
18
+ />
19
+ <Path
20
+ fillRule="evenodd"
21
+ clipRule="evenodd"
22
+ d="M16.5073 6.12747C17.0218 7.01903 16.7158 8.16117 15.8243 8.67573C14.9327 9.19066 13.7906 8.88467 13.2757 7.99312C12.7611 7.10119 13.0671 5.95942 13.9586 5.44449C14.8502 4.92956 15.9923 5.23555 16.5073 6.12747V6.12747Z"
23
+ fill="currentColor"
24
+ />
25
+ <Path
26
+ fillRule="evenodd"
27
+ clipRule="evenodd"
28
+ d="M4.60135 11.1355C5.11628 10.2439 6.25805 9.93793 7.14998 10.4525C8.04153 10.9674 8.34752 12.1096 7.83296 13.0011C7.31803 13.8927 6.17588 14.1987 5.28433 13.6841C4.39278 13.1692 4.08679 12.0274 4.60135 11.1355V11.1355Z"
29
+ fill="currentColor"
30
+ />
31
+ <Path
32
+ fillRule="evenodd"
33
+ clipRule="evenodd"
34
+ d="M19.3986 13.0011C18.8837 13.8927 17.7419 14.1987 16.85 13.6841C15.9584 13.1692 15.6525 12.027 16.167 11.1355C16.682 10.2439 17.8241 9.93793 18.7157 10.4525C19.6072 10.9674 19.9132 12.1092 19.3986 13.0011V13.0011Z"
35
+ fill="currentColor"
36
+ />
37
+ <Path
38
+ d="M9.10857 8.92594C10.1389 8.92594 10.9742 8.09066 10.9742 7.06029C10.9742 6.02992 10.1389 5.19464 9.10857 5.19464C8.0782 5.19464 7.24292 6.02992 7.24292 7.06029C7.24292 8.09066 8.0782 8.92594 9.10857 8.92594Z"
39
+ fill="currentColor"
40
+ />
41
+ <Path
42
+ d="M14.8913 18.942C15.9217 18.942 16.7569 18.1067 16.7569 17.0763C16.7569 16.046 15.9217 15.2107 14.8913 15.2107C13.8609 15.2107 13.0256 16.046 13.0256 17.0763C13.0256 18.1067 13.8609 18.942 14.8913 18.942Z"
43
+ fill="currentColor"
44
+ />
45
+ <Path
46
+ fillRule="evenodd"
47
+ clipRule="evenodd"
48
+ d="M10.3841 13.0011C9.86951 12.1096 10.1755 10.9674 11.067 10.4525C11.9586 9.93793 13.1007 10.2439 13.6157 11.1355C14.1302 12.0274 13.8242 13.1692 12.9327 13.6841C12.0411 14.1987 10.899 13.8927 10.3841 13.0011V13.0011Z"
49
+ fill="currentColor"
50
+ />
51
+ </SVG>
52
+ )
53
+
54
+ export default patterns
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/star.js ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG } from '@wordpress/primitives'
5
+
6
+ const star = (
7
+ <SVG
8
+ fill="none"
9
+ height="24"
10
+ viewBox="0 0 24 24"
11
+ width="24"
12
+ xmlns="http://www.w3.org/2000/svg">
13
+ <Path
14
+ d="m11.7758 3.45425c.0917-.18582.3567-.18581.4484 0l2.3627 4.78731c.0364.07379.1068.12493.1882.13676l5.2831.76769c.2051.02979.287.28178.1386.42642l-3.8229 3.72637c-.0589.0575-.0858.1402-.0719.2213l.9024 5.2618c.0351.2042-.1793.36-.3627.2635l-4.7254-2.4842c-.0728-.0383-.1598-.0383-.2326 0l-4.7254 2.4842c-.18341.0965-.39776-.0593-.36274-.2635l.90247-5.2618c.01391-.0811-.01298-.1638-.0719-.2213l-3.8229-3.72637c-.14838-.14464-.0665-.39663.13855-.42642l5.28312-.76769c.08143-.01183.15182-.06297.18823-.13676z"
15
+ fill="currentColor"
16
+ />
17
+ </SVG>
18
+ )
19
+
20
+ export default star
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/success.js ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG, G, Circle, Rect } from '@wordpress/primitives'
5
+
6
+ const download = (
7
+ <SVG
8
+ fill="none"
9
+ viewBox="0 0 151 148"
10
+ width="151"
11
+ xmlns="http://www.w3.org/2000/svg">
12
+ <Circle cx="65.6441" cy="66.6114" fill="#0b4a43" r="65.3897" />
13
+ <G fill="#cbc3f5" stroke="#0b4a43">
14
+ <Path
15
+ d="m61.73 11.3928 3.0825 8.3304.1197.3234.3234.1197 8.3304 3.0825-8.3304 3.0825-.3234.1197-.1197.3234-3.0825 8.3304-3.0825-8.3304-.1197-.3234-.3234-.1197-8.3304-3.0825 8.3304-3.0825.3234-.1197.1197-.3234z"
16
+ strokeWidth="1.5"
17
+ />
18
+ <Path
19
+ d="m84.3065 31.2718c0 5.9939-12.4614 22.323-18.6978 22.323h-17.8958v56.1522c3.5249.9 11.6535 0 17.8958 0h6.2364c11.2074 3.33 36.0089 7.991 45.5529 0l-9.294-62.1623c-2.267-1.7171-5.949-6.6968-2.55-12.8786 3.4-6.1817 2.55-18.0406 0-24.5756-1.871-4.79616-8.3289-8.90882-14.4482-8.90882s-7.0825 4.00668-6.7993 6.01003z"
20
+ strokeWidth="1.75"
21
+ />
22
+ <Rect
23
+ height="45.5077"
24
+ rx="9.13723"
25
+ strokeWidth="1.75"
26
+ transform="matrix(0 1 -1 0 191.5074 -96.0026)"
27
+ width="18.2745"
28
+ x="143.755"
29
+ y="47.7524"
30
+ />
31
+ <Rect
32
+ height="42.3038"
33
+ rx="8.73674"
34
+ strokeWidth="1.75"
35
+ transform="matrix(0 1 -1 0 241.97 -50.348)"
36
+ width="17.4735"
37
+ x="146.159"
38
+ y="95.811"
39
+ />
40
+ <Rect
41
+ height="55.9204"
42
+ rx="8.73674"
43
+ strokeWidth="1.75"
44
+ transform="matrix(0 1 -1 0 213.1347 -85.5913)"
45
+ width="17.4735"
46
+ x="149.363"
47
+ y="63.7717"
48
+ />
49
+ <Rect
50
+ height="51.1145"
51
+ rx="8.73674"
52
+ strokeWidth="1.75"
53
+ transform="matrix(0 1 -1 0 229.1545 -69.5715)"
54
+ width="17.4735"
55
+ x="149.363"
56
+ y="79.7915"
57
+ />
58
+ <Path
59
+ d="m75.7483 105.349c.9858-25.6313-19.2235-42.0514-32.8401-44.0538v12.0146c8.5438 1.068 24.8303 9.7642 24.8303 36.0442 0 23.228 19.4905 33.374 29.6362 33.641v-10.413s-22.6122-1.602-21.6264-27.233z"
60
+ strokeWidth="1.75"
61
+ />
62
+ <Path
63
+ d="m68.5388 109.354c.9858-25.6312-19.2234-42.0513-32.8401-44.0537v12.0147c8.5438 1.0679 24.8303 9.7641 24.8303 36.044 0 23.228 19.4905 33.374 29.6362 33.641v-10.413s-22.6122-1.602-21.6264-27.233z"
64
+ strokeWidth="1.75"
65
+ />
66
+ </G>
67
+ </SVG>
68
+ )
69
+
70
+ export default download
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/support.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Circle } from '@wordpress/primitives'
5
+
6
+ const layouts = (
7
+ <SVG
8
+ width="24"
9
+ height="24"
10
+ viewBox="0 0 24 24"
11
+ fill="none"
12
+ xmlns="http://www.w3.org/2000/svg">
13
+ <Circle
14
+ cx="12"
15
+ cy="12"
16
+ r="7.25"
17
+ stroke="currentColor"
18
+ strokeWidth="1.5"
19
+ />
20
+ <Circle
21
+ cx="12"
22
+ cy="12"
23
+ r="4.25"
24
+ stroke="currentColor"
25
+ strokeWidth="1.5"
26
+ />
27
+ <Circle
28
+ cx="11.9999"
29
+ cy="12.2"
30
+ r="6"
31
+ transform="rotate(-45 11.9999 12.2)"
32
+ stroke="currentColor"
33
+ strokeWidth="3"
34
+ strokeDasharray="1.5 4"
35
+ />
36
+ </SVG>
37
+ )
38
+
39
+ export default layouts
lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/user.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Path, SVG } from '@wordpress/primitives'
5
+
6
+ const user = (
7
+ <SVG fill="none" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg">
8
+ <Path
9
+ clipRule="evenodd"
10
+ d="m13 4c4.9545 0 9 4.04545 9 9 0 4.9545-4.0455 9-9 9-4.95455 0-9-4.0455-9-9 0-4.95455 4.04545-9 9-9zm5.0909 13.4545c-1.9545 3.8637-8.22726 3.8637-10.22726 0-.04546-.1818-.04546-.3636 0-.5454 2-3.8636 8.27276-3.8636 10.22726 0 .0909.1818.0909.3636 0 .5454zm-5.0909-8.90905c-1.2727 0-2.3182 1.04546-2.3182 2.31815 0 1.2728 1.0455 2.3182 2.3182 2.3182s2.3182-1.0454 2.3182-2.3182c0-1.27269-1.0455-2.31815-2.3182-2.31815z"
11
+ fill="currentColor"
12
+ fillRule="evenodd"
13
+ />
14
+ </SVG>
15
+ )
16
+
17
+ export default user
lib/vendor/redux-framework/extendify-sdk/src/components/modals/InstallStandaloneModal.js ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useState, useRef } from '@wordpress/element'
2
+ import { Icon } from '@wordpress/components'
3
+ import { __, sprintf } from '@wordpress/i18n'
4
+ import { SplitModal } from './SplitModal'
5
+ import { download2, brandLogo } from '../icons'
6
+ import { Plugins } from '../../api/Plugins'
7
+ import { General } from '../../api/General'
8
+ import { useUserStore } from '../../state/User'
9
+ import { safeHTML } from '@wordpress/dom'
10
+ import { useGlobalStore } from '../../state/GlobalState'
11
+
12
+ export const InstallStandaloneModal = () => {
13
+ const [text, setText] = useState(__('Install Extendify', 'extendify'))
14
+ const [success, setSuccess] = useState(false)
15
+ const [disabled, setDisabled] = useState(false)
16
+ const initialFocus = useRef(null)
17
+ const markNoticeSeen = useUserStore((state) => state.markNoticeSeen)
18
+ const giveFreebieImports = useUserStore((state) => state.giveFreebieImports)
19
+ const removeAllModals = useGlobalStore((state) => state.removeAllModals)
20
+
21
+ const installAndActivate = () => {
22
+ setText(__('Installing...', 'extendify'))
23
+ setDisabled(true)
24
+ Promise.all([
25
+ General.ping('stln-modal-install'),
26
+ Plugins.installAndActivate(['extendify']),
27
+ new Promise((resolve) => setTimeout(resolve, 1000)),
28
+ ])
29
+ .then(async () => {
30
+ setText(__('Success! Reloading...', 'extendify'))
31
+ setSuccess(true)
32
+ giveFreebieImports(10)
33
+ await General.ping('stln-modal-success')
34
+ window.location.reload()
35
+ })
36
+ .catch(async (error) => {
37
+ console.error(error)
38
+ setText(__('Error. See console.', 'extendify'))
39
+ await General.ping('stln-modal-fail')
40
+ })
41
+ }
42
+
43
+ const dismiss = async () => {
44
+ removeAllModals()
45
+ markNoticeSeen('standalone', 'modalNotices')
46
+ await General.ping('stln-modal-x')
47
+ }
48
+ return (
49
+ <SplitModal ref={initialFocus} onClose={dismiss}>
50
+ <div className="px-12">
51
+ <div className="flex space-x-2 items-center mb-10 text-extendify-black">
52
+ {brandLogo}
53
+ </div>
54
+ <h3 className="text-xl">
55
+ {__(
56
+ 'Get the brand new Extendify plugin today!',
57
+ 'extendify',
58
+ )}
59
+ </h3>
60
+ <p
61
+ className="text-sm text-black"
62
+ dangerouslySetInnerHTML={{
63
+ __html: safeHTML(
64
+ sprintf(
65
+ __(
66
+ 'Install the new Extendify Library plugin to get the latest we have to offer — right from WordPress.org. Plus, well send you %1$s10 more imports%2$s. Nice.',
67
+ 'extendify',
68
+ ),
69
+ '<strong>',
70
+ '</strong>',
71
+ ),
72
+ ),
73
+ }}
74
+ />
75
+ <div>
76
+ <button
77
+ onClick={installAndActivate}
78
+ ref={initialFocus}
79
+ disabled={disabled}
80
+ className="button-extendify-main inline-flex mt-2 px-4 py-3 button-focus justify-center"
81
+ style={{ minWidth: '225px' }}>
82
+ {text}
83
+ {success || (
84
+ <Icon
85
+ icon={download2}
86
+ size={24}
87
+ className="w-6 ml-2 flex-grow-0"
88
+ />
89
+ )}
90
+ </button>
91
+ </div>
92
+ </div>
93
+ <div className="w-full bg-extendify-secondary flex justify-end rounded-tr-sm rounded-br-sm">
94
+ <img
95
+ alt={__('Upgrade Now', 'extendify')}
96
+ className="max-w-full rounded-tr-sm roudned-br-sm"
97
+ src={
98
+ window.extendifyData.asset_path +
99
+ '/modal-extendify-purple.png'
100
+ }
101
+ />
102
+ </div>
103
+ </SplitModal>
104
+ )
105
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/modals/Modal.js ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Dialog, Transition } from '@headlessui/react'
2
+ import { Fragment, useRef, forwardRef } from '@wordpress/element'
3
+ import { __ } from '@wordpress/i18n'
4
+ import { Icon, close } from '@wordpress/icons'
5
+ import { Button } from '@wordpress/components'
6
+ import { useGlobalStore } from '../../state/GlobalState'
7
+
8
+ export const Modal = forwardRef(
9
+ ({ isOpen, heading, onClose, children }, initialFocus) => {
10
+ const focusBackup = useRef(null)
11
+ const defaultClose = useGlobalStore((state) => state.removeAllModals)
12
+ onClose = onClose ?? defaultClose
13
+
14
+ return (
15
+ <Transition
16
+ appear
17
+ show={isOpen}
18
+ as={Fragment}
19
+ className="extendify">
20
+ <Dialog
21
+ initialFocus={initialFocus ?? focusBackup}
22
+ onClose={onClose}>
23
+ <div className="fixed z-high inset-0 flex">
24
+ <Transition.Child
25
+ as={Fragment}
26
+ enter="ease-out duration-200 transition"
27
+ enterFrom="opacity-0"
28
+ enterTo="opacity-100">
29
+ <Dialog.Overlay className="fixed inset-0 bg-white bg-opacity-40" />
30
+ </Transition.Child>
31
+ <Transition.Child
32
+ as={Fragment}
33
+ enter="ease-out duration-300 translate transform"
34
+ enterFrom="opacity-0 translate-y-4 sm:translate-y-5"
35
+ enterTo="opacity-100 translate-y-0">
36
+ <div className="m-auto relative w-full">
37
+ <div className="bg-white shadow-modal items-center justify-center m-auto max-w-lg relative rounded-sm w-full">
38
+ {heading ? (
39
+ <div className="border-b flex justify-between items-center leading-none pl-8 py-2 pr-3">
40
+ <span className="text-base text-extendify-black whitespace-nowrap">
41
+ {heading}
42
+ </span>
43
+ <CloseButton onClick={onClose} />
44
+ </div>
45
+ ) : (
46
+ <div className="absolute block px-4 py-4 top-0 right-0 ">
47
+ <CloseButton
48
+ ref={focusBackup}
49
+ onClick={onClose}
50
+ />
51
+ </div>
52
+ )}
53
+ <div>{children}</div>
54
+ </div>
55
+ </div>
56
+ </Transition.Child>
57
+ </div>
58
+ </Dialog>
59
+ </Transition>
60
+ )
61
+ },
62
+ )
63
+
64
+ const CloseButton = forwardRef((props, focusRef) => {
65
+ return (
66
+ <Button
67
+ {...props}
68
+ icon={<Icon icon={close} />}
69
+ ref={focusRef}
70
+ className="text-extendify-black opacity-75 hover:opacity-100"
71
+ showTooltip={false}
72
+ label={__('Close dialog', 'extendify')}
73
+ />
74
+ )
75
+ })
lib/vendor/redux-framework/extendify-sdk/src/components/modals/NoImportModal.js ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Icon } from '@wordpress/components'
2
+ import { Button } from '@wordpress/components'
3
+ import { __ } from '@wordpress/i18n'
4
+ import { SplitModal } from './SplitModal'
5
+ import SettingsModal from './SettingsModal'
6
+ import {
7
+ growthArrow,
8
+ patterns,
9
+ layouts,
10
+ support,
11
+ star,
12
+ brandLogo,
13
+ } from '../icons'
14
+ import { useGlobalStore } from '../../state/GlobalState'
15
+ import Primary from '../buttons/Primary'
16
+
17
+ export const NoImportModal = () => {
18
+ const pushModal = useGlobalStore((state) => state.pushModal)
19
+
20
+ return (
21
+ <SplitModal isOpen={true}>
22
+ <div className="bg-white p-12 text-center items-center">
23
+ <div className="flex space-x-2 items-center justify-center mb-10 text-extendify-black">
24
+ {brandLogo}
25
+ </div>
26
+
27
+ <h3 className="text-xl md:leading-3">
28
+ {__("You're out of imports", 'extendify')}
29
+ </h3>
30
+ <p className="text-sm text-black">
31
+ {__(
32
+ 'Sign up today and get unlimited access to our entire collection of patterns and page layouts.',
33
+ 'extendify',
34
+ )}
35
+ </p>
36
+ <div>
37
+ <Primary
38
+ tagName="a"
39
+ target="_blank"
40
+ className="m-auto mt-10 py-3"
41
+ href={`https://extendify.com/pricing/?utm_source=${window.extendifyData.sdk_partner}&utm_medium=library&utm_campaign=no-imports-modal&utm_content=get-unlimited-imports`}
42
+ rel="noreferrer">
43
+ {__('Get Unlimited Imports', 'extendify')}
44
+ <Icon icon={growthArrow} size={24} className="-mr-1" />
45
+ </Primary>
46
+ <p className="text-sm text-extendify-gray mb-0">
47
+ {__('Have an account?', 'extendify')}
48
+ <Button
49
+ onClick={() => pushModal(<SettingsModal />)}
50
+ className="underline hover:no-underline text-sm text-extendify-gray pl-2">
51
+ {__('Sign in', 'extendify')}
52
+ </Button>
53
+ </p>
54
+ </div>
55
+ </div>
56
+ <div className="space-y-2 justify-center p-10 text-black">
57
+ <div className="flex items-center space-x-2">
58
+ <Icon icon={patterns} size={24} className="-ml-1 mr-1" />
59
+ <span className="text-sm leading-none">
60
+ {__("Access to 100's of Patterns", 'extendify')}
61
+ </span>
62
+ </div>
63
+ <div className="flex items-center space-x-2">
64
+ <Icon icon={layouts} size={24} className="-ml-1 mr-1" />
65
+ <span className="text-sm leading-none">
66
+ {__('Beautiful full page layouts', 'extendify')}
67
+ </span>
68
+ </div>
69
+ <div className="flex items-center space-x-2">
70
+ <Icon icon={support} size={24} className="-ml-1 mr-1" />
71
+ <span className="text-sm leading-none">
72
+ {__('Fast and friendly support', 'extendify')}
73
+ </span>
74
+ </div>
75
+ <div className="flex items-center space-x-2">
76
+ <Icon icon={star} size={24} className="-ml-1 mr-1" />
77
+ <span className="text-sm leading-none">
78
+ {__('14-Day guarantee', 'extendify')}
79
+ </span>
80
+ </div>
81
+ </div>
82
+ </SplitModal>
83
+ )
84
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/modals/ProModal.js ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Icon } from '@wordpress/components'
2
+ import { useRef } from '@wordpress/element'
3
+ import { __ } from '@wordpress/i18n'
4
+ import { SplitModal } from './SplitModal'
5
+ import { growthArrow, brandLogo } from '../icons'
6
+
7
+ export const ProModal = () => {
8
+ const initialFocus = useRef(null)
9
+ return (
10
+ <SplitModal isOpen={true} invertedButtonColor={true} ref={initialFocus}>
11
+ {/* TODO: extract this padding to parent */}
12
+ <div className="p-12 py-2">
13
+ <div className="flex space-x-2 items-center mb-5 text-extendify-black">
14
+ {brandLogo}
15
+ </div>
16
+ <h3 className="text-xl mt-0">
17
+ {__(
18
+ 'Get unlimited access to all our Pro patterns & layouts',
19
+ 'extendify',
20
+ )}
21
+ </h3>
22
+ <p className="text-sm text-black">
23
+ {__(
24
+ "Upgrade to Extendify Pro and use all the patterns and layouts you'd like, including our exclusive Pro catalog.",
25
+ 'extendify',
26
+ )}
27
+ </p>
28
+ <div>
29
+ <a
30
+ target="_blank"
31
+ ref={initialFocus}
32
+ className="button-extendify-main inline-flex mt-2 px-4 py-3 button-focus justify-center"
33
+ style={{ minWidth: '225px' }}
34
+ href={`https://extendify.com/pricing/?utm_source=${window.extendifyData.sdk_partner}&utm_medium=library&utm_campaign=pro-modal&utm_content=upgrade-now`}
35
+ rel="noreferrer">
36
+ {__('Upgrade Now', 'extendify')}
37
+ <Icon icon={growthArrow} size={24} className="-mr-1" />
38
+ </a>
39
+ </div>
40
+ </div>
41
+ <div className="w-full bg-black flex justify-endrounded-tr-sm rounded-br-sm">
42
+ <img
43
+ alt={__('Upgrade Now', 'extendify')}
44
+ className="max-w-full rounded-tr-sm rounded-br-sm"
45
+ src={
46
+ window.extendifyData.asset_path +
47
+ '/modal-extendify-black.png'
48
+ }
49
+ />
50
+ </div>
51
+ </SplitModal>
52
+ )
53
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/modals/SettingsModal.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useRef } from '@wordpress/element'
2
+ import { __ } from '@wordpress/i18n'
3
+ import { useGlobalStore } from '../../state/GlobalState'
4
+ import LoginInterface from '../LoginInterface'
5
+ import { Modal } from './Modal'
6
+
7
+ export default function SettingsModal() {
8
+ const initialFocus = useRef(null)
9
+ const actionCallback = useGlobalStore((state) => state.removeAllModals)
10
+
11
+ return (
12
+ <Modal
13
+ heading={__('Settings', 'extendify')}
14
+ isOpen={true}
15
+ ref={initialFocus}>
16
+ <div className="flex p-6 justify-center">
17
+ <LoginInterface
18
+ initialFocus={initialFocus}
19
+ actionCallback={actionCallback}
20
+ />
21
+ </div>
22
+ </Modal>
23
+ )
24
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/modals/SplitModal.js ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Icon, close } from '@wordpress/icons'
2
+ import { __ } from '@wordpress/i18n'
3
+ import { Dialog, Transition } from '@headlessui/react'
4
+ import { Fragment, forwardRef, useRef } from '@wordpress/element'
5
+ import { useGlobalStore } from '../../state/GlobalState'
6
+
7
+ export const SplitModal = forwardRef(
8
+ ({ onClose, isOpen, invertedButtonColor, children }, initialFocus) => {
9
+ const focusBackup = useRef(null)
10
+ const defaultClose = useGlobalStore((state) => state.removeAllModals)
11
+ onClose = onClose ?? defaultClose
12
+
13
+ return (
14
+ <Transition.Root appear show={true} as={Fragment}>
15
+ <Dialog
16
+ as="div"
17
+ static
18
+ open={isOpen}
19
+ className="extendify"
20
+ initialFocus={initialFocus ?? focusBackup}
21
+ onClose={onClose}>
22
+ <div className="fixed z-high inset-0 flex">
23
+ <Transition.Child
24
+ as={Fragment}
25
+ enter="ease-out duration-50 transition"
26
+ enterFrom="opacity-0"
27
+ enterTo="opacity-100">
28
+ <Dialog.Overlay className="fixed inset-0 bg-black bg-opacity-40 transition-opacity" />
29
+ </Transition.Child>
30
+ <Transition.Child
31
+ as={Fragment}
32
+ enter="ease-out duration-300 translate transform"
33
+ enterFrom="opacity-0 translate-y-4 sm:translate-y-5"
34
+ enterTo="opacity-100 translate-y-0">
35
+ <div className="m-auto">
36
+ <div className="shadow-modal relative m-8 md:m-0 max-w-md rounded-sm md:flex bg-gray-100 items-center justify-center md:max-w-2xl">
37
+ <button
38
+ onClick={onClose}
39
+ ref={focusBackup}
40
+ className="absolute bg-transparent block p-4 top-0 right-0 rounded-md cursor-pointer text-gray-700 opacity-30 hover:opacity-100"
41
+ style={
42
+ invertedButtonColor && {
43
+ filter: 'invert(1)',
44
+ }
45
+ }>
46
+ <span className="sr-only">
47
+ {__('Close', 'extendify')}
48
+ </span>
49
+ <Icon icon={close} />
50
+ </button>
51
+ <div className="md:w-7/12">
52
+ {children[0]}
53
+ </div>
54
+ <div className="md:justify-none md:w-6/12 hidden md:block ">
55
+ {children[1]}
56
+ </div>
57
+ </div>
58
+ </div>
59
+ </Transition.Child>
60
+ </div>
61
+ </Dialog>
62
+ </Transition.Root>
63
+ )
64
+ },
65
+ )
lib/vendor/redux-framework/extendify-sdk/src/components/notices/FeedbackNotice.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Button } from '@wordpress/components'
3
+
4
+ export default function FeedbackNotice() {
5
+ return (
6
+ <>
7
+ <span className="text-black">
8
+ {__(
9
+ 'Tell us how to make the Extendify Library work better for you',
10
+ 'extendify',
11
+ )}
12
+ </span>
13
+ <span className="px-2 opacity-50" aria-hidden="true">
14
+ &#124;
15
+ </span>
16
+ <div className="flex space-x-2 justify-center items-center">
17
+ <Button
18
+ variant="link"
19
+ className="text-black underline hover:no-underline p-0 h-auto"
20
+ href={`https://extendify.com/feedback/?utm_source=${window.extendifyData.sdk_partner}&utm_medium=library&utm_campaign=feedback-notice&utm_content=give-feedback`}
21
+ target="_blank">
22
+ {__('Give feedback', 'extendify')}
23
+ </Button>
24
+ </div>
25
+ </>
26
+ )
27
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/notices/FooterNotice.js ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Icon, closeSmall } from '@wordpress/icons'
3
+ import { Button } from '@wordpress/components'
4
+ import WelcomeNotice from './WelcomeNotice'
5
+ import PromotionNotice from './PromotionNotice'
6
+ import FeedbackNotice from './FeedbackNotice'
7
+ import { useUserStore } from '../../state/User'
8
+ import { useGlobalStore } from '../../state/GlobalState'
9
+ import { useState, useEffect, useRef } from '@wordpress/element'
10
+ import { InstallStandaloneNotice } from './InstallStandaloneNotice'
11
+ import { General } from '../../api/General'
12
+
13
+ const NoticesByPriority = {
14
+ welcome: WelcomeNotice,
15
+ promotion: PromotionNotice,
16
+ feedback: FeedbackNotice,
17
+ standalone: InstallStandaloneNotice,
18
+ }
19
+
20
+ export default function FooterNotice() {
21
+ const [hasNotice, setHasNotice] = useState(null)
22
+ const once = useRef(false)
23
+ const promotionData = useGlobalStore(
24
+ (state) => state.metaData?.banners?.footer,
25
+ )
26
+
27
+ const showFeedback = () => {
28
+ const imports = useUserStore.getState().imports ?? 0
29
+ const firstLoadedOn =
30
+ useUserStore.getState()?.firstLoadedOn ?? new Date()
31
+ const timeDifference =
32
+ new Date().getTime() - new Date(firstLoadedOn).getTime()
33
+ const daysSinceActivated = timeDifference / 86_400_000 // 24 hours
34
+
35
+ return imports >= 3 && daysSinceActivated > 3
36
+ }
37
+
38
+ // Find the first notice key to use
39
+ // TODO: extract this logic into the individual component instead of controlling it here
40
+ const componentKey =
41
+ Object.keys(NoticesByPriority).find((key) => {
42
+ if (key === 'promotion') {
43
+ return (
44
+ // When checking promotions, use the key sent from the server
45
+ // to check whether it's been dismissed
46
+ promotionData?.key &&
47
+ !useUserStore.getState().noticesDismissedAt[
48
+ promotionData.key
49
+ ]
50
+ )
51
+ }
52
+
53
+ if (key === 'feedback') {
54
+ return (
55
+ showFeedback() &&
56
+ !useUserStore.getState().noticesDismissedAt[key]
57
+ )
58
+ }
59
+
60
+ if (key === 'standalone') {
61
+ return (
62
+ !window.extendifyData.standalone &&
63
+ !useUserStore.getState().noticesDismissedAt[key]
64
+ )
65
+ }
66
+
67
+ return !useUserStore.getState().noticesDismissedAt[key]
68
+ }) ?? null
69
+ const Notice = NoticesByPriority[componentKey]
70
+
71
+ const dismiss = async () => {
72
+ setHasNotice(false)
73
+ // The noticesDismissedAt key will either be the key from NoticesByPriority,
74
+ // or a key passed in from the server, such as 'holiday-sale2077'
75
+ const key =
76
+ componentKey === 'promotion' ? promotionData.key : componentKey
77
+ useUserStore.getState().markNoticeSeen(key, 'notices')
78
+ await General.ping(`footer-notice-x-${key}`)
79
+ }
80
+
81
+ useEffect(() => {
82
+ // Only show the notice once on main render and only if a notice exists.
83
+ if (NoticesByPriority[componentKey] && !once.current) {
84
+ setHasNotice(true)
85
+ once.current = true
86
+ }
87
+ }, [componentKey])
88
+
89
+ if (!hasNotice) {
90
+ return null
91
+ }
92
+ return (
93
+ <div className="bg-extendify-secondary hidden lg:flex space-x-4 py-3 px-5 justify-center items-center relative max-w-screen-4xl mx-auto">
94
+ {/* Pass all data to all components and let them decide what they use */}
95
+ <Notice promotionData={promotionData} />
96
+ <div className="absolute right-1">
97
+ <Button
98
+ className="opacity-50 hover:opacity-100 focus:opacity-100 text-extendify-black"
99
+ icon={<Icon icon={closeSmall} />}
100
+ label={__('Dismiss this notice', 'extendify')}
101
+ onClick={dismiss}
102
+ showTooltip={false}
103
+ />
104
+ </div>
105
+ </div>
106
+ )
107
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/notices/InstallStandaloneNotice.js ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Button } from '@wordpress/components'
3
+ import { useState } from '@wordpress/element'
4
+ import { Plugins } from '../../api/Plugins'
5
+ import classNames from 'classnames'
6
+ import { General } from '../../api/General'
7
+ import { useUserStore } from '../../state/User'
8
+
9
+ export const InstallStandaloneNotice = () => {
10
+ const [text, setText] = useState('')
11
+ const giveFreebieImports = useUserStore((state) => state.giveFreebieImports)
12
+ const installAndActivate = () => {
13
+ setText(__('Installing...', 'extendify'))
14
+ Promise.all([
15
+ General.ping('stln-footer-install'),
16
+ Plugins.installAndActivate(['extendify']),
17
+ new Promise((resolve) => setTimeout(resolve, 1000)),
18
+ ])
19
+ .then(async () => {
20
+ giveFreebieImports(10)
21
+ setText(__('Success! Reloading...', 'extendify'))
22
+ await General.ping('stln-footer-success')
23
+ window.location.reload()
24
+ })
25
+ .catch(async (error) => {
26
+ console.error(error)
27
+ setText(__('Error. See console.', 'extendify'))
28
+ await General.ping('stln-footer-fail')
29
+ })
30
+ }
31
+
32
+ return (
33
+ <div>
34
+ <span className="text-black">
35
+ {__(
36
+ 'Install the new Extendify Library plugin to get the latest we have to offer',
37
+ 'extendify',
38
+ )}
39
+ </span>
40
+ <span className="px-2 opacity-50" aria-hidden="true">
41
+ &#124;
42
+ </span>
43
+ <div className="inline-flex space-x-2 items-center relative">
44
+ <Button
45
+ variant="link"
46
+ className={classNames(
47
+ 'text-black underline hover:no-underline p-0 h-auto',
48
+ { 'opacity-0': text },
49
+ )}
50
+ onClick={installAndActivate}>
51
+ {__('Install Extendify standalone plugin', 'extendify')}
52
+ </Button>
53
+ {/* Little hacky to keep the text in place. Might need to tweak this */}
54
+ {text ? (
55
+ <Button
56
+ variant="link"
57
+ disabled={true}
58
+ className="text-black underline hover:no-underline p-0 h-auto absolute left-0 opacity-100"
59
+ onClick={() => {}}>
60
+ {text}
61
+ </Button>
62
+ ) : null}
63
+ </div>
64
+ </div>
65
+ )
66
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/notices/PromotionNotice.js ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Button } from '@wordpress/components'
2
+
3
+ export default function PromotionNotice({ promotionData }) {
4
+ return (
5
+ <>
6
+ <span className="text-black">{promotionData?.text ?? ''}</span>
7
+ <span className="px-2 opacity-50" aria-hidden="true">
8
+ &#124;
9
+ </span>
10
+ <div className="flex space-x-2 justify-center items-center">
11
+ {promotionData?.url && (
12
+ <Button
13
+ variant="link"
14
+ className="text-black underline hover:no-underline p-0 h-auto"
15
+ href={`${promotionData.url}?utm_source=${window.extendifyData.sdk_partner}`}
16
+ target="_blank">
17
+ {promotionData?.button_text}
18
+ </Button>
19
+ )}
20
+ </div>
21
+ </>
22
+ )
23
+ }
lib/vendor/redux-framework/extendify-sdk/src/components/notices/WelcomeNotice.js ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Button } from '@wordpress/components'
3
+ import { useUserStore } from '../../state/User'
4
+ import { useGlobalStore } from '../../state/GlobalState'
5
+
6
+ export default function WelcomeNotice() {
7
+ const setOpen = useGlobalStore((state) => state.setOpen)
8
+
9
+ const disableLibrary = () => {
10
+ const button = document.getElementById(
11
+ 'extendify-templates-inserter-btn',
12
+ )
13
+ button.classList.add('invisible')
14
+ useUserStore.setState({ enabled: false })
15
+ setOpen(false)
16
+ }
17
+
18
+ return (
19
+ <>
20
+ <span className="text-black">
21
+ {__('Welcome to the Extendify Library', 'extendify')}
22
+ </span>
23
+ <span className="px-2 opacity-50" aria-hidden="true">
24
+ &#124;
25
+ </span>
26
+ <div className="flex space-x-2 justify-center items-center">
27
+ <Button
28
+ variant="link"
29
+ className="text-black underline hover:no-underline p-0 h-auto"
30
+ href={`https://extendify.com/welcome/?utm_source=${window.extendifyData.sdk_partner}&utm_medium=library&utm_campaign=welcome-notice&utm_content=tell-me-more`}
31
+ target="_blank">
32
+ {__('Tell me more', 'extendify')}
33
+ </Button>
34
+ {window.extendifyData.standalone ? null : (
35
+ <>
36
+ <span className="font-bold" aria-hidden="true">
37
+ &bull;
38
+ </span>
39
+ <Button
40
+ variant="link"
41
+ className="text-black underline hover:no-underline p-0 h-auto"
42
+ onClick={disableLibrary}>
43
+ {__('Turn off the library', 'extendify')}
44
+ </Button>
45
+ </>
46
+ )}
47
+ </div>
48
+ </>
49
+ )
50
+ }
lib/vendor/redux-framework/extendify-sdk/src/hooks/helpers.js ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useRef, useEffect, useState } from '@wordpress/element'
2
+
3
+ export function useIsMounted() {
4
+ const isMounted = useRef(false)
5
+
6
+ useEffect(() => {
7
+ isMounted.current = true
8
+ return () => (isMounted.current = false)
9
+ })
10
+ return isMounted
11
+ }
12
+
13
+ export const useIsDevMode = () => {
14
+ const [devMode, setDevMode] = useState(false)
15
+ const handle = () => {
16
+ setDevMode(window.location.search.indexOf('DEVMODE') > -1)
17
+ }
18
+ useEffect(() => {
19
+ setDevMode(window.location.search.indexOf('DEVMODE') > -1)
20
+ window.addEventListener('popstate', handle)
21
+ return () => {
22
+ window.removeEventListener('popstate', handle)
23
+ }
24
+ }, [])
25
+ return devMode
26
+ }
27
+
28
+ export const useWhenIdle = (time) => {
29
+ const [userInteracted, setUserInteracted] = useState(true)
30
+ const [idle, setIdle] = useState(false)
31
+ const isMounted = useIsMounted()
32
+ const timerId = useRef()
33
+
34
+ useEffect(() => {
35
+ const handleMovement = () => setUserInteracted(true)
36
+ const passive = { passive: true }
37
+ window.addEventListener('keydown', handleMovement, passive)
38
+ window.addEventListener('mousemove', handleMovement, passive)
39
+ window.addEventListener('touchmove', handleMovement, passive)
40
+ return () => {
41
+ window.removeEventListener('keydown', handleMovement)
42
+ window.removeEventListener('mousemove', handleMovement)
43
+ window.removeEventListener('touchmove', handleMovement)
44
+ }
45
+ }, [])
46
+
47
+ useEffect(() => {
48
+ if (!userInteracted) return
49
+ setUserInteracted(false)
50
+ setIdle(false)
51
+ window.clearTimeout(timerId.current)
52
+ timerId.current = window.setTimeout(() => {
53
+ isMounted.current && setIdle(true)
54
+ }, time)
55
+ }, [userInteracted, time, isMounted])
56
+
57
+ return idle
58
+ }
59
+
60
+ /** Dev debugging tool to identify leaky renders: https://usehooks.com/useWhyDidYouUpdate/ */
61
+ export const useWhyDidYouUpdate = (name, props) => {
62
+ const previousProps = useRef()
63
+ useEffect(() => {
64
+ if (previousProps.current) {
65
+ const allKeys = Object.keys({ ...previousProps.current, ...props })
66
+ const changesObj = {}
67
+ allKeys.forEach((key) => {
68
+ if (previousProps.current[key] !== props[key]) {
69
+ changesObj[key] = {
70
+ from: previousProps.current[key],
71
+ to: props[key],
72
+ }
73
+ }
74
+ })
75
+ if (Object.keys(changesObj).length) {
76
+ console.log('[why-did-you-update]', name, changesObj)
77
+ }
78
+ }
79
+ previousProps.current = props
80
+ })
81
+ }
lib/vendor/redux-framework/extendify-sdk/src/hooks/useModal.js ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useState } from '@wordpress/element'
2
+ import { InstallStandaloneModal } from '../components/modals/InstallStandaloneModal'
3
+ import { useGlobalStore } from '../state/GlobalState'
4
+ import { useUserStore } from '../state/User'
5
+
6
+ /** Return any pending modals and check if any need to show */
7
+ export const useModal = () => {
8
+ const [modal, setModal] = useState(null)
9
+ const open = useGlobalStore((state) => state.open)
10
+ const pushModal = useGlobalStore((state) => state.pushModal)
11
+ const removeAllModals = useGlobalStore((state) => state.removeAllModals)
12
+
13
+ // Watches modals added anywhere
14
+ useEffect(
15
+ () =>
16
+ useGlobalStore.subscribe(
17
+ (value) => setModal(value?.length > 0 ? value[0] : null),
18
+ (state) => state.modals,
19
+ ),
20
+ [],
21
+ )
22
+
23
+ // Checks for modals that need to be shown on load
24
+ useEffect(() => {
25
+ if (!open) {
26
+ removeAllModals()
27
+ return
28
+ }
29
+ const ModalNoticesByPriority = {
30
+ standalone: InstallStandaloneModal,
31
+ }
32
+ const componentKey =
33
+ Object.keys(ModalNoticesByPriority).find((key) => {
34
+ if (key === 'standalone') {
35
+ return (
36
+ !window.extendifyData.standalone &&
37
+ !useUserStore.getState().modalNoticesDismissedAt[key]
38
+ )
39
+ }
40
+ return !useUserStore.getState().modalNoticesDismissedAt[key]
41
+ }) ?? null
42
+
43
+ const Modal = ModalNoticesByPriority[componentKey]
44
+ if (Modal) pushModal(<Modal />)
45
+ }, [open, pushModal, removeAllModals])
46
+
47
+ return modal
48
+ }
lib/vendor/redux-framework/extendify-sdk/src/hooks/useTaxonomies.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useEffect, useCallback } from '@wordpress/element'
2
+ import { Taxonomies as TaxonomiesApi } from '../api/Taxonomies'
3
+ import { useTaxonomyStore } from '../state/Taxonomies'
4
+ import { useTemplatesStore } from '../state/Templates'
5
+
6
+ export default function useTaxonomies(fetchImmediately = false) {
7
+ const setupDefaultTaxonomies = useTemplatesStore(
8
+ (state) => state.setupDefaultTaxonomies,
9
+ )
10
+ const setTaxonomies = useTaxonomyStore((state) => state.setTaxonomies)
11
+ const fetchTaxonomies = useCallback(async () => {
12
+ let tax = await TaxonomiesApi.get()
13
+ tax = Object.keys(tax).reduce((taxFiltered, key) => {
14
+ taxFiltered[key] = tax[key]
15
+ return taxFiltered
16
+ }, {})
17
+ if (!Object.keys(tax)?.length) {
18
+ return
19
+ }
20
+ setTaxonomies(tax)
21
+ setupDefaultTaxonomies()
22
+ }, [setTaxonomies, setupDefaultTaxonomies])
23
+
24
+ useEffect(() => {
25
+ fetchImmediately && fetchTaxonomies()
26
+ }, [fetchTaxonomies, fetchImmediately])
27
+ }
lib/vendor/redux-framework/extendify-sdk/src/listeners/index.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ import { templateHandler } from './template-inserted'
2
+ import { softErrorHandler } from './softerror-encountered'
3
+ ;[templateHandler, softErrorHandler].forEach((listener) => listener.register())
lib/vendor/redux-framework/extendify-sdk/src/listeners/softerror-encountered.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { camelCase } from 'lodash'
2
+ import { render } from '@wordpress/element'
3
+ import RequiredPluginsModal from '../middleware/hasRequiredPlugins/RequiredPluginsModal'
4
+
5
+ // use this to trigger an error from outside the application
6
+ export const softErrorHandler = {
7
+ register() {
8
+ window.addEventListener('extendify::softerror-encountered', (event) => {
9
+ this[camelCase(event.detail.type)](event.detail)
10
+ })
11
+ },
12
+ versionOutdated(error) {
13
+ render(
14
+ <RequiredPluginsModal
15
+ title={error.data.title}
16
+ requiredPlugins={['extendify']}
17
+ message={error.data.message}
18
+ buttonLabel={error.data.buttonLabel}
19
+ forceOpen={true}
20
+ />,
21
+ document.getElementById('extendify-root'),
22
+ )
23
+ },
24
+ }
lib/vendor/redux-framework/extendify-sdk/src/listeners/template-inserted.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Templates } from '../api/Templates'
2
+ import { useUserStore } from '../state/User'
3
+ import { dispatch } from '@wordpress/data'
4
+ import { __ } from '@wordpress/i18n'
5
+
6
+ // This fires after a template is inserted
7
+ export const templateHandler = {
8
+ register() {
9
+ const { createNotice } = dispatch('core/notices')
10
+ const increaseImports = useUserStore.getState().incrementImports
11
+ window.addEventListener('extendify::template-inserted', (event) => {
12
+ createNotice('info', __('Page layout added'), {
13
+ isDismissible: true,
14
+ type: 'snackbar',
15
+ })
16
+ // This is put off to the stack in attempt to fix a bug where
17
+ // some users are having their imports go from 3->0 in an instant
18
+ setTimeout(() => {
19
+ increaseImports()
20
+ Templates.import(event.detail?.template)
21
+ }, 0)
22
+ })
23
+ },
24
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/NeedsPermissionModal.js ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __, sprintf } from '@wordpress/i18n'
2
+ import { Modal, Button } from '@wordpress/components'
3
+ import { render } from '@wordpress/element'
4
+ import ExtendifyLibrary from '../ExtendifyLibrary'
5
+ import { useWantedTemplateStore } from '../state/Importing'
6
+ import { getPluginDescription } from '../util/general'
7
+
8
+ export default function NeedsPermissionModal() {
9
+ const wantedTemplate = useWantedTemplateStore(
10
+ (store) => store.wantedTemplate,
11
+ )
12
+ const closeModal = () =>
13
+ render(
14
+ <ExtendifyLibrary show={true} />,
15
+ document.getElementById('extendify-root'),
16
+ )
17
+ const requiredPlugins = wantedTemplate?.fields?.required_plugins || []
18
+ return (
19
+ <Modal
20
+ title={__('Plugins required', 'extendify')}
21
+ isDismissible={false}>
22
+ <p
23
+ style={{
24
+ maxWidth: '400px',
25
+ }}>
26
+ {sprintf(
27
+ __(
28
+ 'In order to add this %s to your site, the following plugins are required to be installed and activated.',
29
+ 'extendify',
30
+ ),
31
+ wantedTemplate?.fields?.type ?? 'template',
32
+ )}
33
+ </p>
34
+ <ul>
35
+ {
36
+ // Hardcoded temporarily to not force EP install
37
+ // requiredPlugins.map((plugin) =>
38
+ requiredPlugins
39
+ .filter((p) => p !== 'editorplus')
40
+ .map((plugin) => (
41
+ <li key={plugin}>{getPluginDescription(plugin)}</li>
42
+ ))
43
+ }
44
+ </ul>
45
+ <p
46
+ style={{
47
+ maxWidth: '400px',
48
+ fontWeight: 'bold',
49
+ }}>
50
+ {__(
51
+ 'Please contact a site admin for assistance in adding these plugins to your site.',
52
+ 'extendify',
53
+ )}
54
+ </p>
55
+ <Button
56
+ isPrimary
57
+ onClick={closeModal}
58
+ style={{
59
+ boxShadow: 'none',
60
+ }}>
61
+ {__('Return to library', 'extendify')}
62
+ </Button>
63
+ </Modal>
64
+ )
65
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/NeedsRegistrationModal.js ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __, sprintf } from '@wordpress/i18n'
2
+ import { Button } from '@wordpress/components'
3
+ import { useUserStore } from '../state/User'
4
+ import { useState, useRef } from '@wordpress/element'
5
+ import { User as UserApi } from '../api/User'
6
+ import { useGlobalStore } from '../state/GlobalState'
7
+ import { Modal } from '../components/modals/Modal'
8
+ import { brandMark } from '../components/icons'
9
+ import { Icon } from '@wordpress/icons'
10
+ import Primary from '../components/buttons/Primary'
11
+ import { safeHTML } from '@wordpress/dom'
12
+
13
+ export default function NeedsRegistrationModal({ finished, resetMiddleware }) {
14
+ const [email, setEmail] = useState('')
15
+ const remainingImports = useUserStore((state) => state.remainingImports)
16
+ const emailRef = useRef(null)
17
+ const removeAllModals = useGlobalStore((state) => state.removeAllModals)
18
+ const registerAndContinue = async (event) => {
19
+ event.preventDefault()
20
+ useUserStore.setState({
21
+ registration: { email },
22
+ freebieImports: Number(useUserStore.getState().freebieImports) + 10,
23
+ })
24
+ await UserApi.registerMailingList(email)
25
+ finished()
26
+ }
27
+
28
+ const optOut = () => {
29
+ useUserStore.setState({
30
+ registration: { optedOut: true },
31
+ })
32
+ finished()
33
+ }
34
+
35
+ return (
36
+ <Modal
37
+ isOpen={true}
38
+ onClose={() => {
39
+ removeAllModals()
40
+ resetMiddleware()
41
+ }}
42
+ ref={emailRef}>
43
+ <div className="p-10 space-y-4 text-extendify-black">
44
+ <Icon icon={brandMark} size={42} className="-ml-2 -mt-2" />
45
+ <h3 className="text-xl md:leading-3">
46
+ {remainingImports() == 1
47
+ ? __('This is your last import', 'extendify')
48
+ : sprintf(
49
+ __('You now have %s imports left', 'extendify'),
50
+ remainingImports(),
51
+ )}
52
+ </h3>
53
+ <p
54
+ className="max-w-md text-sm"
55
+ dangerouslySetInnerHTML={{
56
+ __html: safeHTML(
57
+ sprintf(
58
+ // Translators: 1. and 2. are <strong> tags
59
+ __(
60
+ "Subscribe and %1$swe'll send you 10 more%2$s. Plus you'll get updates and special offers from us fine folks at Extendify.",
61
+ 'extendify',
62
+ ),
63
+ '<strong>',
64
+ '</strong>',
65
+ ),
66
+ ),
67
+ }}></p>
68
+ <form
69
+ onSubmit={registerAndContinue}
70
+ className="flex space-x-2 py-2 items-stretch">
71
+ <div className="relative w-full max-w-xs">
72
+ <label
73
+ htmlFor="extendify-email-register"
74
+ className="sr-only">
75
+ {__('Email', 'extendify')}
76
+ </label>
77
+ <input
78
+ ref={emailRef}
79
+ id="extendify-email-register"
80
+ name="extendify-email-register"
81
+ required
82
+ onChange={(event) => setEmail(event.target.value)}
83
+ type="email"
84
+ className="text-sm min-h-0 p-2 border-2 border-gray-900 rounded-md w-full"
85
+ placeholder={__(
86
+ 'Enter your email address',
87
+ 'extendify',
88
+ )}
89
+ />
90
+ </div>
91
+ <Primary type="submit" className="px-4 rounded-md my-0">
92
+ {__('Submit', 'extendify')}
93
+ </Primary>
94
+ </form>
95
+ <Button
96
+ isLink
97
+ className="text-extendify-gray text-sm my-0"
98
+ onClick={optOut}>
99
+ {__('No thanks — finish importing', 'extendify')}
100
+ </Button>
101
+ </div>
102
+ </Modal>
103
+ )
104
+ }
105
+
106
+ const pass = () => {
107
+ const userState = useUserStore.getState()
108
+ const remainingImports = userState?.remainingImports()
109
+
110
+ // On the last import, show the modal if they opted out
111
+ if (remainingImports === 1 && userState?.registration?.optedOut) {
112
+ return false
113
+ }
114
+ return (
115
+ userState?.registration?.email?.length || // Already registered
116
+ userState?.apiKey?.length || // Already a member
117
+ userState?.registration?.optedOut || // Already opted out
118
+ userState?.imports === 0 // Hasn't imported yet
119
+ )
120
+ }
121
+
122
+ export function check() {
123
+ const pushModal = useGlobalStore.getState().pushModal
124
+
125
+ return {
126
+ id: 'NeedsRegistrationModal',
127
+ pass: pass(),
128
+ allow() {},
129
+ deny() {
130
+ return new Promise((resolve, reject) => {
131
+ pushModal(
132
+ <NeedsRegistrationModal
133
+ finished={resolve}
134
+ resetMiddleware={reject}
135
+ />,
136
+ )
137
+ })
138
+ },
139
+ }
140
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/ReloadRequiredModal.js ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Modal, Button, ButtonGroup } from '@wordpress/components'
3
+ import { useState } from '@wordpress/element'
4
+ import { dispatch, select } from '@wordpress/data'
5
+
6
+ export default function ReloadRequiredModal() {
7
+ const [isSaving, setSaving] = useState(false)
8
+ const { isEditedPostDirty } = select('core/editor')
9
+ const hasUnsavedChanges = isEditedPostDirty()
10
+ const saveChanges = () => {
11
+ setSaving(true)
12
+ dispatch('core/editor').savePost()
13
+ setSaving(false)
14
+ }
15
+ const reload = () => {
16
+ // location.reload()
17
+ }
18
+ if (!hasUnsavedChanges) {
19
+ reload()
20
+ return null
21
+ }
22
+ return (
23
+ <Modal title={__('Reload required', 'extendify')} isDismissible={false}>
24
+ <p
25
+ style={{
26
+ maxWidth: '400px',
27
+ }}>
28
+ {__(
29
+ 'Just one more thing! We need to reload the page to continue.',
30
+ 'extendify',
31
+ )}
32
+ </p>
33
+ <ButtonGroup>
34
+ <Button isPrimary onClick={reload} disabled={isSaving}>
35
+ {__('Reload page', 'extendify')}
36
+ </Button>
37
+ <Button
38
+ isSecondary
39
+ onClick={saveChanges}
40
+ isBusy={isSaving}
41
+ style={{
42
+ margin: '0 4px',
43
+ }}>
44
+ {__('Save changes', 'extendify')}
45
+ </Button>
46
+ </ButtonGroup>
47
+ </Modal>
48
+ )
49
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ActivatePluginsModal.js ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __, sprintf } from '@wordpress/i18n'
2
+ import { Modal, Button, ButtonGroup } from '@wordpress/components'
3
+ import { render } from '@wordpress/element'
4
+ import ActivatingModal from './ActivatingModal'
5
+ import ExtendifyLibrary from '../../ExtendifyLibrary'
6
+ import { useWantedTemplateStore } from '../../state/Importing'
7
+ import { getPluginDescription } from '../../util/general'
8
+ import { useUserStore } from '../../state/User'
9
+ import NeedsPermissionModal from '../NeedsPermissionModal'
10
+
11
+ export default function ActivatePluginsModal(props) {
12
+ const wantedTemplate = useWantedTemplateStore(
13
+ (store) => store.wantedTemplate,
14
+ )
15
+ const closeModal = () =>
16
+ render(
17
+ <ExtendifyLibrary show={true} />,
18
+ document.getElementById('extendify-root'),
19
+ )
20
+ const installPlugins = () =>
21
+ render(<ActivatingModal />, document.getElementById('extendify-root'))
22
+ const requiredPlugins = wantedTemplate?.fields?.required_plugins || []
23
+
24
+ if (!useUserStore.getState()?.canActivatePlugins) {
25
+ return <NeedsPermissionModal />
26
+ }
27
+
28
+ return (
29
+ <Modal
30
+ title={__('Activate required plugins', 'extendify')}
31
+ isDismissible={false}>
32
+ <div>
33
+ <p
34
+ style={{
35
+ maxWidth: '400px',
36
+ }}>
37
+ {props.message ??
38
+ __(
39
+ sprintf(
40
+ 'There is just one more step. This %s requires the following plugins to be installed and activated:',
41
+ wantedTemplate?.fields?.type ?? 'template',
42
+ ),
43
+ 'extendify',
44
+ )}
45
+ </p>
46
+ <ul>
47
+ {
48
+ // Hardcoded temporarily to not force EP install
49
+ // requiredPlugins.map((plugin) =>
50
+ requiredPlugins
51
+ .filter((p) => p !== 'editorplus')
52
+ .map((plugin) => (
53
+ <li key={plugin}>
54
+ {getPluginDescription(plugin)}
55
+ </li>
56
+ ))
57
+ }
58
+ </ul>
59
+ <ButtonGroup>
60
+ <Button isPrimary onClick={installPlugins}>
61
+ {__('Activate Plugins', 'extendify')}
62
+ </Button>
63
+ {props.showClose && (
64
+ <Button
65
+ isTertiary
66
+ onClick={closeModal}
67
+ style={{
68
+ boxShadow: 'none',
69
+ margin: '0 4px',
70
+ }}>
71
+ {__('No thanks, return to library', 'extendify')}
72
+ </Button>
73
+ )}
74
+ </ButtonGroup>
75
+ </div>
76
+ </Modal>
77
+ )
78
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ActivatingModal.js ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Modal, Button } from '@wordpress/components'
3
+ import { useState, render } from '@wordpress/element'
4
+ import { Plugins } from '../../api/Plugins'
5
+ import { useWantedTemplateStore } from '../../state/Importing'
6
+ import ErrorActivating from './ErrorActivating'
7
+ import ReloadRequiredModal from '../ReloadRequiredModal'
8
+
9
+ export default function ActivatingModal() {
10
+ const [errorMessage, setErrorMessage] = useState('')
11
+ const wantedTemplate = useWantedTemplateStore(
12
+ (store) => store.wantedTemplate,
13
+ )
14
+
15
+ // Hardcoded temporarily to not force EP install
16
+ // const required = wantedTemplate?.fields?.required_plugins
17
+ const required = wantedTemplate?.fields?.required_plugins.filter(
18
+ (p) => p !== 'editorplus',
19
+ )
20
+
21
+ Plugins.installAndActivate(required)
22
+ .then(() => {
23
+ useWantedTemplateStore.setState({
24
+ importOnLoad: true,
25
+ })
26
+ })
27
+ .then(async () => {
28
+ await new Promise((resolve) => setTimeout(resolve, 1000))
29
+ render(
30
+ <ReloadRequiredModal />,
31
+ document.getElementById('extendify-root'),
32
+ )
33
+ })
34
+ .catch(({ response }) => {
35
+ setErrorMessage(response.data.message)
36
+ })
37
+
38
+ if (errorMessage) {
39
+ return <ErrorActivating msg={errorMessage} />
40
+ }
41
+
42
+ return (
43
+ <Modal
44
+ title={__('Activating plugins', 'extendify')}
45
+ isDismissible={false}>
46
+ <Button
47
+ style={{
48
+ width: '100%',
49
+ }}
50
+ disabled
51
+ isPrimary
52
+ isBusy
53
+ onClick={() => {}}>
54
+ {__('Activating...', 'extendify')}
55
+ </Button>
56
+ </Modal>
57
+ )
58
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ErrorActivating.js ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Modal, Button, Notice } from '@wordpress/components'
3
+ import { render } from '@wordpress/element'
4
+ import ActivatePluginsModal from './ActivatePluginsModal'
5
+
6
+ export default function ErrorActivating({ msg }) {
7
+ const goBack = () => {
8
+ render(
9
+ <ActivatePluginsModal />,
10
+ document.getElementById('extendify-root'),
11
+ )
12
+ }
13
+
14
+ return (
15
+ <Modal
16
+ style={{
17
+ maxWidth: '500px',
18
+ }}
19
+ title={__('Error Activating plugins', 'extendify')}
20
+ isDismissible={false}>
21
+ {__(
22
+ 'You have encountered an error that we cannot recover from. Please try again.',
23
+ 'extendify',
24
+ )}
25
+ <br />
26
+ <Notice isDismissible={false} status="error">
27
+ {msg}
28
+ </Notice>
29
+ <Button isPrimary onClick={goBack}>
30
+ {__('Go back', 'extendify')}
31
+ </Button>
32
+ </Modal>
33
+ )
34
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/index.js ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { checkIfUserNeedsToActivatePlugins } from '../helpers'
2
+ import ActivatePluginsModal from './ActivatePluginsModal'
3
+ import { render } from '@wordpress/element'
4
+
5
+ export const hasPluginsActivated = async (template) => {
6
+ return {
7
+ id: 'hasPluginsActivated',
8
+ pass: !(await checkIfUserNeedsToActivatePlugins(template)),
9
+ allow() {},
10
+ deny() {
11
+ return new Promise(() => {
12
+ render(
13
+ <ActivatePluginsModal showClose={true} />,
14
+ document.getElementById('extendify-root'),
15
+ )
16
+ })
17
+ },
18
+ }
19
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/ErrorInstalling.js ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Modal, Button, Notice } from '@wordpress/components'
3
+ import { render } from '@wordpress/element'
4
+ import RequiredPluginsModal from './RequiredPluginsModal'
5
+
6
+ export default function ErrorInstalling({ msg }) {
7
+ const goBack = () =>
8
+ render(
9
+ <RequiredPluginsModal />,
10
+ document.getElementById('extendify-root'),
11
+ )
12
+
13
+ return (
14
+ <Modal
15
+ style={{
16
+ maxWidth: '500px',
17
+ }}
18
+ title={__('Error installing plugins', 'extendify')}
19
+ isDismissible={false}>
20
+ {__(
21
+ 'You have encountered an error that we cannot recover from. Please try again.',
22
+ 'extendify',
23
+ )}
24
+ <br />
25
+ <Notice isDismissible={false} status="error">
26
+ {msg}
27
+ </Notice>
28
+ <Button isPrimary onClick={goBack}>
29
+ {__('Go back', 'extendify')}
30
+ </Button>
31
+ </Modal>
32
+ )
33
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/InstallingModal.js ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Modal, Button } from '@wordpress/components'
3
+ import { useState, render } from '@wordpress/element'
4
+ import { Plugins } from '../../api/Plugins'
5
+ import { useWantedTemplateStore } from '../../state/Importing'
6
+ import ErrorInstalling from './ErrorInstalling'
7
+ import ReloadRequiredModal from '../ReloadRequiredModal'
8
+
9
+ export default function InstallingModal({ requiredPlugins }) {
10
+ const [errorMessage, setErrorMessage] = useState('')
11
+ const wantedTemplate = useWantedTemplateStore(
12
+ (store) => store.wantedTemplate,
13
+ )
14
+
15
+ // Hardcoded temporarily to not force EP install
16
+ // const required = wantedTemplate?.fields?.required_plugins
17
+ const required =
18
+ requiredPlugins ??
19
+ wantedTemplate?.fields?.required_plugins.filter(
20
+ (p) => p !== 'editorplus',
21
+ )
22
+
23
+ Plugins.installAndActivate(required)
24
+ .then(() => {
25
+ useWantedTemplateStore.setState({
26
+ importOnLoad: true,
27
+ })
28
+ render(
29
+ <ReloadRequiredModal />,
30
+ document.getElementById('extendify-root'),
31
+ )
32
+ })
33
+ .catch(({ message }) => {
34
+ setErrorMessage(message)
35
+ })
36
+
37
+ if (errorMessage) {
38
+ return <ErrorInstalling msg={errorMessage} />
39
+ }
40
+
41
+ return (
42
+ <Modal
43
+ title={__('Installing plugins', 'extendify')}
44
+ isDismissible={false}>
45
+ <Button
46
+ style={{
47
+ width: '100%',
48
+ }}
49
+ disabled
50
+ isPrimary
51
+ isBusy
52
+ onClick={() => {}}>
53
+ {__('Installing...', 'extendify')}
54
+ </Button>
55
+ </Modal>
56
+ )
57
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/RequiredPluginsModal.js ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __, sprintf } from '@wordpress/i18n'
2
+ import ExtendifyLibrary from '../../ExtendifyLibrary'
3
+ import { Modal, Button, ButtonGroup } from '@wordpress/components'
4
+ import { render } from '@wordpress/element'
5
+ import InstallingModal from './InstallingModal'
6
+ import { useWantedTemplateStore } from '../../state/Importing'
7
+ import { getPluginDescription } from '../../util/general'
8
+ import { useUserStore } from '../../state/User'
9
+ import NeedsPermissionModal from '../NeedsPermissionModal'
10
+
11
+ export default function RequiredPluginsModal({
12
+ forceOpen,
13
+ buttonLabel,
14
+ title,
15
+ message,
16
+ requiredPlugins,
17
+ }) {
18
+ // If there's a template in cache ready to be installed.
19
+ // TODO: this could probably be refactored out when overhauling required plugins
20
+ const wantedTemplate = useWantedTemplateStore(
21
+ (store) => store.wantedTemplate,
22
+ )
23
+ requiredPlugins =
24
+ requiredPlugins ?? wantedTemplate?.fields?.required_plugins
25
+
26
+ const closeModal = () => {
27
+ if (forceOpen) {
28
+ return
29
+ }
30
+ render(
31
+ <ExtendifyLibrary show={true} />,
32
+ document.getElementById('extendify-root'),
33
+ )
34
+ }
35
+ const installPlugins = () =>
36
+ render(
37
+ <InstallingModal requiredPlugins={requiredPlugins} />,
38
+ document.getElementById('extendify-root'),
39
+ )
40
+
41
+ if (!useUserStore.getState()?.canInstallPlugins) {
42
+ return <NeedsPermissionModal />
43
+ }
44
+
45
+ return (
46
+ <Modal
47
+ title={title ?? __('Install required plugins', 'extendify')}
48
+ isDismissible={false}>
49
+ <p
50
+ style={{
51
+ maxWidth: '400px',
52
+ }}>
53
+ {message ??
54
+ __(
55
+ sprintf(
56
+ 'There is just one more step. This %s requires the following to be automatically installed and activated:',
57
+ wantedTemplate?.fields?.type ?? 'template',
58
+ ),
59
+ 'extendify',
60
+ )}
61
+ </p>
62
+ {message?.length > 0 || (
63
+ <ul>
64
+ {
65
+ // Hardcoded temporarily to not force EP install
66
+ // requiredPlugins.map((plugin) =>
67
+ requiredPlugins
68
+ .filter((p) => p !== 'editorplus')
69
+ .map((plugin) => (
70
+ <li key={plugin}>
71
+ {getPluginDescription(plugin)}
72
+ </li>
73
+ ))
74
+ }
75
+ </ul>
76
+ )}
77
+ <ButtonGroup>
78
+ <Button isPrimary onClick={installPlugins}>
79
+ {buttonLabel ?? __('Install Plugins', 'extendify')}
80
+ </Button>
81
+ {forceOpen || (
82
+ <Button
83
+ isTertiary
84
+ onClick={closeModal}
85
+ style={{
86
+ boxShadow: 'none',
87
+ margin: '0 4px',
88
+ }}>
89
+ {__('No thanks, take me back', 'extendify')}
90
+ </Button>
91
+ )}
92
+ </ButtonGroup>
93
+ </Modal>
94
+ )
95
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/index.js ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { checkIfUserNeedsToInstallPlugins } from '../helpers'
2
+ import RequiredPluginsModal from './RequiredPluginsModal'
3
+ import { render } from '@wordpress/element'
4
+
5
+ export const hasRequiredPlugins = async (template) => {
6
+ return {
7
+ id: 'hasRequiredPlugins',
8
+ pass: !(await checkIfUserNeedsToInstallPlugins(template)),
9
+ allow() {},
10
+ deny() {
11
+ return new Promise(() => {
12
+ render(
13
+ <RequiredPluginsModal />,
14
+ document.getElementById('extendify-root'),
15
+ )
16
+ })
17
+ },
18
+ }
19
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/helpers.js ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Plugins } from '../api/Plugins'
2
+
3
+ let installedPlugins = []
4
+ let activatedPlugins = []
5
+
6
+ export async function checkIfUserNeedsToInstallPlugins(template) {
7
+ let required = template?.fields?.required_plugins ?? []
8
+ // Hardcoded temporarily to not force EP install
9
+ required = required.filter((p) => p !== 'editorplus')
10
+ if (!required.length) {
11
+ return false
12
+ }
13
+
14
+ if (!installedPlugins.length) {
15
+ installedPlugins = Object.keys(await Plugins.getInstalled())
16
+ }
17
+ // if no dependencies are required, then this will be false automatically
18
+ const weNeedInstalls = required.length
19
+ ? required.filter((plugin) => {
20
+ // TODO: if we have better data to work with this can be more literal
21
+ return !installedPlugins.some((k) => {
22
+ return k.includes(plugin)
23
+ })
24
+ })
25
+ : false
26
+
27
+ return weNeedInstalls.length
28
+ }
29
+
30
+ export async function checkIfUserNeedsToActivatePlugins(template) {
31
+ let required = template?.fields?.required_plugins ?? []
32
+
33
+ // Hardcoded temporarily to not force EP install
34
+ required = required.filter((p) => p !== 'editorplus')
35
+ if (!required.length) {
36
+ return false
37
+ }
38
+
39
+ if (!activatedPlugins.length) {
40
+ activatedPlugins = Object.values(await Plugins.getActivated())
41
+ }
42
+
43
+ // if no dependencies are required, then this will be false automatically
44
+ const weNeedActivations = required.length
45
+ ? required.filter((plugin) => {
46
+ // TODO: if we have better data to work with this can be more literal
47
+ return !activatedPlugins.some((k) => {
48
+ return k.includes(plugin)
49
+ })
50
+ })
51
+ : false
52
+
53
+ // if the plugins we need to have activated are not even installed, handle them elsewhere
54
+ if (weNeedActivations) {
55
+ // This call is a bit more expensive so only run it if needed
56
+ if (await checkIfUserNeedsToInstallPlugins(template)) {
57
+ return false
58
+ }
59
+ }
60
+ return weNeedActivations.length
61
+ }
lib/vendor/redux-framework/extendify-sdk/src/middleware/index.js ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { hasRequiredPlugins } from './hasRequiredPlugins'
2
+ import { hasPluginsActivated } from './hasPluginsActivated'
3
+ import { check as checkNeedsRegistrationModal } from './NeedsRegistrationModal'
4
+
5
+ export const Middleware = (middleware = []) => {
6
+ return {
7
+ hasRequiredPlugins: hasRequiredPlugins,
8
+ hasPluginsActivated: hasPluginsActivated,
9
+ NeedsRegistrationModal: checkNeedsRegistrationModal,
10
+ stack: [],
11
+ async check(template) {
12
+ for (const m of middleware) {
13
+ const cb = await this[`${m}`](template)
14
+ this.stack.push(cb.pass ? cb.allow : cb.deny)
15
+ }
16
+ },
17
+ reset() {
18
+ this.stack = []
19
+ },
20
+ }
21
+ }
22
+
23
+ export async function AuthorizationCheck(middleware) {
24
+ const middlewareGenerator = MiddlewareGenerator(middleware.stack)
25
+ while (true) {
26
+ let result
27
+ try {
28
+ result = await middlewareGenerator.next()
29
+ } catch {
30
+ // Reset the stack and exit the middleware
31
+ // This is used if you want to have the user cancel
32
+ middleware.reset()
33
+ throw 'Middleware exited'
34
+ }
35
+
36
+ // TODO: Could probably have a check for errors here
37
+ if (result.done) {
38
+ break
39
+ }
40
+ }
41
+ }
42
+ export async function* MiddlewareGenerator(middleware) {
43
+ for (const m of middleware) {
44
+ yield await m()
45
+ }
46
+ }
lib/vendor/redux-framework/extendify-sdk/src/pages/GridView.js ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import Masonry from 'react-masonry-css'
2
+ import {
3
+ useEffect,
4
+ useState,
5
+ useCallback,
6
+ useRef,
7
+ memo,
8
+ } from '@wordpress/element'
9
+ import { Spinner, Button } from '@wordpress/components'
10
+ import { __, sprintf } from '@wordpress/i18n'
11
+ import { useTemplatesStore } from '../state/Templates'
12
+ import { Templates as TemplatesApi } from '../api/Templates'
13
+ import { useInView } from 'react-intersection-observer'
14
+ import { useIsMounted } from '../hooks/helpers'
15
+ import { ImportTemplateBlock } from '../components/ImportTemplateBlock'
16
+
17
+ export const GridView = memo(() => {
18
+ const isMounted = useIsMounted()
19
+ const templates = useTemplatesStore((state) => state.templates)
20
+ const appendTemplates = useTemplatesStore((state) => state.appendTemplates)
21
+ const [serverError, setServerError] = useState('')
22
+ const [nothingFound, setNothingFound] = useState(false)
23
+ const [loading, setLoading] = useState(false)
24
+ const [loadMoreRef, inView] = useInView()
25
+ const searchParamsRaw = useTemplatesStore((state) => state.searchParams)
26
+ const resetTemplates = useTemplatesStore((state) => state.resetTemplates)
27
+
28
+ // Store the next page in case we have pagination
29
+ const nextPage = useRef(useTemplatesStore.getState().nextPage)
30
+ const searchParams = useRef(useTemplatesStore.getState().searchParams)
31
+ const taxonomyType =
32
+ searchParams.current.type === 'pattern' ? 'patternType' : 'layoutType'
33
+ const currentTax = searchParams.current.taxonomies[taxonomyType]
34
+
35
+ // Subscribing to the store will keep these values updates synchronously
36
+ useEffect(() => {
37
+ return useTemplatesStore.subscribe(
38
+ (n) => (nextPage.current = n),
39
+ (state) => state.nextPage,
40
+ )
41
+ }, [])
42
+ useEffect(() => {
43
+ return useTemplatesStore.subscribe(
44
+ (s) => (searchParams.current = s),
45
+ (state) => state.searchParams,
46
+ )
47
+ }, [])
48
+
49
+ // Fetch the templates then add them to the current state
50
+ const fetchTemplates = useCallback(() => {
51
+ setServerError('')
52
+ setNothingFound(false)
53
+ const defaultError = __(
54
+ 'Unknown error occured. Check browser console or contact support.',
55
+ 'extendify',
56
+ )
57
+ const args = { offset: nextPage.current }
58
+ TemplatesApi.get(searchParams.current, args)
59
+ .then((response) => {
60
+ if (!isMounted.current) return
61
+ if (response?.error?.length) {
62
+ setServerError(response?.error)
63
+ return
64
+ }
65
+ if (response?.records?.length <= 0) {
66
+ setNothingFound(true)
67
+ return
68
+ }
69
+ if (
70
+ searchParamsRaw === searchParams.current &&
71
+ response?.records.length
72
+ ) {
73
+ useTemplatesStore.setState({
74
+ nextPage: response?.offset ?? '',
75
+ })
76
+ appendTemplates(response.records)
77
+ setLoading(false)
78
+ }
79
+ })
80
+ .catch((error) => {
81
+ if (!isMounted.current) return
82
+ console.error(error)
83
+ setServerError(defaultError)
84
+ })
85
+ }, [appendTemplates, isMounted, searchParamsRaw])
86
+
87
+ useEffect(() => {
88
+ if (templates.length === 0) {
89
+ setLoading(true)
90
+ return
91
+ }
92
+ }, [templates.length, searchParamsRaw])
93
+
94
+ // This is the main driver for loading templates
95
+ // This loads the initial batch of templates. But if we don't yet have taxonomies.
96
+ // There's also an option to skip loading on first mount
97
+ useEffect(() => {
98
+ if (!Object.keys(searchParams.current.taxonomies).length) {
99
+ return
100
+ }
101
+
102
+ if (useTemplatesStore.getState().skipNextFetch) {
103
+ // This is useful if the templates are fetched already and
104
+ // the library moves to/from another state that re-renders
105
+ // The point is to keep the logic close to the list. That may change someday
106
+ useTemplatesStore.setState({
107
+ skipNextFetch: false,
108
+ })
109
+ return
110
+ }
111
+ fetchTemplates()
112
+ }, [fetchTemplates, searchParams])
113
+
114
+ // Fetches when the load more is in view
115
+ useEffect(() => {
116
+ nextPage.current && inView && fetchTemplates()
117
+ }, [inView, fetchTemplates, templates])
118
+
119
+ if (serverError.length) {
120
+ return (
121
+ <div className="text-left">
122
+ <h2 className="text-left">{__('Server error', 'extendify')}</h2>
123
+ <code
124
+ className="block max-w-xl p-4 mb-4"
125
+ style={{ minHeight: '10rem' }}>
126
+ {serverError}
127
+ </code>
128
+ <Button
129
+ isTertiary
130
+ onClick={() => resetTemplates() && fetchTemplates()}>
131
+ {__('Press here to reload')}
132
+ </Button>
133
+ </div>
134
+ )
135
+ }
136
+
137
+ if (nothingFound) {
138
+ return (
139
+ <div className="flex h-full items-center justify-center w-full -mt-2 sm:mt-0">
140
+ <h2 className="text-sm text-extendify-gray font-normal">
141
+ {sprintf(
142
+ searchParams.current.type === 'template'
143
+ ? __(
144
+ 'We couldn\'t find any layouts in the "%s" category.',
145
+ 'extendify',
146
+ )
147
+ : __(
148
+ 'We couldn\'t find any patterns in the "%s" category.',
149
+ 'extendify',
150
+ ),
151
+ currentTax?.title ?? currentTax.slug,
152
+ )}
153
+ </h2>
154
+ </div>
155
+ )
156
+ }
157
+
158
+ const breakpointColumnsObj = {
159
+ default: 2,
160
+ 1320: 2,
161
+ 860: 1,
162
+ 599: 2,
163
+ 400: 1,
164
+ }
165
+
166
+ return (
167
+ <>
168
+ {loading && (
169
+ <div className="flex h-full items-center justify-center w-full -mt-2 sm:mt-0">
170
+ <Spinner />
171
+ </div>
172
+ )}
173
+ <Masonry
174
+ breakpointCols={breakpointColumnsObj}
175
+ className="flex -ml-6 md:-ml-8 w-auto pb-40 pt-0.5 px-0.5 relative z-10"
176
+ columnClassName="pl-6 md:pl-8 bg-clip-padding min-h-screen">
177
+ {templates.map((template) => {
178
+ return (
179
+ <ImportTemplateBlock
180
+ key={template.id}
181
+ template={template}
182
+ />
183
+ )
184
+ })}
185
+ </Masonry>
186
+
187
+ {nextPage.current && (
188
+ <>
189
+ <div className="my-20">
190
+ <Spinner />
191
+ </div>
192
+ {/* This is a large div that, when in view, will trigger more patterns to load */}
193
+ <div
194
+ className="-translate-y-full flex flex-col items-end justify-end relative transform"
195
+ ref={loadMoreRef}
196
+ style={{
197
+ zIndex: -1,
198
+ marginBottom: '-200vh',
199
+ height: '200vh',
200
+ }}
201
+ />
202
+ </>
203
+ )}
204
+ </>
205
+ )
206
+ })
lib/vendor/redux-framework/extendify-sdk/src/pages/MainWindow.js ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Fragment, useRef } from '@wordpress/element'
2
+ import { Dialog, Transition } from '@headlessui/react'
3
+ import { useGlobalStore } from '../state/GlobalState'
4
+ import { Layout } from './layout/Layout'
5
+ import FooterNotice from '../components/notices/FooterNotice'
6
+ import { useModal } from '../hooks/useModal'
7
+
8
+ export default function MainWindow() {
9
+ const containerRef = useRef(null)
10
+ const open = useGlobalStore((state) => state.open)
11
+ const setOpen = useGlobalStore((state) => state.setOpen)
12
+ const modal = useModal(open)
13
+
14
+ return (
15
+ <Transition appear show={open} as={Fragment}>
16
+ <Dialog
17
+ as="div"
18
+ static
19
+ className="extendify"
20
+ initialFocus={containerRef}
21
+ onClose={() => setOpen(false)}>
22
+ <div className="h-screen w-screen sm:h-auto m-auto sm:w-auto fixed z-high inset-0 overflow-y-auto">
23
+ <div className="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0">
24
+ <Transition.Child
25
+ as={Fragment}
26
+ enter="ease-out duration-300"
27
+ enterFrom="opacity-0"
28
+ enterTo="opacity-100">
29
+ <Dialog.Overlay className="fixed inset-0 bg-black bg-opacity-40 transition-opacity" />
30
+ </Transition.Child>
31
+ <Transition.Child
32
+ as={Fragment}
33
+ enter="ease-out duration-300"
34
+ enterFrom="opacity-0 translate-y-4 sm:translate-y-5"
35
+ enterTo="opacity-100 translate-y-0">
36
+ <div
37
+ ref={containerRef}
38
+ tabIndex="0"
39
+ onClick={(e) =>
40
+ e.target === e.currentTarget &&
41
+ setOpen(false)
42
+ }
43
+ className="fixed lg:absolute inset-0 lg:overflow-hidden transform transition-all p-2 lg:p-16">
44
+ <Layout />
45
+ <FooterNotice />
46
+ {modal}
47
+ </div>
48
+ </Transition.Child>
49
+ </div>
50
+ </div>
51
+ </Dialog>
52
+ </Transition>
53
+ )
54
+ }
lib/vendor/redux-framework/extendify-sdk/src/pages/Sidebar.js ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useTemplatesStore } from '../state/Templates'
2
+ import { Panel } from '@wordpress/components'
3
+ import TaxonomySection from '../components/TaxonomySection'
4
+ import { useTaxonomyStore } from '../state/Taxonomies'
5
+ import SiteTypeSelector from '../components/SiteTypeSelector'
6
+ import { useUserStore } from '../state/User'
7
+ import { ImportCounter } from '../components/ImportCounter'
8
+ import { brandMark } from '../components/icons/'
9
+ import { Icon } from '@wordpress/icons'
10
+ import { featured } from '../components/icons'
11
+ import { __ } from '@wordpress/i18n'
12
+ import classNames from 'classnames'
13
+
14
+ export default function SidebarMain() {
15
+ const taxonomies = useTaxonomyStore((state) => state.taxonomies)
16
+ const searchParams = useTemplatesStore((state) => state.searchParams)
17
+ const updatePreferredSiteType = useUserStore(
18
+ (state) => state.updatePreferredSiteType,
19
+ )
20
+ const updateTaxonomies = useTemplatesStore(
21
+ (state) => state.updateTaxonomies,
22
+ )
23
+ const apiKey = useUserStore((state) => state.apiKey)
24
+ const taxonomyType =
25
+ searchParams.type === 'pattern' ? 'patternType' : 'layoutType'
26
+ const isFeatured = !searchParams?.taxonomies[taxonomyType]?.slug?.length
27
+
28
+ return (
29
+ <>
30
+ <div className="hidden sm:flex px-5 -ml-1.5 text-extendify-black">
31
+ <Icon icon={brandMark} size={40} />
32
+ </div>
33
+ <div className="px-5">
34
+ <button
35
+ onClick={() =>
36
+ updateTaxonomies({
37
+ [taxonomyType]: { slug: '', title: 'Featured' },
38
+ })
39
+ }
40
+ className={classNames(
41
+ 'text-left text-sm cursor-pointer w-full flex items-center px-0 py-2 m-0 leading-none bg-transparent hover:text-wp-theme-500 transition duration-200 button-focus space-x-1',
42
+ { 'text-wp-theme-500': isFeatured },
43
+ )}>
44
+ <Icon icon={featured} size={24} />
45
+ <span className="text-sm">
46
+ {__('Featured', 'extendify')}
47
+ </span>
48
+ </button>
49
+ </div>
50
+ <div className="sm:mb-8 mx-6 sm:mx-0 sm:mt-0 pt-0.5 px-5">
51
+ {Object.keys(taxonomies?.siteType ?? {}).length > 0 && (
52
+ <SiteTypeSelector
53
+ value={searchParams?.taxonomies?.siteType ?? ''}
54
+ setValue={(termData) => {
55
+ updatePreferredSiteType(termData)
56
+ updateTaxonomies({ siteType: termData })
57
+ }}
58
+ terms={taxonomies.siteType}
59
+ />
60
+ )}
61
+ </div>
62
+ <div className="mt-px flex-grow hidden overflow-y-auto pb-32 pt-px sm:block">
63
+ <Panel className="bg-transparent">
64
+ <TaxonomySection
65
+ taxType={taxonomyType}
66
+ taxonomies={taxonomies[taxonomyType]}
67
+ />
68
+ </Panel>
69
+ </div>
70
+ {!apiKey.length && (
71
+ <div className="px-5">
72
+ <ImportCounter />
73
+ </div>
74
+ )}
75
+ </>
76
+ )
77
+ }
lib/vendor/redux-framework/extendify-sdk/src/pages/layout/HasSidebar.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export default function HasSidebar({ children }) {
2
+ return (
3
+ <>
4
+ <aside className="flex-shrink-0 py-0 sm:py-5 relative border-r border-extendify-transparent-black-100 bg-extendify-transparent-white backdrop-filter backdrop-blur-xl backdrop-saturate-200">
5
+ <div className="flex flex-col h-full sm:w-64 py-6 sm:py-0 sm:space-y-6">
6
+ {children[0]}
7
+ </div>
8
+ </aside>
9
+ <main
10
+ id="extendify-templates"
11
+ className="bg-white w-full pt-6 sm:pt-0 h-full overflow-hidden">
12
+ {children[1]}
13
+ </main>
14
+ </>
15
+ )
16
+ }
lib/vendor/redux-framework/extendify-sdk/src/pages/layout/Layout.js ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import Sidebar from '../Sidebar'
3
+ import HasSidebar from './HasSidebar'
4
+ import { Toolbar } from './Toolbar'
5
+ import { GridView } from '../GridView'
6
+ import { Button } from '@wordpress/components'
7
+ import { useRef, useEffect, useState, useCallback } from '@wordpress/element'
8
+ import { useTemplatesStore } from '../../state/Templates'
9
+ import { useWhenIdle } from '../../hooks/helpers'
10
+
11
+ export const Layout = ({ setOpen }) => {
12
+ const gridContainer = useRef()
13
+ const searchParams = useTemplatesStore((state) => state.searchParams)
14
+ const [showIdleScreen, setShowIdleScreen] = useState(false)
15
+ const resetTemplates = useTemplatesStore((state) => state.resetTemplates)
16
+ const idle = useWhenIdle(600_000) // 10 minutes
17
+ const removeIdleScreen = useCallback(() => {
18
+ setShowIdleScreen(false)
19
+ resetTemplates()
20
+ }, [resetTemplates])
21
+
22
+ useEffect(() => {
23
+ if (idle) setShowIdleScreen(true)
24
+ }, [idle])
25
+ useEffect(() => {
26
+ setShowIdleScreen(false)
27
+ }, [searchParams])
28
+ useEffect(() => {
29
+ gridContainer.current.scrollTop = 0
30
+ }, [searchParams])
31
+ return (
32
+ <div className="h-full flex flex-col items-center relative max-w-screen-4xl mx-auto">
33
+ <div className="w-full flex-grow overflow-hidden">
34
+ <button
35
+ onClick={() =>
36
+ document
37
+ .getElementById('extendify-templates')
38
+ .querySelector('button')
39
+ .focus()
40
+ }
41
+ className="sr-only focus:not-sr-only focus:text-blue-500">
42
+ {__('Skip to content', 'extendify')}
43
+ </button>
44
+ <div className="sm:flex relative mx-auto h-full">
45
+ <HasSidebar>
46
+ <Sidebar />
47
+ <div className="relative h-full z-30 flex flex-col">
48
+ <Toolbar
49
+ className="hidden sm:block w-full h-20 flex-shrink-0 px-6 md:px-8"
50
+ hideLibrary={() => setOpen(false)}
51
+ />
52
+ <div
53
+ ref={gridContainer}
54
+ className="flex-grow z-20 overflow-y-auto px-6 md:px-8">
55
+ {showIdleScreen ? (
56
+ <IdleScreen callback={removeIdleScreen} />
57
+ ) : (
58
+ <GridView />
59
+ )}
60
+ </div>
61
+ </div>
62
+ </HasSidebar>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ )
67
+ }
68
+
69
+ const IdleScreen = ({ callback }) => (
70
+ <div className="flex flex-col items-center justify-center h-full">
71
+ <p className="text-sm text-extendify-gray font-normal mb-6">
72
+ {__("We've added new stuff while you were away.", 'extendify')}
73
+ </p>
74
+ <Button
75
+ className="components-button bg-wp-theme-500 hover:bg-wp-theme-600 border-color-wp-theme-500 text-white"
76
+ onClick={callback}>
77
+ {__('Reload')}
78
+ </Button>
79
+ </div>
80
+ )
lib/vendor/redux-framework/extendify-sdk/src/pages/layout/Toolbar.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { Icon, close } from '@wordpress/icons'
3
+ import { Button } from '@wordpress/components'
4
+ import { TypeSelect } from '../../components/TypeSelect'
5
+ import { useGlobalStore } from '../../state/GlobalState'
6
+ import { user } from '../../components/icons/'
7
+ import SettingsModal from '../../components/modals/SettingsModal'
8
+ import { useUserStore } from '../../state/User'
9
+
10
+ export const Toolbar = ({ className }) => {
11
+ const setOpen = useGlobalStore((state) => state.setOpen)
12
+ const pushModal = useGlobalStore((state) => state.pushModal)
13
+ const loggedIn = useUserStore((state) => state.apiKey.length)
14
+
15
+ return (
16
+ <div className={className}>
17
+ <div className="flex justify-between items-center h-full">
18
+ <div className="flex-1"></div>
19
+ <TypeSelect className="flex-1 flex items-center justify-center" />
20
+ <div className="flex-1 flex justify-end items-center">
21
+ <Button
22
+ onClick={() => pushModal(<SettingsModal />)}
23
+ icon={<Icon icon={user} size={24} />}
24
+ label={__('Login and settings area', 'extendify')}>
25
+ {loggedIn ? '' : __('Log In', 'extendify')}
26
+ </Button>
27
+ <Button
28
+ onClick={() => setOpen(false)}
29
+ icon={<Icon icon={close} size={24} />}
30
+ label={__('Close library', 'extendify')}
31
+ />
32
+ </div>
33
+ </div>
34
+ </div>
35
+ )
36
+ }
lib/vendor/redux-framework/extendify-sdk/src/state/GlobalState.js ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import create from 'zustand'
2
+ import { persist } from 'zustand/middleware'
3
+
4
+ export const useGlobalStore = create(
5
+ persist(
6
+ (set, get) => ({
7
+ open: false,
8
+ metaData: {},
9
+ // These two are here just to persist their previous values,
10
+ // but could be refactored to be the source instead.
11
+ // It would require a refactor to state/Templates.js
12
+ currentTaxonomies: {},
13
+ currentType: 'pattern',
14
+ modals: [],
15
+ pushModal: (modal) => set({ modals: [modal, ...get().modals] }),
16
+ popModal: () => set({ modals: get().modals.slice(1) }),
17
+ removeAllModals: () => set({ modals: [] }),
18
+ updateCurrentTaxonomies: (data) =>
19
+ set({
20
+ currentTaxonomies: Object.assign({}, data),
21
+ }),
22
+ updateCurrentType: (data) => set({ currentType: data }),
23
+ setOpen: (value) => {
24
+ set({ open: value })
25
+ },
26
+ }),
27
+ {
28
+ name: 'extendify-global-state',
29
+ partialize: (state) => {
30
+ delete state.modals
31
+ return state
32
+ },
33
+ },
34
+ ),
35
+ )
lib/vendor/redux-framework/extendify-sdk/src/state/Importing.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import create from 'zustand'
2
+ import { persist } from 'zustand/middleware'
3
+
4
+ export const useWantedTemplateStore = create(
5
+ persist(
6
+ (set) => ({
7
+ wantedTemplate: {},
8
+ importOnLoad: false,
9
+ setWanted: (template) =>
10
+ set({
11
+ wantedTemplate: template,
12
+ }),
13
+ removeWanted: () =>
14
+ set({
15
+ wantedTemplate: {},
16
+ }),
17
+ }),
18
+ {
19
+ name: 'extendify-wanted-template',
20
+ },
21
+ ),
22
+ )
lib/vendor/redux-framework/extendify-sdk/src/state/SiteSettings.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import create from 'zustand'
2
+ import { persist } from 'zustand/middleware'
3
+ import { SiteSettings } from '../api/SiteSettings'
4
+
5
+ const storage = {
6
+ getItem: async () => await SiteSettings.getData(),
7
+ setItem: async (_name, value) => await SiteSettings.setData(value),
8
+ removeItem: () => {},
9
+ }
10
+
11
+ export const useSiteSettingsStore = create(
12
+ persist(
13
+ () => ({
14
+ enabled: true,
15
+ }),
16
+ {
17
+ name: 'extendify-sitesettings',
18
+ getStorage: () => storage,
19
+ },
20
+ ),
21
+ )
lib/vendor/redux-framework/extendify-sdk/src/state/Taxonomies.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import create from 'zustand'
2
+ import { persist } from 'zustand/middleware'
3
+
4
+ export const useTaxonomyStore = create(
5
+ persist(
6
+ (set) => ({
7
+ taxonomies: {},
8
+ setTaxonomies: (taxonomies) => set({ taxonomies }),
9
+ }),
10
+ {
11
+ name: 'extendify-taxonomies',
12
+ },
13
+ ),
14
+ )
lib/vendor/redux-framework/extendify-sdk/src/state/Templates.js ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import create from 'zustand'
2
+ import { useGlobalStore } from './GlobalState'
3
+ import { useUserStore } from './User'
4
+ import { useTaxonomyStore } from './Taxonomies'
5
+
6
+ const defaultCategoryForType = (tax) =>
7
+ tax === 'siteType'
8
+ ? { slug: '', title: 'Unknown' }
9
+ : { slug: '', title: 'Featured' }
10
+
11
+ export const useTemplatesStore = create((set, get) => ({
12
+ templates: [],
13
+ skipNextFetch: false,
14
+ fetchToken: null,
15
+ taxonomyDefaultState: {},
16
+ nextPage: '',
17
+ searchParams: {
18
+ taxonomies: {},
19
+ type: 'pattern',
20
+ },
21
+ initTemplateData() {
22
+ set({ activeTemplate: {} })
23
+ get().setupDefaultTaxonomies()
24
+ get().updateType(useGlobalStore.getState().currentType)
25
+ },
26
+ appendTemplates: (templates) =>
27
+ set({
28
+ templates: [
29
+ ...new Map(
30
+ [...get().templates, ...templates].map((item) => [
31
+ item.id,
32
+ item,
33
+ ]),
34
+ ).values(),
35
+ ],
36
+ }),
37
+ setupDefaultTaxonomies: () => {
38
+ const taxonomies = useTaxonomyStore.getState().taxonomies
39
+ let taxonomyDefaultState = Object.entries(taxonomies).reduce(
40
+ (state, current) => (
41
+ (state[current[0]] = defaultCategoryForType(current[0])), state
42
+ ),
43
+ {},
44
+ )
45
+ const tax = {}
46
+ let preferredTax =
47
+ useUserStore.getState().preferredOptions?.taxonomies ?? {}
48
+
49
+ // Check for old site type and set it if it exists
50
+ if (preferredTax.tax_categories) {
51
+ preferredTax = get().getLegacySiteType(preferredTax, taxonomies)
52
+ }
53
+ taxonomyDefaultState = Object.assign(
54
+ {},
55
+ taxonomyDefaultState,
56
+
57
+ // Override with the user's preferred taxonomies
58
+ preferredTax,
59
+
60
+ // Override with the global state
61
+ useGlobalStore.getState()?.currentTaxonomies ?? {},
62
+ )
63
+
64
+ tax.taxonomies = Object.assign({}, taxonomyDefaultState)
65
+
66
+ set({
67
+ taxonomyDefaultState: taxonomyDefaultState,
68
+ searchParams: {
69
+ ...Object.assign(get().searchParams, tax),
70
+ },
71
+ })
72
+ },
73
+ updateTaxonomies: (params) => {
74
+ const data = {}
75
+ data.taxonomies = Object.assign(
76
+ {},
77
+ get().searchParams.taxonomies,
78
+ params,
79
+ )
80
+ if (data?.taxonomies?.siteType) {
81
+ // This is what the user "prefers", which may be used outside the library
82
+ // which is persisted to the database, where as the global library state is in local storage
83
+ useUserStore
84
+ .getState()
85
+ .updatePreferredOption('siteType', data?.taxonomies?.siteType)
86
+ }
87
+ useGlobalStore.getState().updateCurrentTaxonomies(data?.taxonomies)
88
+ get().updateSearchParams(data)
89
+ },
90
+ updateType(type) {
91
+ useGlobalStore.getState().updateCurrentType(type)
92
+ get().updateSearchParams({ type })
93
+ },
94
+ updateSearchParams: (params) => {
95
+ // If taxonomies are set to {}, lets use the default
96
+ if (params?.taxonomies && !Object.keys(params.taxonomies).length) {
97
+ params.taxonomies = get().taxonomyDefaultState
98
+ }
99
+
100
+ const searchParams = Object.assign({}, get().searchParams, params)
101
+
102
+ // If the params are not the same, then update
103
+ if (
104
+ JSON.stringify(searchParams) !== JSON.stringify(get().searchParams)
105
+ ) {
106
+ set({ templates: [], nextPage: '', searchParams })
107
+ }
108
+ },
109
+ resetTemplates: () => set({ templates: [], nextPage: '' }),
110
+ getLegacySiteType: (preferredTax, taxonomies) => {
111
+ const oldSiteType = taxonomies.siteType.find((t) =>
112
+ [t.slug, t?.title].includes(preferredTax.tax_categories),
113
+ )
114
+ // TODO: This is kind of wonky, as we keep track of the state in two places.
115
+ useUserStore.getState().updatePreferredSiteType(oldSiteType)
116
+ get().updateTaxonomies({ siteType: oldSiteType })
117
+ // Remove the legacy term so this only runs once
118
+ useUserStore.getState().updatePreferredOption('tax_categories', null)
119
+ return useUserStore.getState().preferredOptions.taxonomies
120
+ },
121
+ }))
lib/vendor/redux-framework/extendify-sdk/src/state/User.js ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import create from 'zustand'
2
+ import { persist } from 'zustand/middleware'
3
+ import { User } from '../api/User'
4
+
5
+ const storage = {
6
+ getItem: async () => await User.getData(),
7
+ setItem: async (_name, value) => await User.setData(value),
8
+ removeItem: () => {},
9
+ }
10
+
11
+ const isGlobalLibraryEnabled = () =>
12
+ window.extendifyData.sitesettings === null ||
13
+ window.extendifyData?.sitesettings?.state?.enabled
14
+
15
+ export const useUserStore = create(
16
+ persist(
17
+ (set, get) => ({
18
+ firstLoadedOn: new Date().toISOString(),
19
+ email: '',
20
+ apiKey: '',
21
+ uuid: '',
22
+ sdkPartner: '',
23
+ registration: {
24
+ email: '',
25
+ optedOut: false,
26
+ },
27
+ noticesDismissedAt: {},
28
+ modalNoticesDismissedAt: {},
29
+ imports: 0, // total imports over time
30
+ runningImports: 0, // timed imports, resets to 0 every month
31
+ allowedImports: 0, // Max imports the Extendify service allows
32
+ freebieImports: 0, // Various free imports from actions (rewards)
33
+ entryPoint: 'not-set',
34
+ enabled: isGlobalLibraryEnabled(),
35
+ canInstallPlugins: false,
36
+ canActivatePlugins: false,
37
+ preferredOptions: {
38
+ taxonomies: {},
39
+ type: '',
40
+ search: '',
41
+ },
42
+ preferredOptionsHistory: {
43
+ siteType: [],
44
+ },
45
+ incrementImports: () => {
46
+ // If the user has freebie imports, use those first
47
+ const freebieImports =
48
+ Number(get().freebieImports) > 0
49
+ ? Number(get().freebieImports) - 1
50
+ : Number(get().freebieImports)
51
+ // If they don't, then increment the running imports
52
+ const runningImports =
53
+ Number(get().runningImports) + +(freebieImports < 1)
54
+ set({
55
+ imports: Number(get().imports) + 1,
56
+ runningImports,
57
+ freebieImports,
58
+ })
59
+ },
60
+ giveFreebieImports: (amount) => {
61
+ set({ freebieImports: get().freebieImports + amount })
62
+ },
63
+ totalAvailableImports: () => {
64
+ return (
65
+ Number(get().allowedImports) + Number(get().freebieImports)
66
+ )
67
+ },
68
+ hasAvailableImports: () => {
69
+ return get().apiKey
70
+ ? true
71
+ : Number(get().runningImports) <
72
+ Number(get().totalAvailableImports())
73
+ },
74
+ remainingImports: () => {
75
+ const remaining =
76
+ Number(get().totalAvailableImports()) -
77
+ Number(get().runningImports)
78
+ // If they have no allowed imports, this might be a first load
79
+ // where it's just fetching templates (and/or their max alllowed)
80
+ if (!get().allowedImports) {
81
+ return null
82
+ }
83
+ return remaining > 0 ? remaining : 0
84
+ },
85
+ updatePreferredSiteType: (value) => {
86
+ get().updatePreferredOption('siteType', value)
87
+ if (!value?.slug || value.slug === 'unknown') return
88
+ const current = get().preferredOptionsHistory?.siteType ?? []
89
+
90
+ // If the site type isn't already included, prepend it
91
+ if (!current.find((t) => t.slug === value.slug)) {
92
+ const siteType = [value, ...current]
93
+ set({
94
+ preferredOptionsHistory: Object.assign(
95
+ {},
96
+ get().preferredOptionsHistory,
97
+ { siteType: siteType.slice(0, 3) },
98
+ ),
99
+ })
100
+ }
101
+ },
102
+ updatePreferredOption: (option, value) => {
103
+ // If the option doesn't exist, assume it's a taxonomy
104
+ if (
105
+ !Object.prototype.hasOwnProperty.call(
106
+ get().preferredOptions,
107
+ option,
108
+ )
109
+ ) {
110
+ value = Object.assign(
111
+ {},
112
+ get().preferredOptions?.taxonomies ?? {},
113
+ { [option]: value },
114
+ )
115
+ option = 'taxonomies'
116
+ }
117
+
118
+ set({
119
+ preferredOptions: {
120
+ ...Object.assign({}, get().preferredOptions, {
121
+ [option]: value,
122
+ }),
123
+ },
124
+ })
125
+ },
126
+ // Will mark a modal or footer notice
127
+ markNoticeSeen: (key, type) => {
128
+ set({
129
+ [`${type}DismissedAt`]: {
130
+ ...get()[`${type}DismissedAt`],
131
+ [key]: new Date().toISOString(),
132
+ },
133
+ })
134
+ },
135
+ }),
136
+ {
137
+ name: 'extendify-user',
138
+ getStorage: () => storage,
139
+ },
140
+ ),
141
+ )
lib/vendor/redux-framework/extendify-sdk/src/util/general.js ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { isString, toLower } from 'lodash'
2
+ import { useUserStore } from '../state/User'
3
+
4
+ /**
5
+ * Will check if the given string contains the search string
6
+ *
7
+ * @param {string} string
8
+ * @param {string} searchString
9
+ */
10
+
11
+ export function search(string, searchString) {
12
+ // type validation
13
+ if (!isString(string) || !isString(searchString)) {
14
+ return false
15
+ }
16
+
17
+ // changing case
18
+ string = toLower(string)
19
+ searchString = toLower(searchString)
20
+
21
+ // comparing
22
+ return -1 !== searchString.indexOf(string) ? true : false
23
+ }
24
+
25
+ export const openModal = (source) => setModalVisibility(source, 'open')
26
+ // export const closeModal = () => setModalVisibility('', 'close')
27
+ export function setModalVisibility(source = 'broken-event', state = 'open') {
28
+ useUserStore.setState({
29
+ entryPoint: source,
30
+ })
31
+ window.dispatchEvent(
32
+ new CustomEvent(`extendify::${state}-library`, {
33
+ detail: source,
34
+ bubbles: true,
35
+ }),
36
+ )
37
+ }
38
+
39
+ export function getPluginDescription(plugin) {
40
+ switch (plugin) {
41
+ case 'editorplus':
42
+ return 'Editor Plus'
43
+ case 'ml-slider':
44
+ return 'MetaSlider'
45
+ }
46
+ return plugin
47
+ }
48
+
49
+ export function getTaxonomyName(key) {
50
+ switch (key) {
51
+ case 'siteType':
52
+ return 'Site Type'
53
+ case 'patternType':
54
+ return 'Content'
55
+ case 'layoutType':
56
+ return 'Page Types'
57
+ }
58
+ }
lib/vendor/redux-framework/extendify-sdk/src/util/templateInjection.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { dispatch, select } from '@wordpress/data'
2
+
3
+ export function injectTemplateBlocks(blocks, templateRaw) {
4
+ const { insertBlocks, replaceBlock } = dispatch('core/block-editor')
5
+ const {
6
+ getSelectedBlock,
7
+ getBlockHierarchyRootClientId,
8
+ getBlockIndex,
9
+ getGlobalBlockCount,
10
+ } = select('core/block-editor')
11
+
12
+ const { clientId, name, attributes } = getSelectedBlock() || {}
13
+ const rootClientId = clientId ? getBlockHierarchyRootClientId(clientId) : ''
14
+ const insertPointIndex =
15
+ (rootClientId ? getBlockIndex(rootClientId) : getGlobalBlockCount()) + 1
16
+
17
+ const injectblock = () =>
18
+ name === 'core/paragraph' && attributes?.content === ''
19
+ ? replaceBlock(clientId, blocks)
20
+ : insertBlocks(blocks, insertPointIndex)
21
+
22
+ return injectblock().then(() =>
23
+ window.dispatchEvent(
24
+ new CustomEvent('extendify::template-inserted', {
25
+ detail: {
26
+ template: templateRaw,
27
+ },
28
+ bubbles: true,
29
+ }),
30
+ ),
31
+ )
32
+ }
lib/vendor/redux-framework/extendify-sdk/src/utility-control/index.js ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { __ } from '@wordpress/i18n'
2
+ import { InspectorAdvancedControls } from '@wordpress/block-editor'
3
+ import { createHigherOrderComponent } from '@wordpress/compose'
4
+ import { addFilter } from '@wordpress/hooks'
5
+ import { FormTokenField } from '@wordpress/components'
6
+
7
+ import suggestions from '../../utility-framework/suggestions.json'
8
+
9
+ function addAttributes(settings) {
10
+ // Add new extUtilities attribute to block settings.
11
+ return {
12
+ ...settings,
13
+ attributes: {
14
+ ...settings.attributes,
15
+ extUtilities: {
16
+ type: 'array',
17
+ default: [],
18
+ },
19
+ },
20
+ }
21
+ }
22
+
23
+ function addEditProps(settings) {
24
+ const existingGetEditWrapperProps = settings.getEditWrapperProps
25
+ settings.getEditWrapperProps = (attributes) => {
26
+ let props = {}
27
+
28
+ if (existingGetEditWrapperProps) {
29
+ props = existingGetEditWrapperProps(attributes)
30
+ }
31
+
32
+ return addSaveProps(props, settings, attributes)
33
+ }
34
+
35
+ return settings
36
+ }
37
+
38
+ // Create HOC to add Extendify Utility to Advanced Panel of block.
39
+ const utilityClassEdit = createHigherOrderComponent((BlockEdit) => {
40
+ return function editPanel(props) {
41
+ const classes = props?.attributes?.extUtilities ?? []
42
+ const suggestionList = suggestions.suggestions.map((s) => {
43
+ // Remove all extra // and . from classnames
44
+ return s.replace('.', '').replace(new RegExp('\\\\', 'g'), '')
45
+ })
46
+
47
+ return (
48
+ <>
49
+ <BlockEdit {...props} />
50
+ {classes && (
51
+ <InspectorAdvancedControls>
52
+ <FormTokenField
53
+ label={__('Extendify Utilities', 'extendify')}
54
+ tokenizeOnSpace={true}
55
+ value={classes}
56
+ suggestions={suggestionList}
57
+ onChange={(value) => {
58
+ props.setAttributes({
59
+ extUtilities: value,
60
+ })
61
+ }}
62
+ />
63
+ </InspectorAdvancedControls>
64
+ )}
65
+ </>
66
+ )
67
+ }
68
+ }, 'utilityClassEdit')
69
+
70
+ function addSaveProps(saveElementProps, blockType, attributes) {
71
+ const generatedClasses = saveElementProps?.className ?? []
72
+ const classes = attributes?.extUtilities ?? []
73
+ const additionalClasses = attributes?.className ?? []
74
+
75
+ if (!classes || !Object.keys(classes).length) {
76
+ return saveElementProps
77
+ }
78
+
79
+ // EK seems to be converting string values to objects in some situations
80
+ const normalizeAsArray = (item) => {
81
+ switch (Object.prototype.toString.call(item)) {
82
+ case '[object String]':
83
+ return item.split(' ')
84
+ case '[object Array]':
85
+ return item
86
+ default:
87
+ return []
88
+ }
89
+ }
90
+ const classesCombined = new Set([
91
+ ...normalizeAsArray(additionalClasses),
92
+ ...normalizeAsArray(generatedClasses),
93
+ ...normalizeAsArray(classes),
94
+ ])
95
+
96
+ return Object.assign({}, saveElementProps, {
97
+ className: [...classesCombined].join(' '),
98
+ })
99
+ }
100
+
101
+ addFilter(
102
+ 'blocks.registerBlockType',
103
+ 'extendify/utilities/attributes',
104
+ addAttributes,
105
+ )
106
+
107
+ addFilter(
108
+ 'blocks.registerBlockType',
109
+ 'extendify/utilities/addEditProps',
110
+ addEditProps,
111
+ )
112
+
113
+ addFilter(
114
+ 'editor.BlockEdit',
115
+ 'extendify/utilities/advancedClassControls',
116
+ utilityClassEdit,
117
+ )
118
+
119
+ addFilter(
120
+ 'blocks.getSaveContent.extraProps',
121
+ 'extendify/utilities/extra-props',
122
+ addSaveProps,
123
+ )
lib/vendor/redux-framework/extendify-sdk/utility-framework/block-styles/cover-angled.css ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .is-style-angled {
2
+ /* no suggestion */
3
+ @apply ext-items-center ext-justify-end;
4
+ }
5
+
6
+ .is-style-angled .wp-block-cover__image-background,
7
+ .is-style-angled .wp-block-cover__video-background {
8
+ /* no suggestion */
9
+ clip-path: polygon(0 0, 30% 0%, 50% 100%, 0% 100%);
10
+ z-index: 1;
11
+ }
12
+
13
+ @screen tablet {
14
+ .is-style-angled .wp-block-cover__image-background,
15
+ .is-style-angled .wp-block-cover__video-background {
16
+ /* no suggestion */
17
+ clip-path: polygon(0 0, 55% 0%, 65% 100%, 0% 100%);
18
+ }
19
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/clip-path.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ .clip-path--rhombus img {
2
+ clip-path: polygon(15% 6%, 80% 29%, 84% 93%, 23% 69%);
3
+ }
4
+
5
+ .clip-path--diamond img {
6
+ clip-path: polygon(5% 29%, 60% 2%, 91% 64%, 36% 89%);
7
+ }
8
+
9
+ .clip-path--rhombus-alt img {
10
+ clip-path: polygon(14% 9%, 85% 24%, 91% 89%, 19% 76%);
11
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/columns.css ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ The .ext utility is a top-level class that we use to target contents within our patterns.
3
+ We use it here to ensure columns blocks display well across themes.
4
+ */
5
+ .wp-block-columns[class*="fullwidth-cols"] {
6
+ /* no suggestion */
7
+ margin-bottom: unset;
8
+ }
9
+
10
+ .wp-block-column.editor\:pointer-events-none {
11
+ /* no suggestion */
12
+ @apply ext-my-0 !important;
13
+ }
14
+
15
+ /* Some popular themes use padding instead of core margin for columns; remove it */
16
+ .ext .wp-block-columns .wp-block-column[style*="padding"] {
17
+ /* no suggestion */
18
+ @apply ext-px-0 !important;
19
+ }
20
+
21
+ /* Some popular themes add double spacing between columns; remove it */
22
+ .ext
23
+ .wp-block-columns
24
+ + .wp-block-columns:not([class*="mt-"]):not([class*="my-"]) {
25
+ /* no suggestion */
26
+ @apply ext-mt-0 !important;
27
+ }
28
+
29
+ [class*="fullwidth-cols"] .wp-block-column:first-child,
30
+ [class*="fullwidth-cols"] .wp-block-group:first-child {
31
+ /* no suggestion */
32
+ @apply ext-mt-0;
33
+ }
34
+
35
+ [class*="fullwidth-cols"] .wp-block-column:last-child,
36
+ [class*="fullwidth-cols"] .wp-block-group:last-child {
37
+ /* no suggestion */
38
+ @apply ext-mb-0;
39
+ }
40
+
41
+ [class*="fullwidth-cols"] .wp-block-column:first-child > * {
42
+ /* no suggestion */
43
+ @apply ext-mt-0;
44
+ }
45
+
46
+ [class*="fullwidth-cols"] .wp-block-column > *:first-child {
47
+ /* no suggestion */
48
+ @apply ext-mt-0;
49
+ }
50
+
51
+ [class*="fullwidth-cols"] .wp-block-column > *:last-child {
52
+ /* no suggestion */
53
+ @apply ext-mb-0;
54
+ }
55
+
56
+ .ext .is-not-stacked-on-mobile .wp-block-column {
57
+ /* no suggestion */
58
+ @apply ext-mb-0;
59
+ }
60
+
61
+ /* Add base margin bottom to all columns */
62
+ .wp-block-columns[class*="fullwidth-cols"]:not(.is-not-stacked-on-mobile)
63
+ > .wp-block-column:not(:last-child) {
64
+ /* no suggestion */
65
+ @apply ext-mb-base;
66
+ }
67
+
68
+ @screen tablet {
69
+ .wp-block-columns[class*="fullwidth-cols"]:not(.is-not-stacked-on-mobile)
70
+ > .wp-block-column:not(:last-child) {
71
+ /* no suggestion */
72
+ @apply ext-mb-0;
73
+ }
74
+ }
75
+
76
+ /* Remove margin bottom from "not-stacked" columns */
77
+ .wp-block-columns[class*="fullwidth-cols"].is-not-stacked-on-mobile
78
+ > .wp-block-column {
79
+ /* no suggestion */
80
+ @apply ext-mb-0 !important;
81
+ }
82
+
83
+ @media (min-width: 600px) and (max-width: 781px) {
84
+ .wp-block-columns[class*="fullwidth-cols"]:not(.is-not-stacked-on-mobile)
85
+ > .wp-block-column:nth-child(even) {
86
+ /* no suggestion */
87
+ margin-left: var(--wp--style--block-gap, 2em);
88
+ }
89
+ }
90
+
91
+ /*
92
+ The `tablet:fullwidth-cols` and `desktop:fullwidth-cols` utilities are used
93
+ to counter the core/columns responsive for at our breakpoints.
94
+ */
95
+ @media (max-width: 781px) {
96
+ .tablet\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile) {
97
+ @apply ext-flex-wrap;
98
+ }
99
+
100
+ .tablet\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)
101
+ > .wp-block-column {
102
+ @apply ext-ml-0 !important;
103
+ flex-basis: 100% !important; /* Required to negate core/columns flex-basis */
104
+ }
105
+ }
106
+
107
+ @media (max-width: 1079px) {
108
+ .desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile) {
109
+ @apply ext-flex-wrap;
110
+ }
111
+
112
+ .desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)
113
+ > .wp-block-column {
114
+ @apply ext-ml-0 !important;
115
+ flex-basis: 100% !important; /* Required to negate core/columns flex-basis */
116
+ }
117
+
118
+ .desktop\:fullwidth-cols.wp-block-columns:not(.is-not-stacked-on-mobile)
119
+ > .wp-block-column:not(:last-child) {
120
+ @apply ext-mb-base !important;
121
+ }
122
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/direction.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ .direction-rtl {
2
+ direction: rtl;
3
+ }
4
+
5
+ .direction-ltr {
6
+ direction: ltr;
7
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-caption.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ .editor\:no-caption .block-editor-rich-text__editable {
2
+ display: none !important;
3
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-inserter.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ .editor\:no-inserter > .block-list-appender,
2
+ .editor\:no-inserter .wp-block-group__inner-container > .block-list-appender {
3
+ display: none;
4
+ }
5
+ .editor\:no-inserter .wp-block-cover__inner-container > .block-list-appender {
6
+ display: none;
7
+ }
8
+ .editor\:no-inserter .wp-block-column:not(.is-selected) > .block-list-appender {
9
+ display: none;
10
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-resize.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ .editor\:no-resize .components-resizable-box__handle::after,
2
+ .editor\:no-resize .components-resizable-box__side-handle::before,
3
+ .editor\:no-resize .components-resizable-box__handle {
4
+ display: none;
5
+ pointer-events: none;
6
+ }
7
+
8
+ .editor\:no-resize .components-resizable-box__container {
9
+ display: block;
10
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/pointer-events.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ .editor\:pointer-events-none {
2
+ pointer-events: none;
3
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/fallback.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /* Ensure image block display is standardized */
2
+ .ext .wp-block-image {
3
+ /* no suggestion */
4
+ @apply ext-relative ext-text-center;
5
+ }
6
+
7
+ .ext .wp-block-image img {
8
+ /* no suggestion */
9
+ @apply ext-inline-block ext-align-middle;
10
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/inline-list.css ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Use "is-style-" prefix to support adding this style to the core/list block */
2
+ .is-style-inline-list {
3
+ @apply ext-pl-0 !important;
4
+ }
5
+
6
+ .is-style-inline-list li {
7
+ /* no suggestion */
8
+ @apply ext-list-none tablet:ext-inline tablet:ext-mr-base !important;
9
+ }
10
+
11
+ .is-style-inline-list li:first-child {
12
+ /* no suggestion */
13
+ @apply tablet:ext-ml-0 !important;
14
+ }
15
+
16
+ .is-style-inline-list li:last-child {
17
+ /* no suggestion */
18
+ @apply tablet:ext-mr-0 !important;
19
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/misc.css ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ .bring-to-front {
2
+ position: relative;
3
+ z-index: 10;
4
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/text-stroke.css ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .text-stroke {
2
+ -webkit-text-stroke-width: var(
3
+ --wp--custom--typography--text-stroke-width,
4
+ 2px
5
+ );
6
+ -webkit-text-stroke-color: var(--wp--preset--color--background);
7
+ }
8
+
9
+ .text-stroke--primary {
10
+ -webkit-text-stroke-width: var(
11
+ --wp--custom--typography--text-stroke-width,
12
+ 2px
13
+ );
14
+ -webkit-text-stroke-color: var(--wp--preset--color--primary);
15
+ }
16
+
17
+ .text-stroke--secondary {
18
+ -webkit-text-stroke-width: var(
19
+ --wp--custom--typography--text-stroke-width,
20
+ 2px
21
+ );
22
+ -webkit-text-stroke-color: var(--wp--preset--color--secondary);
23
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/extendify-utilities.css ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "tailwindcss/base";
2
+ @import "tailwindcss/components";
3
+ @import "tailwindcss/utilities";
4
+
5
+ @import "./classes/clip-path";
6
+ @import "./classes/columns";
7
+ @import "./classes/direction";
8
+ @import "./classes/inline-list";
9
+ @import "./classes/misc";
10
+ @import "./classes/text-stroke";
11
+
12
+ @import "./classes/editor/no-caption";
13
+ @import "./classes/editor/no-inserter";
14
+ @import "./classes/editor/no-resize";
15
+ @import "./classes/editor/pointer-events";
16
+
17
+ @import "./block-styles/cover-angled";
18
+
19
+ @import "./fallback/colors";
20
+ @import "./fallback/font-sizes";
21
+ @import "./fallback/grid";
22
+ @import "./fallback/group";
23
+ @import "./fallback/image";
24
+
25
+ body {
26
+ /* no suggestion */
27
+ /* We need to abstract this out of tailwind.config because clamp doesnt translate with negative margins */
28
+ --extendify--spacing--large: var(
29
+ --wp--custom--spacing--large,
30
+ clamp(2em, 8vw, 8em)
31
+ );
32
+
33
+ /* Add pattern preset font sizes */
34
+ --wp--preset--font-size--ext-small: 1rem;
35
+ --wp--preset--font-size--ext-medium: 1.125rem;
36
+ --wp--preset--font-size--ext-large: clamp(1.65rem, 3.5vw, 2.15rem);
37
+ --wp--preset--font-size--ext-x-large: clamp(3rem, 6vw, 4.75rem);
38
+ --wp--preset--font-size--ext-xx-large: clamp(3.25rem, 7.5vw, 5.75rem);
39
+
40
+ /* Fallbacks for pre 5.9 themes */
41
+ --wp--preset--color--black: #000;
42
+ --wp--preset--color--white: #fff;
43
+ }
44
+
45
+ .ext * {
46
+ box-sizing: border-box;
47
+ }
48
+
49
+ /* Astra: Remove spacer block visuals in the library */
50
+ .block-editor-block-preview__content-iframe
51
+ .ext
52
+ [data-type="core/spacer"]
53
+ .components-resizable-box__container {
54
+ /* no suggestion */
55
+ background: transparent !important;
56
+ }
57
+
58
+ .block-editor-block-preview__content-iframe
59
+ .ext
60
+ [data-type="core/spacer"]
61
+ .block-library-spacer__resize-container::before {
62
+ /* no suggestion */
63
+ display: none !important;
64
+ }
65
+
66
+ /* Twenty Twenty adds a lot of margin automatically to blocks. We only want our own margin added to our patterns. */
67
+ .ext .wp-block-group__inner-container figure.wp-block-gallery.alignfull {
68
+ /* no suggestion */
69
+ margin-top: unset;
70
+ margin-bottom: unset;
71
+ }
72
+
73
+ /* Ensure no funky business is assigned to alignwide */
74
+ .ext .alignwide {
75
+ /* no suggestion */
76
+ @apply ext-mx-auto !important;
77
+ }
78
+
79
+ /* Negate blockGap being inappropriately assigned in the editor */
80
+ .is-root-container.block-editor-block-list__layout
81
+ > [data-align="full"]:not(:first-of-type)
82
+ > .ext-my-0,
83
+ .is-root-container.block-editor-block-list__layout
84
+ > [data-align="wide"]
85
+ > .ext-my-0 {
86
+ /* no suggestion */
87
+ margin-top: calc(-1 * var(--wp--style--block-gap, 28px)) !important;
88
+ }
89
+
90
+ /* Ensure vh content in previews looks taller */
91
+ .block-editor-block-preview__content-iframe .preview\:min-h-50 {
92
+ /* no suggestion */
93
+ min-height: 50vw !important;
94
+ }
95
+
96
+ .block-editor-block-preview__content-iframe .preview\:min-h-60 {
97
+ /* no suggestion */
98
+ min-height: 60vw !important;
99
+ }
100
+
101
+ .block-editor-block-preview__content-iframe .preview\:min-h-70 {
102
+ /* no suggestion */
103
+ min-height: 70vw !important;
104
+ }
105
+
106
+ .block-editor-block-preview__content-iframe .preview\:min-h-80 {
107
+ /* no suggestion */
108
+ min-height: 80vw !important;
109
+ }
110
+
111
+ .block-editor-block-preview__content-iframe .preview\:min-h-100 {
112
+ /* no suggestion */
113
+ min-height: 100vw !important;
114
+ }
115
+
116
+ /* Removes excess margin when applied to the alignfull parent div in Block Themes */
117
+ .ext-mr-0.alignfull:not([style*="margin"]) {
118
+ /* no suggestion */
119
+ margin-right: 0 !important;
120
+ }
121
+
122
+ .ext-ml-0:not([style*="margin"]) {
123
+ /* no suggestion */
124
+ margin-left: 0 !important;
125
+ }
126
+
127
+ /* Ensures fullwidth blocks display properly in the editor when margin is zeroed out */
128
+ .is-root-container
129
+ .wp-block[data-align="full"]
130
+ > .ext-mx-0:not([style*="margin"]) {
131
+ /* no suggestion */
132
+ margin-right: calc(1 * var(--wp--custom--spacing--outer, 0)) !important;
133
+ margin-left: calc(1 * var(--wp--custom--spacing--outer, 0)) !important;
134
+ overflow: hidden;
135
+ width: unset;
136
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/colors.css ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .has-foreground-color {
2
+ /* no suggestion */
3
+ color: var(--wp--preset--color--foreground, #000) !important;
4
+ }
5
+
6
+ .has-foreground-background-color {
7
+ /* no suggestion */
8
+ background-color: var(--wp--preset--color--foreground, #000) !important;
9
+ }
10
+
11
+ .has-background-color {
12
+ /* no suggestion */
13
+ color: var(--wp--preset--color--background, #fff) !important;
14
+ }
15
+
16
+ .has-background-background-color {
17
+ /* no suggestion */
18
+ background-color: var(--wp--preset--color--background, #fff) !important;
19
+ }
20
+
21
+ .has-primary-color {
22
+ /* no suggestion */
23
+ color: var(--wp--preset--color--primary, #4b5563) !important;
24
+ }
25
+
26
+ .has-primary-background-color {
27
+ /* no suggestion */
28
+ background-color: var(--wp--preset--color--primary, #4b5563) !important;
29
+ }
30
+
31
+ .has-secondary-color {
32
+ /* no suggestion */
33
+ color: var(--wp--preset--color--secondary, #9ca3af) !important;
34
+ }
35
+
36
+ .has-secondary-background-color {
37
+ /* no suggestion */
38
+ background-color: var(--wp--preset--color--secondary, #9ca3af) !important;
39
+ }
40
+
41
+ /* Ensure themes that target specific elements use the right colors */
42
+ .ext.has-text-color p,
43
+ .ext.has-text-color h1,
44
+ .ext.has-text-color h2,
45
+ .ext.has-text-color h3,
46
+ .ext.has-text-color h4,
47
+ .ext.has-text-color h5,
48
+ .ext.has-text-color h6 {
49
+ /* no suggestion */
50
+ color: currentColor;
51
+ }
52
+
53
+ .has-white-color {
54
+ /* no suggestion */
55
+ color: var(--wp--preset--color--white, #fff) !important;
56
+ }
57
+
58
+ .has-black-color {
59
+ /* no suggestion */
60
+ color: var(--wp--preset--color--black, #000) !important;
61
+ }
62
+
63
+ .has-ext-foreground-background-color {
64
+ /* no suggestion */
65
+ background-color: var(
66
+ --wp--preset--color--foreground,
67
+ var(--wp--preset--color--black, #000)
68
+ ) !important;
69
+ }
70
+
71
+ .has-ext-primary-background-color {
72
+ /* no suggestion */
73
+ background-color: var(
74
+ --wp--preset--color--primary,
75
+ var(--wp--preset--color--cyan-bluish-gray, #000)
76
+ ) !important;
77
+ }
78
+
79
+ /* Fix button borders with specified background colors */
80
+ .wp-block-button__link.has-black-background-color {
81
+ /* no suggestion */
82
+ border-color: var(--wp--preset--color--black, #000);
83
+ }
84
+
85
+ .wp-block-button__link.has-white-background-color {
86
+ /* no suggestion */
87
+ border-color: var(--wp--preset--color--white, #fff);
88
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/font-sizes.css ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .has-ext-small-font-size {
2
+ /* no suggestion */
3
+ font-size: var(--wp--preset--font-size--ext-small) !important;
4
+ }
5
+
6
+ .has-ext-medium-font-size {
7
+ /* no suggestion */
8
+ font-size: var(--wp--preset--font-size--ext-medium) !important;
9
+ }
10
+
11
+ .has-ext-large-font-size {
12
+ /* no suggestion */
13
+ font-size: var(--wp--preset--font-size--ext-large) !important;
14
+ line-height: 1.2;
15
+ }
16
+
17
+ .has-ext-x-large-font-size {
18
+ /* no suggestion */
19
+ font-size: var(--wp--preset--font-size--ext-x-large) !important;
20
+ line-height: 1;
21
+ }
22
+
23
+ .has-ext-xx-large-font-size {
24
+ /* no suggestion */
25
+ font-size: var(--wp--preset--font-size--ext-xx-large) !important;
26
+ line-height: 1;
27
+ }
28
+
29
+ /* Line height */
30
+ .has-ext-x-large-font-size:not([style*="line-height"]) {
31
+ /* no suggestion */
32
+ line-height: 1.1;
33
+ }
34
+
35
+ .has-ext-xx-large-font-size:not([style*="line-height"]) {
36
+ /* no suggestion */
37
+ line-height: 1.1;
38
+ }
39
+
40
+ .ext .wp-block-group > * {
41
+ /* Line height */
42
+ margin-top: 0;
43
+ margin-bottom: 0;
44
+ }
45
+
46
+ .ext .wp-block-group > * + * {
47
+ margin-top: var(--wp--style--block-gap, 1.75rem);
48
+ margin-bottom: 0;
49
+ }
50
+
51
+ .ext h2 {
52
+ margin-top: var(--wp--style--block-gap, 1.75rem);
53
+ margin-bottom: var(--wp--style--block-gap, 1.75rem);
54
+ }
55
+
56
+ .has-ext-x-large-font-size + p,
57
+ .has-ext-x-large-font-size + h3 {
58
+ margin-top: 0.5rem;
59
+ }
60
+
61
+ .ext .wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
62
+ width: calc(25% - var(--wp--style--block-gap, 0.5em) * 0.75);
63
+ min-width: 12rem;
64
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/grid.css ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Classic themes use an inner [class*="_inner-container"] that our utilities cannot directly target, so we need to do so with a few */
2
+ .ext .ext-grid > [class*="_inner-container"] {
3
+ /* no suggestion */
4
+ display: grid;
5
+ }
6
+
7
+ /* Unhinge grid for container blocks in classic themes, and < 5.9 */
8
+ .ext > [class*="_inner-container"] > .ext-grid:not([class*="columns"]),
9
+ .ext
10
+ > [class*="_inner-container"]
11
+ > .wp-block
12
+ > .ext-grid:not([class*="columns"]) {
13
+ /* no suggestion */
14
+ display: initial !important;
15
+ }
16
+
17
+ /* Grid Columns */
18
+ .ext .ext-grid-cols-1 > [class*="_inner-container"] {
19
+ /* no suggestion */
20
+ grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
21
+ }
22
+
23
+ .ext .ext-grid-cols-2 > [class*="_inner-container"] {
24
+ /* no suggestion */
25
+ grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
26
+ }
27
+
28
+ .ext .ext-grid-cols-3 > [class*="_inner-container"] {
29
+ /* no suggestion */
30
+ grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
31
+ }
32
+
33
+ .ext .ext-grid-cols-4 > [class*="_inner-container"] {
34
+ /* no suggestion */
35
+ grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
36
+ }
37
+
38
+ .ext .ext-grid-cols-5 > [class*="_inner-container"] {
39
+ /* no suggestion */
40
+ grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
41
+ }
42
+
43
+ .ext .ext-grid-cols-6 > [class*="_inner-container"] {
44
+ /* no suggestion */
45
+ grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
46
+ }
47
+
48
+ .ext .ext-grid-cols-7 > [class*="_inner-container"] {
49
+ /* no suggestion */
50
+ grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
51
+ }
52
+
53
+ .ext .ext-grid-cols-8 > [class*="_inner-container"] {
54
+ /* no suggestion */
55
+ grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
56
+ }
57
+
58
+ .ext .ext-grid-cols-9 > [class*="_inner-container"] {
59
+ /* no suggestion */
60
+ grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
61
+ }
62
+
63
+ .ext .ext-grid-cols-10 > [class*="_inner-container"] {
64
+ /* no suggestion */
65
+ grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
66
+ }
67
+
68
+ .ext .ext-grid-cols-11 > [class*="_inner-container"] {
69
+ /* no suggestion */
70
+ grid-template-columns: repeat(11, minmax(0, 1fr)) !important;
71
+ }
72
+
73
+ .ext .ext-grid-cols-12 > [class*="_inner-container"] {
74
+ /* no suggestion */
75
+ grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
76
+ }
77
+
78
+ .ext .ext-grid-cols-13 > [class*="_inner-container"] {
79
+ /* no suggestion */
80
+ grid-template-columns: repeat(13, minmax(0, 1fr)) !important;
81
+ }
82
+
83
+ .ext .ext-grid-cols-none > [class*="_inner-container"] {
84
+ /* no suggestion */
85
+ grid-template-columns: none !important;
86
+ }
87
+
88
+ /* Grid Rows */
89
+ .ext .ext-grid-rows-1 > [class*="_inner-container"] {
90
+ /* no suggestion */
91
+ grid-template-rows: repeat(1, minmax(0, 1fr)) !important;
92
+ }
93
+
94
+ .ext .ext-grid-rows-2 > [class*="_inner-container"] {
95
+ /* no suggestion */
96
+ grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
97
+ }
98
+
99
+ .ext .ext-grid-rows-3 > [class*="_inner-container"] {
100
+ /* no suggestion */
101
+ grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
102
+ }
103
+
104
+ .ext .ext-grid-rows-4 > [class*="_inner-container"] {
105
+ /* no suggestion */
106
+ grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
107
+ }
108
+
109
+ .ext .ext-grid-rows-5 > [class*="_inner-container"] {
110
+ /* no suggestion */
111
+ grid-template-rows: repeat(5, minmax(0, 1fr)) !important;
112
+ }
113
+
114
+ .ext .ext-grid-rows-6 > [class*="_inner-container"] {
115
+ /* no suggestion */
116
+ grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
117
+ }
118
+
119
+ .ext .ext-grid-rows-none > [class*="_inner-container"] {
120
+ /* no suggestion */
121
+ grid-template-rows: none !important;
122
+ }
123
+
124
+ /* Align */
125
+ .ext .ext-items-start > [class*="_inner-container"] {
126
+ align-items: flex-start !important;
127
+ }
128
+
129
+ .ext .ext-items-end > [class*="_inner-container"] {
130
+ align-items: flex-end !important;
131
+ }
132
+
133
+ .ext .ext-items-center > [class*="_inner-container"] {
134
+ align-items: center !important;
135
+ }
136
+
137
+ .ext .ext-items-baseline > [class*="_inner-container"] {
138
+ align-items: baseline !important;
139
+ }
140
+
141
+ .ext .ext-items-stretch > [class*="_inner-container"] {
142
+ align-items: stretch !important;
143
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/group.css ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ext.wp-block-group > *:last-child {
2
+ /* no suggestion */
3
+ @apply ext-mb-0;
4
+ }
5
+
6
+ /* For <5.9 */
7
+ .ext .wp-block-group__inner-container {
8
+ /* no suggestion */
9
+ @apply ext-p-0 !important;
10
+ }
11
+
12
+ .ext.has-background {
13
+ /* no suggestion */
14
+ @apply ext-px-base;
15
+ }
16
+
17
+ /* Fallback for classic theme group blocks */
18
+ .ext *[class*="inner-container"] > .alignwide *[class*="inner-container"],
19
+ .ext
20
+ *[class*="inner-container"]
21
+ > [data-align="wide"]
22
+ *[class*="inner-container"] {
23
+ /* no suggestion */
24
+ max-width: var(--responsive--alignwide-width, 120rem);
25
+ }
26
+
27
+ .ext *[class*="inner-container"] > .alignwide *[class*="inner-container"] > *,
28
+ .ext
29
+ *[class*="inner-container"]
30
+ > [data-align="wide"]
31
+ *[class*="inner-container"]
32
+ > * {
33
+ /* no suggestion */
34
+ @apply ext-max-w-full !important;
35
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/image.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /* Ensure image block display is standardized */
2
+ .ext .wp-block-image {
3
+ /* no suggestion */
4
+ @apply ext-relative ext-text-center;
5
+ }
6
+
7
+ .ext .wp-block-image img {
8
+ /* no suggestion */
9
+ @apply ext-inline-block ext-align-middle;
10
+ }
lib/vendor/redux-framework/extendify-sdk/utility-framework/suggestions.json ADDED
@@ -0,0 +1,570 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "notes": "This file is generated in webpack.mix.js. Do not edit directly.",
3
+ "suggestions": [
4
+ "ext-absolute",
5
+ "ext-relative",
6
+ "ext-top-base",
7
+ "ext-top-lg",
8
+ "ext--top-base",
9
+ "ext--top-lg",
10
+ "ext-right-base",
11
+ "ext-right-lg",
12
+ "ext--right-base",
13
+ "ext--right-lg",
14
+ "ext-bottom-base",
15
+ "ext-bottom-lg",
16
+ "ext--bottom-base",
17
+ "ext--bottom-lg",
18
+ "ext-left-base",
19
+ "ext-left-lg",
20
+ "ext--left-base",
21
+ "ext--left-lg",
22
+ "ext-order-1",
23
+ "ext-order-2",
24
+ "ext-col-auto",
25
+ "ext-col-span-1",
26
+ "ext-col-span-2",
27
+ "ext-col-span-3",
28
+ "ext-col-span-4",
29
+ "ext-col-span-5",
30
+ "ext-col-span-6",
31
+ "ext-col-span-7",
32
+ "ext-col-span-8",
33
+ "ext-col-span-9",
34
+ "ext-col-span-10",
35
+ "ext-col-span-11",
36
+ "ext-col-span-12",
37
+ "ext-col-span-full",
38
+ "ext-col-start-1",
39
+ "ext-col-start-2",
40
+ "ext-col-start-3",
41
+ "ext-col-start-4",
42
+ "ext-col-start-5",
43
+ "ext-col-start-6",
44
+ "ext-col-start-7",
45
+ "ext-col-start-8",
46
+ "ext-col-start-9",
47
+ "ext-col-start-10",
48
+ "ext-col-start-11",
49
+ "ext-col-start-12",
50
+ "ext-col-start-13",
51
+ "ext-col-start-auto",
52
+ "ext-col-end-1",
53
+ "ext-col-end-2",
54
+ "ext-col-end-3",
55
+ "ext-col-end-4",
56
+ "ext-col-end-5",
57
+ "ext-col-end-6",
58
+ "ext-col-end-7",
59
+ "ext-col-end-8",
60
+ "ext-col-end-9",
61
+ "ext-col-end-10",
62
+ "ext-col-end-11",
63
+ "ext-col-end-12",
64
+ "ext-col-end-13",
65
+ "ext-col-end-auto",
66
+ "ext-row-auto",
67
+ "ext-row-span-1",
68
+ "ext-row-span-2",
69
+ "ext-row-span-3",
70
+ "ext-row-span-4",
71
+ "ext-row-span-5",
72
+ "ext-row-span-6",
73
+ "ext-row-span-full",
74
+ "ext-row-start-1",
75
+ "ext-row-start-2",
76
+ "ext-row-start-3",
77
+ "ext-row-start-4",
78
+ "ext-row-start-5",
79
+ "ext-row-start-6",
80
+ "ext-row-start-7",
81
+ "ext-row-start-auto",
82
+ "ext-row-end-1",
83
+ "ext-row-end-2",
84
+ "ext-row-end-3",
85
+ "ext-row-end-4",
86
+ "ext-row-end-5",
87
+ "ext-row-end-6",
88
+ "ext-row-end-7",
89
+ "ext-row-end-auto",
90
+ "ext-m-0",
91
+ "ext-m-auto",
92
+ "ext-m-base",
93
+ "ext-m-lg",
94
+ "ext--m-base",
95
+ "ext--m-lg",
96
+ "ext-mx-0",
97
+ "ext-mx-auto",
98
+ "ext-mx-base",
99
+ "ext-mx-lg",
100
+ "ext--mx-base",
101
+ "ext--mx-lg",
102
+ "ext-my-0",
103
+ "ext-my-auto",
104
+ "ext-my-base",
105
+ "ext-my-lg",
106
+ "ext--my-base",
107
+ "ext--my-lg",
108
+ "ext-mt-0",
109
+ "ext-mt-auto",
110
+ "ext-mt-base",
111
+ "ext-mt-lg",
112
+ "ext--mt-base",
113
+ "ext--mt-lg",
114
+ "ext-mr-0",
115
+ "ext-mr-auto",
116
+ "ext-mr-base",
117
+ "ext-mr-lg",
118
+ "ext--mr-base",
119
+ "ext--mr-lg",
120
+ "ext-mb-0",
121
+ "ext-mb-auto",
122
+ "ext-mb-base",
123
+ "ext-mb-lg",
124
+ "ext--mb-base",
125
+ "ext--mb-lg",
126
+ "ext-ml-0",
127
+ "ext-ml-auto",
128
+ "ext-ml-base",
129
+ "ext-ml-lg",
130
+ "ext--ml-base",
131
+ "ext--ml-lg",
132
+ "ext-block",
133
+ "ext-inline-block",
134
+ "ext-inline",
135
+ "ext-flex",
136
+ "ext-inline-flex",
137
+ "ext-grid",
138
+ "ext-inline-grid",
139
+ "ext-hidden",
140
+ "ext-w-auto",
141
+ "ext-w-full",
142
+ "ext-max-w-full",
143
+ "ext-flex-1",
144
+ "ext-flex-auto",
145
+ "ext-flex-initial",
146
+ "ext-flex-none",
147
+ "ext-flex-shrink-0",
148
+ "ext-flex-shrink",
149
+ "ext-flex-grow-0",
150
+ "ext-flex-grow",
151
+ "ext-list-none",
152
+ "ext-grid-cols-1",
153
+ "ext-grid-cols-2",
154
+ "ext-grid-cols-3",
155
+ "ext-grid-cols-4",
156
+ "ext-grid-cols-5",
157
+ "ext-grid-cols-6",
158
+ "ext-grid-cols-7",
159
+ "ext-grid-cols-8",
160
+ "ext-grid-cols-9",
161
+ "ext-grid-cols-10",
162
+ "ext-grid-cols-11",
163
+ "ext-grid-cols-12",
164
+ "ext-grid-cols-none",
165
+ "ext-grid-rows-1",
166
+ "ext-grid-rows-2",
167
+ "ext-grid-rows-3",
168
+ "ext-grid-rows-4",
169
+ "ext-grid-rows-5",
170
+ "ext-grid-rows-6",
171
+ "ext-grid-rows-none",
172
+ "ext-flex-row",
173
+ "ext-flex-row-reverse",
174
+ "ext-flex-col",
175
+ "ext-flex-col-reverse",
176
+ "ext-flex-wrap",
177
+ "ext-flex-wrap-reverse",
178
+ "ext-flex-nowrap",
179
+ "ext-items-start",
180
+ "ext-items-end",
181
+ "ext-items-center",
182
+ "ext-items-baseline",
183
+ "ext-items-stretch",
184
+ "ext-justify-start",
185
+ "ext-justify-end",
186
+ "ext-justify-center",
187
+ "ext-justify-between",
188
+ "ext-justify-around",
189
+ "ext-justify-evenly",
190
+ "ext-justify-items-start",
191
+ "ext-justify-items-end",
192
+ "ext-justify-items-center",
193
+ "ext-justify-items-stretch",
194
+ "ext-gap-0",
195
+ "ext-gap-base",
196
+ "ext-gap-lg",
197
+ "ext-gap-x-0",
198
+ "ext-gap-x-base",
199
+ "ext-gap-x-lg",
200
+ "ext-gap-y-0",
201
+ "ext-gap-y-base",
202
+ "ext-gap-y-lg",
203
+ "ext-justify-self-auto",
204
+ "ext-justify-self-start",
205
+ "ext-justify-self-end",
206
+ "ext-justify-self-center",
207
+ "ext-justify-self-stretch",
208
+ "ext-rounded-none",
209
+ "ext-rounded-full",
210
+ "ext-rounded-t-none",
211
+ "ext-rounded-t-full",
212
+ "ext-rounded-r-none",
213
+ "ext-rounded-r-full",
214
+ "ext-rounded-b-none",
215
+ "ext-rounded-b-full",
216
+ "ext-rounded-l-none",
217
+ "ext-rounded-l-full",
218
+ "ext-rounded-tl-none",
219
+ "ext-rounded-tl-full",
220
+ "ext-rounded-tr-none",
221
+ "ext-rounded-tr-full",
222
+ "ext-rounded-br-none",
223
+ "ext-rounded-br-full",
224
+ "ext-rounded-bl-none",
225
+ "ext-rounded-bl-full",
226
+ "ext-border-0",
227
+ "ext-border-t-0",
228
+ "ext-border-r-0",
229
+ "ext-border-b-0",
230
+ "ext-border-l-0",
231
+ "ext-p-0",
232
+ "ext-p-base",
233
+ "ext-p-lg",
234
+ "ext-px-0",
235
+ "ext-px-base",
236
+ "ext-px-lg",
237
+ "ext-py-0",
238
+ "ext-py-base",
239
+ "ext-py-lg",
240
+ "ext-pt-0",
241
+ "ext-pt-base",
242
+ "ext-pt-lg",
243
+ "ext-pr-0",
244
+ "ext-pr-base",
245
+ "ext-pr-lg",
246
+ "ext-pb-0",
247
+ "ext-pb-base",
248
+ "ext-pb-lg",
249
+ "ext-pl-0",
250
+ "ext-pl-base",
251
+ "ext-pl-lg",
252
+ "ext-text-left",
253
+ "ext-text-center",
254
+ "ext-text-right",
255
+ "ext-leading-none",
256
+ "ext-leading-tight",
257
+ "ext-leading-snug",
258
+ "ext-leading-normal",
259
+ "ext-leading-relaxed",
260
+ "ext-leading-loose",
261
+ "clip-path--rhombus",
262
+ "clip-path--diamond",
263
+ "clip-path--rhombus-alt",
264
+ "wp-block-columns[class*=\"fullwidth-cols\"]\n",
265
+ "tablet\\:fullwidth-cols",
266
+ "desktop\\:fullwidth-cols",
267
+ "direction-rtl",
268
+ "direction-ltr",
269
+ "bring-to-front",
270
+ "text-stroke",
271
+ "text-stroke--primary",
272
+ "text-stroke--secondary",
273
+ "editor\\:no-caption",
274
+ "editor\\:no-inserter",
275
+ "editor\\:no-resize",
276
+ "editor\\:pointer-events-none",
277
+ "tablet\\:ext-absolute",
278
+ "tablet\\:ext-relative",
279
+ "tablet\\:ext-top-base",
280
+ "tablet\\:ext-top-lg",
281
+ "tablet\\:ext--top-base",
282
+ "tablet\\:ext--top-lg",
283
+ "tablet\\:ext-right-base",
284
+ "tablet\\:ext-right-lg",
285
+ "tablet\\:ext--right-base",
286
+ "tablet\\:ext--right-lg",
287
+ "tablet\\:ext-bottom-base",
288
+ "tablet\\:ext-bottom-lg",
289
+ "tablet\\:ext--bottom-base",
290
+ "tablet\\:ext--bottom-lg",
291
+ "tablet\\:ext-left-base",
292
+ "tablet\\:ext-left-lg",
293
+ "tablet\\:ext--left-base",
294
+ "tablet\\:ext--left-lg",
295
+ "tablet\\:ext-order-1",
296
+ "tablet\\:ext-order-2",
297
+ "tablet\\:ext-m-0",
298
+ "tablet\\:ext-m-auto",
299
+ "tablet\\:ext-m-base",
300
+ "tablet\\:ext-m-lg",
301
+ "tablet\\:ext--m-base",
302
+ "tablet\\:ext--m-lg",
303
+ "tablet\\:ext-mx-0",
304
+ "tablet\\:ext-mx-auto",
305
+ "tablet\\:ext-mx-base",
306
+ "tablet\\:ext-mx-lg",
307
+ "tablet\\:ext--mx-base",
308
+ "tablet\\:ext--mx-lg",
309
+ "tablet\\:ext-my-0",
310
+ "tablet\\:ext-my-auto",
311
+ "tablet\\:ext-my-base",
312
+ "tablet\\:ext-my-lg",
313
+ "tablet\\:ext--my-base",
314
+ "tablet\\:ext--my-lg",
315
+ "tablet\\:ext-mt-0",
316
+ "tablet\\:ext-mt-auto",
317
+ "tablet\\:ext-mt-base",
318
+ "tablet\\:ext-mt-lg",
319
+ "tablet\\:ext--mt-base",
320
+ "tablet\\:ext--mt-lg",
321
+ "tablet\\:ext-mr-0",
322
+ "tablet\\:ext-mr-auto",
323
+ "tablet\\:ext-mr-base",
324
+ "tablet\\:ext-mr-lg",
325
+ "tablet\\:ext--mr-base",
326
+ "tablet\\:ext--mr-lg",
327
+ "tablet\\:ext-mb-0",
328
+ "tablet\\:ext-mb-auto",
329
+ "tablet\\:ext-mb-base",
330
+ "tablet\\:ext-mb-lg",
331
+ "tablet\\:ext--mb-base",
332
+ "tablet\\:ext--mb-lg",
333
+ "tablet\\:ext-ml-0",
334
+ "tablet\\:ext-ml-auto",
335
+ "tablet\\:ext-ml-base",
336
+ "tablet\\:ext-ml-lg",
337
+ "tablet\\:ext--ml-base",
338
+ "tablet\\:ext--ml-lg",
339
+ "tablet\\:ext-block",
340
+ "tablet\\:ext-inline-block",
341
+ "tablet\\:ext-inline",
342
+ "tablet\\:ext-flex",
343
+ "tablet\\:ext-inline-flex",
344
+ "tablet\\:ext-grid",
345
+ "tablet\\:ext-inline-grid",
346
+ "tablet\\:ext-hidden",
347
+ "tablet\\:ext-w-auto",
348
+ "tablet\\:ext-w-full",
349
+ "tablet\\:ext-max-w-full",
350
+ "tablet\\:ext-flex-1",
351
+ "tablet\\:ext-flex-auto",
352
+ "tablet\\:ext-flex-initial",
353
+ "tablet\\:ext-flex-none",
354
+ "tablet\\:ext-flex-shrink-0",
355
+ "tablet\\:ext-flex-shrink",
356
+ "tablet\\:ext-flex-grow-0",
357
+ "tablet\\:ext-flex-grow",
358
+ "tablet\\:ext-list-none",
359
+ "tablet\\:ext-grid-cols-1",
360
+ "tablet\\:ext-grid-cols-2",
361
+ "tablet\\:ext-grid-cols-3",
362
+ "tablet\\:ext-grid-cols-4",
363
+ "tablet\\:ext-grid-cols-5",
364
+ "tablet\\:ext-grid-cols-6",
365
+ "tablet\\:ext-grid-cols-7",
366
+ "tablet\\:ext-grid-cols-8",
367
+ "tablet\\:ext-grid-cols-9",
368
+ "tablet\\:ext-grid-cols-10",
369
+ "tablet\\:ext-grid-cols-11",
370
+ "tablet\\:ext-grid-cols-12",
371
+ "tablet\\:ext-grid-cols-none",
372
+ "tablet\\:ext-flex-row",
373
+ "tablet\\:ext-flex-row-reverse",
374
+ "tablet\\:ext-flex-col",
375
+ "tablet\\:ext-flex-col-reverse",
376
+ "tablet\\:ext-flex-wrap",
377
+ "tablet\\:ext-flex-wrap-reverse",
378
+ "tablet\\:ext-flex-nowrap",
379
+ "tablet\\:ext-items-start",
380
+ "tablet\\:ext-items-end",
381
+ "tablet\\:ext-items-center",
382
+ "tablet\\:ext-items-baseline",
383
+ "tablet\\:ext-items-stretch",
384
+ "tablet\\:ext-justify-start",
385
+ "tablet\\:ext-justify-end",
386
+ "tablet\\:ext-justify-center",
387
+ "tablet\\:ext-justify-between",
388
+ "tablet\\:ext-justify-around",
389
+ "tablet\\:ext-justify-evenly",
390
+ "tablet\\:ext-justify-items-start",
391
+ "tablet\\:ext-justify-items-end",
392
+ "tablet\\:ext-justify-items-center",
393
+ "tablet\\:ext-justify-items-stretch",
394
+ "tablet\\:ext-justify-self-auto",
395
+ "tablet\\:ext-justify-self-start",
396
+ "tablet\\:ext-justify-self-end",
397
+ "tablet\\:ext-justify-self-center",
398
+ "tablet\\:ext-justify-self-stretch",
399
+ "tablet\\:ext-p-0",
400
+ "tablet\\:ext-p-base",
401
+ "tablet\\:ext-p-lg",
402
+ "tablet\\:ext-px-0",
403
+ "tablet\\:ext-px-base",
404
+ "tablet\\:ext-px-lg",
405
+ "tablet\\:ext-py-0",
406
+ "tablet\\:ext-py-base",
407
+ "tablet\\:ext-py-lg",
408
+ "tablet\\:ext-pt-0",
409
+ "tablet\\:ext-pt-base",
410
+ "tablet\\:ext-pt-lg",
411
+ "tablet\\:ext-pr-0",
412
+ "tablet\\:ext-pr-base",
413
+ "tablet\\:ext-pr-lg",
414
+ "tablet\\:ext-pb-0",
415
+ "tablet\\:ext-pb-base",
416
+ "tablet\\:ext-pb-lg",
417
+ "tablet\\:ext-pl-0",
418
+ "tablet\\:ext-pl-base",
419
+ "tablet\\:ext-pl-lg",
420
+ "tablet\\:ext-text-left",
421
+ "tablet\\:ext-text-center",
422
+ "tablet\\:ext-text-right",
423
+ "desktop\\:ext-absolute",
424
+ "desktop\\:ext-relative",
425
+ "desktop\\:ext-top-base",
426
+ "desktop\\:ext-top-lg",
427
+ "desktop\\:ext--top-base",
428
+ "desktop\\:ext--top-lg",
429
+ "desktop\\:ext-right-base",
430
+ "desktop\\:ext-right-lg",
431
+ "desktop\\:ext--right-base",
432
+ "desktop\\:ext--right-lg",
433
+ "desktop\\:ext-bottom-base",
434
+ "desktop\\:ext-bottom-lg",
435
+ "desktop\\:ext--bottom-base",
436
+ "desktop\\:ext--bottom-lg",
437
+ "desktop\\:ext-left-base",
438
+ "desktop\\:ext-left-lg",
439
+ "desktop\\:ext--left-base",
440
+ "desktop\\:ext--left-lg",
441
+ "desktop\\:ext-order-1",
442
+ "desktop\\:ext-order-2",
443
+ "desktop\\:ext-m-0",
444
+ "desktop\\:ext-m-auto",
445
+ "desktop\\:ext-m-base",
446
+ "desktop\\:ext-m-lg",
447
+ "desktop\\:ext--m-base",
448
+ "desktop\\:ext--m-lg",
449
+ "desktop\\:ext-mx-0",
450
+ "desktop\\:ext-mx-auto",
451
+ "desktop\\:ext-mx-base",
452
+ "desktop\\:ext-mx-lg",
453
+ "desktop\\:ext--mx-base",
454
+ "desktop\\:ext--mx-lg",
455
+ "desktop\\:ext-my-0",
456
+ "desktop\\:ext-my-auto",
457
+ "desktop\\:ext-my-base",
458
+ "desktop\\:ext-my-lg",
459
+ "desktop\\:ext--my-base",
460
+ "desktop\\:ext--my-lg",
461
+ "desktop\\:ext-mt-0",
462
+ "desktop\\:ext-mt-auto",
463
+ "desktop\\:ext-mt-base",
464
+ "desktop\\:ext-mt-lg",
465
+ "desktop\\:ext--mt-base",
466
+ "desktop\\:ext--mt-lg",
467
+ "desktop\\:ext-mr-0",
468
+ "desktop\\:ext-mr-auto",
469
+ "desktop\\:ext-mr-base",
470
+ "desktop\\:ext-mr-lg",
471
+ "desktop\\:ext--mr-base",
472
+ "desktop\\:ext--mr-lg",
473
+ "desktop\\:ext-mb-0",
474
+ "desktop\\:ext-mb-auto",
475
+ "desktop\\:ext-mb-base",
476
+ "desktop\\:ext-mb-lg",
477
+ "desktop\\:ext--mb-base",
478
+ "desktop\\:ext--mb-lg",
479
+ "desktop\\:ext-ml-0",
480
+ "desktop\\:ext-ml-auto",
481
+ "desktop\\:ext-ml-base",
482
+ "desktop\\:ext-ml-lg",
483
+ "desktop\\:ext--ml-base",
484
+ "desktop\\:ext--ml-lg",
485
+ "desktop\\:ext-block",
486
+ "desktop\\:ext-inline-block",
487
+ "desktop\\:ext-inline",
488
+ "desktop\\:ext-flex",
489
+ "desktop\\:ext-inline-flex",
490
+ "desktop\\:ext-grid",
491
+ "desktop\\:ext-inline-grid",
492
+ "desktop\\:ext-hidden",
493
+ "desktop\\:ext-w-auto",
494
+ "desktop\\:ext-w-full",
495
+ "desktop\\:ext-max-w-full",
496
+ "desktop\\:ext-flex-1",
497
+ "desktop\\:ext-flex-auto",
498
+ "desktop\\:ext-flex-initial",
499
+ "desktop\\:ext-flex-none",
500
+ "desktop\\:ext-flex-shrink-0",
501
+ "desktop\\:ext-flex-shrink",
502
+ "desktop\\:ext-flex-grow-0",
503
+ "desktop\\:ext-flex-grow",
504
+ "desktop\\:ext-list-none",
505
+ "desktop\\:ext-grid-cols-1",
506
+ "desktop\\:ext-grid-cols-2",
507
+ "desktop\\:ext-grid-cols-3",
508
+ "desktop\\:ext-grid-cols-4",
509
+ "desktop\\:ext-grid-cols-5",
510
+ "desktop\\:ext-grid-cols-6",
511
+ "desktop\\:ext-grid-cols-7",
512
+ "desktop\\:ext-grid-cols-8",
513
+ "desktop\\:ext-grid-cols-9",
514
+ "desktop\\:ext-grid-cols-10",
515
+ "desktop\\:ext-grid-cols-11",
516
+ "desktop\\:ext-grid-cols-12",
517
+ "desktop\\:ext-grid-cols-none",
518
+ "desktop\\:ext-flex-row",
519
+ "desktop\\:ext-flex-row-reverse",
520
+ "desktop\\:ext-flex-col",
521
+ "desktop\\:ext-flex-col-reverse",
522
+ "desktop\\:ext-flex-wrap",
523
+ "desktop\\:ext-flex-wrap-reverse",
524
+ "desktop\\:ext-flex-nowrap",
525
+ "desktop\\:ext-items-start",
526
+ "desktop\\:ext-items-end",
527
+ "desktop\\:ext-items-center",
528
+ "desktop\\:ext-items-baseline",
529
+ "desktop\\:ext-items-stretch",
530
+ "desktop\\:ext-justify-start",
531
+ "desktop\\:ext-justify-end",
532
+ "desktop\\:ext-justify-center",
533
+ "desktop\\:ext-justify-between",
534
+ "desktop\\:ext-justify-around",
535
+ "desktop\\:ext-justify-evenly",
536
+ "desktop\\:ext-justify-items-start",
537
+ "desktop\\:ext-justify-items-end",
538
+ "desktop\\:ext-justify-items-center",
539
+ "desktop\\:ext-justify-items-stretch",
540
+ "desktop\\:ext-justify-self-auto",
541
+ "desktop\\:ext-justify-self-start",
542
+ "desktop\\:ext-justify-self-end",
543
+ "desktop\\:ext-justify-self-center",
544
+ "desktop\\:ext-justify-self-stretch",
545
+ "desktop\\:ext-p-0",
546
+ "desktop\\:ext-p-base",
547
+ "desktop\\:ext-p-lg",
548
+ "desktop\\:ext-px-0",
549
+ "desktop\\:ext-px-base",
550
+ "desktop\\:ext-px-lg",
551
+ "desktop\\:ext-py-0",
552
+ "desktop\\:ext-py-base",
553
+ "desktop\\:ext-py-lg",
554
+ "desktop\\:ext-pt-0",
555
+ "desktop\\:ext-pt-base",
556
+ "desktop\\:ext-pt-lg",
557
+ "desktop\\:ext-pr-0",
558
+ "desktop\\:ext-pr-base",
559
+ "desktop\\:ext-pr-lg",
560
+ "desktop\\:ext-pb-0",
561
+ "desktop\\:ext-pb-base",
562
+ "desktop\\:ext-pb-lg",
563
+ "desktop\\:ext-pl-0",
564
+ "desktop\\:ext-pl-base",
565
+ "desktop\\:ext-pl-lg",
566
+ "desktop\\:ext-text-left",
567
+ "desktop\\:ext-text-center",
568
+ "desktop\\:ext-text-right"
569
+ ]
570
+ }
lib/vendor/redux-framework/extendify-sdk/vendor/autoload.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload.php @generated by Composer
4
+
5
+ require_once __DIR__ . '/composer/autoload_real.php';
6
+
7
+ return ComposerAutoloaderInit340a6822f05e2bfceab6432d90c2eeaa::getLoader();
lib/vendor/redux-framework/extendify-sdk/vendor/composer/ClassLoader.php ADDED
@@ -0,0 +1,445 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of Composer.
5
+ *
6
+ * (c) Nils Adermann <naderman@naderman.de>
7
+ * Jordi Boggiano <j.boggiano@seld.be>
8
+ *
9
+ * For the full copyright and license information, please view the LICENSE
10
+ * file that was distributed with this source code.
11
+ */
12
+
13
+ namespace Composer\Autoload;
14
+
15
+ /**
16
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
17
+ *
18
+ * $loader = new \Composer\Autoload\ClassLoader();
19
+ *
20
+ * // register classes with namespaces
21
+ * $loader->add('Symfony\Component', __DIR__.'/component');
22
+ * $loader->add('Symfony', __DIR__.'/framework');
23
+ *
24
+ * // activate the autoloader
25
+ * $loader->register();
26
+ *
27
+ * // to enable searching the include path (eg. for PEAR packages)
28
+ * $loader->setUseIncludePath(true);
29
+ *
30
+ * In this example, if you try to use a class in the Symfony\Component
31
+ * namespace or one of its children (Symfony\Component\Console for instance),
32
+ * the autoloader will first look for the class under the component/
33
+ * directory, and it will then fallback to the framework/ directory if not
34
+ * found before giving up.
35
+ *
36
+ * This class is loosely based on the Symfony UniversalClassLoader.
37
+ *
38
+ * @author Fabien Potencier <fabien@symfony.com>
39
+ * @author Jordi Boggiano <j.boggiano@seld.be>
40
+ * @see http://www.php-fig.org/psr/psr-0/
41
+ * @see http://www.php-fig.org/psr/psr-4/
42
+ */
43
+ class ClassLoader
44
+ {
45
+ // PSR-4
46
+ private $prefixLengthsPsr4 = array();
47
+ private $prefixDirsPsr4 = array();
48
+ private $fallbackDirsPsr4 = array();
49
+
50
+ // PSR-0
51
+ private $prefixesPsr0 = array();
52
+ private $fallbackDirsPsr0 = array();
53
+
54
+ private $useIncludePath = false;
55
+ private $classMap = array();
56
+ private $classMapAuthoritative = false;
57
+ private $missingClasses = array();
58
+ private $apcuPrefix;
59
+
60
+ public function getPrefixes()
61
+ {
62
+ if (!empty($this->prefixesPsr0)) {
63
+ return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
64
+ }
65
+
66
+ return array();
67
+ }
68
+
69
+ public function getPrefixesPsr4()
70
+ {
71
+ return $this->prefixDirsPsr4;
72
+ }
73
+
74
+ public function getFallbackDirs()
75
+ {
76
+ return $this->fallbackDirsPsr0;
77
+ }
78
+
79
+ public function getFallbackDirsPsr4()
80
+ {
81
+ return $this->fallbackDirsPsr4;
82
+ }
83
+
84
+ public function getClassMap()
85
+ {
86
+ return $this->classMap;
87
+ }
88
+
89
+ /**
90
+ * @param array $classMap Class to filename map
91
+ */
92
+ public function addClassMap(array $classMap)
93
+ {
94
+ if ($this->classMap) {
95
+ $this->classMap = array_merge($this->classMap, $classMap);
96
+ } else {
97
+ $this->classMap = $classMap;
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Registers a set of PSR-0 directories for a given prefix, either
103
+ * appending or prepending to the ones previously set for this prefix.
104
+ *
105
+ * @param string $prefix The prefix
106
+ * @param array|string $paths The PSR-0 root directories
107
+ * @param bool $prepend Whether to prepend the directories
108
+ */
109
+ public function add($prefix, $paths, $prepend = false)
110
+ {
111
+ if (!$prefix) {
112
+ if ($prepend) {
113
+ $this->fallbackDirsPsr0 = array_merge(
114
+ (array) $paths,
115
+ $this->fallbackDirsPsr0
116
+ );
117
+ } else {
118
+ $this->fallbackDirsPsr0 = array_merge(
119
+ $this->fallbackDirsPsr0,
120
+ (array) $paths
121
+ );
122
+ }
123
+
124
+ return;
125
+ }
126
+
127
+ $first = $prefix[0];
128
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
129
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
130
+
131
+ return;
132
+ }
133
+ if ($prepend) {
134
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
135
+ (array) $paths,
136
+ $this->prefixesPsr0[$first][$prefix]
137
+ );
138
+ } else {
139
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
140
+ $this->prefixesPsr0[$first][$prefix],
141
+ (array) $paths
142
+ );
143
+ }
144
+ }
145
+
146
+ /**
147
+ * Registers a set of PSR-4 directories for a given namespace, either
148
+ * appending or prepending to the ones previously set for this namespace.
149
+ *
150
+ * @param string $prefix The prefix/namespace, with trailing '\\'
151
+ * @param array|string $paths The PSR-4 base directories
152
+ * @param bool $prepend Whether to prepend the directories
153
+ *
154
+ * @throws \InvalidArgumentException
155
+ */
156
+ public function addPsr4($prefix, $paths, $prepend = false)
157
+ {
158
+ if (!$prefix) {
159
+ // Register directories for the root namespace.
160
+ if ($prepend) {
161
+ $this->fallbackDirsPsr4 = array_merge(
162
+ (array) $paths,
163
+ $this->fallbackDirsPsr4
164
+ );
165
+ } else {
166
+ $this->fallbackDirsPsr4 = array_merge(
167
+ $this->fallbackDirsPsr4,
168
+ (array) $paths
169
+ );
170
+ }
171
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
172
+ // Register directories for a new namespace.
173
+ $length = strlen($prefix);
174
+ if ('\\' !== $prefix[$length - 1]) {
175
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
176
+ }
177
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
178
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
179
+ } elseif ($prepend) {
180
+ // Prepend directories for an already registered namespace.
181
+ $this->prefixDirsPsr4[$prefix] = array_merge(
182
+ (array) $paths,
183
+ $this->prefixDirsPsr4[$prefix]
184
+ );
185
+ } else {
186
+ // Append directories for an already registered namespace.
187
+ $this->prefixDirsPsr4[$prefix] = array_merge(
188
+ $this->prefixDirsPsr4[$prefix],
189
+ (array) $paths
190
+ );
191
+ }
192
+ }
193
+
194
+ /**
195
+ * Registers a set of PSR-0 directories for a given prefix,
196
+ * replacing any others previously set for this prefix.
197
+ *
198
+ * @param string $prefix The prefix
199
+ * @param array|string $paths The PSR-0 base directories
200
+ */
201
+ public function set($prefix, $paths)
202
+ {
203
+ if (!$prefix) {
204
+ $this->fallbackDirsPsr0 = (array) $paths;
205
+ } else {
206
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
207
+ }
208
+ }
209
+
210
+ /**
211
+ * Registers a set of PSR-4 directories for a given namespace,
212
+ * replacing any others previously set for this namespace.
213
+ *
214
+ * @param string $prefix The prefix/namespace, with trailing '\\'
215
+ * @param array|string $paths The PSR-4 base directories
216
+ *
217
+ * @throws \InvalidArgumentException
218
+ */
219
+ public function setPsr4($prefix, $paths)
220
+ {
221
+ if (!$prefix) {
222
+ $this->fallbackDirsPsr4 = (array) $paths;
223
+ } else {
224
+ $length = strlen($prefix);
225
+ if ('\\' !== $prefix[$length - 1]) {
226
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
227
+ }
228
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
229
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
230
+ }
231
+ }
232
+
233
+ /**
234
+ * Turns on searching the include path for class files.
235
+ *
236
+ * @param bool $useIncludePath
237
+ */
238
+ public function setUseIncludePath($useIncludePath)
239
+ {
240
+ $this->useIncludePath = $useIncludePath;
241
+ }
242
+
243
+ /**
244
+ * Can be used to check if the autoloader uses the include path to check
245
+ * for classes.
246
+ *
247
+ * @return bool
248
+ */
249
+ public function getUseIncludePath()
250
+ {
251
+ return $this->useIncludePath;
252
+ }
253
+
254
+ /**
255
+ * Turns off searching the prefix and fallback directories for classes
256
+ * that have not been registered with the class map.
257
+ *
258
+ * @param bool $classMapAuthoritative
259
+ */
260
+ public function setClassMapAuthoritative($classMapAuthoritative)
261
+ {
262
+ $this->classMapAuthoritative = $classMapAuthoritative;
263
+ }
264
+
265
+ /**
266
+ * Should class lookup fail if not found in the current class map?
267
+ *
268
+ * @return bool
269
+ */
270
+ public function isClassMapAuthoritative()
271
+ {
272
+ return $this->classMapAuthoritative;
273
+ }
274
+
275
+ /**
276
+ * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
277
+ *
278
+ * @param string|null $apcuPrefix
279
+ */
280
+ public function setApcuPrefix($apcuPrefix)
281
+ {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
283
+ }
284
+
285
+ /**
286
+ * The APCu prefix in use, or null if APCu caching is not enabled.
287
+ *
288
+ * @return string|null
289
+ */
290
+ public function getApcuPrefix()
291
+ {
292
+ return $this->apcuPrefix;
293
+ }
294
+
295
+ /**
296
+ * Registers this instance as an autoloader.
297
+ *
298
+ * @param bool $prepend Whether to prepend the autoloader or not
299
+ */
300
+ public function register($prepend = false)
301
+ {
302
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
303
+ }
304
+
305
+ /**
306
+ * Unregisters this instance as an autoloader.
307
+ */
308
+ public function unregister()
309
+ {
310
+ spl_autoload_unregister(array($this, 'loadClass'));
311
+ }
312
+
313
+ /**
314
+ * Loads the given class or interface.
315
+ *
316
+ * @param string $class The name of the class
317
+ * @return bool|null True if loaded, null otherwise
318
+ */
319
+ public function loadClass($class)
320
+ {
321
+ if ($file = $this->findFile($class)) {
322
+ includeFile($file);
323
+
324
+ return true;
325
+ }
326
+ }
327
+
328
+ /**
329
+ * Finds the path to the file where the class is defined.
330
+ *
331
+ * @param string $class The name of the class
332
+ *
333
+ * @return string|false The path if found, false otherwise
334
+ */
335
+ public function findFile($class)
336
+ {
337
+ // class map lookup
338
+ if (isset($this->classMap[$class])) {
339
+ return $this->classMap[$class];
340
+ }
341
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
342
+ return false;
343
+ }
344
+ if (null !== $this->apcuPrefix) {
345
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
346
+ if ($hit) {
347
+ return $file;
348
+ }
349
+ }
350
+
351
+ $file = $this->findFileWithExtension($class, '.php');
352
+
353
+ // Search for Hack files if we are running on HHVM
354
+ if (false === $file && defined('HHVM_VERSION')) {
355
+ $file = $this->findFileWithExtension($class, '.hh');
356
+ }
357
+
358
+ if (null !== $this->apcuPrefix) {
359
+ apcu_add($this->apcuPrefix.$class, $file);
360
+ }
361
+
362
+ if (false === $file) {
363
+ // Remember that this class does not exist.
364
+ $this->missingClasses[$class] = true;
365
+ }
366
+
367
+ return $file;
368
+ }
369
+
370
+ private function findFileWithExtension($class, $ext)
371
+ {
372
+ // PSR-4 lookup
373
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
374
+
375
+ $first = $class[0];
376
+ if (isset($this->prefixLengthsPsr4[$first])) {
377
+ $subPath = $class;
378
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
379
+ $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath . '\\';
381
+ if (isset($this->prefixDirsPsr4[$search])) {
382
+ $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
383
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
+ if (file_exists($file = $dir . $pathEnd)) {
385
+ return $file;
386
+ }
387
+ }
388
+ }
389
+ }
390
+ }
391
+
392
+ // PSR-4 fallback dirs
393
+ foreach ($this->fallbackDirsPsr4 as $dir) {
394
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
395
+ return $file;
396
+ }
397
+ }
398
+
399
+ // PSR-0 lookup
400
+ if (false !== $pos = strrpos($class, '\\')) {
401
+ // namespaced class name
402
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
403
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
404
+ } else {
405
+ // PEAR-like class name
406
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
407
+ }
408
+
409
+ if (isset($this->prefixesPsr0[$first])) {
410
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
411
+ if (0 === strpos($class, $prefix)) {
412
+ foreach ($dirs as $dir) {
413
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
414
+ return $file;
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+
421
+ // PSR-0 fallback dirs
422
+ foreach ($this->fallbackDirsPsr0 as $dir) {
423
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
424
+ return $file;
425
+ }
426
+ }
427
+
428
+ // PSR-0 include paths.
429
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
430
+ return $file;
431
+ }
432
+
433
+ return false;
434
+ }
435
+ }
436
+
437
+ /**
438
+ * Scope isolated include.
439
+ *
440
+ * Prevents access to $this/self from included files.
441
+ */
442
+ function includeFile($file)
443
+ {
444
+ include $file;
445
+ }
lib/vendor/redux-framework/extendify-sdk/vendor/composer/InstalledVersions.php ADDED
@@ -0,0 +1,654 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+ namespace Composer;
14
+
15
+ use Composer\Autoload\ClassLoader;
16
+ use Composer\Semver\VersionParser;
17
+
18
+
19
+
20
+
21
+
22
+
23
+ class InstalledVersions
24
+ {
25
+ private static $installed = array (
26
+ 'root' =>
27
+ array (
28
+ 'pretty_version' => 'dev-main',
29
+ 'version' => 'dev-main',
30
+ 'aliases' =>
31
+ array (
32
+ ),
33
+ 'reference' => 'ac2cfec95277e7980dfcf8dfde5cd858f1023e03',
34
+ 'name' => 'extendify/extendify',
35
+ ),
36
+ 'versions' =>
37
+ array (
38
+ 'dealerdirect/phpcodesniffer-composer-installer' =>
39
+ array (
40
+ 'pretty_version' => 'v0.7.1',
41
+ 'version' => '0.7.1.0',
42
+ 'aliases' =>
43
+ array (
44
+ ),
45
+ 'reference' => 'fe390591e0241955f22eb9ba327d137e501c771c',
46
+ ),
47
+ 'doctrine/instantiator' =>
48
+ array (
49
+ 'pretty_version' => '1.4.0',
50
+ 'version' => '1.4.0.0',
51
+ 'aliases' =>
52
+ array (
53
+ ),
54
+ 'reference' => 'd56bf6102915de5702778fe20f2de3b2fe570b5b',
55
+ ),
56
+ 'extendify/extendify' =>
57
+ array (
58
+ 'pretty_version' => 'dev-main',
59
+ 'version' => 'dev-main',
60
+ 'aliases' =>
61
+ array (
62
+ ),
63
+ 'reference' => 'ac2cfec95277e7980dfcf8dfde5cd858f1023e03',
64
+ ),
65
+ 'johnpbloch/wordpress-core' =>
66
+ array (
67
+ 'pretty_version' => '5.7.0',
68
+ 'version' => '5.7.0.0',
69
+ 'aliases' =>
70
+ array (
71
+ ),
72
+ 'reference' => '8b057056692ca196aaa7a7ddd915f29426922c6d',
73
+ ),
74
+ 'myclabs/deep-copy' =>
75
+ array (
76
+ 'pretty_version' => '1.10.2',
77
+ 'version' => '1.10.2.0',
78
+ 'aliases' =>
79
+ array (
80
+ ),
81
+ 'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
82
+ 'replaced' =>
83
+ array (
84
+ 0 => '1.10.2',
85
+ ),
86
+ ),
87
+ 'nikic/php-parser' =>
88
+ array (
89
+ 'pretty_version' => 'v4.10.4',
90
+ 'version' => '4.10.4.0',
91
+ 'aliases' =>
92
+ array (
93
+ ),
94
+ 'reference' => 'c6d052fc58cb876152f89f532b95a8d7907e7f0e',
95
+ ),
96
+ 'phar-io/manifest' =>
97
+ array (
98
+ 'pretty_version' => '2.0.1',
99
+ 'version' => '2.0.1.0',
100
+ 'aliases' =>
101
+ array (
102
+ ),
103
+ 'reference' => '85265efd3af7ba3ca4b2a2c34dbfc5788dd29133',
104
+ ),
105
+ 'phar-io/version' =>
106
+ array (
107
+ 'pretty_version' => '3.1.0',
108
+ 'version' => '3.1.0.0',
109
+ 'aliases' =>
110
+ array (
111
+ ),
112
+ 'reference' => 'bae7c545bef187884426f042434e561ab1ddb182',
113
+ ),
114
+ 'phpcompatibility/php-compatibility' =>
115
+ array (
116
+ 'pretty_version' => '9.3.5',
117
+ 'version' => '9.3.5.0',
118
+ 'aliases' =>
119
+ array (
120
+ ),
121
+ 'reference' => '9fb324479acf6f39452e0655d2429cc0d3914243',
122
+ ),
123
+ 'phpcompatibility/phpcompatibility-paragonie' =>
124
+ array (
125
+ 'pretty_version' => '1.3.1',
126
+ 'version' => '1.3.1.0',
127
+ 'aliases' =>
128
+ array (
129
+ ),
130
+ 'reference' => 'ddabec839cc003651f2ce695c938686d1086cf43',
131
+ ),
132
+ 'phpcompatibility/phpcompatibility-wp' =>
133
+ array (
134
+ 'pretty_version' => '2.1.1',
135
+ 'version' => '2.1.1.0',
136
+ 'aliases' =>
137
+ array (
138
+ ),
139
+ 'reference' => 'b7dc0cd7a8f767ccac5e7637550ea1c50a67b09e',
140
+ ),
141
+ 'phpdocumentor/reflection-common' =>
142
+ array (
143
+ 'pretty_version' => '2.2.0',
144
+ 'version' => '2.2.0.0',
145
+ 'aliases' =>
146
+ array (
147
+ ),
148
+ 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b',
149
+ ),
150
+ 'phpdocumentor/reflection-docblock' =>
151
+ array (
152
+ 'pretty_version' => '5.2.2',
153
+ 'version' => '5.2.2.0',
154
+ 'aliases' =>
155
+ array (
156
+ ),
157
+ 'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556',
158
+ ),
159
+ 'phpdocumentor/type-resolver' =>
160
+ array (
161
+ 'pretty_version' => '1.4.0',
162
+ 'version' => '1.4.0.0',
163
+ 'aliases' =>
164
+ array (
165
+ ),
166
+ 'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0',
167
+ ),
168
+ 'phpspec/prophecy' =>
169
+ array (
170
+ 'pretty_version' => '1.13.0',
171
+ 'version' => '1.13.0.0',
172
+ 'aliases' =>
173
+ array (
174
+ ),
175
+ 'reference' => 'be1996ed8adc35c3fd795488a653f4b518be70ea',
176
+ ),
177
+ 'phpunit/php-code-coverage' =>
178
+ array (
179
+ 'pretty_version' => '9.2.6',
180
+ 'version' => '9.2.6.0',
181
+ 'aliases' =>
182
+ array (
183
+ ),
184
+ 'reference' => 'f6293e1b30a2354e8428e004689671b83871edde',
185
+ ),
186
+ 'phpunit/php-file-iterator' =>
187
+ array (
188
+ 'pretty_version' => '3.0.5',
189
+ 'version' => '3.0.5.0',
190
+ 'aliases' =>
191
+ array (
192
+ ),
193
+ 'reference' => 'aa4be8575f26070b100fccb67faabb28f21f66f8',
194
+ ),
195
+ 'phpunit/php-invoker' =>
196
+ array (
197
+ 'pretty_version' => '3.1.1',
198
+ 'version' => '3.1.1.0',
199
+ 'aliases' =>
200
+ array (
201
+ ),
202
+ 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67',
203
+ ),
204
+ 'phpunit/php-text-template' =>
205
+ array (
206
+ 'pretty_version' => '2.0.4',
207
+ 'version' => '2.0.4.0',
208
+ 'aliases' =>
209
+ array (
210
+ ),
211
+ 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28',
212
+ ),
213
+ 'phpunit/php-timer' =>
214
+ array (
215
+ 'pretty_version' => '5.0.3',
216
+ 'version' => '5.0.3.0',
217
+ 'aliases' =>
218
+ array (
219
+ ),
220
+ 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2',
221
+ ),
222
+ 'phpunit/phpunit' =>
223
+ array (
224
+ 'pretty_version' => '9.5.4',
225
+ 'version' => '9.5.4.0',
226
+ 'aliases' =>
227
+ array (
228
+ ),
229
+ 'reference' => 'c73c6737305e779771147af66c96ca6a7ed8a741',
230
+ ),
231
+ 'sebastian/cli-parser' =>
232
+ array (
233
+ 'pretty_version' => '1.0.1',
234
+ 'version' => '1.0.1.0',
235
+ 'aliases' =>
236
+ array (
237
+ ),
238
+ 'reference' => '442e7c7e687e42adc03470c7b668bc4b2402c0b2',
239
+ ),
240
+ 'sebastian/code-unit' =>
241
+ array (
242
+ 'pretty_version' => '1.0.8',
243
+ 'version' => '1.0.8.0',
244
+ 'aliases' =>
245
+ array (
246
+ ),
247
+ 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120',
248
+ ),
249
+ 'sebastian/code-unit-reverse-lookup' =>
250
+ array (
251
+ 'pretty_version' => '2.0.3',
252
+ 'version' => '2.0.3.0',
253
+ 'aliases' =>
254
+ array (
255
+ ),
256
+ 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5',
257
+ ),
258
+ 'sebastian/comparator' =>
259
+ array (
260
+ 'pretty_version' => '4.0.6',
261
+ 'version' => '4.0.6.0',
262
+ 'aliases' =>
263
+ array (
264
+ ),
265
+ 'reference' => '55f4261989e546dc112258c7a75935a81a7ce382',
266
+ ),
267
+ 'sebastian/complexity' =>
268
+ array (
269
+ 'pretty_version' => '2.0.2',
270
+ 'version' => '2.0.2.0',
271
+ 'aliases' =>
272
+ array (
273
+ ),
274
+ 'reference' => '739b35e53379900cc9ac327b2147867b8b6efd88',
275
+ ),
276
+ 'sebastian/diff' =>
277
+ array (
278
+ 'pretty_version' => '4.0.4',
279
+ 'version' => '4.0.4.0',
280
+ 'aliases' =>
281
+ array (
282
+ ),
283
+ 'reference' => '3461e3fccc7cfdfc2720be910d3bd73c69be590d',
284
+ ),
285
+ 'sebastian/environment' =>
286
+ array (
287
+ 'pretty_version' => '5.1.3',
288
+ 'version' => '5.1.3.0',
289
+ 'aliases' =>
290
+ array (
291
+ ),
292
+ 'reference' => '388b6ced16caa751030f6a69e588299fa09200ac',
293
+ ),
294
+ 'sebastian/exporter' =>
295
+ array (
296
+ 'pretty_version' => '4.0.3',
297
+ 'version' => '4.0.3.0',
298
+ 'aliases' =>
299
+ array (
300
+ ),
301
+ 'reference' => 'd89cc98761b8cb5a1a235a6b703ae50d34080e65',
302
+ ),
303
+ 'sebastian/global-state' =>
304
+ array (
305
+ 'pretty_version' => '5.0.2',
306
+ 'version' => '5.0.2.0',
307
+ 'aliases' =>
308
+ array (
309
+ ),
310
+ 'reference' => 'a90ccbddffa067b51f574dea6eb25d5680839455',
311
+ ),
312
+ 'sebastian/lines-of-code' =>
313
+ array (
314
+ 'pretty_version' => '1.0.3',
315
+ 'version' => '1.0.3.0',
316
+ 'aliases' =>
317
+ array (
318
+ ),
319
+ 'reference' => 'c1c2e997aa3146983ed888ad08b15470a2e22ecc',
320
+ ),
321
+ 'sebastian/object-enumerator' =>
322
+ array (
323
+ 'pretty_version' => '4.0.4',
324
+ 'version' => '4.0.4.0',
325
+ 'aliases' =>
326
+ array (
327
+ ),
328
+ 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71',
329
+ ),
330
+ 'sebastian/object-reflector' =>
331
+ array (
332
+ 'pretty_version' => '2.0.4',
333
+ 'version' => '2.0.4.0',
334
+ 'aliases' =>
335
+ array (
336
+ ),
337
+ 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7',
338
+ ),
339
+ 'sebastian/recursion-context' =>
340
+ array (
341
+ 'pretty_version' => '4.0.4',
342
+ 'version' => '4.0.4.0',
343
+ 'aliases' =>
344
+ array (
345
+ ),
346
+ 'reference' => 'cd9d8cf3c5804de4341c283ed787f099f5506172',
347
+ ),
348
+ 'sebastian/resource-operations' =>
349
+ array (
350
+ 'pretty_version' => '3.0.3',
351
+ 'version' => '3.0.3.0',
352
+ 'aliases' =>
353
+ array (
354
+ ),
355
+ 'reference' => '0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8',
356
+ ),
357
+ 'sebastian/type' =>
358
+ array (
359
+ 'pretty_version' => '2.3.1',
360
+ 'version' => '2.3.1.0',
361
+ 'aliases' =>
362
+ array (
363
+ ),
364
+ 'reference' => '81cd61ab7bbf2de744aba0ea61fae32f721df3d2',
365
+ ),
366
+ 'sebastian/version' =>
367
+ array (
368
+ 'pretty_version' => '3.0.2',
369
+ 'version' => '3.0.2.0',
370
+ 'aliases' =>
371
+ array (
372
+ ),
373
+ 'reference' => 'c6c1022351a901512170118436c764e473f6de8c',
374
+ ),
375
+ 'squizlabs/php_codesniffer' =>
376
+ array (
377
+ 'pretty_version' => '3.6.0',
378
+ 'version' => '3.6.0.0',
379
+ 'aliases' =>
380
+ array (
381
+ ),
382
+ 'reference' => 'ffced0d2c8fa8e6cdc4d695a743271fab6c38625',
383
+ ),
384
+ 'symfony/polyfill-ctype' =>
385
+ array (
386
+ 'pretty_version' => 'v1.22.1',
387
+ 'version' => '1.22.1.0',
388
+ 'aliases' =>
389
+ array (
390
+ ),
391
+ 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e',
392
+ ),
393
+ 'theseer/tokenizer' =>
394
+ array (
395
+ 'pretty_version' => '1.2.0',
396
+ 'version' => '1.2.0.0',
397
+ 'aliases' =>
398
+ array (
399
+ ),
400
+ 'reference' => '75a63c33a8577608444246075ea0af0d052e452a',
401
+ ),
402
+ 'webmozart/assert' =>
403
+ array (
404
+ 'pretty_version' => '1.10.0',
405
+ 'version' => '1.10.0.0',
406
+ 'aliases' =>
407
+ array (
408
+ ),
409
+ 'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25',
410
+ ),
411
+ 'wordpress/core-implementation' =>
412
+ array (
413
+ 'provided' =>
414
+ array (
415
+ 0 => '5.7.0',
416
+ ),
417
+ ),
418
+ ),
419
+ );
420
+ private static $canGetVendors;
421
+ private static $installedByVendor = array();
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ public static function getInstalledPackages()
430
+ {
431
+ $packages = array();
432
+ foreach (self::getInstalled() as $installed) {
433
+ $packages[] = array_keys($installed['versions']);
434
+ }
435
+
436
+
437
+ if (1 === \count($packages)) {
438
+ return $packages[0];
439
+ }
440
+
441
+ return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
442
+ }
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+ public static function isInstalled($packageName)
453
+ {
454
+ foreach (self::getInstalled() as $installed) {
455
+ if (isset($installed['versions'][$packageName])) {
456
+ return true;
457
+ }
458
+ }
459
+
460
+ return false;
461
+ }
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+ public static function satisfies(VersionParser $parser, $packageName, $constraint)
477
+ {
478
+ $constraint = $parser->parseConstraints($constraint);
479
+ $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
480
+
481
+ return $provided->matches($constraint);
482
+ }
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+ public static function getVersionRanges($packageName)
494
+ {
495
+ foreach (self::getInstalled() as $installed) {
496
+ if (!isset($installed['versions'][$packageName])) {
497
+ continue;
498
+ }
499
+
500
+ $ranges = array();
501
+ if (isset($installed['versions'][$packageName]['pretty_version'])) {
502
+ $ranges[] = $installed['versions'][$packageName]['pretty_version'];
503
+ }
504
+ if (array_key_exists('aliases', $installed['versions'][$packageName])) {
505
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
506
+ }
507
+ if (array_key_exists('replaced', $installed['versions'][$packageName])) {
508
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
509
+ }
510
+ if (array_key_exists('provided', $installed['versions'][$packageName])) {
511
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
512
+ }
513
+
514
+ return implode(' || ', $ranges);
515
+ }
516
+
517
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
518
+ }
519
+
520
+
521
+
522
+
523
+
524
+ public static function getVersion($packageName)
525
+ {
526
+ foreach (self::getInstalled() as $installed) {
527
+ if (!isset($installed['versions'][$packageName])) {
528
+ continue;
529
+ }
530
+
531
+ if (!isset($installed['versions'][$packageName]['version'])) {
532
+ return null;
533
+ }
534
+
535
+ return $installed['versions'][$packageName]['version'];
536
+ }
537
+
538
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
539
+ }
540
+
541
+
542
+
543
+
544
+
545
+ public static function getPrettyVersion($packageName)
546
+ {
547
+ foreach (self::getInstalled() as $installed) {
548
+ if (!isset($installed['versions'][$packageName])) {
549
+ continue;
550
+ }
551
+
552
+ if (!isset($installed['versions'][$packageName]['pretty_version'])) {
553
+ return null;
554
+ }
555
+
556
+ return $installed['versions'][$packageName]['pretty_version'];
557
+ }
558
+
559
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
560
+ }
561
+
562
+
563
+
564
+
565
+
566
+ public static function getReference($packageName)
567
+ {
568
+ foreach (self::getInstalled() as $installed) {
569
+ if (!isset($installed['versions'][$packageName])) {
570
+ continue;
571
+ }
572
+
573
+ if (!isset($installed['versions'][$packageName]['reference'])) {
574
+ return null;
575
+ }
576
+
577
+ return $installed['versions'][$packageName]['reference'];
578
+ }
579
+
580
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
581
+ }
582
+
583
+
584
+
585
+
586
+
587
+ public static function getRootPackage()
588
+ {
589
+ $installed = self::getInstalled();
590
+
591
+ return $installed[0]['root'];
592
+ }
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+ public static function getRawData()
601
+ {
602
+ return self::$installed;
603
+ }
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+ public static function reload($data)
624
+ {
625
+ self::$installed = $data;
626
+ self::$installedByVendor = array();
627
+ }
628
+
629
+
630
+
631
+
632
+ private static function getInstalled()
633
+ {
634
+ if (null === self::$canGetVendors) {
635
+ self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
636
+ }
637
+
638
+ $installed = array();
639
+
640
+ if (self::$canGetVendors) {
641
+ foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
642
+ if (isset(self::$installedByVendor[$vendorDir])) {
643
+ $installed[] = self::$installedByVendor[$vendorDir];
644
+ } elseif (is_file($vendorDir.'/composer/installed.php')) {
645
+ $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
646
+ }
647
+ }
648
+ }
649
+
650
+ $installed[] = self::$installed;
651
+
652
+ return $installed;
653
+ }
654
+ }
lib/vendor/redux-framework/extendify-sdk/vendor/composer/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Copyright (c) Nils Adermann, Jordi Boggiano
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is furnished
9
+ to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ THE SOFTWARE.
21
+
lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_classmap.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_classmap.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_namespaces.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_namespaces.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_psr4.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_psr4.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ 'Extendify\\Library\\' => array($baseDir . '/app'),
10
+ );
lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_real.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_real.php @generated by Composer
4
+
5
+ class ComposerAutoloaderInit340a6822f05e2bfceab6432d90c2eeaa
6
+ {
7
+ private static $loader;
8
+
9
+ public static function loadClassLoader($class)
10
+ {
11
+ if ('Composer\Autoload\ClassLoader' === $class) {
12
+ require __DIR__ . '/ClassLoader.php';
13
+ }
14
+ }
15
+
16
+ /**
17
+ * @return \Composer\Autoload\ClassLoader
18
+ */
19
+ public static function getLoader()
20
+ {
21
+ if (null !== self::$loader) {
22
+ return self::$loader;
23
+ }
24
+
25
+ spl_autoload_register(array('ComposerAutoloaderInit340a6822f05e2bfceab6432d90c2eeaa', 'loadClassLoader'), true, true);
26
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInit340a6822f05e2bfceab6432d90c2eeaa', 'loadClassLoader'));
28
+
29
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
+ if ($useStaticLoader) {
31
+ require_once __DIR__ . '/autoload_static.php';
32
+
33
+ call_user_func(\Composer\Autoload\ComposerStaticInit340a6822f05e2bfceab6432d90c2eeaa::getInitializer($loader));
34
+ } else {
35
+ $map = require __DIR__ . '/autoload_namespaces.php';
36
+ foreach ($map as $namespace => $path) {
37
+ $loader->set($namespace, $path);
38
+ }
39
+
40
+ $map = require __DIR__ . '/autoload_psr4.php';
41
+ foreach ($map as $namespace => $path) {
42
+ $loader->setPsr4($namespace, $path);
43
+ }
44
+
45
+ $classMap = require __DIR__ . '/autoload_classmap.php';
46
+ if ($classMap) {
47
+ $loader->addClassMap($classMap);
48
+ }
49
+ }
50
+
51
+ $loader->register(true);
52
+
53
+ return $loader;
54
+ }
55
+ }
lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_static.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_static.php @generated by Composer
4
+
5
+ namespace Composer\Autoload;
6
+
7
+ class ComposerStaticInit340a6822f05e2bfceab6432d90c2eeaa
8
+ {
9
+ public static $prefixLengthsPsr4 = array (
10
+ 'E' =>
11
+ array (
12
+ 'Extendify\\Library\\' => 18,
13
+ ),
14
+ );
15
+
16
+ public static $prefixDirsPsr4 = array (
17
+ 'Extendify\\Library\\' =>
18
+ array (
19
+ 0 => __DIR__ . '/../..' . '/app',
20
+ ),
21
+ );
22
+
23
+ public static function getInitializer(ClassLoader $loader)
24
+ {
25
+ return \Closure::bind(function () use ($loader) {
26
+ $loader->prefixLengthsPsr4 = ComposerStaticInit340a6822f05e2bfceab6432d90c2eeaa::$prefixLengthsPsr4;
27
+ $loader->prefixDirsPsr4 = ComposerStaticInit340a6822f05e2bfceab6432d90c2eeaa::$prefixDirsPsr4;
28
+
29
+ }, null, ClassLoader::class);
30
+ }
31
+ }
lib/vendor/redux-framework/extendify-sdk/vendor/composer/installed.json ADDED
@@ -0,0 +1 @@
 
1
+ []
lib/vendor/redux-framework/extendify-sdk/vendor/composer/installed.php ADDED
@@ -0,0 +1,395 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php return array (
2
+ 'root' =>
3
+ array (
4
+ 'pretty_version' => 'dev-main',
5
+ 'version' => 'dev-main',
6
+ 'aliases' =>
7
+ array (
8
+ ),
9
+ 'reference' => 'ac2cfec95277e7980dfcf8dfde5cd858f1023e03',
10
+ 'name' => 'extendify/extendify',
11
+ ),
12
+ 'versions' =>
13
+ array (
14
+ 'dealerdirect/phpcodesniffer-composer-installer' =>
15
+ array (
16
+ 'pretty_version' => 'v0.7.1',
17
+ 'version' => '0.7.1.0',
18
+ 'aliases' =>
19
+ array (
20
+ ),
21
+ 'reference' => 'fe390591e0241955f22eb9ba327d137e501c771c',
22
+ ),
23
+ 'doctrine/instantiator' =>
24
+ array (
25
+ 'pretty_version' => '1.4.0',
26
+ 'version' => '1.4.0.0',
27
+ 'aliases' =>
28
+ array (
29
+ ),
30
+ 'reference' => 'd56bf6102915de5702778fe20f2de3b2fe570b5b',
31
+ ),
32
+ 'extendify/extendify' =>
33
+ array (
34
+ 'pretty_version' => 'dev-main',
35
+ 'version' => 'dev-main',
36
+ 'aliases' =>
37
+ array (
38
+ ),
39
+ 'reference' => 'ac2cfec95277e7980dfcf8dfde5cd858f1023e03',
40
+ ),
41
+ 'johnpbloch/wordpress-core' =>
42
+ array (
43
+ 'pretty_version' => '5.7.0',
44
+ 'version' => '5.7.0.0',
45
+ 'aliases' =>
46
+ array (
47
+ ),
48
+ 'reference' => '8b057056692ca196aaa7a7ddd915f29426922c6d',
49
+ ),
50
+ 'myclabs/deep-copy' =>
51
+ array (
52
+ 'pretty_version' => '1.10.2',
53
+ 'version' => '1.10.2.0',
54
+ 'aliases' =>
55
+ array (
56
+ ),
57
+ 'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
58
+ 'replaced' =>
59
+ array (
60
+ 0 => '1.10.2',
61
+ ),
62
+ ),
63
+ 'nikic/php-parser' =>
64
+ array (
65
+ 'pretty_version' => 'v4.10.4',
66
+ 'version' => '4.10.4.0',
67
+ 'aliases' =>
68
+ array (
69
+ ),
70
+ 'reference' => 'c6d052fc58cb876152f89f532b95a8d7907e7f0e',
71
+ ),
72
+ 'phar-io/manifest' =>
73
+ array (
74
+ 'pretty_version' => '2.0.1',
75
+ 'version' => '2.0.1.0',
76
+ 'aliases' =>
77
+ array (
78
+ ),
79
+ 'reference' => '85265efd3af7ba3ca4b2a2c34dbfc5788dd29133',
80
+ ),
81
+ 'phar-io/version' =>
82
+ array (
83
+ 'pretty_version' => '3.1.0',
84
+ 'version' => '3.1.0.0',
85
+ 'aliases' =>
86
+ array (
87
+ ),
88
+ 'reference' => 'bae7c545bef187884426f042434e561ab1ddb182',
89
+ ),
90
+ 'phpcompatibility/php-compatibility' =>
91
+ array (
92
+ 'pretty_version' => '9.3.5',
93
+ 'version' => '9.3.5.0',
94
+ 'aliases' =>
95
+ array (
96
+ ),
97
+ 'reference' => '9fb324479acf6f39452e0655d2429cc0d3914243',
98
+ ),
99
+ 'phpcompatibility/phpcompatibility-paragonie' =>
100
+ array (
101
+ 'pretty_version' => '1.3.1',
102
+ 'version' => '1.3.1.0',
103
+ 'aliases' =>
104
+ array (
105
+ ),
106
+ 'reference' => 'ddabec839cc003651f2ce695c938686d1086cf43',
107
+ ),
108
+ 'phpcompatibility/phpcompatibility-wp' =>
109
+ array (
110
+ 'pretty_version' => '2.1.1',
111
+ 'version' => '2.1.1.0',
112
+ 'aliases' =>
113
+ array (
114
+ ),
115
+ 'reference' => 'b7dc0cd7a8f767ccac5e7637550ea1c50a67b09e',
116
+ ),
117
+ 'phpdocumentor/reflection-common' =>
118
+ array (
119
+ 'pretty_version' => '2.2.0',
120
+ 'version' => '2.2.0.0',
121
+ 'aliases' =>
122
+ array (
123
+ ),
124
+ 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b',
125
+ ),
126
+ 'phpdocumentor/reflection-docblock' =>
127
+ array (
128
+ 'pretty_version' => '5.2.2',
129
+ 'version' => '5.2.2.0',
130
+ 'aliases' =>
131
+ array (
132
+ ),
133
+ 'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556',
134
+ ),
135
+ 'phpdocumentor/type-resolver' =>
136
+ array (
137
+ 'pretty_version' => '1.4.0',
138
+ 'version' => '1.4.0.0',
139
+ 'aliases' =>
140
+ array (
141
+ ),
142
+ 'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0',
143
+ ),
144
+ 'phpspec/prophecy' =>
145
+ array (
146
+ 'pretty_version' => '1.13.0',
147
+ 'version' => '1.13.0.0',
148
+ 'aliases' =>
149
+ array (
150
+ ),
151
+ 'reference' => 'be1996ed8adc35c3fd795488a653f4b518be70ea',
152
+ ),
153
+ 'phpunit/php-code-coverage' =>
154
+ array (
155
+ 'pretty_version' => '9.2.6',
156
+ 'version' => '9.2.6.0',
157
+ 'aliases' =>
158
+ array (
159
+ ),
160
+ 'reference' => 'f6293e1b30a2354e8428e004689671b83871edde',
161
+ ),
162
+ 'phpunit/php-file-iterator' =>
163
+ array (
164
+ 'pretty_version' => '3.0.5',
165
+ 'version' => '3.0.5.0',
166
+ 'aliases' =>
167
+ array (
168
+ ),
169
+ 'reference' => 'aa4be8575f26070b100fccb67faabb28f21f66f8',
170
+ ),
171
+ 'phpunit/php-invoker' =>
172
+ array (
173
+ 'pretty_version' => '3.1.1',
174
+ 'version' => '3.1.1.0',
175
+ 'aliases' =>
176
+ array (
177
+ ),
178
+ 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67',
179
+ ),
180
+ 'phpunit/php-text-template' =>
181
+ array (
182
+ 'pretty_version' => '2.0.4',
183
+ 'version' => '2.0.4.0',
184
+ 'aliases' =>
185
+ array (
186
+ ),
187
+ 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28',
188
+ ),
189
+ 'phpunit/php-timer' =>
190
+ array (
191
+ 'pretty_version' => '5.0.3',
192
+ 'version' => '5.0.3.0',
193
+ 'aliases' =>
194
+ array (
195
+ ),
196
+ 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2',
197
+ ),
198
+ 'phpunit/phpunit' =>
199
+ array (
200
+ 'pretty_version' => '9.5.4',
201
+ 'version' => '9.5.4.0',
202
+ 'aliases' =>
203
+ array (
204
+ ),
205
+ 'reference' => 'c73c6737305e779771147af66c96ca6a7ed8a741',
206
+ ),
207
+ 'sebastian/cli-parser' =>
208
+ array (
209
+ 'pretty_version' => '1.0.1',
210
+ 'version' => '1.0.1.0',
211
+ 'aliases' =>
212
+ array (
213
+ ),
214
+ 'reference' => '442e7c7e687e42adc03470c7b668bc4b2402c0b2',
215
+ ),
216
+ 'sebastian/code-unit' =>
217
+ array (
218
+ 'pretty_version' => '1.0.8',
219
+ 'version' => '1.0.8.0',
220
+ 'aliases' =>
221
+ array (
222
+ ),
223
+ 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120',
224
+ ),
225
+ 'sebastian/code-unit-reverse-lookup' =>
226
+ array (
227
+ 'pretty_version' => '2.0.3',
228
+ 'version' => '2.0.3.0',
229
+ 'aliases' =>
230
+ array (
231
+ ),
232
+ 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5',
233
+ ),
234
+ 'sebastian/comparator' =>
235
+ array (
236
+ 'pretty_version' => '4.0.6',
237
+ 'version' => '4.0.6.0',
238
+ 'aliases' =>
239
+ array (
240
+ ),
241
+ 'reference' => '55f4261989e546dc112258c7a75935a81a7ce382',
242
+ ),
243
+ 'sebastian/complexity' =>
244
+ array (
245
+ 'pretty_version' => '2.0.2',
246
+ 'version' => '2.0.2.0',
247
+ 'aliases' =>
248
+ array (
249
+ ),
250
+ 'reference' => '739b35e53379900cc9ac327b2147867b8b6efd88',
251
+ ),
252
+ 'sebastian/diff' =>
253
+ array (
254
+ 'pretty_version' => '4.0.4',
255
+ 'version' => '4.0.4.0',
256
+ 'aliases' =>
257
+ array (
258
+ ),
259
+ 'reference' => '3461e3fccc7cfdfc2720be910d3bd73c69be590d',
260
+ ),
261
+ 'sebastian/environment' =>
262
+ array (
263
+ 'pretty_version' => '5.1.3',
264
+ 'version' => '5.1.3.0',
265
+ 'aliases' =>
266
+ array (
267
+ ),
268
+ 'reference' => '388b6ced16caa751030f6a69e588299fa09200ac',
269
+ ),
270
+ 'sebastian/exporter' =>
271
+ array (
272
+ 'pretty_version' => '4.0.3',
273
+ 'version' => '4.0.3.0',
274
+ 'aliases' =>
275
+ array (
276
+ ),
277
+ 'reference' => 'd89cc98761b8cb5a1a235a6b703ae50d34080e65',
278
+ ),
279
+ 'sebastian/global-state' =>
280
+ array (
281
+ 'pretty_version' => '5.0.2',
282
+ 'version' => '5.0.2.0',
283
+ 'aliases' =>
284
+ array (
285
+ ),
286
+ 'reference' => 'a90ccbddffa067b51f574dea6eb25d5680839455',
287
+ ),
288
+ 'sebastian/lines-of-code' =>
289
+ array (
290
+ 'pretty_version' => '1.0.3',
291
+ 'version' => '1.0.3.0',
292
+ 'aliases' =>
293
+ array (
294
+ ),
295
+ 'reference' => 'c1c2e997aa3146983ed888ad08b15470a2e22ecc',
296
+ ),
297
+ 'sebastian/object-enumerator' =>
298
+ array (
299
+ 'pretty_version' => '4.0.4',
300
+ 'version' => '4.0.4.0',
301
+ 'aliases' =>
302
+ array (
303
+ ),
304
+ 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71',
305
+ ),
306
+ 'sebastian/object-reflector' =>
307
+ array (
308
+ 'pretty_version' => '2.0.4',
309
+ 'version' => '2.0.4.0',
310
+ 'aliases' =>
311
+ array (
312
+ ),
313
+ 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7',
314
+ ),
315
+ 'sebastian/recursion-context' =>
316
+ array (
317
+ 'pretty_version' => '4.0.4',
318
+ 'version' => '4.0.4.0',
319
+ 'aliases' =>
320
+ array (
321
+ ),
322
+ 'reference' => 'cd9d8cf3c5804de4341c283ed787f099f5506172',
323
+ ),
324
+ 'sebastian/resource-operations' =>
325
+ array (
326
+ 'pretty_version' => '3.0.3',
327
+ 'version' => '3.0.3.0',
328
+ 'aliases' =>
329
+ array (
330
+ ),
331
+ 'reference' => '0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8',
332
+ ),
333
+ 'sebastian/type' =>
334
+ array (
335
+ 'pretty_version' => '2.3.1',
336
+ 'version' => '2.3.1.0',
337
+ 'aliases' =>
338
+ array (
339
+ ),
340
+ 'reference' => '81cd61ab7bbf2de744aba0ea61fae32f721df3d2',
341
+ ),
342
+ 'sebastian/version' =>
343
+ array (
344
+ 'pretty_version' => '3.0.2',
345
+ 'version' => '3.0.2.0',
346
+ 'aliases' =>
347
+ array (
348
+ ),
349
+ 'reference' => 'c6c1022351a901512170118436c764e473f6de8c',
350
+ ),
351
+ 'squizlabs/php_codesniffer' =>
352
+ array (
353
+ 'pretty_version' => '3.6.0',
354
+ 'version' => '3.6.0.0',
355
+ 'aliases' =>
356
+ array (
357
+ ),
358
+ 'reference' => 'ffced0d2c8fa8e6cdc4d695a743271fab6c38625',
359
+ ),
360
+ 'symfony/polyfill-ctype' =>
361
+ array (
362
+ 'pretty_version' => 'v1.22.1',
363
+ 'version' => '1.22.1.0',
364
+ 'aliases' =>
365
+ array (
366
+ ),
367
+ 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e',
368
+ ),
369
+ 'theseer/tokenizer' =>
370
+ array (
371
+ 'pretty_version' => '1.2.0',
372
+ 'version' => '1.2.0.0',
373
+ 'aliases' =>
374
+ array (
375
+ ),
376
+ 'reference' => '75a63c33a8577608444246075ea0af0d052e452a',
377
+ ),
378
+ 'webmozart/assert' =>
379
+ array (
380
+ 'pretty_version' => '1.10.0',
381
+ 'version' => '1.10.0.0',
382
+ 'aliases' =>
383
+ array (
384
+ ),
385
+ 'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25',
386
+ ),
387
+ 'wordpress/core-implementation' =>
388
+ array (
389
+ 'provided' =>
390
+ array (
391
+ 0 => '5.7.0',
392
+ ),
393
+ ),
394
+ ),
395
+ );
lib/vendor/redux-framework/gulpfile.js ADDED
@@ -0,0 +1,756 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Gulpfile.
3
+ *
4
+ * Gulp with WordPress.
5
+ *
6
+ * Implements:
7
+ * 1. Live reloads browser with BrowserSync.
8
+ * 2. CSS: Sass to CSS conversion, error catching, Autoprefixing, Sourcemaps,
9
+ * CSS minification, and Merge Media Queries.
10
+ * 3. JS: Concatenates & uglifies Vendor and Custom JS files.
11
+ * 4. Images: Minifies PNG, JPEG, GIF and SVG images.
12
+ * 5. Watches files for changes in CSS or JS.
13
+ * 6. Watches files for changes in PHP.
14
+ * 7. Corrects the line endings.
15
+ * 8. InjectCSS instead of browser page reload.
16
+ * 9. Generates .pot file for i18n and l10n.
17
+ *
18
+ * @author Kevin Provance (@kprovance) & Ahmad Awais (@ahmadawais)
19
+ * @version 2.0.0 - Rewrite for Gulp 4.0
20
+ * @package ReduxFramework
21
+ */
22
+
23
+ /**
24
+ * Configuration.
25
+ *
26
+ * Project Configuration for gulp tasks.
27
+ *
28
+ * In paths you can add <<glob or array of globs>>. Edit the variables as per your project requirements.
29
+ */
30
+
31
+ // START Editing Project Variables.
32
+ // Project related.
33
+ // var project = 'Redux Framework'; // Project Name.
34
+ // var productURL = './'; .
35
+ var projectURL = 'http://127.0.0.1/redux-demo'; // Project URL. Could be something like localhost:8888.
36
+
37
+ // Translation related.
38
+ var text_domain = 'redux-framework'; // Your textdomain here.
39
+ var destFile = 'redux-framework.pot'; // Name of the transalation file.
40
+ var packageName = 'redux-framework'; // Package name.
41
+ var bugReport = 'https://redux.io/contact'; // Where can users report bugs.
42
+ var lastTranslator = 'Kev Provance <kevin.provance@gmail.com>'; // Last translator Email ID.
43
+ var team = 'Redux.io <support@redux.io>'; // Team's Email ID.
44
+ var translatePath = './redux-core/languages/'; // Where to save the translation files.
45
+
46
+ var styles = [
47
+ {
48
+ 'path': './redux-core/assets/scss/vendor/elusive-icons/elusive-icons.scss',
49
+ 'dest': './redux-core/assets/css/vendor/'
50
+ },
51
+ {'path': './redux-core/assets/scss/vendor/select2/select2.scss', 'dest': './redux-core/assets/css/vendor/'},
52
+ {'path': './redux-core/assets/scss/vendor/jquery-ui-1.10.0.custom.scss', 'dest': './redux-core/assets/css/vendor/'},
53
+ {'path': './redux-core/assets/scss/vendor/nouislider.scss', 'dest': './redux-core/assets/css/vendor/'},
54
+ {'path': './redux-core/assets/scss/vendor/qtip.scss', 'dest': './redux-core/assets/css/vendor/'},
55
+ {'path': './redux-core/assets/scss/vendor/spectrum.scss', 'dest': './redux-core/assets/css/vendor/'},
56
+ {'path': './redux-core/assets/scss/vendor/vendor.scss', 'dest': './redux-core/assets/css/'},
57
+ {'path': './redux-core/assets/scss/color-picker.scss', 'dest': './redux-core/assets/css/'},
58
+ {'path': './redux-core/assets/scss/media.scss', 'dest': './redux-core/assets/css/'},
59
+ {'path': './redux-core/assets/scss/redux-admin.scss', 'dest': './redux-core/assets/css/'},
60
+ {'path': './redux-core/assets/scss/rtl.scss', 'dest': './redux-core/assets/css/'},
61
+ {'path': './redux-core/inc/welcome/css/redux-welcome.scss', 'dest': './redux-core/inc/welcome/css/'},
62
+ {'path': './redux-core/inc/welcome/css/redux-banner.scss', 'dest': './redux-core/inc/welcome/css/'}
63
+ ];
64
+
65
+ // JS Vendor related.
66
+ var jsVendorSRC = './redux-core/assets/js/vendor/*.js'; // Path to JS vendor folder.
67
+ var jsVendorDestination = './redux-core/assets/js/'; // Path to place the compiled JS vendors file.
68
+ var jsVendorFile = 'redux-vendors'; // Compiled JS vendors file name.
69
+
70
+ // JS Custom related.
71
+ var jsReduxSRC = './redux-core/assets/js/redux.js'; // Path to redux.js script.
72
+ var jsReduxDestination = './redux-core/assets/js/'; // Path to place the compiled JS custom scripts file.
73
+ var jsReduxFile = 'redux'; // Compiled JS custom file name.
74
+
75
+ // Images related.
76
+ var imagesSRC = './redux-core/assets/img/raw/**/*.{png,jpg,gif,svg}'; // Source folder of images which should be optimized.
77
+ var imagesDestination = './redux-core/assets/img/'; // Destination folder of optimized images. Must be different from the imagesSRC folder.
78
+
79
+ // Watch files paths.
80
+ // var styleWatchFiles = './redux-core/assets/css/**/*.scss'; // Path to all *.scss files inside css folder and inside them.
81
+ // var vendorJSWatchFiles = './redux-core/assets/js/vendor/*.js'; // Path to all vendor JS files.
82
+ var reduxJSWatchFiles = './redux-core/assets/js/redux/*.js'; // Path to all custom JS files.
83
+ var projectPHPWatchFiles = './**/*.php'; // Path to all PHP files.
84
+
85
+ // Browsers you care about for autoprefixing.
86
+ // Browserlist https://github.com/ai/browserslist.
87
+ var AUTOPREFIXER_BROWSERS = ['last 2 version', '> 1%', 'ie > 10', 'ie_mob > 10', 'ff >= 30', 'chrome >= 34', 'safari >= 7', 'opera >= 23', 'ios >= 7', 'android >= 4', 'bb >= 10'];
88
+
89
+ // STOP Editing Project Variables.
90
+
91
+ /**
92
+ * Load Plugins.
93
+ *
94
+ * Load gulp plugins and assing them semantic names.
95
+ */
96
+ var gulp = require( 'gulp' ); // Gulp of-course.
97
+
98
+ // CSS related plugins.
99
+ var sass = require( 'gulp-sass' )(require('node-sass')); // Gulp pluign for Sass compilation.
100
+ //sass.compiler = require( 'node-sass' );
101
+
102
+ var minifycss = require( 'gulp-uglifycss' ); // Minifies CSS files.
103
+ var autoprefixer = require( 'gulp-autoprefixer' ); // Autoprefixing magic.
104
+ var mmq = require( 'gulp-merge-media-queries' ); // Combine matching media queries into one media query definition.
105
+
106
+ // JS related plugins.
107
+ var concat = require( 'gulp-concat' ); // Concatenates JS files.
108
+ var uglify = require( 'gulp-uglify' ); // Minifies JS files.
109
+ var jshint = require( 'gulp-jshint' );
110
+ var jscs = require( 'gulp-jscs' );
111
+
112
+ // Image realted plugins.
113
+ var imagemin = require( 'gulp-imagemin' ); // Minify PNG, JPEG, GIF and SVG images with imagemin.
114
+
115
+ // Utility related plugins.
116
+ var rename = require( 'gulp-rename' ); // Renames files E.g. style.css -> style.min.css.
117
+ var lineec = require( 'gulp-line-ending-corrector' ); // Consistent Line Endings for non UIX systems. Gulp Plugin for Line Ending Corrector (A utility that makes sure your files have consistent line endings).
118
+ var filter = require( 'gulp-filter' ); // Enables you to work on a subset of the original files by filtering them using globbing.
119
+ var sourcemaps = require( 'gulp-sourcemaps' ); // Maps code in a compressed file (E.g. style.css) back to it’s original position in a source file.
120
+ var browserSync = require( 'browser-sync' ).create(); // Reloads browser and injects CSS. Time-saving synchronised browser testing.
121
+ // var reload = browserSync.reload; // For manual browser reload.
122
+ var wpPot = require( 'gulp-wp-pot' ); // For generating the .pot file.
123
+ var sort = require( 'gulp-sort' ); // Recommended to prevent unnecessary changes in pot-file.
124
+ var fs = require( 'fs' );
125
+ var path = require( 'path' );
126
+ var merge = require( 'merge-stream' );
127
+ var sassPackager = require( 'gulp-sass-packager' );
128
+
129
+ /**
130
+ * Task: `browser-sync`.
131
+ *
132
+ * Live Reloads, CSS injections, Localhost tunneling.
133
+ *
134
+ * This task does the following:
135
+ * 1. Sets the project URL
136
+ * 2. Sets inject CSS
137
+ * 3. You may define a custom port
138
+ * 4. You may want to stop the browser from openning automatically
139
+ */
140
+ gulp.task(
141
+ 'browser-sync',
142
+ function() {
143
+ browserSync.init(
144
+ {
145
+ // For more options.
146
+ // @link http://www.browsersync.io/docs/options.
147
+ // Project URL.
148
+ proxy: projectURL,
149
+
150
+ // `true` Automatically open the browser with BrowserSync live server.
151
+ // `false` Stop the browser from automatically opening.
152
+ open: true,
153
+
154
+ // Inject CSS changes.
155
+ // Commnet it to reload browser for every CSS change.
156
+ injectChanges: true,
157
+
158
+ // Use a specific port (instead of the one auto-detected by Browsersync).
159
+ // port: 7000.
160
+ }
161
+ );
162
+ }
163
+ );
164
+
165
+ function getFolders( dir ) {
166
+ return fs.readdirSync( dir ).filter(
167
+ function( file ) {
168
+ return fs.statSync( path.join( dir, file ) ).isDirectory();
169
+ }
170
+ );
171
+ }
172
+
173
+ function process_scss( source, dest, add_min ) {
174
+
175
+ var process = gulp.src( source, {allowEmpty: true} )
176
+ .pipe( sourcemaps.init() )
177
+ .pipe(
178
+ sass(
179
+ {
180
+ indentType: 'tab',
181
+ indentWidth: 1,
182
+ errLogToConsole: true,
183
+
184
+ // outputStyle: 'compact',
185
+ // outputStyle: 'compressed',
186
+ // outputStyle: 'nested'.
187
+ outputStyle: 'compact',
188
+ precision: 10
189
+ }
190
+ )
191
+ )
192
+ .on( 'error', console.error.bind( console ) )
193
+ .pipe( sourcemaps.write( {includeContent: false} ) )
194
+ .pipe( sourcemaps.init( {loadMaps: true} ) )
195
+ .pipe( autoprefixer( AUTOPREFIXER_BROWSERS ) )
196
+ .pipe( sourcemaps.write( './' ) )
197
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
198
+ .pipe( gulp.dest( dest ) ).pipe( filter( '**/*.css' ) ) // Filtering stream to only css files.
199
+ .pipe( mmq( {log: true} ) ) // Merge Media Queries only for .min.css version.
200
+ .pipe( browserSync.stream() ); // Reloads style.css if that is enqueued.
201
+
202
+ if ( add_min ) {
203
+ process = process.pipe( rename( {suffix: '.min'} ) ).pipe(
204
+ minifycss(
205
+ {
206
+ maxLineLen: 0
207
+ }
208
+ )
209
+ )
210
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
211
+ .pipe( gulp.dest( dest ) )
212
+ .pipe( filter( '**/*.css' ) ) // Filtering stream to only css files.
213
+ .pipe( browserSync.stream() ); // Reloads style.min.css if that is enqueued.
214
+ }
215
+
216
+ return process;
217
+ }
218
+
219
+ /**
220
+ * Task: `styles`.
221
+ *
222
+ * Compiles Sass, Autoprefixes it and Minifies CSS.
223
+ *
224
+ * This task does the following:
225
+ * 1. Gets the source scss file
226
+ * 2. Compiles Sass to CSS
227
+ * 3. Writes Sourcemaps for it
228
+ * 4. Autoprefixes it and generates style.css
229
+ * 5. Renames the CSS file with suffix .min.css
230
+ * 6. Minifies the CSS file and generates style.min.css
231
+ * 7. Injects CSS or reloads the browser via browserSync
232
+ */
233
+ function reduxStyles() {
234
+
235
+ // Core styles.
236
+ var core = styles.map(
237
+ function( file ) {
238
+ return process_scss( file.path, file.dest, true );
239
+ }
240
+ );
241
+
242
+ var lib_dirs = getFolders( 'redux-core/inc/lib/' );
243
+ lib_dirs.map(
244
+ function( folder ) {
245
+ var the_path = './redux-core/inc/lib/' + folder + '/';
246
+ folder = folder.replace( '_', '-' );
247
+
248
+ return process_scss( the_path + folder + '.scss', the_path );
249
+ }
250
+ );
251
+
252
+ // Colors.
253
+ var color_dirs = getFolders( 'redux-core/assets/scss/colors/' );
254
+ var colors = color_dirs.map(
255
+ function( folder ) {
256
+ var the_path = './redux-core/assets/css/colors/' + folder + '/';
257
+ return process_scss( './redux-core/assets/scss/colors/' + folder + '/colors.scss', the_path, true );
258
+ }
259
+ );
260
+
261
+ // Fields.
262
+ var field_dirs = getFolders( 'redux-core/inc/fields/' );
263
+ var fields = field_dirs.map(
264
+ function( folder ) {
265
+ var the_path = './redux-core/inc/fields/' + folder + '/';
266
+ folder = folder.replace( '_', '-' );
267
+ return process_scss( the_path + 'redux-' + folder + '.scss', the_path );
268
+ }
269
+ );
270
+
271
+ // Extensions.
272
+ var extension_dirs = getFolders( 'redux-core/inc/extensions/' );
273
+ var extensions = extension_dirs.map(
274
+ function( folder ) {
275
+ var the_path = './redux-core/inc/extensions/' + folder + '/';
276
+ folder = folder.replace( '_', '-' );
277
+
278
+ return process_scss( the_path + 'redux-extension-' + folder + '.scss', the_path );
279
+ }
280
+ );
281
+
282
+ var extension_fields = extension_dirs.map(
283
+ function( folder ) {
284
+ var the_path = './redux-core/inc/extensions/' + folder + '/' + folder + '/';
285
+ folder = folder.replace( '_', '-' );
286
+ return process_scss( the_path + 'redux-' + folder + '.scss', the_path );
287
+ }
288
+ );
289
+
290
+ var redux_files = gulp.src(
291
+ ['./redux-core/inc/fields/**/*.scss', './redux-core/inc/extensions/*.scss', './redux-core/inc/extensions/**/*.scss'],
292
+ {allowEmpty: true}
293
+ )
294
+
295
+ .pipe( sassPackager( {} ) )
296
+ .pipe( concat( 'redux-fields.min.scss' ) )
297
+ .pipe(
298
+ sass(
299
+ {
300
+ errLogToConsole: true,
301
+ outputStyle: 'compressed',
302
+ // outputStyle: 'compact',
303
+ // outputStyle: 'nested',
304
+ // outputStyle: 'expanded'.
305
+ precision: 10
306
+ }
307
+ )
308
+ )
309
+ .on( 'error', console.error.bind( console ) )
310
+ .pipe( sourcemaps.write( {includeContent: false} ) )
311
+ .pipe( sourcemaps.init( {loadMaps: true} ) )
312
+ .pipe( autoprefixer( AUTOPREFIXER_BROWSERS ) )
313
+ .pipe( sourcemaps.write( './' ) )
314
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
315
+ .pipe( gulp.dest( 'redux-core/assets/css/' ) );
316
+
317
+ return merge( core, colors, fields, extensions, extension_fields, redux_files );
318
+ }
319
+
320
+ function extFieldJS( done ) {
321
+
322
+ var field_dirs = getFolders( 'redux-core/inc/extensions' );
323
+ field_dirs.map(
324
+ function( folder ) {
325
+ var the_path = './redux-core/inc/extensions/' + folder + '/' + folder + '/';
326
+
327
+ folder = folder.replace( '_', '-' );
328
+
329
+ gulp.src( the_path + 'redux-' + folder + '.js', {allowEmpty: true} )
330
+ .pipe( jshint() )
331
+ .pipe( jshint.reporter( 'default' ) )
332
+ .pipe( jscs() )
333
+ .pipe( jscs.reporter() )
334
+
335
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
336
+ .pipe( gulp.dest( the_path ) )
337
+ .pipe(
338
+ rename(
339
+ {
340
+ basename: 'redux-' + folder, suffix: '.min'
341
+ }
342
+ )
343
+ )
344
+ .pipe( uglify() )
345
+ .pipe( lineec() )
346
+ .pipe( gulp.dest( the_path ) );
347
+ }
348
+ );
349
+
350
+ done();
351
+ }
352
+
353
+ function reduxLibJS ( done ) {
354
+ var field_dirs = getFolders( 'redux-core/inc/lib' );
355
+
356
+ field_dirs.map(
357
+ function( folder ) {
358
+ var the_path = './redux-core/inc/lib/' + folder + '/';
359
+
360
+ gulp.src( the_path + '/' + folder + '.js' )
361
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
362
+ .pipe( gulp.dest( the_path ) )
363
+ .pipe(
364
+ rename(
365
+ {
366
+ basename: folder,
367
+ suffix: '.min'
368
+ }
369
+ )
370
+ )
371
+ .pipe( uglify() )
372
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
373
+ .pipe( gulp.dest( the_path ) );
374
+ }
375
+ );
376
+
377
+ done();
378
+ }
379
+
380
+ function extJS( done ) {
381
+
382
+ var field_dirs = getFolders( 'redux-core/inc/extensions' );
383
+ field_dirs.map(
384
+ function( folder ) {
385
+ var the_path = './redux-core/inc/extensions/' + folder + '/';
386
+
387
+ folder = folder.replace( '_', '-' );
388
+
389
+ if ( folder === 'metaboxes-lite' ) {
390
+ folder = 'metaboxes';
391
+ }
392
+
393
+ gulp.src( the_path + 'redux-extension-' + folder + '.js', {allowEmpty: true} )
394
+ .pipe( jshint() )
395
+ .pipe( jshint.reporter( 'default' ) )
396
+ .pipe( jscs() )
397
+ .pipe( jscs.reporter() )
398
+
399
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
400
+ .pipe( gulp.dest( the_path ) )
401
+ .pipe(
402
+ rename(
403
+ {
404
+ basename: 'redux-extension-' + folder, suffix: '.min'
405
+ }
406
+ )
407
+ )
408
+ .pipe( uglify() )
409
+ .pipe( lineec() )
410
+ .pipe( gulp.dest( the_path ) );
411
+ }
412
+ );
413
+
414
+ done();
415
+ }
416
+
417
+ function fieldsJS( done ) {
418
+
419
+ var field_dirs = getFolders( 'redux-core/inc/fields' );
420
+ field_dirs.map(
421
+ function( folder ) {
422
+ var the_path = './redux-core/inc/fields/' + folder + '/';
423
+
424
+ folder = folder.replace( '_', '-' );
425
+
426
+ gulp.src( the_path + '/redux-' + folder + '.js', {allowEmpty: true} )
427
+ .pipe( jshint() )
428
+ .pipe( jshint.reporter( 'default' ) )
429
+ .pipe( jscs() )
430
+ .pipe( jscs.reporter() )
431
+
432
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
433
+ .pipe( gulp.dest( the_path ) )
434
+ .pipe(
435
+ rename(
436
+ {
437
+ basename: 'redux-' + folder, suffix: '.min'
438
+ }
439
+ )
440
+ )
441
+ .pipe( uglify() )
442
+ .pipe( lineec() )
443
+ .pipe( gulp.dest( the_path ) );
444
+ }
445
+ );
446
+
447
+ done();
448
+ }
449
+
450
+ /**
451
+ * Task: `reduxCombineModules`.
452
+ *
453
+ * Concatenate redux.js modules into master redux.js file.
454
+ * reduxJS task is dependant upon this task to properly compete.
455
+ *
456
+ * This task does the following:
457
+ * 1. Gets the source folder for Redux JS javascrip modules.
458
+ * 2. Concatenates all the files and generates redux.js
459
+ */
460
+ function reduxCombineModules( done ) {
461
+
462
+ gulp.src( jsReduxSRC )
463
+ .pipe( jshint() )
464
+ .pipe( jshint.reporter( 'default' ) )
465
+ .pipe( jscs() )
466
+ .pipe( jscs.reporter() )
467
+ .pipe(
468
+ rename(
469
+ {
470
+ basename: jsReduxFile,
471
+ suffix: '.min'
472
+ }
473
+ )
474
+ )
475
+ .pipe( uglify() )
476
+ .pipe( lineec() )
477
+ .pipe( gulp.dest( jsReduxDestination ) );
478
+
479
+ done();
480
+ }
481
+
482
+ function reduxMedia( done ) {
483
+
484
+ gulp.src( './redux-core/assets/js/media/media.js' )
485
+ .pipe( jshint() )
486
+ .pipe( jshint.reporter( 'default' ) )
487
+ .pipe( jscs() )
488
+ .pipe( jscs.reporter() )
489
+
490
+ .pipe(
491
+ rename(
492
+ {
493
+ basename: 'media',
494
+ suffix: '.min'
495
+ }
496
+ )
497
+ )
498
+ .pipe( uglify() )
499
+ .pipe( lineec() )
500
+ .pipe( gulp.dest( './redux-core/assets/js/media/' ) );
501
+
502
+ done();
503
+ }
504
+
505
+ function reduxSpinner( done ) {
506
+
507
+ gulp.src( './redux-core/inc/fields/spinner/vendor/jquery.ui.spinner.js' )
508
+ .pipe( jshint() )
509
+ .pipe( jshint.reporter( 'default' ) )
510
+ .pipe( jscs() )
511
+ .pipe( jscs.reporter() )
512
+
513
+ .pipe(
514
+ rename(
515
+ {
516
+ basename: 'jquery.ui.spinner',
517
+ suffix: '.min'
518
+ }
519
+ )
520
+ )
521
+ .pipe( uglify() )
522
+ .pipe( lineec() )
523
+ .pipe( gulp.dest( './redux-core/inc/fields/spinner/vendor/' ) );
524
+
525
+ done();
526
+ }
527
+
528
+ /**
529
+ * Task: `reduxJS`.
530
+ *
531
+ * Concatenate redux.js modules into master file, then minifies & uglifies.
532
+ *
533
+ * This task does the following:
534
+ * 1. Runs reduxCombineModules task
535
+ * 2. Renames redux.js with suffix .min.js
536
+ * 3. Uglifes/Minifies the JS file and generates redux.min.js
537
+ */
538
+ function reduxJS( done ) {
539
+
540
+ gulp.src( reduxJSWatchFiles )
541
+ .pipe( jshint() )
542
+ .pipe( jshint.reporter( 'default' ) )
543
+ .pipe( jscs() )
544
+ .pipe( jscs.reporter() )
545
+
546
+ .pipe( concat( jsReduxFile + '.js' ) )
547
+ .pipe( lineec() )
548
+ .pipe( gulp.dest( jsReduxDestination ) );
549
+
550
+ done();
551
+ }
552
+
553
+ /**
554
+ * Task: `vendorJS`.
555
+ *
556
+ * Concatenate and uglify vendor JS scripts.
557
+ *
558
+ * This task does the following:
559
+ * 1. Gets the source folder for JS vendor files
560
+ * 2. Concatenates all the files and generates vendors.js
561
+ * 3. Renames the JS file with suffix .min.js
562
+ * 4. Uglifes/Minifies the JS file and generates vendors.min.js
563
+ */
564
+ function vendorsJS( done ) {
565
+
566
+ gulp.src( jsVendorSRC )
567
+ .pipe( concat( jsVendorFile + '.js' ) )
568
+ .pipe( lineec() ) // Consistent Line Endings for non UNIX systems.
569
+ .pipe( gulp.dest( jsVendorDestination ) )
570
+ .pipe(
571
+ rename(
572
+ {
573
+ basename: jsVendorFile,
574
+ suffix: '.min'
575
+ }
576
+ )
577
+ )
578
+ .pipe( uglify() )
579
+ .pipe( lineec() )
580
+ .pipe( gulp.dest( jsVendorDestination ) );
581
+
582
+ done();
583
+ }
584
+
585
+ /**
586
+ * Task: `images`.
587
+ *
588
+ * Minifies PNG, JPEG, GIF and SVG images.
589
+ *
590
+ * This task does the following:
591
+ * 1. Gets the source of images raw folder
592
+ * 2. Minifies PNG, JPEG, GIF and SVG images
593
+ * 3. Generates and saves the optimized images
594
+ *
595
+ * This task will run only once, if you want to run it
596
+ * again, do it with the command `gulp images`.
597
+ */
598
+ function reduxImages( done ) {
599
+
600
+ gulp.src( imagesSRC )
601
+ .pipe(
602
+ imagemin(
603
+ {
604
+ progressive: true,
605
+ optimizationLevel: 3, // 0-7 low-high
606
+ interlaced: true,
607
+ svgoPlugins: [{removeViewBox: false}]
608
+ }
609
+ )
610
+ )
611
+ .pipe( gulp.dest( imagesDestination ) );
612
+
613
+ done();
614
+ }
615
+
616
+ /**
617
+ * WP POT Translation File Generator.
618
+ *
619
+ * * This task does the following:
620
+ * 1. Gets the source of all the PHP files
621
+ * 2. Sort files in stream by path or any custom sort comparator
622
+ * 3. Applies wpPot with the variable set at the top of this file
623
+ * 4. Generate a .pot file of i18n that can be used for l10n to build .mo file
624
+ */
625
+ function translate() {
626
+ return gulp.src( projectPHPWatchFiles )
627
+ .pipe( sort() )
628
+ .pipe(
629
+ wpPot(
630
+ {
631
+ domain: text_domain,
632
+ destFile: destFile,
633
+ package: packageName,
634
+ bugReport: bugReport,
635
+ lastTranslator: lastTranslator,
636
+ team: team
637
+ }
638
+ )
639
+ )
640
+ .pipe( gulp.dest( translatePath + '/' + destFile ) );
641
+ }
642
+
643
+ /**
644
+ * Tasks
645
+ */
646
+ gulp.task( 'styles', reduxStyles );
647
+ gulp.task( 'fieldsJS', gulp.series( fieldsJS, reduxLibJS, extJS, extFieldJS, reduxMedia, reduxSpinner ) );
648
+ gulp.task( 'media', reduxMedia );
649
+ gulp.task( 'reduxJS', gulp.series( reduxJS, reduxCombineModules, reduxMedia ) );
650
+ gulp.task( 'vendorsJS', vendorsJS );
651
+ gulp.task( 'images', reduxImages );
652
+ gulp.task( 'translate', translate );
653
+
654
+
655
+ function cleanBuild() {
656
+ return gulp.src( './build', {read: false, allowEmpty: true} )
657
+ .pipe( clean() );
658
+ }
659
+
660
+ function makeBuild() {
661
+ return gulp.src( [
662
+ './**/*.*',
663
+ '!./assets/js/*.dev.*',
664
+ '!./node_modules/**/*.*',
665
+ '!./src/**/*.*',
666
+ '!./.wordpress-org/**/*.*',
667
+ '!./.github/**/*.*',
668
+ '!./build/**/*.zip',
669
+ '!./gulpfile.js',
670
+ '!./yarn.lock',
671
+ '!./yarn-error.log',
672
+ '!.babelrc',
673
+ '!./languages/**/*',
674
+ '!.eslintrc',
675
+ '!./package-lock.json',
676
+ '!./composer-lock.json',
677
+ '!./composer.lock',
678
+ '!./webpack.*.js',
679
+ '!./jest.config.js',
680
+ '!./**/jest.config.js',
681
+ '!./**/babel.config.js',
682
+ '!./package.json',
683
+ '!./composer.json',
684
+ '!./ruleset.xml',
685
+ '!./codestyles/*',
686
+ '!./local_developer.txt',
687
+ '!./jsconfig.json',
688
+ '!./vendor/**/*',
689
+ '!./tests/**/*',
690
+ '!./redux-core/assets/scss/**/*',
691
+ '!./redux-core/assets/img/raw/**/*',
692
+ '!./redux-templates/src/**/*',
693
+ '!./redux-templates/classes/*.json',
694
+ ] ).pipe( gulp.dest( 'build/' ) );
695
+ }
696
+
697
+ function admin_css() {
698
+ return gulp.src( ['./redux-templates/src/scss/*.scss'] )
699
+ .pipe( sass() )
700
+ .pipe( autoprefixer( {
701
+ cascade: false
702
+ } ) )
703
+ .pipe( minifyCSS() )
704
+ .pipe( concat( 'admin.min.css' ) )
705
+ .pipe( gulp.dest( 'redux-templates/assets/css/' ) );
706
+ }
707
+
708
+
709
+ function minify_js() {
710
+ return gulp.src( ['./build/redux-templates/assets/js/*.js'] )
711
+ .pipe( minifyJS( {
712
+ ext: {
713
+ src: '.js',
714
+ min: '.min.js'
715
+ },
716
+ exclude: ['tasks'],
717
+ ignoreFiles: ['redux-templates.min.js', '*-min.js', '*.min.js']
718
+ } ) )
719
+ .pipe( gulp.dest( ['./build/redux-templates/assets/js/'] ) );
720
+
721
+ }
722
+
723
+
724
+ function makeZip() {
725
+ return gulp.src( './build/**/*.*' )
726
+ .pipe( zip( './build/redux.zip' ) )
727
+ .pipe( gulp.dest( './' ) );
728
+ }
729
+
730
+ gulp.task( 'makeBuild', makeBuild );
731
+ gulp.task( 'admin_css', admin_css );
732
+ gulp.task( 'minify_js', minify_js );
733
+ gulp.task( 'cleanBuild', cleanBuild );
734
+ gulp.task( 'makeZip', makeZip );
735
+
736
+ gulp.task( 'templates', gulp.series(
737
+ 'cleanBuild',
738
+ 'makeBuild',
739
+ 'admin_css',
740
+ 'minify_js',
741
+ 'makeZip'
742
+ ) );
743
+ /**
744
+ * Watch Tasks.
745
+ *
746
+ * Watches for file changes and runs specific tasks.
747
+ */
748
+ gulp.task(
749
+ 'default',
750
+ gulp.series(
751
+ 'styles',
752
+ 'vendorsJS',
753
+ 'reduxJS',
754
+ 'fieldsJS'
755
+ )
756
+ );
lib/vendor/redux-framework/license.txt CHANGED
@@ -1,6 +1,6 @@
1
  Redux Framework - Wordpress Options Framework
2
 
3
- Copyright 2012 - 2014
4
 
5
  This program is free software; you can redistribute it and/or modify
6
  it under the terms of the GNU General Public License as published by
@@ -699,4 +699,4 @@ The source code for any program binaries or compressed scripts that are
699
  included with ReduxFramework can be freely obtained at the following URL:
700
 
701
  https://github.com/ReduxFramework/ReduxFramework
702
-
1
  Redux Framework - Wordpress Options Framework
2
 
3
+ Copyright 2012 - 2022
4
 
5
  This program is free software; you can redistribute it and/or modify
6
  it under the terms of the GNU General Public License as published by
699
  included with ReduxFramework can be freely obtained at the following URL:
700
 
701
  https://github.com/ReduxFramework/ReduxFramework
702
+
lib/vendor/redux-framework/readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: dovyp, redux, kprovance
3
  Tags: gutenberg, blocks, gutenberg blocks, editor, block, page builder, block editor, block library, editor, templates, library
4
  Requires at least: 4.0
5
  Requires PHP: 7.1
6
- Tested up to: 5.8.2
7
- Stable tag: 4.3.3
8
  License: GPL-3.0+
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
10
 
@@ -17,7 +17,7 @@ Supercharge the Gutenberg editor with our ever-growing library of WordPress Bloc
17
 
18
  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.
19
 
20
- Don’t waste hours trying to recreate a template you love. With a click of a button it its own website where you can start customizing it for your needs.
21
 
22
  <h4>♥️ What the Plugin does?</h4>
23
  <ul>
@@ -108,6 +108,41 @@ If you want, you can use the [Gutenberg](https://wordpress.org/plugins/gutenberg
108
 
109
  == Changelog ==
110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  = 4.3.3 =
112
  Modified: Move template libraries to redux-core directory.
113
  Modified: Update to the Extendify template library.
@@ -149,7 +184,7 @@ Release date: August 11, 2021
149
  = 4.2.11 =
150
  Fixed: Removed type declarations on core return values to support improperly written third-party extensions.
151
  Fixed: Added shim to prevent errors on functions calls outdated extensions are still using.
152
- Fixed: Removed type declarations on field code to support outdated versions of PHP (PHP 7.4 is the minimum recommendation from WordPress...please update if you are able. [https://wordpress.org/about/requirements](https://wordpress.org/about/requirements).
153
  Fixed: Support URL button kicking back a JavaScript error.
154
  Release date: July 29, 2021
155
 
@@ -249,7 +284,7 @@ Fixed: Multiple submenus in metaboxes; the last submenu it cut off.
249
  Fixed: Fatal error: Can't use function return value in write context.
250
  Fixed: PHP 8.0 deprecation warnings.
251
  Fixed: Malformed HTML causing Redux pro alpha color-picker to not render.
252
- Fixed: IMproved class checks for Redux Pro.
253
  Fixed: jQuery 3.x deprecation notices.
254
  Fixed: Malformed SCSS.
255
  Release date: March 17, 2021
3
  Tags: gutenberg, blocks, gutenberg blocks, editor, block, page builder, block editor, block library, editor, templates, library
4
  Requires at least: 4.0
5
  Requires PHP: 7.1
6
+ Tested up to: 5.9
7
+ Stable tag: 4.3.9
8
  License: GPL-3.0+
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
10
 
17
 
18
  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.
19
 
20
+ Don’t waste hours trying to recreate a template you love. With a click of a button in its own website where you can start customizing it for your needs.
21
 
22
  <h4>♥️ What the Plugin does?</h4>
23
  <ul>
108
 
109
  == Changelog ==
110
 
111
+ = 4.3.9 =
112
+ * Fixed: Extendify Library JavaScript error.
113
+ * Release date: January 26, 2022
114
+
115
+ = 4.3.8 =
116
+ * Fixed: Spacing field defaults to `px` if no default is set.
117
+ * Fixed: Remove plugin.php hack in Appsero SDK.
118
+ * Updated: Default Google Fonts list brought up to current release
119
+ * Updated: Extendify Library.
120
+ * Release date: January 25, 2022
121
+
122
+ = 4.3.7 =
123
+ * Fixed: Incorrect global variable assignment. Thanks, @webbudesign.
124
+ * Release date: January 11, 2022
125
+
126
+ = 4.3.6 =
127
+ * Modified: Update to the Extendify Library.
128
+ * Modified: Moved Extendify and Redux templates libraries back to root folder.
129
+ * Modified: Removed "Gutenberg is currently disabled" notice when the Classic Editor plugin is active.
130
+ * Fixed: `date` shortcode without attributes producing error.
131
+ * Fixed: Various jQuery deprecation fixes.
132
+ * Release date: January 11, 2022
133
+
134
+ = 4.3.5 =
135
+ * Added: Add former premium feature: Option panel Search Bar. See Sample demo or the [docs site](https://devs.redux.io/core-extensions).
136
+ * Added: Add former premium feature: Shortcodes. See Sample demo or the [docs site](https://devs.redux.io/core-extensions).
137
+ * Fixed: #3852 - Editor in metaboxes not saving HTML. WIll now save the same HTML posts/pages allows.
138
+ * Fixed: Front end formatting issue with the Extendify template library.
139
+ * Release date: December 01, 2021
140
+
141
+ = 4.3.4 =
142
+ * Fixed: CSS and JS not loading when embedding Redux due to malformed path.
143
+ * Modified: Update to the Extendify template library.
144
+ * Release date: November, 24 2021
145
+
146
  = 4.3.3 =
147
  Modified: Move template libraries to redux-core directory.
148
  Modified: Update to the Extendify template library.
184
  = 4.2.11 =
185
  Fixed: Removed type declarations on core return values to support improperly written third-party extensions.
186
  Fixed: Added shim to prevent errors on functions calls outdated extensions are still using.
187
+ Fixed: Removed type declarations on field code to support outdated versions of PHP (PHP 7.4 is the minimum recommendation from WordPress...please update if you are able). [https://wordpress.org/about/requirements](https://wordpress.org/about/requirements).
188
  Fixed: Support URL button kicking back a JavaScript error.
189
  Release date: July 29, 2021
190
 
284
  Fixed: Fatal error: Can't use function return value in write context.
285
  Fixed: PHP 8.0 deprecation warnings.
286
  Fixed: Malformed HTML causing Redux pro alpha color-picker to not render.
287
+ Fixed: Improved class checks for Redux Pro.
288
  Fixed: jQuery 3.x deprecation notices.
289
  Fixed: Malformed SCSS.
290
  Release date: March 17, 2021
lib/vendor/redux-framework/redux-core/appsero/Client.php CHANGED
@@ -158,11 +158,13 @@ class Client {
158
 
159
  list( $this->slug, $mainfile) = explode( '/', $this->basename );
160
 
161
- require_once ABSPATH . 'wp-admin/includes/plugin.php';
162
 
163
- $plugin_data = get_plugin_data( $this->file );
164
 
165
- $this->project_version = $plugin_data['Version'];
 
 
166
  $this->type = 'plugin';
167
  $this->textdomain = $this->slug;
168
 
158
 
159
  list( $this->slug, $mainfile) = explode( '/', $this->basename );
160
 
161
+ // require_once ABSPATH . 'wp-admin/includes/plugin.php';
162
 
163
+ $version = get_file_data($this->file, array('version' => 'Version'));
164
 
165
+ // $plugin_data = get_plugin_data( $this->file );
166
+
167
+ $this->project_version = $version; // $plugin_data['Version'];
168
  $this->type = 'plugin';
169
  $this->textdomain = $this->slug;
170
 
lib/vendor/redux-framework/redux-core/assets/css/color-picker.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["color-picker.scss","color-picker.css"],"names":[],"mappings":"AAAA,iDAAgB,WACZ,ECIY,WAAW,EDLX,gBAmBR,EAAA;;AAnBR,wDAAgB,iBA6BR,EClBQ,iBAAiB,EAAA;;ADXjC,qDCegB,sBAAsB,EAAA;;ADftC,wDCqBgB,YAAY,EAAA;;ADrB5B,uDCyBgB,YAAY,EAAA;;ADzB5B,yFAiHI,sBAAiB,EChFD,qBAAoB,EAAA;;ADjCxC,0ECwCgB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAqB,EACrB,qBAAoB,EACpB,iCAAiC,EACjC,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,gDAAwC,EAAxC,wCAAwC,EACxC,YAAY,EACZ,UAAU,EACV,iBAAiB,EAAA;;ADnDjC,gECuDgB,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EAAA;;AD/D5B,oDCoEY,qBAAqB,EACrB,UAAU,EAAA;;ADrEtB,0DCwEgB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAAA;;AD1EhC,qEC8EgB,UAAU,EACV,SAAS,EACT,uBAAuB,EACvB,8BAA8B,EAAA;;ADjF9C,uECqFgB,mBAAmB,EAAA;;ADrFnC,qDC2FY,iBAAiB,EAAA;;AD3F7B,yDC+FY,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EAAA;;ADjG7B,gDCqGY,2BAA2B,EAC3B,gBAAgB,EAAA;;AAK5B,qNAIQ,2BAA2B,EAAA;;AAJnC,mDAOQ,sBAAsB,EACtB,2BAA2B,EAAA;;AAjFnC,6oGAA6oG","file":"color-picker.css","sourcesContent":[".redux-container {\n .redux-main {\n input {\n &.redux-color {\n float: left;\n width: 70px;\n margin-left: 5px;\n }\n\n &.color-transparency {\n margin-left: 10px;\n margin-right: 3px;\n }\n\n &.wp-color-picker {\n width: 80px !important;\n }\n }\n\n .section-color {\n .controls {\n width: 345px;\n }\n\n .explain {\n width: 225px;\n }\n }\n\n .alpha-enabled {\n .iris-picker {\n .iris-strip .ui-slider-handle {\n right: -4px!important;\n left: -3px!important;\n }\n }\n }\n\n .iris-picker {\n .iris-strip .ui-slider-handle {\n position: absolute;\n background: none !important;\n right: -4px!important;\n left: -3px!important;\n border: 4px solid #aaa !important;\n border-width: 4px 3px;\n width: auto;\n border-radius: 4px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n opacity: 0.9;\n z-index: 5;\n cursor: ns-resize;\n }\n\n .iris-slider-offset {\n position: absolute;\n top: 2px;\n left: 0px;\n right: 0;\n bottom: 4px;\n width: 28px; //17\n background: none !important;\n border: 0 !important;\n height: auto;\n }\n }\n\n .wp-picker-container {\n display: inline-block;\n outline: 0;\n\n input {\n margin-bottom: inherit;\n margin-top: inherit;\n padding: 3px 5px;\n }\n\n .wp-color-result {\n outline: 0;\n margin: 0;\n height: 24px !important;\n margin: 0 6px 6px 0 !important;\n }\n\n .wp-picker-default {\n padding: 0 10px 1px;\n }\n\n }\n\n .redux-color-gradient {\n line-height: 24px;\n }\n\n .color-transparency-check {\n line-height: 1;\n margin: 0 !important;\n padding-top: 10px;\n }\n\n .wp-picker-clear {\n min-height: 30px !important;\n margin-left: 5px;\n }\n }\n}\n\n.wp-customizer {\n .redux-main input.wp-picker-default,\n .redux-main .redux-typography-container input.wp-picker-default,\n .redux-main .redux-typography-container .redux-typography-color {\n padding: 0px 4px !important;\n }\n .redux-main input.wp-color-picker {\n width: 65px !important;\n margin-left: 5px !important;\n }\n}\n"]}
1
+ {"version":3,"sources":["color-picker.scss","color-picker.css"],"names":[],"mappings":"AAAA,iDAAgB,WACZ,ECIY,WAAW,EDLX,gBAmBR,EAAA;;AAnBR,wDAAgB,iBA6BR,EClBQ,iBAAiB,EAAA;;ADXjC,qDCegB,sBAAsB,EAAA;;ADftC,wDCqBgB,YAAY,EAAA;;ADrB5B,uDCyBgB,YAAY,EAAA;;ADzB5B,yFAiHI,sBAAiB,EChFD,qBAAoB,EAAA;;ADjCxC,0ECwCgB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAqB,EACrB,qBAAoB,EACpB,iCAAiC,EACjC,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,gDAAwC,EAAxC,wCAAwC,EACxC,YAAY,EACZ,UAAU,EACV,iBAAiB,EAAA;;ADnDjC,gECuDgB,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EAAA;;AD/D5B,oDCoEY,qBAAqB,EACrB,UAAU,EAAA;;ADrEtB,0DCwEgB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAAA;;AD1EhC,qEC8EgB,UAAU,EACV,SAAS,EACT,uBAAuB,EACvB,8BAA8B,EAAA;;ADjF9C,uECqFgB,mBAAmB,EAAA;;ADrFnC,qDC2FY,iBAAiB,EAAA;;AD3F7B,yDC+FY,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EAAA;;ADjG7B,gDCqGY,2BAA2B,EAC3B,gBAAgB,EAAA;;AAK5B,qNAIQ,2BAA2B,EAAA;;AAJnC,mDAOQ,sBAAsB,EACtB,2BAA2B,EAAA;;AAjFnC,6oGAA6oG","file":"color-picker.css","sourcesContent":[".redux-container {\r\n .redux-main {\r\n input {\r\n &.redux-color {\r\n float: left;\r\n width: 70px;\r\n margin-left: 5px;\r\n }\r\n\r\n &.color-transparency {\r\n margin-left: 10px;\r\n margin-right: 3px;\r\n }\r\n\r\n &.wp-color-picker {\r\n width: 80px !important;\r\n }\r\n }\r\n\r\n .section-color {\r\n .controls {\r\n width: 345px;\r\n }\r\n\r\n .explain {\r\n width: 225px;\r\n }\r\n }\r\n\r\n .alpha-enabled {\r\n .iris-picker {\r\n .iris-strip .ui-slider-handle {\r\n right: -4px!important;\r\n left: -3px!important;\r\n }\r\n }\r\n }\r\n\r\n .iris-picker {\r\n .iris-strip .ui-slider-handle {\r\n position: absolute;\r\n background: none !important;\r\n right: -4px!important;\r\n left: -3px!important;\r\n border: 4px solid #aaa !important;\r\n border-width: 4px 3px;\r\n width: auto;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\r\n opacity: 0.9;\r\n z-index: 5;\r\n cursor: ns-resize;\r\n }\r\n\r\n .iris-slider-offset {\r\n position: absolute;\r\n top: 2px;\r\n left: 0px;\r\n right: 0;\r\n bottom: 4px;\r\n width: 28px; //17\r\n background: none !important;\r\n border: 0 !important;\r\n height: auto;\r\n }\r\n }\r\n\r\n .wp-picker-container {\r\n display: inline-block;\r\n outline: 0;\r\n\r\n input {\r\n margin-bottom: inherit;\r\n margin-top: inherit;\r\n padding: 3px 5px;\r\n }\r\n\r\n .wp-color-result {\r\n outline: 0;\r\n margin: 0;\r\n height: 24px !important;\r\n margin: 0 6px 6px 0 !important;\r\n }\r\n\r\n .wp-picker-default {\r\n padding: 0 10px 1px;\r\n }\r\n\r\n }\r\n\r\n .redux-color-gradient {\r\n line-height: 24px;\r\n }\r\n\r\n .color-transparency-check {\r\n line-height: 1;\r\n margin: 0 !important;\r\n padding-top: 10px;\r\n }\r\n\r\n .wp-picker-clear {\r\n min-height: 30px !important;\r\n margin-left: 5px;\r\n }\r\n }\r\n}\r\n\r\n.wp-customizer {\r\n .redux-main input.wp-picker-default,\r\n .redux-main .redux-typography-container input.wp-picker-default,\r\n .redux-main .redux-typography-container .redux-typography-color {\r\n padding: 0px 4px !important;\r\n }\r\n .redux-main input.wp-color-picker {\r\n width: 65px !important;\r\n margin-left: 5px !important;\r\n }\r\n}\r\n"]}
lib/vendor/redux-framework/redux-core/assets/css/redux-admin.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["redux-admin.css","color-picker.scss","media.scss","redux-admin.scss"],"names":[],"mappings":"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","file":"redux-admin.css","sourcesContent":[null,".redux-container {\n .redux-main {\n input {\n &.redux-color {\n float: left;\n width: 70px;\n margin-left: 5px;\n }\n\n &.color-transparency {\n margin-left: 10px;\n margin-right: 3px;\n }\n\n &.wp-color-picker {\n width: 80px !important;\n }\n }\n\n .section-color {\n .controls {\n width: 345px;\n }\n\n .explain {\n width: 225px;\n }\n }\n\n .alpha-enabled {\n .iris-picker {\n .iris-strip .ui-slider-handle {\n right: -4px!important;\n left: -3px!important;\n }\n }\n }\n\n .iris-picker {\n .iris-strip .ui-slider-handle {\n position: absolute;\n background: none !important;\n right: -4px!important;\n left: -3px!important;\n border: 4px solid #aaa !important;\n border-width: 4px 3px;\n width: auto;\n border-radius: 4px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n opacity: 0.9;\n z-index: 5;\n cursor: ns-resize;\n }\n\n .iris-slider-offset {\n position: absolute;\n top: 2px;\n left: 0px;\n right: 0;\n bottom: 4px;\n width: 28px; //17\n background: none !important;\n border: 0 !important;\n height: auto;\n }\n }\n\n .wp-picker-container {\n display: inline-block;\n outline: 0;\n\n input {\n margin-bottom: inherit;\n margin-top: inherit;\n padding: 3px 5px;\n }\n\n .wp-color-result {\n outline: 0;\n margin: 0;\n height: 24px !important;\n margin: 0 6px 6px 0 !important;\n }\n\n .wp-picker-default {\n padding: 0 10px 1px;\n }\n\n }\n\n .redux-color-gradient {\n line-height: 24px;\n }\n\n .color-transparency-check {\n line-height: 1;\n margin: 0 !important;\n padding-top: 10px;\n }\n\n .wp-picker-clear {\n min-height: 30px !important;\n margin-left: 5px;\n }\n }\n}\n\n.wp-customizer {\n .redux-main input.wp-picker-default,\n .redux-main .redux-typography-container input.wp-picker-default,\n .redux-main .redux-typography-container .redux-typography-color {\n padding: 0px 4px !important;\n }\n .redux-main input.wp-color-picker {\n width: 65px !important;\n margin-left: 5px !important;\n }\n}\n",".redux-main {\r\n .button.remove-image,\r\n .removeCSS {\r\n margin-left: 10px;\r\n color: #ef521d;\r\n\r\n &:hover {\r\n color: #ff0;\r\n }\r\n }\r\n\r\n .upload_button_div {\r\n margin-bottom: 5px;\r\n }\r\n\r\n .upload-error {\r\n float: left;\r\n color: #666;\r\n font-size: 10px;\r\n font-weight: bold;\r\n text-decoration: none;\r\n text-shadow: 1px 1px 0 #fff;\r\n margin: 0 10px 0 0;\r\n padding: 3px 10px;\r\n background: #ffdfec;\r\n -webkit-border-radius: 4px;\r\n -moz-border-radius: 4px;\r\n border-radius: 4px;\r\n }\r\n\r\n .reset-button {\r\n font-family: Arial, Verdana, sans-serif;\r\n float: left;\r\n margin: 0;\r\n color: #ef521d;\r\n border-color: #bbb;\r\n }\r\n\r\n .redux-option-image {\r\n max-height: 340px;\r\n max-width: 340px;\r\n padding: 5px;\r\n margin-bottom: 0;\r\n margin-top: 10px;\r\n margin-right: 15px;\r\n border: 1px solid #e3e3e3;\r\n background: #f7f7f7;\r\n -moz-border-radius: 3px;\r\n -khtml-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n }\r\n\r\n .redux-main .upload {\r\n width: 80% !important;\r\n }\r\n\r\n .button {\r\n margin-top: 2px;\r\n }\r\n}\r\n","@import \"color-picker\";\n@import \"media\";\n\n.spinner {\n visibility: hidden;\n display: block;\n}\n\n.spinner.is-active {\n visibility: visible;\n}\n\n.redux-main .description {\n margin-top: 7px;\n}\n\n.redux-container {\n .redux-container-button_set,\n .redux-container-palette {\n .ui-icon {\n height: auto;\n }\n }\n\n .form-table > tbody > tr > th {\n width: 30%;\n }\n\n .form-table th,\n .form-table td {\n margin: 0;\n padding: 0;\n width: auto;\n }\n\n .redux_field_th {\n font-weight: 600;\n padding: 20px 10px 20px 0px;\n display: block;\n span {\n &:first-child {\n font-weight: normal;\n display: block;\n color: #666;\n }\n }\n }\n\n #ui-datepicker-div {\n display: none;\n }\n\n background-color: #fff; /* Old browsers */\n background-repeat: repeat-x; /* Repeat the gradient */\n background-image: -moz-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* FF3.6+ */\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #f2f2f2)); /* Chrome,Safari4+ */\n background-image: -webkit-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* Chrome 10+,Safari 5.1+ */\n background-image: -ms-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* IE10+ */\n background-image: -o-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* Opera 11.10+ */\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#fff\", endColorstr=\"#f2f2f2\", GradientType=0); /* IE6-9 */\n background-image: -linear-gradient(top, #fff 0%, #f2f2f2 100%); /* W3C */\n border: 1px solid #dedede;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\n -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);\n margin-top: 5px;\n overflow: hidden;\n\n a {\n &:focus {\n box-shadow: none;\n }\n }\n\n #redux-header,\n #redux-footer {\n text-align: right;\n padding: 6px 10px;\n }\n\n #redux-header {\n border-bottom-width: 3px;\n border-bottom-style: solid;\n\n .display_header {\n float: left;\n margin: 20px 10px;\n\n img {\n transition: all 0.1s ease-in-out;\n }\n\n h2 {\n display: inline-block;\n font-style: normal;\n padding-right: 5px;\n }\n\n .redux-dev-mode-notice-container {\n position: absolute;\n top: 67px;\n left: 20px;\n bottom: auto;\n width: auto;\n }\n\n span {\n color: #888;\n\n &.redux-dev-mode-notice {\n background-color: #f0ad4e;\n display: inline;\n padding: 0.2em 0.5em 0.2em;\n font-weight: 700;\n line-height: 1;\n color: #fff !important;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n }\n }\n }\n\n .icon32 {\n float: right;\n margin: 16px 16px 0;\n }\n }\n\n #redux-footer {\n border-top: 1px solid #e7e7e7;\n z-index: 999;\n\n #redux-share {\n float: left;\n line-height: 28px;\n font-size: 15px;\n\n a {\n text-decoration: none;\n margin-right: 10px;\n\n img {\n margin-bottom: -3px;\n }\n }\n }\n }\n\n .notice-green {\n margin: 0;\n border-bottom: 1px solid #e7e7e7;\n background-color: #dff0d8;\n color: #468847;\n padding: 8px 35px 8px 14px;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n }\n\n .notice-blue {\n margin: 0;\n border-bottom: 1px solid #bce8f1;\n background-color: #d9edf7;\n color: #3a87ad;\n padding: 8px 35px 8px 14px;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n }\n\n .notice-yellow {\n margin: 0;\n border-bottom: 1px solid #e7e7e7;\n background-color: #fcf8e3;\n color: #c09853;\n padding: 8px 35px 8px 14px;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n }\n\n .notice-red,\n .redux-field-errors {\n margin: 0;\n border-bottom: 1px solid #e7e7e7;\n background-color: #f2dede;\n color: #b94a48;\n padding: 8px 35px 8px 14px;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n }\n\n .redux-field-error {\n input,\n textarea,\n input[type=\"checkbox\"] {\n background-color: #fff6f6;\n color: #a00;\n }\n }\n\n .redux-field-warning {\n input,\n textarea,\n input[type=\"checkbox\"] {\n background-color: #fcf8e3;\n color: #444;\n }\n }\n\n .redux-field-errors,\n .redux-field-warnings,\n .redux-save-warn {\n display: none;\n }\n\n .sticky-save-warn {\n min-height: 76px;\n\n .redux-save-warn {\n position: fixed;\n top: 32px;\n right: 21px;\n left: 183px;\n opacity: 1;\n z-index: 9999;\n }\n }\n\n #info_bar {\n background: #f3f3f3;\n border-bottom: 1px solid #dedede;\n padding: 6px 10px 6px 6px;\n text-align: right;\n -moz-box-shadow: inset 0 1px 0 #fcfcfc;\n -webkit-box-shadow: inset 0 1px 0 #fcfcfc;\n box-shadow: inset 0 1px 0 #fcfcfc;\n }\n\n .redux-group-tab {\n display: none;\n margin-bottom: 15px;\n\n .redux-theme-data {\n padding: 20px 0;\n border-top: 1px solid #e7e7e7;\n\n &.theme-description {\n padding: 10px 0;\n border-width: 0;\n }\n\n &.theme-uri,\n &.theme-author,\n &.theme-version {\n padding: 0;\n border-width: 0;\n }\n }\n\n h3 {\n margin-top: 0;\n line-height: 2em;\n border-bottom: 1px solid #e7e7e7;\n }\n\n .redux-section-desc {\n margin-bottom: 15px;\n color: #666;\n }\n }\n\n .redux-action_bar {\n float: right;\n .spinner {\n float: left;\n margin-top: 4px;\n }\n }\n\n .redux-ajax-loading {\n display: none;\n background: #a00 url(data:image/gif;base64,R0lGODlhEAAQAPUAAIiIiIqKio2NjZSUlJqamp6enqKioqSkpK+vr7i4uL+/v8PDw8XFxcnJyc/Pz9HR0dTU1NjY2Nzc3OLi4ubm5unp6ezs7PPz88vLy83NzdDQ0NXV1d3d3eHh4bu7u8zMzOvr6+3t7ZiYmNbW1sDAwMTExNra2s7OztPT09vb2+Xl5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/i1NYWRlIGJ5IEtyYXNpbWlyYSBOZWpjaGV2YSAod3d3LmxvYWRpbmZvLm5ldCkAIfkEAAoA/wAsAAAAABAAEAAABXDgJY6XZZEoOTnOlI5WdUFNA5UnSR3FJNUSieFAIUUEgcdl4noEBBGSZaHIiSqKhTX2GhVFiQGjuxgkSoYAoosAGE6RhKQrUURHlS+pItMVCHMjEgQ9JBJISg+JT3ciFg4NFkcCNw0OViiDgF0oTC8hACH5BAAKAP8ALAAAAAAQABAAAAVx4CWOZGle1qJYp2hV1xYE29V1JXUYHWUcnQgGwyFFBAENiqUZ1kapFamTyeBcsNOLMkoMGC3GIIEyBBAtRMDAiiSKp04iQqpwc9kRpUCAizgEBVciEQNJFxpKGgECdFAYYBsCAjUMGS0XgAODmDacIyEAIfkEAAoA/wAsAAAAABAAEAAABnbAi3BILBovIMUidBSGQJdNIKBBMomUg6FDMRgoHcOBQowIqNaLJiCIEEMLxdWpnIfITRAHnxgwjiEfDR8UIQYBCEcgDYwdUR6ORxEfG3MgeFiFRB0FBBxEHAQFkUJmaBofamxuRB9/GwICGxeMTRehnrabpERBACH5BAAKAP8ALAAAAAAQABAAAAZ9wItwSCwaL5aFwnIUWiqXUSAwulSYRMrB0KEYDJSO4UAhRgQBDZLpCAgixOSSWFEssEho81IWJgYMTQwDCUgGAQhNCAEGTCMJHU0dCXBDFX1DFhwdeHwFIhxmGBihQxEDaRcOGhYao1WZGIFnAiMUDg6YRR0ioE57Fx2RRkEAIfkEAAoA/wAsAAAAABAAEAAABXLgJY5kaV7WolinaLGQEEBXxZLUUUyUYVATw4FCisg0NZYmIIiQUosKqaJY3FDS1oUoSgwYrcUggTIAEC1EwMCKJCatSYI2qnBx2dGkQOCQOAQFdxdGARoVGhCITE4kGBgWEI8QFgwYWhGTWiMWERFXIyEAIfkEAAoA/wAsAAAAABAAEAAABn/Ai3BILBovloXCchRaKpdRIDC6VJhEysHQoRgMlI7hQCFGBAENkukICCLE5JJYUSywSGjzUhYmBgxNDAMJSAYBCE0IAAZMEQkdTRwKVUMcHHhCFXpDERgYcJYEBZFDI58aFhoOFxpuoUIUGhoUZwJVGA6ZaxccBAQce0QdpUVBACH5BAAKAP8ALAAAAAAQABAAAAZ8wItwSCwaLyEFKXQUhioXSCAAuVSYRMrB0KEYDJSO4UAhmgQBDZKpCQhMxFBJgRVWlFkOtElhUj4NH3VEJQMJFx0NintFCAEGISEQH3BHHR5VThVlRRSMQh0FBBxEHAQFnEJnaRcfHxdtb0WKIWcCVSUNTYgEo7tEHR1HQQAh+QQACgD/ACwAAAAAEAAQAAAGdcCLcEgsGi8hhSJ0FHY6l1EgMLqAmEROo5HqGAwqL5g42qKsoAsqIEgRVacTdAhSLLBI1bWpwiYGDE0MAwlIBgEITQgBBkwjCRxNHQlVdCpGekUqBQSRQxwEBZdDKQIBZ3FqbG5EDYEjpikhW3hFoJ1NRU9HQQA7) no-repeat;\n width: 16px;\n height: 16px;\n margin: 3px 4px 0;\n float: right;\n }\n\n #redux-intro-text {\n background: #f3f3f3;\n border-bottom: 1px solid #dedede;\n -moz-box-shadow: inset 0 1px 0 #fcfcfc;\n -webkit-box-shadow: inset 0 1px 0 #fcfcfc;\n box-shadow: inset 0 1px 0 #fcfcfc;\n padding: 3px;\n padding: 10px 10px;\n\n p {\n margin: 0;\n font-family: \"Lucida Grande\", Sans-serif;\n color: #888;\n }\n }\n\n .expand_options {\n cursor: pointer;\n display: block;\n height: 22px;\n width: 21px;\n float: left;\n font-size: 0;\n text-indent: -9999px;\n margin: 1px 0 0 5px;\n border: 1px solid #bbb;\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -26px;\n\n &.expanded {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -1px;\n }\n\n &:hover {\n border-color: #888;\n }\n }\n\n .sticky-footer-fixed {\n background: #f3f3f3;\n border-top: 1px solid #dedede !important;\n -moz-box-shadow: inset 0 1px 0 #fcfcfc;\n -webkit-box-shadow: inset 0 1px 0 #fcfcfc;\n box-shadow: inset 0 1px 0 #fcfcfc;\n }\n\n .redux-sidebar,\n .redux-main {\n min-height: 300px;\n\n }\n .redux-main {\n background: #fff;\n margin-left: 201px;\n border-left: 1px solid #d8d8d8;\n padding: 10px 20px;\n -moz-box-shadow: inset 0 1px 0 #fff;\n -webkit-box-shadow: inset 0 1px 0 #fff;\n box-shadow: inset 0 1px 0 #fff;\n position: relative;\n\n fieldset.disabled {\n padding-top: 10px;\n }\n .redux-group-tab.disabled {\n padding-top: 1px;\n }\n\n fieldset.disabled,\n .redux-group-tab.disabled {\n position: relative;\n\n &::before {\n color: #fff;\n font-family: Elusive-Icons;\n content: \"\";\n font-size: 38px;\n position: absolute;\n z-index: 1000;\n text-shadow: 2px 2px #0e0e0e;\n left: 50%;\n top: 50%;\n margin-top: -25px;\n margin-left: -25px;\n }\n }\n\n .disabled {\n pointer-events: none;\n background: rgba(0, 0, 0, 0.25);\n opacity: 0.45;\n padding-left: 10px !important;\n padding-right: 10px !important;\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none; /* Non-prefixed version, currently\n supported by Chrome, Edge, Opera and Firefox */\n }\n\n #redux_ajax_overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n -moz-opacity: 0.1;\n -khtml-opacity: 0.1;\n opacity: 0.1;\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);\n filter: alpha(opacity=10);\n background: #000;\n z-index: 200;\n display: none;\n }\n\n .form-table.no-border {\n border-top: none;\n }\n\n .form-table tr {\n border-bottom: 1px solid #e7e7e7;\n\n &:last-child {\n border-bottom: none !important;\n }\n\n th,\n td {\n color: #333;\n }\n }\n\n .form-table tr td {\n table.mceLayout,\n table.mceLayout tr,\n table.mceLayout tr td {\n padding: 0;\n border-width: 0;\n }\n\n .redux-th-warning {\n font-size: 1em;\n color: #c09853;\n font-weight: normal;\n display: block;\n margin-top: 10px;\n }\n\n .redux-field-warning {\n border-color: #c09853;\n margin-top: 10px;\n }\n\n .redux-th-error {\n font-size: 1em;\n color: #b94a48;\n font-weight: normal;\n display: block;\n margin-top: 10px;\n }\n }\n\n input {\n line-height: 19px;\n\n &.large-text {\n width: 100%;\n }\n }\n\n .hide {\n display: none;\n }\n\n .redux-field-container {\n padding: 20px 0;\n }\n\n .mini,\n input[type=\"text\"].mini {\n width: 60px;\n text-align: center;\n }\n\n img {\n max-width: 100%;\n height: auto;\n width: auto !important;\n }\n\n .select2-default {\n width: auto !important;\n }\n\n .showDefaults {\n display: block;\n font-weight: normal;\n font-size: 0.8em;\n color: #888;\n }\n\n span.description {\n display: block;\n font-style: normal;\n font-weight: 400;\n }\n\n #redux-system-info textarea {\n min-height: 730px;\n width: 100%;\n }\n\n .field-desc {\n clear: both;\n font-size: 13px;\n }\n\n .data-full li {\n width: 100%;\n }\n\n .data-half li {\n width: 50%;\n float: left;\n }\n\n .data-third li {\n width: 33.3%;\n float: left;\n }\n\n .data-quarter li {\n width: 25%;\n float: left;\n }\n\n .ui-helper-hidden-accessible {\n top: inherit;\n }\n\n .form-table {\n clear: none !important;\n margin-top: 0px !important;\n\n tr:first-child th,\n tr:first-child td {\n padding-top: 0;\n }\n }\n\n .input-append input {\n border-right: 0;\n margin-bottom: 0;\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n margin-right: 0;\n float: left;\n margin-top: 0;\n display: block;\n }\n\n .input-append .add-on {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n margin-left: -2px;\n padding-top: 4px !important;\n padding-bottom: 2px !important;\n }\n\n .input-prepend input {\n border-left: 0;\n margin-bottom: 0;\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n margin-left: 0;\n padding-top: 2px;\n padding-bottom: 5px;\n float: left;\n margin-top: 0;\n display: block;\n }\n\n .input-prepend .add-on {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n float: left;\n }\n\n .input-append {\n margin-right: 10px;\n font-size: 0;\n white-space: nowrap;\n float: left;\n display: inline-block;\n margin-bottom: 6px;\n\n }\n\n .input-append .add-on,\n .input-prepend .add-on {\n width: auto;\n display: inline-block;\n min-width: 16px;\n padding: 3px 4px;\n font-size: 12px;\n font-weight: 400;\n line-height: 22px;\n text-align: center;\n text-shadow: 0 1px 0 #fff;\n background-color: #eee;\n border: 1px solid #7e8993;\n }\n .input-append .add-on {\n border-left-color: #ccc;\n }\n .input-prepend .add-on {\n border-right-color: #ccc;\n }\n\n .input-prepend {\n font-size: 0;\n white-space: nowrap;\n float: left;\n display: inline-block;\n margin-bottom: 6px;\n }\n\n pre {\n white-space: pre-wrap; /* css-3 */\n white-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n white-space: -pre-wrap; /* Opera 4-6 */\n white-space: -o-pre-wrap; /* Opera 7 */\n word-wrap: break-word; /* Internet Explorer 5.5+ */\n }\n }\n}\n\n/* redux-container */\n.no-js {\n border: 1px solid #ffbaba;\n margin: 0;\n border-bottom: 1px solid #e7e7e7;\n background-color: #f2dede;\n color: #b94a48;\n padding: 8px 35px 8px 14px;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n}\n\n/* main */\n.redux-sidebar {\n width: 202px;\n float: left;\n\n // Flyout menu\n .redux-group-tab-link-li {\n &.hasSubSections {\n &:hover {\n .el-rotate {\n -webkit-transition: 0.1s ease-in-out;\n -moz-transition: 0.1s ease-in-out;\n -o-transition: 0.1s ease-in-out;\n transition: 0.1s ease-in-out;\n\n -webkit-transform: rotate(270deg);\n -moz-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n -o-transform: rotate(270deg);\n transform: rotate(270deg);\n }\n }\n }\n }\n\n .redux-group-menu {\n margin-top: 0 !important;\n background: #f2f2f2;\n\n li {\n margin-top: 0;\n\n &.active a,\n &.active a:hover,\n &.activeChild a,\n &.activeChild a:hover {\n background: #fcfcfc;\n color: #269ad6;\n width: 184px;\n opacity: 1;\n }\n\n &.active a li a {\n background: #333;\n padding-left: 5px;\n }\n\n &.divide {\n padding: 0;\n border-width: 1px 0;\n border-style: solid;\n border-bottom-color: #e7e7e7;\n border-top-color: #f9f9f9;\n }\n\n a:first-child {\n border-top: none;\n }\n\n a {\n display: block;\n padding: 10px 4px 10px 14px;\n background: #e0e0e0;\n background: transparent;\n border-width: 1px 0;\n border-style: solid;\n border-bottom-color: #e7e7e7;\n border-top-color: #f9f9f9;\n opacity: 0.7;\n color: #555;\n font-weight: 600;\n text-decoration: none;\n -webkit-transition: none;\n transition: none;\n\n &.custom-tab {\n background: #f6f6f6;\n }\n\n img {\n width: 16px;\n height: 16px;\n position: absolute;\n left: 15px;\n }\n\n &:hover {\n background: #e5e5e5;\n color: #777;\n opacity: 1;\n box-shadow: inset 4px 0 0 0 currentColor;\n transition: box-shadow 0.1s linear;\n }\n }\n }\n }\n\n .redux-menu-warning,\n .redux-menu-error,\n .hasSubSections .extraIconSubsections {\n display: inline-block;\n float: right;\n padding: 6px 7px 4px 7px;\n margin-left: 4px;\n font-family: sans-serif;\n font-size: 9px;\n font-weight: 600;\n line-height: 9px;\n border-radius: 10px;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border: 0 solid transparent;\n\n i {\n margin-left: -3px;\n margin-top: -3px;\n }\n }\n\n .redux-menu-error {\n background-color: rgb(185, 74, 72);\n color: rgb(242, 222, 222);\n }\n\n .redux-menu-warning {\n background-color: #c09853;\n color: #fcf8e3;\n }\n\n ul {\n .subsection {\n display: none;\n }\n }\n\n .redux-group-tab-link-a {\n position: relative;\n outline: 0;\n\n i {\n vertical-align: middle;\n font-size: 1.35em;\n position: absolute;\n }\n\n span {\n display: block;\n &.group_title {\n padding-left: 30px;\n }\n }\n }\n\n .redux-group-menu > li.redux-section-hover > a::after {\n right: 0;\n border: 9px solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n border-right-color: #fff;\n top: 50%;\n margin-top: -8px;\n }\n\n .redux-group-tab-link-li {\n a.hasError span.group_title {\n padding-right: 25px;\n }\n\n &.hasSubSections {\n &.redux-section-hover {\n position: relative;\n\n > a {\n background-color: #fff;\n\n &::after {\n border-right-color: #46403c;\n }\n }\n\n .subsection {\n background-color: #46403c;\n display: block !important;\n z-index: 10000;\n position: absolute;\n top: 0;\n left: 201px;\n width: 200px !important;\n -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);\n box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);\n\n a {\n padding: 8px 15px;\n width: 170px;\n }\n\n .redux-group-tab-link-li {\n &.hasIcon {\n .group_title {\n padding-left: 30px !important;\n }\n }\n\n .redux-group-tab-link-a {\n color: #fff;\n\n .group_title {\n padding-left: 0;\n }\n }\n }\n }\n }\n\n .el-rotate {\n -webkit-transition: 0.1s ease-in-out;\n -moz-transition: 0.1s ease-in-out;\n -o-transition: 0.1s ease-in-out;\n transition: 0.1s ease-in-out;\n }\n }\n }\n\n #redux-header {\n text-align: center;\n\n .display_header {\n float: none;\n }\n }\n}\n\n/* sidebar */\n@media only screen and (max-width: 600px) {\n .redux-sidebar {\n .redux-group-menu li {\n &.hasSubSections.redux-section-hover .subsection {\n display: none !important;\n }\n }\n }\n}\n\n.mp6 {\n .icon-themes {\n display: none;\n }\n\n .redux-container {\n #info_bar {\n padding: 6px 10px 6px 6px;\n\n a {\n margin-top: 2px;\n }\n }\n }\n}\n\n.redux-timer {\n text-align: center;\n font-size: 10px;\n color: #888;\n}\n\n.wrap {\n margin-top: 0;\n}\n\n@media screen and (max-width: 600px) {\n .redux-sidebar {\n width: 44px;\n\n .extraIconSubsections {\n display: none !important;\n }\n\n .redux-group-menu li a,\n .redux-group-menu li a:hover,\n .redux-group-menu li.active a,\n .redux-group-menu li.active a:hover,\n .redux-group-menu li.activeChild a,\n .redux-group-menu li.activeChild a:hover {\n width: auto;\n }\n\n .redux-group-tab-link-a {\n position: relative;\n\n i {\n position: inherit;\n }\n\n span {\n display: none;\n position: absolute;\n top: 0;\n left: 44px;\n padding: 12px;\n width: 200px;\n background: #eee;\n border: 1px solid #ccc;\n -webkit-box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);\n -moz-box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);\n box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);\n border-width: 1px 1px 1px 0px;\n z-index: 3;\n }\n\n &:hover > span {\n display: block;\n }\n }\n }\n\n .redux-main {\n margin-left: 43px;\n width: auto;\n max-width: 100%;\n }\n\n table.form-table,\n .form-table > thead,\n .form-table > tbody,\n .form-table > tbody > tr > th,\n .form-table > tbody > tr > td,\n .form-table > tbody > tr {\n display: block;\n width: 100% !important;\n padding: 0px !important;\n }\n\n .form-table > tbody > tr > th,\n .form-table > tbody > tr > td {\n padding: 10px !important;\n }\n\n .form-table > tbody > tr > th,\n .form-table > tbody > tr > td {\n padding: 10px !important;\n }\n}\n\n//mp6 fixes\n@media screen and (max-width: 782px) {\n .form-table > tbody > tr > th {\n width: 100%;\n }\n .redux_field_th {\n padding-bottom: 0;\n }\n .mp6 {\n .redux-container {\n #info_bar {\n height: auto;\n padding-bottom: 1px;\n\n a {\n margin-top: 5px;\n }\n }\n }\n }\n .redux-container-switch label {\n padding: 5px 10px !important;\n }\n\n .redux-container-button_set label {\n padding: 12px 10px;\n }\n\n .redux-container #redux-footer #redux-share {\n line-height: 34px;\n }\n}\n\npre {\n overflow: hidden;\n}\n\n/* Default admin theme */\n#redux-header h2 {\n color: #fff;\n}\n\n.ui-datepicker-header .ui-icon {\n background-image: url(data:image/png;base64,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) !important;\n}\n\n// WP Engine CSS fix\n.redux-sidebar .icon-large,\n.redux-main .icon-large {\n background-image: inherit !important;\n width: inherit;\n height: inherit;\n}\n\n.redux-main dd,\n.redux-sidebar li {\n margin-bottom: 0 !important;\n}\n\n.fully-expanded {\n .redux-sidebar {\n margin-left: -500px;\n }\n .redux-main {\n margin-left: 0;\n }\n .redux-group-tab {\n display: block;\n }\n}\n\n#redux-header {\n position: relative;\n}\n\n// Modern Theme\n.redux-main {\n position: relative;\n\n #redux-sticky {\n min-height: 32px;\n margin-left: -20px;\n margin-right: -20px;\n margin-top: -10px;\n margin-bottom: 8px;\n\n #info_bar {\n height: 32px;\n .expand_options {\n margin-top: 4px;\n }\n }\n }\n\n .redux_field_search {\n top: 50px;\n right: 5px;\n }\n\n #redux-footer-sticky {\n margin-left: -20px;\n margin-right: -20px;\n margin-bottom: -10px;\n }\n}\n\n.redux-qtip {\n z-index: 999999 !important;\n}\n\n.select2-container--default .select2-selection--single .select2-selection__clear {\n font-size: 1.2em;\n top: -1px;\n}\n\n.redux-sidebar .redux-group-menu {\n li {\n &.active,\n &.activeChild {\n border-left: 0 none;\n\n a {\n .extraIconSubsections {\n display: none;\n }\n }\n\n &.hasSubSections {\n .redux-menu-error {\n display: block;\n }\n\n .subsection {\n .redux-menu-error {\n margin-right: 2px;\n }\n }\n\n .active {\n a {\n &::after {\n right: 0;\n border: solid 8px transparent;\n content: \"\\0020\";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n border-right-color: #fff;\n top: 50%;\n margin-top: -8px;\n }\n }\n }\n\n a {\n -webkit-transition: all 0.2s;\n -moz-transition: all 0.2s;\n transition: all 0.2s;\n color: #fff;\n width: auto;\n border-bottom: 0;\n }\n\n ul.subsection li {\n border-top: 0 none !important;\n\n &.active a:hover {\n color: #fff;\n }\n\n a {\n width: auto;\n border-top: 0 !important;\n padding: 7px;\n color: #fff;\n padding-left: 15px;\n -webkit-transition: all 0.2s;\n -moz-transition: all 0.2s;\n -ms-transition: all 0.2s;\n -o-transition: all 0.2s;\n transition: all 0.2s;\n\n span.group_title {\n padding-left: 5px !important;\n }\n }\n\n &.hasIcon {\n a {\n padding-left: 14px;\n\n span.group_title {\n padding-left: 30px !important;\n }\n\n }\n }\n }\n }\n }\n\n &.hasSubSections {\n .redux-menu-error {\n display: none;\n margin-right: 5px;\n }\n\n a {\n &.hasError {\n .extraIconSubsections {\n background-color: rgb(185, 74, 72);\n color: rgb(242, 222, 222);\n }\n }\n\n .extraIconSubsections {\n border-radius: 10px;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border: 0 solid transparent;\n font-size: 9px;\n height: 9px;\n line-height: 9px;\n margin-right: 5px;\n padding: 6px 7px 4px 7px;\n width: 5px;\n }\n }\n }\n\n &.active {\n &.hasSubSections {\n a {\n position: relative;\n\n &::after {\n right: 0;\n border: solid 8px transparent;\n content: \"\\0020\";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n border-right-color: #fff;\n top: 50%;\n margin-top: -8px;\n }\n\n }\n\n ul.subsection li a {\n &::after {\n border: 0 none !important;\n content: \"\\0020\" !important;\n\n }\n }\n }\n }\n }\n}\n\ndiv.redux-star-holder {\n position: relative;\n height: 19px;\n width: 100px;\n font-size: 19px;\n}\n\ndiv.redux-star {\n height: 100%;\n position: absolute;\n top: 0px;\n left: 0px;\n background-color: transparent;\n letter-spacing: 1ex;\n border: none;\n\n img {\n width: 19px;\n height: 19px;\n border-left: 1px solid #f1f1f1;\n border-right: 1px solid #f1f1f1;\n display: block;\n position: absolute;\n right: 0px;\n border: none;\n text-decoration: none;\n }\n\n &.redux-star-rating {\n background-color: #fc0;\n }\n\n &.redux-star1 {\n width: 20%;\n }\n\n &.redux-star2 {\n width: 40%;\n }\n\n &.redux-star3 {\n width: 60%;\n }\n\n &.redux-star4 {\n width: 80%;\n }\n\n &.redux-star5 {\n width: 100%;\n }\n}\n\n@media screen and (max-width: 600px) {\n .sticky-save-warn .redux-save-warn {\n top: 0 !important;\n right: 14px !important;\n }\n\n .form-table > tbody > tr > th {\n padding-bottom: 0 !important;\n }\n\n .redux_field_th {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n .redux-main {\n .redux-field-container {\n padding-top: 0;\n padding-bottom: 0;\n }\n .subsection a {\n min-height: 15px;\n }\n }\n\n #redux-footer #redux-share,\n .redux-hint-qtip {\n display: none;\n }\n\n .redux-container {\n .redux-main {\n margin-left: 44px;\n }\n\n .redux-action_bar {\n float: none;\n }\n }\n\n .redux-group-tab-link-a {\n min-height: 15px;\n\n span {\n padding: 11px 12px;\n color: #555;\n -webkit-transition: all 0.3s;\n -moz-transition: all 0.3s;\n transition: all 0.3s;\n &:hover {\n background: #e5e5e5;\n }\n\n text-shadow: none !important;\n }\n }\n}\n\n@media screen and (max-width: 400px) {\n #redux-defaults {\n display: none;\n }\n}\n\n@media screen and (max-width: 700px) {\n #redux-defaults-section {\n display: none;\n }\n}\n\n@media screen and (max-width: 730px) {\n #redux-share {\n display: none;\n }\n\n #redux-defaults-section2 {\n display: none;\n }\n #redux-share {\n display: none;\n }\n}\n\n@media screen and (min-width: 601px) and (max-width: 782px) {\n .redux-container {\n .sticky-save-warn .redux-save-warn {\n top: 47px !important;\n right: 13px !important;\n }\n }\n}\n\n@media screen and (max-width: 782px) {\n #redux-footer #redux-share {\n line-height: 38px;\n font-size: 18px;\n }\n\n .sticky-save-warn .redux-save-warn {\n right: 13px;\n top: 46px;\n }\n\n .redux-container .expand_options {\n margin-top: 5px;\n }\n\n .redux-action_bar input {\n margin-bottom: 0 !important;\n }\n\n .redux-main {\n .form-table-section-indented {\n input[type=\"text\"] {\n width: 95% !important;\n }\n }\n\n .redux-container-sortable {\n input[type=\"text\"] {\n width: 80%;\n display: initial;\n }\n }\n\n .redux-typography-container {\n .input_wrapper input.mini {\n font-size: 16px !important;\n height: 40px !important;\n padding: 7px 10px !important;\n line-height: 24px !important;\n }\n\n .picker-wrapper label {\n margin-top: 16px !important;\n }\n }\n\n .input-append {\n height: 50px !important;\n\n .add-on {\n font-size: 16px;\n line-height: 24px !important;\n padding: 7px;\n height: 32px !important;\n float: right;\n margin-top: -40px;\n }\n }\n\n .redux-hint-qtip {\n float: left !important;\n }\n\n .redux-action_bar .button {\n margin-top: -1px;\n }\n }\n}\n\n@media screen and (max-width: 570px) {\n .redux-main {\n .redux-container-sortable {\n .checkbox-container {\n width: 85%;\n padding-bottom: 5px;\n\n label {\n display: initial;\n }\n }\n }\n }\n}\n\n// Gutenberg\n.block-editor-page {\n .redux-container {\n .redux-metabox .redux-container {\n border-left: 1px solid #eee;\n border-right: 1px solid #eee;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["redux-admin.css","color-picker.scss","media.scss","redux-admin.scss"],"names":[],"mappings":"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","file":"redux-admin.css","sourcesContent":[null,".redux-container {\r\n .redux-main {\r\n input {\r\n &.redux-color {\r\n float: left;\r\n width: 70px;\r\n margin-left: 5px;\r\n }\r\n\r\n &.color-transparency {\r\n margin-left: 10px;\r\n margin-right: 3px;\r\n }\r\n\r\n &.wp-color-picker {\r\n width: 80px !important;\r\n }\r\n }\r\n\r\n .section-color {\r\n .controls {\r\n width: 345px;\r\n }\r\n\r\n .explain {\r\n width: 225px;\r\n }\r\n }\r\n\r\n .alpha-enabled {\r\n .iris-picker {\r\n .iris-strip .ui-slider-handle {\r\n right: -4px!important;\r\n left: -3px!important;\r\n }\r\n }\r\n }\r\n\r\n .iris-picker {\r\n .iris-strip .ui-slider-handle {\r\n position: absolute;\r\n background: none !important;\r\n right: -4px!important;\r\n left: -3px!important;\r\n border: 4px solid #aaa !important;\r\n border-width: 4px 3px;\r\n width: auto;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\r\n opacity: 0.9;\r\n z-index: 5;\r\n cursor: ns-resize;\r\n }\r\n\r\n .iris-slider-offset {\r\n position: absolute;\r\n top: 2px;\r\n left: 0px;\r\n right: 0;\r\n bottom: 4px;\r\n width: 28px; //17\r\n background: none !important;\r\n border: 0 !important;\r\n height: auto;\r\n }\r\n }\r\n\r\n .wp-picker-container {\r\n display: inline-block;\r\n outline: 0;\r\n\r\n input {\r\n margin-bottom: inherit;\r\n margin-top: inherit;\r\n padding: 3px 5px;\r\n }\r\n\r\n .wp-color-result {\r\n outline: 0;\r\n margin: 0;\r\n height: 24px !important;\r\n margin: 0 6px 6px 0 !important;\r\n }\r\n\r\n .wp-picker-default {\r\n padding: 0 10px 1px;\r\n }\r\n\r\n }\r\n\r\n .redux-color-gradient {\r\n line-height: 24px;\r\n }\r\n\r\n .color-transparency-check {\r\n line-height: 1;\r\n margin: 0 !important;\r\n padding-top: 10px;\r\n }\r\n\r\n .wp-picker-clear {\r\n min-height: 30px !important;\r\n margin-left: 5px;\r\n }\r\n }\r\n}\r\n\r\n.wp-customizer {\r\n .redux-main input.wp-picker-default,\r\n .redux-main .redux-typography-container input.wp-picker-default,\r\n .redux-main .redux-typography-container .redux-typography-color {\r\n padding: 0px 4px !important;\r\n }\r\n .redux-main input.wp-color-picker {\r\n width: 65px !important;\r\n margin-left: 5px !important;\r\n }\r\n}\r\n",".redux-main {\r\n .button.remove-image,\r\n .removeCSS {\r\n margin-left: 10px;\r\n color: #ef521d;\r\n\r\n &:hover {\r\n color: #ff0;\r\n }\r\n }\r\n\r\n .upload_button_div {\r\n margin-bottom: 5px;\r\n }\r\n\r\n .upload-error {\r\n float: left;\r\n color: #666;\r\n font-size: 10px;\r\n font-weight: bold;\r\n text-decoration: none;\r\n text-shadow: 1px 1px 0 #fff;\r\n margin: 0 10px 0 0;\r\n padding: 3px 10px;\r\n background: #ffdfec;\r\n -webkit-border-radius: 4px;\r\n -moz-border-radius: 4px;\r\n border-radius: 4px;\r\n }\r\n\r\n .reset-button {\r\n font-family: Arial, Verdana, sans-serif;\r\n float: left;\r\n margin: 0;\r\n color: #ef521d;\r\n border-color: #bbb;\r\n }\r\n\r\n .redux-option-image {\r\n max-height: 340px;\r\n max-width: 340px;\r\n padding: 5px;\r\n margin-bottom: 0;\r\n margin-top: 10px;\r\n margin-right: 15px;\r\n border: 1px solid #e3e3e3;\r\n background: #f7f7f7;\r\n -moz-border-radius: 3px;\r\n -khtml-border-radius: 3px;\r\n -webkit-border-radius: 3px;\r\n border-radius: 3px;\r\n }\r\n\r\n .redux-main .upload {\r\n width: 80% !important;\r\n }\r\n\r\n .button {\r\n margin-top: 2px;\r\n }\r\n}\r\n","@import \"color-picker\";\r\n@import \"media\";\r\n\r\n.spinner {\r\n visibility: hidden;\r\n display: block;\r\n}\r\n\r\n.spinner.is-active {\r\n visibility: visible;\r\n}\r\n\r\n.redux-main .description {\r\n margin-top: 7px;\r\n}\r\n\r\n.redux-container {\r\n .redux-container-button_set,\r\n .redux-container-palette {\r\n .ui-icon {\r\n height: auto;\r\n }\r\n }\r\n\r\n .form-table > tbody > tr > th {\r\n width: 30%;\r\n }\r\n\r\n .form-table th,\r\n .form-table td {\r\n margin: 0;\r\n padding: 0;\r\n width: auto;\r\n }\r\n\r\n .redux_field_th {\r\n font-weight: 600;\r\n padding: 20px 10px 20px 0px;\r\n display: block;\r\n span {\r\n &:first-child {\r\n font-weight: normal;\r\n display: block;\r\n color: #666;\r\n }\r\n }\r\n }\r\n\r\n #ui-datepicker-div {\r\n display: none;\r\n }\r\n\r\n background-color: #fff; /* Old browsers */\r\n background-repeat: repeat-x; /* Repeat the gradient */\r\n background-image: -moz-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* FF3.6+ */\r\n background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #f2f2f2)); /* Chrome,Safari4+ */\r\n background-image: -webkit-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* Chrome 10+,Safari 5.1+ */\r\n background-image: -ms-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* IE10+ */\r\n background-image: -o-linear-gradient(top, #fff 0%, #f2f2f2 100%); /* Opera 11.10+ */\r\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#fff\", endColorstr=\"#f2f2f2\", GradientType=0); /* IE6-9 */\r\n background-image: -linear-gradient(top, #fff 0%, #f2f2f2 100%); /* W3C */\r\n border: 1px solid #dedede;\r\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);\r\n -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);\r\n margin-top: 5px;\r\n overflow: hidden;\r\n\r\n a {\r\n &:focus {\r\n box-shadow: none;\r\n }\r\n }\r\n\r\n #redux-header,\r\n #redux-footer {\r\n text-align: right;\r\n padding: 6px 10px;\r\n }\r\n\r\n #redux-header {\r\n border-bottom-width: 3px;\r\n border-bottom-style: solid;\r\n\r\n .display_header {\r\n float: left;\r\n margin: 20px 10px;\r\n\r\n img {\r\n transition: all 0.1s ease-in-out;\r\n }\r\n\r\n h2 {\r\n display: inline-block;\r\n font-style: normal;\r\n padding-right: 5px;\r\n }\r\n\r\n .redux-dev-mode-notice-container {\r\n position: absolute;\r\n top: 67px;\r\n left: 20px;\r\n bottom: auto;\r\n width: auto;\r\n }\r\n\r\n span {\r\n color: #888;\r\n\r\n &.redux-dev-mode-notice {\r\n background-color: #f0ad4e;\r\n display: inline;\r\n padding: 0.2em 0.5em 0.2em;\r\n font-weight: 700;\r\n line-height: 1;\r\n color: #fff !important;\r\n text-align: center;\r\n white-space: nowrap;\r\n vertical-align: baseline;\r\n border-radius: 0.25em;\r\n }\r\n }\r\n }\r\n\r\n .icon32 {\r\n float: right;\r\n margin: 16px 16px 0;\r\n }\r\n }\r\n\r\n #redux-footer {\r\n border-top: 1px solid #e7e7e7;\r\n z-index: 999;\r\n\r\n #redux-share {\r\n float: left;\r\n line-height: 28px;\r\n font-size: 15px;\r\n\r\n a {\r\n text-decoration: none;\r\n margin-right: 10px;\r\n\r\n img {\r\n margin-bottom: -3px;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .notice-green {\r\n margin: 0;\r\n border-bottom: 1px solid #e7e7e7;\r\n background-color: #dff0d8;\r\n color: #468847;\r\n padding: 8px 35px 8px 14px;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r\n }\r\n\r\n .notice-blue {\r\n margin: 0;\r\n border-bottom: 1px solid #bce8f1;\r\n background-color: #d9edf7;\r\n color: #3a87ad;\r\n padding: 8px 35px 8px 14px;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r\n }\r\n\r\n .notice-yellow {\r\n margin: 0;\r\n border-bottom: 1px solid #e7e7e7;\r\n background-color: #fcf8e3;\r\n color: #c09853;\r\n padding: 8px 35px 8px 14px;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r\n }\r\n\r\n .notice-red,\r\n .redux-field-errors {\r\n margin: 0;\r\n border-bottom: 1px solid #e7e7e7;\r\n background-color: #f2dede;\r\n color: #b94a48;\r\n padding: 8px 35px 8px 14px;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r\n }\r\n\r\n .redux-field-error {\r\n input,\r\n textarea,\r\n input[type=\"checkbox\"] {\r\n background-color: #fff6f6;\r\n color: #a00;\r\n }\r\n }\r\n\r\n .redux-field-warning {\r\n input,\r\n textarea,\r\n input[type=\"checkbox\"] {\r\n background-color: #fcf8e3;\r\n color: #444;\r\n }\r\n }\r\n\r\n .redux-field-errors,\r\n .redux-field-warnings,\r\n .redux-save-warn {\r\n display: none;\r\n }\r\n\r\n .sticky-save-warn {\r\n min-height: 76px;\r\n\r\n .redux-save-warn {\r\n position: fixed;\r\n top: 32px;\r\n right: 21px;\r\n left: 183px;\r\n opacity: 1;\r\n z-index: 9999;\r\n }\r\n }\r\n\r\n #info_bar {\r\n background: #f3f3f3;\r\n border-bottom: 1px solid #dedede;\r\n padding: 6px 10px 6px 6px;\r\n text-align: right;\r\n -moz-box-shadow: inset 0 1px 0 #fcfcfc;\r\n -webkit-box-shadow: inset 0 1px 0 #fcfcfc;\r\n box-shadow: inset 0 1px 0 #fcfcfc;\r\n }\r\n\r\n .redux-group-tab {\r\n display: none;\r\n margin-bottom: 15px;\r\n\r\n .redux-theme-data {\r\n padding: 20px 0;\r\n border-top: 1px solid #e7e7e7;\r\n\r\n &.theme-description {\r\n padding: 10px 0;\r\n border-width: 0;\r\n }\r\n\r\n &.theme-uri,\r\n &.theme-author,\r\n &.theme-version {\r\n padding: 0;\r\n border-width: 0;\r\n }\r\n }\r\n\r\n h3 {\r\n margin-top: 0;\r\n line-height: 2em;\r\n border-bottom: 1px solid #e7e7e7;\r\n }\r\n\r\n .redux-section-desc {\r\n margin-bottom: 15px;\r\n color: #666;\r\n }\r\n }\r\n\r\n .redux-action_bar {\r\n float: right;\r\n .spinner {\r\n float: left;\r\n margin-top: 4px;\r\n }\r\n }\r\n\r\n .redux-ajax-loading {\r\n display: none;\r\n background: #a00 url(data:image/gif;base64,R0lGODlhEAAQAPUAAIiIiIqKio2NjZSUlJqamp6enqKioqSkpK+vr7i4uL+/v8PDw8XFxcnJyc/Pz9HR0dTU1NjY2Nzc3OLi4ubm5unp6ezs7PPz88vLy83NzdDQ0NXV1d3d3eHh4bu7u8zMzOvr6+3t7ZiYmNbW1sDAwMTExNra2s7OztPT09vb2+Xl5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/i1NYWRlIGJ5IEtyYXNpbWlyYSBOZWpjaGV2YSAod3d3LmxvYWRpbmZvLm5ldCkAIfkEAAoA/wAsAAAAABAAEAAABXDgJY6XZZEoOTnOlI5WdUFNA5UnSR3FJNUSieFAIUUEgcdl4noEBBGSZaHIiSqKhTX2GhVFiQGjuxgkSoYAoosAGE6RhKQrUURHlS+pItMVCHMjEgQ9JBJISg+JT3ciFg4NFkcCNw0OViiDgF0oTC8hACH5BAAKAP8ALAAAAAAQABAAAAVx4CWOZGle1qJYp2hV1xYE29V1JXUYHWUcnQgGwyFFBAENiqUZ1kapFamTyeBcsNOLMkoMGC3GIIEyBBAtRMDAiiSKp04iQqpwc9kRpUCAizgEBVciEQNJFxpKGgECdFAYYBsCAjUMGS0XgAODmDacIyEAIfkEAAoA/wAsAAAAABAAEAAABnbAi3BILBovIMUidBSGQJdNIKBBMomUg6FDMRgoHcOBQowIqNaLJiCIEEMLxdWpnIfITRAHnxgwjiEfDR8UIQYBCEcgDYwdUR6ORxEfG3MgeFiFRB0FBBxEHAQFkUJmaBofamxuRB9/GwICGxeMTRehnrabpERBACH5BAAKAP8ALAAAAAAQABAAAAZ9wItwSCwaL5aFwnIUWiqXUSAwulSYRMrB0KEYDJSO4UAhRgQBDZLpCAgixOSSWFEssEho81IWJgYMTQwDCUgGAQhNCAEGTCMJHU0dCXBDFX1DFhwdeHwFIhxmGBihQxEDaRcOGhYao1WZGIFnAiMUDg6YRR0ioE57Fx2RRkEAIfkEAAoA/wAsAAAAABAAEAAABXLgJY5kaV7WolinaLGQEEBXxZLUUUyUYVATw4FCisg0NZYmIIiQUosKqaJY3FDS1oUoSgwYrcUggTIAEC1EwMCKJCatSYI2qnBx2dGkQOCQOAQFdxdGARoVGhCITE4kGBgWEI8QFgwYWhGTWiMWERFXIyEAIfkEAAoA/wAsAAAAABAAEAAABn/Ai3BILBovloXCchRaKpdRIDC6VJhEysHQoRgMlI7hQCFGBAENkukICCLE5JJYUSywSGjzUhYmBgxNDAMJSAYBCE0IAAZMEQkdTRwKVUMcHHhCFXpDERgYcJYEBZFDI58aFhoOFxpuoUIUGhoUZwJVGA6ZaxccBAQce0QdpUVBACH5BAAKAP8ALAAAAAAQABAAAAZ8wItwSCwaLyEFKXQUhioXSCAAuVSYRMrB0KEYDJSO4UAhmgQBDZKpCQhMxFBJgRVWlFkOtElhUj4NH3VEJQMJFx0NintFCAEGISEQH3BHHR5VThVlRRSMQh0FBBxEHAQFnEJnaRcfHxdtb0WKIWcCVSUNTYgEo7tEHR1HQQAh+QQACgD/ACwAAAAAEAAQAAAGdcCLcEgsGi8hhSJ0FHY6l1EgMLqAmEROo5HqGAwqL5g42qKsoAsqIEgRVacTdAhSLLBI1bWpwiYGDE0MAwlIBgEITQgBBkwjCRxNHQlVdCpGekUqBQSRQxwEBZdDKQIBZ3FqbG5EDYEjpikhW3hFoJ1NRU9HQQA7) no-repeat;\r\n width: 16px;\r\n height: 16px;\r\n margin: 3px 4px 0;\r\n float: right;\r\n }\r\n\r\n #redux-intro-text {\r\n background: #f3f3f3;\r\n border-bottom: 1px solid #dedede;\r\n -moz-box-shadow: inset 0 1px 0 #fcfcfc;\r\n -webkit-box-shadow: inset 0 1px 0 #fcfcfc;\r\n box-shadow: inset 0 1px 0 #fcfcfc;\r\n padding: 3px;\r\n padding: 10px 10px;\r\n\r\n p {\r\n margin: 0;\r\n font-family: \"Lucida Grande\", Sans-serif;\r\n color: #888;\r\n }\r\n }\r\n\r\n .expand_options {\r\n cursor: pointer;\r\n display: block;\r\n height: 22px;\r\n width: 21px;\r\n float: left;\r\n font-size: 0;\r\n text-indent: -9999px;\r\n margin: 1px 0 0 5px;\r\n border: 1px solid #bbb;\r\n -webkit-border-radius: 2px;\r\n -moz-border-radius: 2px;\r\n border-radius: 2px;\r\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -26px;\r\n\r\n &.expanded {\r\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -1px;\r\n }\r\n\r\n &:hover {\r\n border-color: #888;\r\n }\r\n }\r\n\r\n .sticky-footer-fixed {\r\n background: #f3f3f3;\r\n border-top: 1px solid #dedede !important;\r\n -moz-box-shadow: inset 0 1px 0 #fcfcfc;\r\n -webkit-box-shadow: inset 0 1px 0 #fcfcfc;\r\n box-shadow: inset 0 1px 0 #fcfcfc;\r\n }\r\n\r\n .redux-sidebar,\r\n .redux-main {\r\n min-height: 300px;\r\n\r\n }\r\n .redux-main {\r\n background: #fff;\r\n margin-left: 201px;\r\n border-left: 1px solid #d8d8d8;\r\n padding: 10px 20px;\r\n -moz-box-shadow: inset 0 1px 0 #fff;\r\n -webkit-box-shadow: inset 0 1px 0 #fff;\r\n box-shadow: inset 0 1px 0 #fff;\r\n position: relative;\r\n\r\n fieldset.disabled {\r\n padding-top: 10px;\r\n }\r\n .redux-group-tab.disabled {\r\n padding-top: 1px;\r\n }\r\n\r\n fieldset.disabled,\r\n .redux-group-tab.disabled {\r\n position: relative;\r\n\r\n &::before {\r\n color: #fff;\r\n font-family: Elusive-Icons;\r\n content: \"\";\r\n font-size: 38px;\r\n position: absolute;\r\n z-index: 1000;\r\n text-shadow: 2px 2px #0e0e0e;\r\n left: 50%;\r\n top: 50%;\r\n margin-top: -25px;\r\n margin-left: -25px;\r\n }\r\n }\r\n\r\n .disabled {\r\n pointer-events: none;\r\n background: rgba(0, 0, 0, 0.25);\r\n opacity: 0.45;\r\n padding-left: 10px !important;\r\n padding-right: 10px !important;\r\n -webkit-touch-callout: none; /* iOS Safari */\r\n -webkit-user-select: none; /* Safari */\r\n -khtml-user-select: none; /* Konqueror HTML */\r\n -moz-user-select: none; /* Old versions of Firefox */\r\n -ms-user-select: none; /* Internet Explorer/Edge */\r\n user-select: none; /* Non-prefixed version, currently\r\n supported by Chrome, Edge, Opera and Firefox */\r\n }\r\n\r\n #redux_ajax_overlay {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n -moz-opacity: 0.1;\r\n -khtml-opacity: 0.1;\r\n opacity: 0.1;\r\n filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10);\r\n filter: alpha(opacity=10);\r\n background: #000;\r\n z-index: 200;\r\n display: none;\r\n }\r\n\r\n .form-table.no-border {\r\n border-top: none;\r\n }\r\n\r\n .form-table tr {\r\n border-bottom: 1px solid #e7e7e7;\r\n\r\n &:last-child {\r\n border-bottom: none !important;\r\n }\r\n\r\n th,\r\n td {\r\n color: #333;\r\n }\r\n }\r\n\r\n .form-table tr td {\r\n table.mceLayout,\r\n table.mceLayout tr,\r\n table.mceLayout tr td {\r\n padding: 0;\r\n border-width: 0;\r\n }\r\n\r\n .redux-th-warning {\r\n font-size: 1em;\r\n color: #c09853;\r\n font-weight: normal;\r\n display: block;\r\n margin-top: 10px;\r\n }\r\n\r\n .redux-field-warning {\r\n border-color: #c09853;\r\n margin-top: 10px;\r\n }\r\n\r\n .redux-th-error {\r\n font-size: 1em;\r\n color: #b94a48;\r\n font-weight: normal;\r\n display: block;\r\n margin-top: 10px;\r\n }\r\n }\r\n\r\n input {\r\n line-height: 19px;\r\n\r\n &.large-text {\r\n width: 100%;\r\n }\r\n }\r\n\r\n .hide {\r\n display: none;\r\n }\r\n\r\n .redux-field-container {\r\n padding: 20px 0;\r\n }\r\n\r\n .mini,\r\n input[type=\"text\"].mini {\r\n width: 60px;\r\n text-align: center;\r\n }\r\n\r\n img {\r\n max-width: 100%;\r\n height: auto;\r\n width: auto !important;\r\n }\r\n\r\n .select2-default {\r\n width: auto !important;\r\n }\r\n\r\n .showDefaults {\r\n display: block;\r\n font-weight: normal;\r\n font-size: 0.8em;\r\n color: #888;\r\n }\r\n\r\n span.description {\r\n display: block;\r\n font-style: normal;\r\n font-weight: 400;\r\n }\r\n\r\n #redux-system-info textarea {\r\n min-height: 730px;\r\n width: 100%;\r\n }\r\n\r\n .field-desc {\r\n clear: both;\r\n font-size: 13px;\r\n }\r\n\r\n .data-full li {\r\n width: 100%;\r\n }\r\n\r\n .data-half li {\r\n width: 50%;\r\n float: left;\r\n }\r\n\r\n .data-third li {\r\n width: 33.3%;\r\n float: left;\r\n }\r\n\r\n .data-quarter li {\r\n width: 25%;\r\n float: left;\r\n }\r\n\r\n .ui-helper-hidden-accessible {\r\n top: inherit;\r\n }\r\n\r\n .form-table {\r\n clear: none !important;\r\n margin-top: 0px !important;\r\n\r\n tr:first-child th,\r\n tr:first-child td {\r\n padding-top: 0;\r\n }\r\n }\r\n\r\n .input-append input {\r\n border-right: 0;\r\n margin-bottom: 0;\r\n border-top-right-radius: 0 !important;\r\n border-bottom-right-radius: 0 !important;\r\n margin-right: 0;\r\n float: left;\r\n margin-top: 0;\r\n display: block;\r\n }\r\n\r\n .input-append .add-on {\r\n border-top-right-radius: 3px;\r\n border-bottom-right-radius: 3px;\r\n margin-left: -2px;\r\n padding-top: 4px !important;\r\n padding-bottom: 2px !important;\r\n }\r\n\r\n .input-prepend input {\r\n border-left: 0;\r\n margin-bottom: 0;\r\n border-top-left-radius: 0 !important;\r\n border-bottom-left-radius: 0 !important;\r\n margin-left: 0;\r\n padding-top: 2px;\r\n padding-bottom: 5px;\r\n float: left;\r\n margin-top: 0;\r\n display: block;\r\n }\r\n\r\n .input-prepend .add-on {\r\n border-top-left-radius: 3px;\r\n border-bottom-left-radius: 3px;\r\n float: left;\r\n }\r\n\r\n .input-append {\r\n margin-right: 10px;\r\n font-size: 0;\r\n white-space: nowrap;\r\n float: left;\r\n display: inline-block;\r\n margin-bottom: 6px;\r\n\r\n }\r\n\r\n .input-append .add-on,\r\n .input-prepend .add-on {\r\n width: auto;\r\n display: inline-block;\r\n min-width: 16px;\r\n padding: 3px 4px;\r\n font-size: 12px;\r\n font-weight: 400;\r\n line-height: 22px;\r\n text-align: center;\r\n text-shadow: 0 1px 0 #fff;\r\n background-color: #eee;\r\n border: 1px solid #7e8993;\r\n }\r\n .input-append .add-on {\r\n border-left-color: #ccc;\r\n }\r\n .input-prepend .add-on {\r\n border-right-color: #ccc;\r\n }\r\n\r\n .input-prepend {\r\n font-size: 0;\r\n white-space: nowrap;\r\n float: left;\r\n display: inline-block;\r\n margin-bottom: 6px;\r\n }\r\n\r\n pre {\r\n white-space: pre-wrap; /* css-3 */\r\n white-space: -moz-pre-wrap; /* Mozilla, since 1999 */\r\n white-space: -pre-wrap; /* Opera 4-6 */\r\n white-space: -o-pre-wrap; /* Opera 7 */\r\n word-wrap: break-word; /* Internet Explorer 5.5+ */\r\n }\r\n }\r\n}\r\n\r\n/* redux-container */\r\n.no-js {\r\n border: 1px solid #ffbaba;\r\n margin: 0;\r\n border-bottom: 1px solid #e7e7e7;\r\n background-color: #f2dede;\r\n color: #b94a48;\r\n padding: 8px 35px 8px 14px;\r\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\r\n}\r\n\r\n/* main */\r\n.redux-sidebar {\r\n width: 202px;\r\n float: left;\r\n\r\n // Flyout menu\r\n .redux-group-tab-link-li {\r\n &.hasSubSections {\r\n &:hover {\r\n .el-rotate {\r\n -webkit-transition: 0.1s ease-in-out;\r\n -moz-transition: 0.1s ease-in-out;\r\n -o-transition: 0.1s ease-in-out;\r\n transition: 0.1s ease-in-out;\r\n\r\n -webkit-transform: rotate(270deg);\r\n -moz-transform: rotate(270deg);\r\n -ms-transform: rotate(270deg);\r\n -o-transform: rotate(270deg);\r\n transform: rotate(270deg);\r\n }\r\n }\r\n }\r\n }\r\n\r\n .redux-group-menu {\r\n margin-top: 0 !important;\r\n background: #f2f2f2;\r\n\r\n li {\r\n margin-top: 0;\r\n\r\n &.active a,\r\n &.active a:hover,\r\n &.activeChild a,\r\n &.activeChild a:hover {\r\n background: #fcfcfc;\r\n color: #269ad6;\r\n width: 184px;\r\n opacity: 1;\r\n }\r\n\r\n &.active a li a {\r\n background: #333;\r\n padding-left: 5px;\r\n }\r\n\r\n &.divide {\r\n padding: 0;\r\n border-width: 1px 0;\r\n border-style: solid;\r\n border-bottom-color: #e7e7e7;\r\n border-top-color: #f9f9f9;\r\n }\r\n\r\n a:first-child {\r\n border-top: none;\r\n }\r\n\r\n a {\r\n display: block;\r\n padding: 10px 4px 10px 14px;\r\n background: #e0e0e0;\r\n background: transparent;\r\n border-width: 1px 0;\r\n border-style: solid;\r\n border-bottom-color: #e7e7e7;\r\n border-top-color: #f9f9f9;\r\n opacity: 0.7;\r\n color: #555;\r\n font-weight: 600;\r\n text-decoration: none;\r\n -webkit-transition: none;\r\n transition: none;\r\n\r\n &.custom-tab {\r\n background: #f6f6f6;\r\n }\r\n\r\n img {\r\n width: 16px;\r\n height: 16px;\r\n position: absolute;\r\n left: 15px;\r\n }\r\n\r\n &:hover {\r\n background: #e5e5e5;\r\n color: #777;\r\n opacity: 1;\r\n box-shadow: inset 4px 0 0 0 currentColor;\r\n transition: box-shadow 0.1s linear;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .redux-menu-warning,\r\n .redux-menu-error,\r\n .hasSubSections .extraIconSubsections {\r\n display: inline-block;\r\n float: right;\r\n padding: 6px 7px 4px 7px;\r\n margin-left: 4px;\r\n font-family: sans-serif;\r\n font-size: 9px;\r\n font-weight: 600;\r\n line-height: 9px;\r\n border-radius: 10px;\r\n -moz-border-radius: 10px;\r\n -webkit-border-radius: 10px;\r\n border: 0 solid transparent;\r\n\r\n i {\r\n margin-left: -3px;\r\n margin-top: -3px;\r\n }\r\n }\r\n\r\n .redux-menu-error {\r\n background-color: rgb(185, 74, 72);\r\n color: rgb(242, 222, 222);\r\n }\r\n\r\n .redux-menu-warning {\r\n background-color: #c09853;\r\n color: #fcf8e3;\r\n }\r\n\r\n ul {\r\n .subsection {\r\n display: none;\r\n }\r\n }\r\n\r\n .redux-group-tab-link-a {\r\n position: relative;\r\n outline: 0;\r\n\r\n i {\r\n vertical-align: middle;\r\n font-size: 1.35em;\r\n position: absolute;\r\n }\r\n\r\n span {\r\n display: block;\r\n &.group_title {\r\n padding-left: 30px;\r\n }\r\n }\r\n }\r\n\r\n .redux-group-menu > li.redux-section-hover > a::after {\r\n right: 0;\r\n border: 9px solid transparent;\r\n content: \" \";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none;\r\n border-right-color: #fff;\r\n top: 50%;\r\n margin-top: -8px;\r\n }\r\n\r\n .redux-group-tab-link-li {\r\n a.hasError span.group_title {\r\n padding-right: 25px;\r\n }\r\n\r\n &.hasSubSections {\r\n &.redux-section-hover {\r\n position: relative;\r\n\r\n > a {\r\n background-color: #fff;\r\n\r\n &::after {\r\n border-right-color: #46403c;\r\n }\r\n }\r\n\r\n .subsection {\r\n background-color: #46403c;\r\n display: block !important;\r\n z-index: 10000;\r\n position: absolute;\r\n top: 0;\r\n left: 201px;\r\n width: 200px !important;\r\n -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);\r\n box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);\r\n\r\n a {\r\n padding: 8px 15px;\r\n width: 170px;\r\n }\r\n\r\n .redux-group-tab-link-li {\r\n &.hasIcon {\r\n .group_title {\r\n padding-left: 30px !important;\r\n }\r\n }\r\n\r\n .redux-group-tab-link-a {\r\n color: #fff;\r\n\r\n .group_title {\r\n padding-left: 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .el-rotate {\r\n -webkit-transition: 0.1s ease-in-out;\r\n -moz-transition: 0.1s ease-in-out;\r\n -o-transition: 0.1s ease-in-out;\r\n transition: 0.1s ease-in-out;\r\n }\r\n }\r\n }\r\n\r\n #redux-header {\r\n text-align: center;\r\n\r\n .display_header {\r\n float: none;\r\n }\r\n }\r\n}\r\n\r\n/* sidebar */\r\n@media only screen and (max-width: 600px) {\r\n .redux-sidebar {\r\n .redux-group-menu li {\r\n &.hasSubSections.redux-section-hover .subsection {\r\n display: none !important;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.mp6 {\r\n .icon-themes {\r\n display: none;\r\n }\r\n\r\n .redux-container {\r\n #info_bar {\r\n padding: 6px 10px 6px 6px;\r\n\r\n a {\r\n margin-top: 2px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.redux-timer {\r\n text-align: center;\r\n font-size: 10px;\r\n color: #888;\r\n}\r\n\r\n.wrap {\r\n margin-top: 0;\r\n}\r\n\r\n@media screen and (max-width: 600px) {\r\n .redux-sidebar {\r\n width: 44px;\r\n\r\n .extraIconSubsections {\r\n display: none !important;\r\n }\r\n\r\n .redux-group-menu li a,\r\n .redux-group-menu li a:hover,\r\n .redux-group-menu li.active a,\r\n .redux-group-menu li.active a:hover,\r\n .redux-group-menu li.activeChild a,\r\n .redux-group-menu li.activeChild a:hover {\r\n width: auto;\r\n }\r\n\r\n .redux-group-tab-link-a {\r\n position: relative;\r\n\r\n i {\r\n position: inherit;\r\n }\r\n\r\n span {\r\n display: none;\r\n position: absolute;\r\n top: 0;\r\n left: 44px;\r\n padding: 12px;\r\n width: 200px;\r\n background: #eee;\r\n border: 1px solid #ccc;\r\n -webkit-box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);\r\n -moz-box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);\r\n box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);\r\n border-width: 1px 1px 1px 0px;\r\n z-index: 3;\r\n }\r\n\r\n &:hover > span {\r\n display: block;\r\n }\r\n }\r\n }\r\n\r\n .redux-main {\r\n margin-left: 43px;\r\n width: auto;\r\n max-width: 100%;\r\n }\r\n\r\n table.form-table,\r\n .form-table > thead,\r\n .form-table > tbody,\r\n .form-table > tbody > tr > th,\r\n .form-table > tbody > tr > td,\r\n .form-table > tbody > tr {\r\n display: block;\r\n width: 100% !important;\r\n padding: 0px !important;\r\n }\r\n\r\n .form-table > tbody > tr > th,\r\n .form-table > tbody > tr > td {\r\n padding: 10px !important;\r\n }\r\n\r\n .form-table > tbody > tr > th,\r\n .form-table > tbody > tr > td {\r\n padding: 10px !important;\r\n }\r\n}\r\n\r\n//mp6 fixes\r\n@media screen and (max-width: 782px) {\r\n .form-table > tbody > tr > th {\r\n width: 100%;\r\n }\r\n .redux_field_th {\r\n padding-bottom: 0;\r\n }\r\n .mp6 {\r\n .redux-container {\r\n #info_bar {\r\n height: auto;\r\n padding-bottom: 1px;\r\n\r\n a {\r\n margin-top: 5px;\r\n }\r\n }\r\n }\r\n }\r\n .redux-container-switch label {\r\n padding: 5px 10px !important;\r\n }\r\n\r\n .redux-container-button_set label {\r\n padding: 12px 10px;\r\n }\r\n\r\n .redux-container #redux-footer #redux-share {\r\n line-height: 34px;\r\n }\r\n}\r\n\r\npre {\r\n overflow: hidden;\r\n}\r\n\r\n/* Default admin theme */\r\n#redux-header h2 {\r\n color: #fff;\r\n}\r\n\r\n.ui-datepicker-header .ui-icon {\r\n background-image: url(data:image/png;base64,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) !important;\r\n}\r\n\r\n// WP Engine CSS fix\r\n.redux-sidebar .icon-large,\r\n.redux-main .icon-large {\r\n background-image: inherit !important;\r\n width: inherit;\r\n height: inherit;\r\n}\r\n\r\n.redux-main dd,\r\n.redux-sidebar li {\r\n margin-bottom: 0 !important;\r\n}\r\n\r\n.fully-expanded {\r\n .redux-sidebar {\r\n margin-left: -500px;\r\n }\r\n .redux-main {\r\n margin-left: 0;\r\n }\r\n .redux-group-tab {\r\n display: block;\r\n }\r\n}\r\n\r\n#redux-header {\r\n position: relative;\r\n}\r\n\r\n// Modern Theme\r\n.redux-main {\r\n position: relative;\r\n\r\n #redux-sticky {\r\n min-height: 32px;\r\n margin-left: -20px;\r\n margin-right: -20px;\r\n margin-top: -10px;\r\n margin-bottom: 8px;\r\n\r\n #info_bar {\r\n height: 32px;\r\n .expand_options {\r\n margin-top: 4px;\r\n }\r\n }\r\n }\r\n\r\n .redux_field_search {\r\n top: 50px;\r\n right: 5px;\r\n }\r\n\r\n #redux-footer-sticky {\r\n margin-left: -20px;\r\n margin-right: -20px;\r\n margin-bottom: -10px;\r\n }\r\n}\r\n\r\n.redux-qtip {\r\n z-index: 999999 !important;\r\n}\r\n\r\n.select2-container--default .select2-selection--single .select2-selection__clear {\r\n font-size: 1.2em;\r\n top: -1px;\r\n}\r\n\r\n.redux-sidebar .redux-group-menu {\r\n li {\r\n &.active,\r\n &.activeChild {\r\n border-left: 0 none;\r\n\r\n a {\r\n .extraIconSubsections {\r\n display: none;\r\n }\r\n }\r\n\r\n &.hasSubSections {\r\n .redux-menu-error {\r\n display: block;\r\n }\r\n\r\n .subsection {\r\n .redux-menu-error {\r\n margin-right: 2px;\r\n }\r\n }\r\n\r\n .active {\r\n a {\r\n &::after {\r\n right: 0;\r\n border: solid 8px transparent;\r\n content: \"\\0020\";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none;\r\n border-right-color: #fff;\r\n top: 50%;\r\n margin-top: -8px;\r\n }\r\n }\r\n }\r\n\r\n a {\r\n -webkit-transition: all 0.2s;\r\n -moz-transition: all 0.2s;\r\n transition: all 0.2s;\r\n color: #fff;\r\n width: auto;\r\n border-bottom: 0;\r\n }\r\n\r\n ul.subsection li {\r\n border-top: 0 none !important;\r\n\r\n &.active a:hover {\r\n color: #fff;\r\n }\r\n\r\n a {\r\n width: auto;\r\n border-top: 0 !important;\r\n padding: 7px;\r\n color: #fff;\r\n padding-left: 15px;\r\n -webkit-transition: all 0.2s;\r\n -moz-transition: all 0.2s;\r\n -ms-transition: all 0.2s;\r\n -o-transition: all 0.2s;\r\n transition: all 0.2s;\r\n\r\n span.group_title {\r\n padding-left: 5px !important;\r\n }\r\n }\r\n\r\n &.hasIcon {\r\n a {\r\n padding-left: 14px;\r\n\r\n span.group_title {\r\n padding-left: 30px !important;\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.hasSubSections {\r\n .redux-menu-error {\r\n display: none;\r\n margin-right: 5px;\r\n }\r\n\r\n a {\r\n &.hasError {\r\n .extraIconSubsections {\r\n background-color: rgb(185, 74, 72);\r\n color: rgb(242, 222, 222);\r\n }\r\n }\r\n\r\n .extraIconSubsections {\r\n border-radius: 10px;\r\n -moz-border-radius: 10px;\r\n -webkit-border-radius: 10px;\r\n border: 0 solid transparent;\r\n font-size: 9px;\r\n height: 9px;\r\n line-height: 9px;\r\n margin-right: 5px;\r\n padding: 6px 7px 4px 7px;\r\n width: 5px;\r\n }\r\n }\r\n }\r\n\r\n &.active {\r\n &.hasSubSections {\r\n a {\r\n position: relative;\r\n\r\n &::after {\r\n right: 0;\r\n border: solid 8px transparent;\r\n content: \"\\0020\";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none;\r\n border-right-color: #fff;\r\n top: 50%;\r\n margin-top: -8px;\r\n }\r\n\r\n }\r\n\r\n ul.subsection li a {\r\n &::after {\r\n border: 0 none !important;\r\n content: \"\\0020\" !important;\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\ndiv.redux-star-holder {\r\n position: relative;\r\n height: 19px;\r\n width: 100px;\r\n font-size: 19px;\r\n}\r\n\r\ndiv.redux-star {\r\n height: 100%;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n background-color: transparent;\r\n letter-spacing: 1ex;\r\n border: none;\r\n\r\n img {\r\n width: 19px;\r\n height: 19px;\r\n border-left: 1px solid #f1f1f1;\r\n border-right: 1px solid #f1f1f1;\r\n display: block;\r\n position: absolute;\r\n right: 0px;\r\n border: none;\r\n text-decoration: none;\r\n }\r\n\r\n &.redux-star-rating {\r\n background-color: #fc0;\r\n }\r\n\r\n &.redux-star1 {\r\n width: 20%;\r\n }\r\n\r\n &.redux-star2 {\r\n width: 40%;\r\n }\r\n\r\n &.redux-star3 {\r\n width: 60%;\r\n }\r\n\r\n &.redux-star4 {\r\n width: 80%;\r\n }\r\n\r\n &.redux-star5 {\r\n width: 100%;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 600px) {\r\n .sticky-save-warn .redux-save-warn {\r\n top: 0 !important;\r\n right: 14px !important;\r\n }\r\n\r\n .form-table > tbody > tr > th {\r\n padding-bottom: 0 !important;\r\n }\r\n\r\n .redux_field_th {\r\n padding-top: 0;\r\n padding-bottom: 0;\r\n }\r\n\r\n .redux-main {\r\n .redux-field-container {\r\n padding-top: 0;\r\n padding-bottom: 0;\r\n }\r\n .subsection a {\r\n min-height: 15px;\r\n }\r\n }\r\n\r\n #redux-footer #redux-share,\r\n .redux-hint-qtip {\r\n display: none;\r\n }\r\n\r\n .redux-container {\r\n .redux-main {\r\n margin-left: 44px;\r\n }\r\n\r\n .redux-action_bar {\r\n float: none;\r\n }\r\n }\r\n\r\n .redux-group-tab-link-a {\r\n min-height: 15px;\r\n\r\n span {\r\n padding: 11px 12px;\r\n color: #555;\r\n -webkit-transition: all 0.3s;\r\n -moz-transition: all 0.3s;\r\n transition: all 0.3s;\r\n &:hover {\r\n background: #e5e5e5;\r\n }\r\n\r\n text-shadow: none !important;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 400px) {\r\n #redux-defaults {\r\n display: none;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 700px) {\r\n #redux-defaults-section {\r\n display: none;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 730px) {\r\n #redux-share {\r\n display: none;\r\n }\r\n\r\n #redux-defaults-section2 {\r\n display: none;\r\n }\r\n #redux-share {\r\n display: none;\r\n }\r\n}\r\n\r\n@media screen and (min-width: 601px) and (max-width: 782px) {\r\n .redux-container {\r\n .sticky-save-warn .redux-save-warn {\r\n top: 47px !important;\r\n right: 13px !important;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 782px) {\r\n #redux-footer #redux-share {\r\n line-height: 38px;\r\n font-size: 18px;\r\n }\r\n\r\n .sticky-save-warn .redux-save-warn {\r\n right: 13px;\r\n top: 46px;\r\n }\r\n\r\n .redux-container .expand_options {\r\n margin-top: 5px;\r\n }\r\n\r\n .redux-action_bar input {\r\n margin-bottom: 0 !important;\r\n }\r\n\r\n .redux-main {\r\n .form-table-section-indented {\r\n input[type=\"text\"] {\r\n width: 95% !important;\r\n }\r\n }\r\n\r\n .redux-container-sortable {\r\n input[type=\"text\"] {\r\n width: 80%;\r\n display: initial;\r\n }\r\n }\r\n\r\n .redux-typography-container {\r\n .input_wrapper input.mini {\r\n font-size: 16px !important;\r\n height: 40px !important;\r\n padding: 7px 10px !important;\r\n line-height: 24px !important;\r\n }\r\n\r\n .picker-wrapper label {\r\n margin-top: 16px !important;\r\n }\r\n }\r\n\r\n .input-append {\r\n height: 50px !important;\r\n\r\n .add-on {\r\n font-size: 16px;\r\n line-height: 24px !important;\r\n padding: 7px;\r\n height: 32px !important;\r\n float: right;\r\n margin-top: -40px;\r\n }\r\n }\r\n\r\n .redux-hint-qtip {\r\n float: left !important;\r\n }\r\n\r\n .redux-action_bar .button {\r\n margin-top: -1px;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 570px) {\r\n .redux-main {\r\n .redux-container-sortable {\r\n .checkbox-container {\r\n width: 85%;\r\n padding-bottom: 5px;\r\n\r\n label {\r\n display: initial;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Gutenberg\r\n.block-editor-page {\r\n .redux-container {\r\n .redux-metabox .redux-container {\r\n border-left: 1px solid #eee;\r\n border-right: 1px solid #eee;\r\n }\r\n }\r\n}\r\n"]}
lib/vendor/redux-framework/redux-core/assets/css/redux-fields.min.css CHANGED
@@ -1,3 +1,3 @@
1
- .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-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-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-main .redux-container-box_shadow .box-shadow-inset{margin:0 auto}.redux-main .redux-container-box_shadow .box-shadow-inset #shadow-result{padding:20px;margin-bottom:20px;margin-top:20px;min-height:180px;border:0px solid #ddd;background:#f1f1f1;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.redux-main .redux-container-box_shadow .box-shadow-inset .row-content:after,.redux-main .redux-container-box_shadow .box-shadow-inset .row:after{clear:both;content:" ";display:block;height:0;visibility:hidden}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2{width:50%;float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2.disabled label strong{color:#cccccc}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 label{color:#999999}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled{pointer-events:none;opacity:0.4;z-index:200;background:0;padding:0 !important}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled button{background-color:#888}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled a{z-index:-1}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 ul li{padding-bottom:10px}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2:first-child{padding-right:20px}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2:last-child{padding-left:20px}.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}}.redux-main .redux-container-color_palette label{position:relative;display:inline-block;padding:0;margin:0}.redux-main .redux-container-color_palette .colors-wrapper{max-height:300px;overflow-y:auto;padding:10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.redux-main .redux-container-color_palette .colors-wrapper .color-palette-color{color:transparent;display:block;width:100%;height:100%;overflow:hidden;border:1px solid rgba(0,0,0,0.2)}.redux-main .redux-container-color_palette .colors-wrapper.round label{padding:3px}.redux-main .redux-container-color_palette .colors-wrapper.round .color-palette-color{border-radius:50%}.redux-main .redux-container-color_palette .colors-wrapper.box-shadow .color-palette-color{-webkit-box-shadow:inset 3px 3px 13px 2px rgba(0,0,0,0.22);box-shadow:inset 3px 3px 13px 2px rgba(0,0,0,0.22)}.redux-main .redux-container-color_palette .colors-wrapper input{display:none}.redux-main .redux-container-color_palette .colors-wrapper input:checked+label .color-palette-color{border:0;width:130%;height:130%;position:relative;left:-15%;top:-15%;z-index:99;-webkit-box-shadow:1px 1px 6px 1px #333333;box-shadow:1px 1px 6px 1px #333333;border:1px solid rgba(0,0,0,0.3)}.redux-main .redux-container-color_palette .colors-wrapper.with-margin label{margin:3px !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-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-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-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;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.redux-container-palette label.ui-button.ui-widget .ui-checkboxradio-icon,.redux-container-palette label.ui-button.ui-widget .ui-checkboxradio-icon-space{display:none}.redux-container-palette label.ui-button.ui-widget 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 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 .redux-typography-slider{margin-top:11px;width:auto}.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.margin-top,.redux-main .redux-typography-container .input_wrapper.margin-bottom{margin-left:0px}.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-container .redux-main .redux-container-editor .wp-editor-area{color:#000000}.wp-customizer .redux-section.open .redux-group-tab{display:block !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_field_th{padding-bottom:0px !important}.redux-group-tab{margin-bottom:0 !important}.block-editor-page .postbox.closed .el:before{content:"" !important}.block-editor-page .postbox .el:before{content:""}.postbox .redux-container{-webkit-filter:none;filter:none;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.postbox .redux-container .redux-group-menu .active a{background:#FFF}.postbox .redux-container .redux-section-title{padding-left:0 !important;margin-bottom:15px !important}.postbox .redux-container .redux-section-desc{margin-bottom:20px}.postbox .redux-container .redux_main{border-left:1px solid #D8D8D8;moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.postbox .redux-container .redux_main input[type=text]{width:95%}.postbox .redux-container.redux-no-sections{margin:0;background:none}.postbox .redux-container.redux-no-sections .redux-main{background:none;margin-left:inherit;padding:inherit;border-left:none !important;min-height:0 !important}.postbox .redux-container.redux-no-sections .redux-main tr:last-child{border-bottom:none}.postbox .redux-container.redux-no-sections .redux-main tr:last-child th,.postbox .redux-container.redux-no-sections .redux-main tr:last-child td{padding-bottom:0}.postbox .redux-container.redux-no-sections .redux-main tr td{padding-top:10px !important;width:100%}.postbox .redux-container.redux-no-sections .redux-main .form-table:first-child tr:first-child td{padding-top:0 !important}.postbox .redux-container.redux-no-sections .redux-main .redux-field{margin-bottom:10px !important}.postbox .redux-container.redux-no-sections .redux-main .redux-field:last-child{margin-bottom:0 !important}.postbox .redux-container.redux-has-sections .redux-main{background:#fff}.postbox .redux-container.redux-has-sections .redux-main span.description{padding-bottom:20px}.postbox .redux-main h3{cursor:text !important;-webkit-user-select:inherit !important;-moz-user-select:inherit !important;-ms-user-select:inherit !important;user-select:inherit !important;padding-left:0 !important}.redux-box-side .redux-main .redux-field-container{padding:0;padding-top:5px}.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:100% !important}.redux-box-side .form-table tr td{padding:15px 0 !important}.redux-box-side .form-table tr:last-child td{padding-bottom:0 !important}.redux-box-side .form-table tr:first-child td{padding-top:5px !important}#poststuff .redux-metabox h3.hndle,.metabox-holder .redux-metabox h3.hndle{cursor:pointer;border-bottom:0}.display-group{display:inherit !important}@media (min-width: 1125px) and (max-width: 1405px){.postbox table.form-table,.postbox .form-table>thead,.postbox .form-table>tbody,.postbox .form-table>tbody>tr>th,.postbox .form-table>tbody>tr>td,.postbox .form-table>tbody>tr{display:block !important;width:100% !important;padding:0px !important}.postbox table.form-table.hide,.postbox .form-table>thead.hide,.postbox .form-table>tbody.hide,.postbox .form-table>tbody>tr>th.hide,.postbox .form-table>tbody>tr>td.hide,.postbox .form-table>tbody>tr.hide{display:none !important}.postbox .form-table>tbody>tr>th,.postbox .form-table>tbody>tr>td{padding:10px !important}.postbox .form-table>tbody>tr>th{width:35%}}.redux-metabox .form-table th,.redux-metabox .form-table td{margin:0;padding:0}.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:96% !important}@media (max-width: 1405px){.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:92% !important}}@media (max-width: 1125px){.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:100% !important}}@media (max-width: 1405px){.redux-main .form-table>tbody>tr>td{padding-top:0 !important;padding-bottom:0 !important}.redux-main .redux-field-container{padding:0 0 20px 0 !important;padding-bottom:10px !important}.postbox .form-table>tbody>tr>th{padding-bottom:0 !important}.redux_field_th{padding-top:0 !important;padding-bottom:10px !important}}.redux-no-sections .redux-group-tab{display:block !important}.admin-color-fresh #poststuff .redux-metabox h3.hndle,.admin-color-fresh .metabox-holder .redux-metabox h3.hndle{background:#222;color:#fff}.admin-color-light #poststuff .redux-metabox h3.hndle,.admin-color-light .metabox-holder .redux-metabox h3.hndle{background:#888;color:#fff}.admin-color-blue #poststuff .redux-metabox h3.hndle,.admin-color-blue .metabox-holder .redux-metabox h3.hndle{background:#096484;color:#fff}.admin-color-coffee #poststuff .redux-metabox h3.hndle,.admin-color-coffee .metabox-holder .redux-metabox h3.hndle{background:#46403c;color:#fff}.admin-color-ectoplasm #poststuff .redux-metabox h3.hndle,.admin-color-ectoplasm .metabox-holder .redux-metabox h3.hndle{background:#413256;color:#fff}.admin-color-midnight #poststuff .redux-metabox h3.hndle,.admin-color-midnight .metabox-holder .redux-metabox h3.hndle{background:#363b3f;color:#fff}.admin-color-ocean #poststuff .redux-metabox h3.hndle,.admin-color-ocean .metabox-holder .redux-metabox h3.hndle{background:#627c83;color:#fff}.admin-color-sunrise #poststuff .redux-metabox h3.hndle,.admin-color-sunrise .metabox-holder .redux-metabox h3.hndle{background:#b43c38;color:#fff}.redux-notices{margin-bottom:0;border:0}.redux-metabox .redux-container{margin-top:0}.redux-metabox .inside{margin:0 !important;padding:0 !important}.redux-metabox .redux-no-sections .redux-main{padding:6px 15px 15px 15px !important}.redux-metabox .redux-no-sections .redux-main .default_br{display:none}.redux-metabox .redux-no-sections .redux-main .redux-field-container{padding:10px 0 20px !important}.redux-metabox .redux-no-sections .redux-main .redux_field_th{padding-top:5px !important}.redux-metabox .redux-no-sections.redux-box-side .redux-main{padding:6px 8px 8px 8px !important}.redux-metabox .redux-no-sections.redux-box-side .redux-main input[type=text]{width:100% !important}.wp-color-result{margin:0 6px 0 0px !important}.redux-container .ui-button-text-only .ui-button-text{padding:0}.wpseotab tr{display:table-row !important}.redux-container-import_export #redux-import-link-wrapper,.redux-container-import_export #redux-import-code-wrapper{display:none}.redux-container-import_export #redux-export-code,.redux-container-import_export #redux-export-link-value,.redux-container-import_export #redux-import-upload-file{display:none}.redux-container-import_export #redux-import-action span{color:#b94a48}.redux-container-import_export #redux-import-upload span{font-weight:bold}#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-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-main .redux-container-box_shadow .box-shadow-inset{margin:0 auto}.redux-main .redux-container-box_shadow .box-shadow-inset #shadow-result{padding:20px;margin-bottom:20px;margin-top:20px;min-height:180px;border:0px solid #ddd;background:#f1f1f1;-webkit-transition:all 0.2s ease;transition:all 0.2s ease}.redux-main .redux-container-box_shadow .box-shadow-inset .row-content:after,.redux-main .redux-container-box_shadow .box-shadow-inset .row:after{clear:both;content:" ";display:block;height:0;visibility:hidden}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2{width:50%;float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2.disabled label strong{color:#cccccc}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 label{color:#999999}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled{pointer-events:none;opacity:0.4;z-index:200;background:0;padding:0 !important}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled button{background-color:#888}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled a{z-index:-1}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 ul li{padding-bottom:10px}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2:first-child{padding-right:20px}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2:last-child{padding-left:20px}.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-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}}#ui-datepicker-div{z-index:15 !important}.ui-datepicker-header{background-color:#00abef}.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)}.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-main .redux-container-color_palette label{position:relative;display:inline-block;padding:0;margin:0}.redux-main .redux-container-color_palette .colors-wrapper{max-height:300px;overflow-y:auto;padding:10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.redux-main .redux-container-color_palette .colors-wrapper .color-palette-color{color:transparent;display:block;width:100%;height:100%;overflow:hidden;border:1px solid rgba(0,0,0,0.2)}.redux-main .redux-container-color_palette .colors-wrapper.round label{padding:3px}.redux-main .redux-container-color_palette .colors-wrapper.round .color-palette-color{border-radius:50%}.redux-main .redux-container-color_palette .colors-wrapper.box-shadow .color-palette-color{-webkit-box-shadow:inset 3px 3px 13px 2px rgba(0,0,0,0.22);box-shadow:inset 3px 3px 13px 2px rgba(0,0,0,0.22)}.redux-main .redux-container-color_palette .colors-wrapper input{display:none}.redux-main .redux-container-color_palette .colors-wrapper input:checked+label .color-palette-color{border:0;width:130%;height:130%;position:relative;left:-15%;top:-15%;z-index:99;-webkit-box-shadow:1px 1px 6px 1px #333333;box-shadow:1px 1px 6px 1px #333333;border:1px solid rgba(0,0,0,0.3)}.redux-main .redux-container-color_palette .colors-wrapper.with-margin label{margin:3px !important}.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-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-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;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.redux-container-palette label.ui-button.ui-widget .ui-checkboxradio-icon,.redux-container-palette label.ui-button.ui-widget .ui-checkboxradio-icon-space{display:none}.redux-container-palette label.ui-button.ui-widget 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 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-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-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-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 .redux-typography-slider{margin-top:11px;width:auto}.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.margin-top,.redux-main .redux-typography-container .input_wrapper.margin-bottom{margin-left:0px}.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-container .redux-main .redux-container-editor .wp-editor-area{color:#000000}.wp-customizer .redux-section.open .redux-group-tab{display:block !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_field_th{padding-bottom:0px !important}.redux-group-tab{margin-bottom:0 !important}.block-editor-page .postbox.closed .el:before{content:"" !important}.block-editor-page .postbox .el:before{content:""}.postbox .redux-container{-webkit-filter:none;filter:none;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.postbox .redux-container .redux-group-menu .active a{background:#FFF}.postbox .redux-container .redux-section-title{padding-left:0 !important;margin-bottom:15px !important}.postbox .redux-container .redux-section-desc{margin-bottom:20px}.postbox .redux-container .redux_main{border-left:1px solid #D8D8D8;moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.postbox .redux-container .redux_main input[type=text]{width:95%}.postbox .redux-container.redux-no-sections{margin:0;background:none}.postbox .redux-container.redux-no-sections .redux-main{background:none;margin-left:inherit;padding:inherit;border-left:none !important;min-height:0 !important}.postbox .redux-container.redux-no-sections .redux-main tr:last-child{border-bottom:none}.postbox .redux-container.redux-no-sections .redux-main tr:last-child th,.postbox .redux-container.redux-no-sections .redux-main tr:last-child td{padding-bottom:0}.postbox .redux-container.redux-no-sections .redux-main tr td{padding-top:10px !important;width:100%}.postbox .redux-container.redux-no-sections .redux-main .form-table:first-child tr:first-child td{padding-top:0 !important}.postbox .redux-container.redux-no-sections .redux-main .redux-field{margin-bottom:10px !important}.postbox .redux-container.redux-no-sections .redux-main .redux-field:last-child{margin-bottom:0 !important}.postbox .redux-container.redux-has-sections .redux-main{background:#fff}.postbox .redux-container.redux-has-sections .redux-main span.description{padding-bottom:20px}.postbox .redux-main h3{cursor:text !important;-webkit-user-select:inherit !important;-moz-user-select:inherit !important;-ms-user-select:inherit !important;user-select:inherit !important;padding-left:0 !important}.redux-box-side .redux-main .redux-field-container{padding:0;padding-top:5px}.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:100% !important}.redux-box-side .form-table tr td{padding:15px 0 !important}.redux-box-side .form-table tr:last-child td{padding-bottom:0 !important}.redux-box-side .form-table tr:first-child td{padding-top:5px !important}#poststuff .redux-metabox h3.hndle,.metabox-holder .redux-metabox h3.hndle{cursor:pointer;border-bottom:0}.display-group{display:inherit !important}@media (min-width: 1125px) and (max-width: 1405px){.postbox table.form-table,.postbox .form-table>thead,.postbox .form-table>tbody,.postbox .form-table>tbody>tr>th,.postbox .form-table>tbody>tr>td,.postbox .form-table>tbody>tr{display:block !important;width:100% !important;padding:0px !important}.postbox table.form-table.hide,.postbox .form-table>thead.hide,.postbox .form-table>tbody.hide,.postbox .form-table>tbody>tr>th.hide,.postbox .form-table>tbody>tr>td.hide,.postbox .form-table>tbody>tr.hide{display:none !important}.postbox .form-table>tbody>tr>th,.postbox .form-table>tbody>tr>td{padding:10px !important}.postbox .form-table>tbody>tr>th{width:35%}}.redux-metabox .form-table th,.redux-metabox .form-table td{margin:0;padding:0}.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:96% !important}@media (max-width: 1405px){.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:92% !important}}@media (max-width: 1125px){.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:100% !important}}@media (max-width: 1405px){.redux-main .form-table>tbody>tr>td{padding-top:0 !important;padding-bottom:0 !important}.redux-main .redux-field-container{padding:0 0 20px 0 !important;padding-bottom:10px !important}.postbox .form-table>tbody>tr>th{padding-bottom:0 !important}.redux_field_th{padding-top:0 !important;padding-bottom:10px !important}}.redux-no-sections .redux-group-tab{display:block !important}.admin-color-fresh #poststuff .redux-metabox h3.hndle,.admin-color-fresh .metabox-holder .redux-metabox h3.hndle{background:#222;color:#fff}.admin-color-light #poststuff .redux-metabox h3.hndle,.admin-color-light .metabox-holder .redux-metabox h3.hndle{background:#888;color:#fff}.admin-color-blue #poststuff .redux-metabox h3.hndle,.admin-color-blue .metabox-holder .redux-metabox h3.hndle{background:#096484;color:#fff}.admin-color-coffee #poststuff .redux-metabox h3.hndle,.admin-color-coffee .metabox-holder .redux-metabox h3.hndle{background:#46403c;color:#fff}.admin-color-ectoplasm #poststuff .redux-metabox h3.hndle,.admin-color-ectoplasm .metabox-holder .redux-metabox h3.hndle{background:#413256;color:#fff}.admin-color-midnight #poststuff .redux-metabox h3.hndle,.admin-color-midnight .metabox-holder .redux-metabox h3.hndle{background:#363b3f;color:#fff}.admin-color-ocean #poststuff .redux-metabox h3.hndle,.admin-color-ocean .metabox-holder .redux-metabox h3.hndle{background:#627c83;color:#fff}.admin-color-sunrise #poststuff .redux-metabox h3.hndle,.admin-color-sunrise .metabox-holder .redux-metabox h3.hndle{background:#b43c38;color:#fff}.redux-notices{margin-bottom:0;border:0}.redux-metabox .redux-container{margin-top:0}.redux-metabox .inside{margin:0 !important;padding:0 !important}.redux-metabox .redux-no-sections .redux-main{padding:6px 15px 15px 15px !important}.redux-metabox .redux-no-sections .redux-main .default_br{display:none}.redux-metabox .redux-no-sections .redux-main .redux-field-container{padding:10px 0 20px !important}.redux-metabox .redux-no-sections .redux-main .redux_field_th{padding-top:5px !important}.redux-metabox .redux-no-sections.redux-box-side .redux-main{padding:6px 8px 8px 8px !important}.redux-metabox .redux-no-sections.redux-box-side .redux-main input[type=text]{width:100% !important}.wp-color-result{margin:0 6px 0 0px !important}.redux-container .ui-button-text-only .ui-button-text{padding:0}.wpseotab tr{display:table-row !important}.redux_field_search{position:absolute;width:250px !important;right:20px;padding:4px 7px;top:6px}.redux-has-sections .redux_field_search{right:10px}.redux-main.redux-search .redux-section-field,.redux-main.redux-search .redux-info-field,.redux-main.redux-search .redux-notice-field,.redux-main.redux-search .redux-container-group,.redux-main.redux-search .redux-container-raw,.redux-main.redux-search .redux-section-desc,.redux-main.redux-search .redux-group-tab h3,.redux-main.redux-search .hr,.redux-main.redux-search .redux-field-info,.redux-main.redux-search tr{display:none}.redux-main.redux-search #import_export_default_section_group,.redux-main.redux-search #dev_mode_default_section_group{display:none !important}.redux-main.redux-search .redux-group-tab{margin-bottom:0}.redux-main.redux-search .redux-group-tab .form-table-section-indented{margin-left:0 !important;width:100%}.redux-main.redux-search .redux-group-tab .form-table-section-indented .redux-group-tab .form-table-section tr:first-of-type th:first-of-type{padding:inherit !important}.redux-main.redux-search .redux-group-tab .form-table-section-indented .redux-group-tab h3{margin-top:inherit !important}.redux-metabox .redux-has-sections .redux_field_search{top:8px}.redux-container-import_export #redux-import-link-wrapper,.redux-container-import_export #redux-import-code-wrapper{display:none}.redux-container-import_export #redux-export-code,.redux-container-import_export #redux-export-link-value,.redux-container-import_export #redux-import-upload-file{display:none}.redux-container-import_export #redux-import-action span{color:#b94a48}.redux-container-import_export #redux-import-upload span{font-weight:bold}#redux-object-browser{overflow:auto;word-wrap:break-word;max-height:600px;max-width:100%}.redux-container-repeater{padding:15px 20px;margin-bottom:7px;padding-top:0}.redux-container-repeater h4{margin:5px 0px 0px 0px}.redux-container-repeater h4:first-child{margin-top:0px}.redux-container-repeater .description{margin:5px 0 5px 0px}.redux-container-repeater .redux-repeater-accordion{width:100%}.redux-container-repeater .redux-repeater-accordion .ui-state-focus{outline:none}.redux-container-repeater .redux-repeater-accordion-repeater{margin-bottom:10px}.redux-container-repeater .redux-repeater-accordion-repeater>div{border:1px solid #dfdfdf !important;border-radius:0 !important;margin-top:0px !important;padding:10px}.redux-container-repeater .redux-repeater-accordion-repeater h3.ui-accordion-header{border:1px solid #dfdfdf;cursor:move;font-weight:bold;padding:0 10px;height:40px;line-height:40px;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;margin-bottom:0}.redux-container-repeater .redux-repeaters-add{float:right}.redux-container-repeater .redux-repeaters-add:after{clear:both}.redux-container-repeater .redux-repeaters-remove{color:#ef521d !important;float:right}.redux-container-repeater .redux-repeaters-remove:after{clear:both}.redux-container-repeater .redux-repeater-header{font-weight:bold}.redux-container-repeater .redux_repeaters_add_remove{margin-bottom:10px}.redux-container-repeater .redux-field-container{padding:0 0 10px 0}.redux-container-repeater .redux-field-container:last-child{padding-bottom:0}.redux-container-repeater .ui-accordion .ui-accordion-content{padding:1em}.redux-container-repeater .redux-container-sorter{margin-right:0 !important}#poststuff .redux-container-repeater h3{padding:0;cursor:move !important;line-height:40px}
2
 
3
  /*# sourceMappingURL=redux-fields.min.css.map */
lib/vendor/redux-framework/redux-core/assets/css/redux-fields.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["redux-fields.min.css"],"names":[],"mappings":"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","file":"redux-fields.min.css","sourcesContent":[".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-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-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-main .redux-container-box_shadow .box-shadow-inset{margin:0 auto}.redux-main .redux-container-box_shadow .box-shadow-inset #shadow-result{padding:20px;margin-bottom:20px;margin-top:20px;min-height:180px;border:0px solid #ddd;background:#f1f1f1;transition:all 0.2s ease}.redux-main .redux-container-box_shadow .box-shadow-inset .row-content:after,.redux-main .redux-container-box_shadow .box-shadow-inset .row:after{clear:both;content:\" \";display:block;height:0;visibility:hidden}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2{width:50%;float:left;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2.disabled label strong{color:#cccccc}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 label{color:#999999}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled{pointer-events:none;opacity:0.4;z-index:200;background:0;padding:0 !important}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled button{background-color:#888}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 .wp-picker-container.disabled a{z-index:-1}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2 ul li{padding-bottom:10px}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2:first-child{padding-right:20px}.redux-main .redux-container-box_shadow .box-shadow-inset .row .col-2:last-child{padding-left:20px}.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}}.redux-main .redux-container-color_palette label{position:relative;display:inline-block;padding:0;margin:0}.redux-main .redux-container-color_palette .colors-wrapper{max-height:300px;overflow-y:auto;padding:10px;display:flex;flex-wrap:wrap}.redux-main .redux-container-color_palette .colors-wrapper .color-palette-color{color:transparent;display:block;width:100%;height:100%;overflow:hidden;border:1px solid rgba(0,0,0,0.2)}.redux-main .redux-container-color_palette .colors-wrapper.round label{padding:3px}.redux-main .redux-container-color_palette .colors-wrapper.round .color-palette-color{border-radius:50%}.redux-main .redux-container-color_palette .colors-wrapper.box-shadow .color-palette-color{box-shadow:inset 3px 3px 13px 2px rgba(0,0,0,0.22)}.redux-main .redux-container-color_palette .colors-wrapper input{display:none}.redux-main .redux-container-color_palette .colors-wrapper input:checked+label .color-palette-color{border:0;width:130%;height:130%;position:relative;left:-15%;top:-15%;z-index:99;box-shadow:1px 1px 6px 1px #333333;border:1px solid rgba(0,0,0,0.3)}.redux-main .redux-container-color_palette .colors-wrapper.with-margin label{margin:3px !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-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-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-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;display:flex}.redux-container-palette label.ui-button.ui-widget .ui-checkboxradio-icon,.redux-container-palette label.ui-button.ui-widget .ui-checkboxradio-icon-space{display:none}.redux-container-palette label.ui-button.ui-widget 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 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 .redux-typography-slider{margin-top:11px;width:auto}.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.margin-top,.redux-main .redux-typography-container .input_wrapper.margin-bottom{margin-left:0px}.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-container .redux-main .redux-container-editor .wp-editor-area{color:#000000}.wp-customizer .redux-section.open .redux-group-tab{display:block !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_field_th{padding-bottom:0px !important}.redux-group-tab{margin-bottom:0 !important}.block-editor-page .postbox.closed .el:before{content:\"\" !important}.block-editor-page .postbox .el:before{content:\"\"}.postbox .redux-container{filter:none;border:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.postbox .redux-container .redux-group-menu .active a{background:#FFF}.postbox .redux-container .redux-section-title{padding-left:0 !important;margin-bottom:15px !important}.postbox .redux-container .redux-section-desc{margin-bottom:20px}.postbox .redux-container .redux_main{border-left:1px solid #D8D8D8;moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.postbox .redux-container .redux_main input[type=text]{width:95%}.postbox .redux-container.redux-no-sections{margin:0;background:none}.postbox .redux-container.redux-no-sections .redux-main{background:none;margin-left:inherit;padding:inherit;border-left:none !important;min-height:0 !important}.postbox .redux-container.redux-no-sections .redux-main tr:last-child{border-bottom:none}.postbox .redux-container.redux-no-sections .redux-main tr:last-child th,.postbox .redux-container.redux-no-sections .redux-main tr:last-child td{padding-bottom:0}.postbox .redux-container.redux-no-sections .redux-main tr td{padding-top:10px !important;width:100%}.postbox .redux-container.redux-no-sections .redux-main .form-table:first-child tr:first-child td{padding-top:0 !important}.postbox .redux-container.redux-no-sections .redux-main .redux-field{margin-bottom:10px !important}.postbox .redux-container.redux-no-sections .redux-main .redux-field:last-child{margin-bottom:0 !important}.postbox .redux-container.redux-has-sections .redux-main{background:#fff}.postbox .redux-container.redux-has-sections .redux-main span.description{padding-bottom:20px}.postbox .redux-main h3{cursor:text !important;-webkit-user-select:inherit !important;-moz-user-select:inherit !important;user-select:inherit !important;padding-left:0 !important}.redux-box-side .redux-main .redux-field-container{padding:0;padding-top:5px}.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:100% !important}.redux-box-side .form-table tr td{padding:15px 0 !important}.redux-box-side .form-table tr:last-child td{padding-bottom:0 !important}.redux-box-side .form-table tr:first-child td{padding-top:5px !important}#poststuff .redux-metabox h3.hndle,.metabox-holder .redux-metabox h3.hndle{cursor:pointer;border-bottom:0}.display-group{display:inherit !important}@media (min-width: 1125px) and (max-width: 1405px){.postbox table.form-table,.postbox .form-table>thead,.postbox .form-table>tbody,.postbox .form-table>tbody>tr>th,.postbox .form-table>tbody>tr>td,.postbox .form-table>tbody>tr{display:block !important;width:100% !important;padding:0px !important}.postbox table.form-table.hide,.postbox .form-table>thead.hide,.postbox .form-table>tbody.hide,.postbox .form-table>tbody>tr>th.hide,.postbox .form-table>tbody>tr>td.hide,.postbox .form-table>tbody>tr.hide{display:none !important}.postbox .form-table>tbody>tr>th,.postbox .form-table>tbody>tr>td{padding:10px !important}.postbox .form-table>tbody>tr>th{width:35%}}.redux-metabox .form-table th,.redux-metabox .form-table td{margin:0;padding:0}.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:96% !important}@media (max-width: 1405px){.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:92% !important}}@media (max-width: 1125px){.redux-box-side .redux-main .redux-field-container .select2-container,.redux-box-side .redux-main .redux-field-container select{width:100% !important}}@media (max-width: 1405px){.redux-main .form-table>tbody>tr>td{padding-top:0 !important;padding-bottom:0 !important}.redux-main .redux-field-container{padding:0 0 20px 0 !important;padding-bottom:10px !important}.postbox .form-table>tbody>tr>th{padding-bottom:0 !important}.redux_field_th{padding-top:0 !important;padding-bottom:10px !important}}.redux-no-sections .redux-group-tab{display:block !important}.admin-color-fresh #poststuff .redux-metabox h3.hndle,.admin-color-fresh .metabox-holder .redux-metabox h3.hndle{background:#222;color:#fff}.admin-color-light #poststuff .redux-metabox h3.hndle,.admin-color-light .metabox-holder .redux-metabox h3.hndle{background:#888;color:#fff}.admin-color-blue #poststuff .redux-metabox h3.hndle,.admin-color-blue .metabox-holder .redux-metabox h3.hndle{background:#096484;color:#fff}.admin-color-coffee #poststuff .redux-metabox h3.hndle,.admin-color-coffee .metabox-holder .redux-metabox h3.hndle{background:#46403c;color:#fff}.admin-color-ectoplasm #poststuff .redux-metabox h3.hndle,.admin-color-ectoplasm .metabox-holder .redux-metabox h3.hndle{background:#413256;color:#fff}.admin-color-midnight #poststuff .redux-metabox h3.hndle,.admin-color-midnight .metabox-holder .redux-metabox h3.hndle{background:#363b3f;color:#fff}.admin-color-ocean #poststuff .redux-metabox h3.hndle,.admin-color-ocean .metabox-holder .redux-metabox h3.hndle{background:#627c83;color:#fff}.admin-color-sunrise #poststuff .redux-metabox h3.hndle,.admin-color-sunrise .metabox-holder .redux-metabox h3.hndle{background:#b43c38;color:#fff}.redux-notices{margin-bottom:0;border:0}.redux-metabox .redux-container{margin-top:0}.redux-metabox .inside{margin:0 !important;padding:0 !important}.redux-metabox .redux-no-sections .redux-main{padding:6px 15px 15px 15px !important}.redux-metabox .redux-no-sections .redux-main .default_br{display:none}.redux-metabox .redux-no-sections .redux-main .redux-field-container{padding:10px 0 20px !important}.redux-metabox .redux-no-sections .redux-main .redux_field_th{padding-top:5px !important}.redux-metabox .redux-no-sections.redux-box-side .redux-main{padding:6px 8px 8px 8px !important}.redux-metabox .redux-no-sections.redux-box-side .redux-main input[type=text]{width:100% !important}.wp-color-result{margin:0 6px 0 0px !important}.redux-container .ui-button-text-only .ui-button-text{padding:0}.wpseotab tr{display:table-row !important}.redux-container-import_export #redux-import-link-wrapper,.redux-container-import_export #redux-import-code-wrapper{display:none}.redux-container-import_export #redux-export-code,.redux-container-import_export #redux-export-link-value,.redux-container-import_export #redux-import-upload-file{display:none}.redux-container-import_export #redux-import-action span{color:#b94a48}.redux-container-import_export #redux-import-upload span{font-weight:bold}#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":"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