Version Description
- 2022-01-31 =
- Removed: Redux Framework template lib and banner loading. Thanks @kprovance!
Download this release
Release Info
Developer | tautvidas |
Plugin | WP Mail Logging |
Version | 1.10.3 |
Comparing to | |
See all releases |
Code changes from version 1.10.2 to 1.10.3
- Gruntfile.js +1 -1
- languages/wp-mail-logging.pot +4 -4
- lib/vendor/redux-framework/CHANGELOG.md +530 -0
- lib/vendor/redux-framework/CODE_OF_CONDUCT.md +46 -0
- lib/vendor/redux-framework/README.md +134 -0
- lib/vendor/redux-framework/ReduxCore/README.md +4 -0
- lib/vendor/redux-framework/class-redux-framework-plugin.php +16 -20
- lib/vendor/redux-framework/extendify-sdk/LICENSE +339 -0
- lib/vendor/redux-framework/extendify-sdk/app/Admin.php +176 -0
- lib/vendor/redux-framework/extendify-sdk/app/ApiRouter.php +137 -0
- lib/vendor/redux-framework/extendify-sdk/app/App.php +111 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/AuthController.php +43 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/MetaController.php +30 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/PingController.php +30 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/PluginController.php +67 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/SiteSettingsController.php +42 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/TaxonomyController.php +29 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/TemplateController.php +43 -0
- lib/vendor/redux-framework/extendify-sdk/app/Controllers/UserController.php +80 -0
- lib/vendor/redux-framework/extendify-sdk/app/Frontend.php +62 -0
- lib/vendor/redux-framework/extendify-sdk/app/Http.php +151 -0
- lib/vendor/redux-framework/extendify-sdk/app/Plugin.php +318 -0
- lib/vendor/redux-framework/extendify-sdk/app/Shared.php +247 -0
- lib/vendor/redux-framework/extendify-sdk/app/SiteSettings.php +72 -0
- lib/vendor/redux-framework/extendify-sdk/app/User.php +154 -0
- lib/vendor/redux-framework/extendify-sdk/bootstrap.php +48 -0
- lib/vendor/redux-framework/extendify-sdk/config.json +7 -0
- lib/vendor/redux-framework/extendify-sdk/editorplus/EditorPlus.php +221 -0
- lib/vendor/redux-framework/extendify-sdk/editorplus/editorplus-template.php +50 -0
- lib/vendor/redux-framework/extendify-sdk/editorplus/editorplus.js +29 -0
- lib/vendor/redux-framework/extendify-sdk/extendify.php +2 -0
- lib/vendor/redux-framework/extendify-sdk/loader.php +50 -0
- lib/vendor/redux-framework/extendify-sdk/public/assets/modal-extendify-black.png +0 -0
- lib/vendor/redux-framework/extendify-sdk/public/assets/modal-extendify-purple.png +0 -0
- lib/vendor/redux-framework/extendify-sdk/public/assets/preview.png +0 -0
- lib/vendor/redux-framework/extendify-sdk/public/build/extendify-utilities.css +11 -0
- lib/vendor/redux-framework/extendify-sdk/public/build/extendify.css +1 -0
- lib/vendor/redux-framework/extendify-sdk/public/build/extendify.js +2 -0
- lib/vendor/redux-framework/extendify-sdk/public/build/extendify.js.LICENSE.txt +20 -0
- lib/vendor/redux-framework/extendify-sdk/public/editorplus/editorplus.min.js +1 -0
- lib/vendor/redux-framework/extendify-sdk/readme.txt +148 -0
- lib/vendor/redux-framework/extendify-sdk/routes/api.php +48 -0
- lib/vendor/redux-framework/extendify-sdk/src/ExtendifyLibrary.js +62 -0
- lib/vendor/redux-framework/extendify-sdk/src/api/General.js +14 -0
- lib/vendor/redux-framework/extendify-sdk/src/api/Plugins.js +19 -0
- lib/vendor/redux-framework/extendify-sdk/src/api/SiteSettings.js +16 -0
- lib/vendor/redux-framework/extendify-sdk/src/api/Taxonomies.js +7 -0
- lib/vendor/redux-framework/extendify-sdk/src/api/Templates.js +69 -0
- lib/vendor/redux-framework/extendify-sdk/src/api/User.js +54 -0
- lib/vendor/redux-framework/extendify-sdk/src/api/axios.js +72 -0
- lib/vendor/redux-framework/extendify-sdk/src/app.css +158 -0
- lib/vendor/redux-framework/extendify-sdk/src/app.js +45 -0
- lib/vendor/redux-framework/extendify-sdk/src/blocks/blocks.js +1 -0
- lib/vendor/redux-framework/extendify-sdk/src/blocks/library/block.js +38 -0
- lib/vendor/redux-framework/extendify-sdk/src/blocks/library/block.json +15 -0
- lib/vendor/redux-framework/extendify-sdk/src/buttons.js +136 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/DevHelpers.js +32 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/ImportCounter.js +67 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/ImportTemplateBlock.js +172 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/LibraryAccessModal.js +112 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/LoginInterface.js +218 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/SiteTypeSelector.js +241 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/TaxonomySection.js +49 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/TypeSelect.js +37 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/buttons/Primary.js +10 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/index.js +14 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/alert.js +25 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-block-icon.js +17 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-logo.js +32 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/brand-mark.js +17 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/download.js +21 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/download2.js +18 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/featured.js +21 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/growth-arrow.js +17 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/layouts.js +20 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/patterns.js +54 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/star.js +20 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/success.js +70 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/support.js +39 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/icons/library/user.js +17 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/modals/InstallStandaloneModal.js +105 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/modals/Modal.js +75 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/modals/NoImportModal.js +84 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/modals/ProModal.js +53 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/modals/SettingsModal.js +24 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/modals/SplitModal.js +65 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/notices/FeedbackNotice.js +27 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/notices/FooterNotice.js +107 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/notices/InstallStandaloneNotice.js +66 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/notices/PromotionNotice.js +23 -0
- lib/vendor/redux-framework/extendify-sdk/src/components/notices/WelcomeNotice.js +50 -0
- lib/vendor/redux-framework/extendify-sdk/src/hooks/helpers.js +81 -0
- lib/vendor/redux-framework/extendify-sdk/src/hooks/useModal.js +48 -0
- lib/vendor/redux-framework/extendify-sdk/src/hooks/useTaxonomies.js +27 -0
- lib/vendor/redux-framework/extendify-sdk/src/listeners/index.js +3 -0
- lib/vendor/redux-framework/extendify-sdk/src/listeners/softerror-encountered.js +24 -0
- lib/vendor/redux-framework/extendify-sdk/src/listeners/template-inserted.js +24 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/NeedsPermissionModal.js +65 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/NeedsRegistrationModal.js +140 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/ReloadRequiredModal.js +49 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ActivatePluginsModal.js +78 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ActivatingModal.js +58 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/ErrorActivating.js +34 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasPluginsActivated/index.js +19 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/ErrorInstalling.js +33 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/InstallingModal.js +57 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/RequiredPluginsModal.js +95 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/hasRequiredPlugins/index.js +19 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/helpers.js +61 -0
- lib/vendor/redux-framework/extendify-sdk/src/middleware/index.js +46 -0
- lib/vendor/redux-framework/extendify-sdk/src/pages/GridView.js +206 -0
- lib/vendor/redux-framework/extendify-sdk/src/pages/MainWindow.js +54 -0
- lib/vendor/redux-framework/extendify-sdk/src/pages/Sidebar.js +77 -0
- lib/vendor/redux-framework/extendify-sdk/src/pages/layout/HasSidebar.js +16 -0
- lib/vendor/redux-framework/extendify-sdk/src/pages/layout/Layout.js +80 -0
- lib/vendor/redux-framework/extendify-sdk/src/pages/layout/Toolbar.js +36 -0
- lib/vendor/redux-framework/extendify-sdk/src/state/GlobalState.js +35 -0
- lib/vendor/redux-framework/extendify-sdk/src/state/Importing.js +22 -0
- lib/vendor/redux-framework/extendify-sdk/src/state/SiteSettings.js +21 -0
- lib/vendor/redux-framework/extendify-sdk/src/state/Taxonomies.js +14 -0
- lib/vendor/redux-framework/extendify-sdk/src/state/Templates.js +121 -0
- lib/vendor/redux-framework/extendify-sdk/src/state/User.js +141 -0
- lib/vendor/redux-framework/extendify-sdk/src/util/general.js +58 -0
- lib/vendor/redux-framework/extendify-sdk/src/util/templateInjection.js +32 -0
- lib/vendor/redux-framework/extendify-sdk/src/utility-control/index.js +123 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/block-styles/cover-angled.css +19 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/clip-path.css +11 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/columns.css +122 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/direction.css +7 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-caption.css +3 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-inserter.css +10 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/no-resize.css +10 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/editor/pointer-events.css +3 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/fallback.css +10 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/inline-list.css +19 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/misc.css +4 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/classes/text-stroke.css +23 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/extendify-utilities.css +136 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/colors.css +88 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/font-sizes.css +64 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/grid.css +143 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/group.css +35 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/fallback/image.css +10 -0
- lib/vendor/redux-framework/extendify-sdk/utility-framework/suggestions.json +570 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/autoload.php +7 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/ClassLoader.php +445 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/InstalledVersions.php +654 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/LICENSE +21 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_classmap.php +9 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_namespaces.php +9 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_psr4.php +10 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_real.php +55 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/autoload_static.php +31 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/installed.json +1 -0
- lib/vendor/redux-framework/extendify-sdk/vendor/composer/installed.php +395 -0
- lib/vendor/redux-framework/gulpfile.js +756 -0
- lib/vendor/redux-framework/license.txt +2 -2
- lib/vendor/redux-framework/readme.txt +40 -5
- lib/vendor/redux-framework/redux-core/appsero/Client.php +5 -3
- lib/vendor/redux-framework/redux-core/assets/css/color-picker.css.map +1 -1
- lib/vendor/redux-framework/redux-core/assets/css/redux-admin.css.map +1 -1
- lib/vendor/redux-framework/redux-core/assets/css/redux-fields.min.css +1 -1
- 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)
|
2 |
# This file is distributed under the GPLv3.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WP Mail Logging 1.10.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
|
7 |
-
"POT-Creation-Date:
|
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:
|
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
|
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
|
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
|
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
|
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 |
-
|
|
|
|
|
|
|
166 |
if ( true === (bool) get_option( 'use_extendify_templates', true ) ) {
|
167 |
-
if ( file_exists(
|
168 |
-
$GLOBALS['
|
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(
|
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
|
347 |
$result = wp_cache_get( 'redux-blog-ids' );
|
348 |
if ( false === $result ) {
|
349 |
|
350 |
-
// WordPress
|
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 > 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 |
+
|
|
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 |
+
|
|
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 |
+
|
|
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 |
+
|
|
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 |
+
•
|
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 -
|
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.
|
7 |
-
Stable tag: 4.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
|
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:
|
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 |
-
$
|
164 |
|
165 |
-
$
|
|
|
|
|
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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
|